diff --git a/contrib/oe-stylize.py b/contrib/oe-stylize.py index 712557d4f98..db8a3632d93 100755 --- a/contrib/oe-stylize.py +++ b/contrib/oe-stylize.py @@ -19,6 +19,7 @@ - count rule breaks and displays them in the order frequence """ +from __future__ import print_function import fileinput import string import re @@ -120,6 +121,7 @@ 'CONFFILES', 'CONFLICTS', 'CORE_EXTRA_D', + 'CORE_IMAGE_EXTRA_INSTALL', 'CORE_PACKAGES_D', 'CORE_PACKAGES_RD', 'CPPFLAGS', @@ -140,6 +142,7 @@ 'INITSCRIPT_PACKAGES', 'INITSCRIPT_NAME', 'INITSCRIPT_PARAMS', + 'INSANE_SKIP', 'PACKAGE_INSTALL', 'KERNEL_IMAGETYPE', 'KERNEL_IMAGEDEST', @@ -198,6 +201,8 @@ 'UBOOT_MACHINE', 'UCLIBC_BASE', 'UCLIBC_PATCHES', + 'USERADD_PACKAGES', + 'USERADD_PARAM', 'VIRTUAL_NAME', 'XORG_PN', 'XSERVER', @@ -306,10 +311,10 @@ def follow_rule(i, line): # if the line still does not respect the rule if not rules[i][0](line): # this is a rule disgression - print ("## Disgression: ", rules[i][2], " in:", oldline) + print ("## Disgression: ", rules[i][2], " in: '", oldline, "'") else: # just remind user about his/her errors - print ("## Reminder: ", rules[i][2], " in :", oldline) + print ("## Reminder: ", rules[i][2], " in : '", oldline, "'") return line diff --git a/meta-efl/README b/meta-efl/README index cfffc472388..951203a4ab9 100644 --- a/meta-efl/README +++ b/meta-efl/README @@ -1,18 +1,18 @@ This layer depends on: URI: git://github.com/openembedded/oe-core.git -branch: master +branch: jethro revision: HEAD URI: git://github.com/openembedded/meta-oe.git layers: meta-oe, meta-python -branch: master +branch: jethro revision: HEAD -Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-efl]' in the subject' +Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-efl][jethro]' in the subject' When sending single patches, please using something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-efl][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-efl][jethro][PATCH' -Interim layer maintainers: Koen Kooi - Martin Jansa +Jethro branch maintainer(s): +Armin Kuster diff --git a/meta-efl/conf/layer.conf b/meta-efl/conf/layer.conf index ed132aabba6..ea90ce28dae 100644 --- a/meta-efl/conf/layer.conf +++ b/meta-efl/conf/layer.conf @@ -29,3 +29,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\ e-wm-theme-illume-neo->e-wm \ e-wm-theme-b-and-w->e-wm \ " + +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ + packagegroup-efl-sdk->packagegroup-core-sdk \ +" diff --git a/meta-efl/recipes-devtools/python/python-edbus.inc b/meta-efl/recipes-devtools/python/python-edbus.inc index 1d8098f60df..3e72261e224 100644 --- a/meta-efl/recipes-devtools/python/python-edbus.inc +++ b/meta-efl/recipes-devtools/python/python-edbus.inc @@ -39,7 +39,7 @@ do_install_append() { done cd ${S} install -d ${D}${datadir}/${PN}/ - cp -a examples ${D}${datadir}/${PN}/ + cp -R --no-dereference --preserve=mode,links -v examples ${D}${datadir}/${PN}/ find ${D}${datadir}/${PN}/examples -name ".svn" | xargs rm -rf fi } diff --git a/meta-efl/recipes-efl/efl/efl.inc b/meta-efl/recipes-efl/efl/efl.inc index 945ca6b0158..31aff8731cb 100644 --- a/meta-efl/recipes-efl/efl/efl.inc +++ b/meta-efl/recipes-efl/efl/efl.inc @@ -2,8 +2,8 @@ SUMMARY = "EFL" LICENSE = "MIT & BSD & LGPL-2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=ca7873210523dcfd32694b94286dca60" -DEPENDS_class-native = "freetype-native libxext-native libpng-native jpeg-native tiff-native libfribidi-native glib-2.0-native dbus-native" -DEPENDS = "virtual/libiconv tslib curl glib-2.0 gnutls pkgconfig zlib jpeg openssl libsndfile1 dbus libexif librsvg freetype libpng tiff libxext virtual/libx11 libxdamage libxrender fontconfig libfribidi giflib udev libxcursor libxcomposite libxinerama libxrandr libxtst libxscrnsaver efl-native util-linux" +DEPENDS_class-native = "freetype-native libxext-native libpng-native jpeg-native tiff-native libfribidi-native glib-2.0-native dbus-native openssl-native" +DEPENDS = "virtual/libiconv tslib curl glib-2.0 gnutls pkgconfig zlib jpeg openssl libsndfile1 dbus libexif librsvg freetype libpng tiff libxext virtual/libx11 libxdamage libxrender fontconfig libfribidi giflib udev libxcursor libxcomposite libxinerama libxrandr libxtst libxscrnsaver efl-native util-linux libunwind" inherit efl gettext pkgconfig diff --git a/meta-filesystems/README b/meta-filesystems/README index d2716f8f1f5..9653c6663cf 100644 --- a/meta-filesystems/README +++ b/meta-filesystems/README @@ -10,22 +10,22 @@ Dependencies This layer depends on: URI: git://git.openembedded.org/bitbake - branch: master + branch: 1.28 URI: git://git.openembedded.org/openembedded-core layers: meta - branch: master + branch: jethro URI: git://git.openembedded.org/meta-openembedded layers: meta-oe - branch: master + branch: jethro Patches ======= Please submit any patches against the filesystems layer to the OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org) -with '[meta-filesystems]' in the subject. +with '[meta-filesystems][jethro]' in the subject. Maintainers List: physfs Andreas Müller @@ -66,8 +66,10 @@ When sending single patches, please use something like: git send-email -1 -M \ --to openembedded-devel@lists.openembedded.org \ - --subject-prefix=meta-filesystems][PATCH + --subject-prefix=meta-filesystems][jethro][PATCH +Jethro Branch Maintainer: +Armin Kuster Table of Contents ================= diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb index 8df7bc12e68..f38239c373e 100644 --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb @@ -1,7 +1,7 @@ SUMMARY = "XFS Filesystem Utilities" HOMEPAGE = "http://oss.sgi.com/projects/xfs" SECTION = "base" -LICENSE = "GPLv2" +LICENSE = "GPLv2 & LGPLv2.1" LICENSE_libhandle = "LGPLv2.1" LIC_FILES_CHKSUM = "file://doc/COPYING;md5=dbdb5f4329b7e7145de650e9ecd4ac2a" DEPENDS = "util-linux" diff --git a/meta-gnome/README b/meta-gnome/README index 0c4fbd2a547..1198af4a7de 100644 --- a/meta-gnome/README +++ b/meta-gnome/README @@ -1,16 +1,17 @@ This layer depends on: URI: git://github.com/openembedded/oe-core.git -branch: master +branch: jethro revision: HEAD URI: git://github.com/openembedded/meta-oe.git -branch: master +branch: jethro revision: HEAD -Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome]' in the subject' +Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][jethro]' in the subject' When sending single patches, please using something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][jethro][PATCH' -Interim layer maintainer: Martin Jansa +Jethro Branch Maintainer: +Armin Kuster diff --git a/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb b/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb index 80fdbf7b02d..a90e5cd49b4 100644 --- a/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb +++ b/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb @@ -7,7 +7,7 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ file://pinpoint.c;beginline=6;endline=17;md5=201d438283607da393fae6aca085454c" -DEPENDS = "gnome-common glib-2.0 gdk-pixbuf cogl-1.0 clutter-1.0 clutter-gst-3.0" +DEPENDS = "gnome-common glib-2.0 gdk-pixbuf cogl-1.0 clutter-1.0 clutter-gst-3.0 librsvg" inherit autotools gettext pkgconfig diff --git a/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb b/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb index dbaae649e84..a39b1a0ca31 100644 --- a/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb +++ b/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb @@ -20,6 +20,7 @@ do_install() { tar -xf emesene-faenza-theme.tar.gz -C ${D}${datadir} mv -f ${D}${datadir}/emesene/themes ${D}${datadir}/themes rm -rf ${D}${datadir}/emesene + chown -R root:root ${D}${datadir} } FILES_${PN} += "${datadir}/icons ${datadir}/themes" diff --git a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb index 62563963c36..1dff745efa5 100644 --- a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb +++ b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb @@ -27,4 +27,4 @@ FILES_${PN} += "${datadir}/gnome-about" # for gnome-about RRECOMMENDS_${PN} += "python-pygtk python-pycairo" - +RDEPENDS_${PN} += "python" diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb index 3a413bd029b..47c8b800b27 100644 --- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb +++ b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb @@ -10,7 +10,7 @@ SECTION = "x11/gnome" PR = "r7" DEPENDS = "gnome-doc-utils-native gconf glib-2.0 gnome-desktop gtk+ \ - pango libwnck gnome-menus cairo libgweather dbus-glib \ + pango libwnck gnome-menus cairo libgweather dbus dbus-glib \ librsvg libcanberra" RDEPENDS_${PN} = "python" diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb index 166e5d25f54..fb5185fff51 100644 --- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb +++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb @@ -22,7 +22,7 @@ FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.moun RDEPENDS_${PN} = "gvfs-gdu-volume-monitor" RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh" -PACKAGECONFIG ?= "libgphoto2 ${@base_contains('INCOMPATIBLE_LICENSE', 'GPLv3', '', 'samba', d)}" +PACKAGECONFIG ?= "libgphoto2" PACKAGECONFIG[libgphoto2] = "--enable-gphoto2, --disable-gphoto2, libgphoto2" PACKAGECONFIG[samba] = "--enable-samba --with-samba-includes=${STAGING_INCDIR} \ diff --git a/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb index d84978d5ef9..41501dfbb94 100644 --- a/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb +++ b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb @@ -54,6 +54,7 @@ PACKAGES =+ "${PN}-tests ${PN}-vala ${PN}-nautilus-extension" FILES_${PN} += "${datadir}/dbus-1/ \ ${libdir}/tracker-${VER_DIR}/*.so.* \ ${libdir}/tracker-${VER_DIR}/extract-modules/*.so \ + ${libdir}/tracker-${VER_DIR}/writeback-modules/*.so \ ${datadir}/icons/hicolor/*/apps/tracker.* \ ${libdir}/nautilus/extensions-2.0/*.la \ ${datadir}/glib-2.0/schemas/* \ @@ -64,7 +65,6 @@ FILES_${PN} += "${datadir}/dbus-1/ \ FILES_${PN}-dev += "${libdir}/tracker-${VER_DIR}/*.la \ ${libdir}/tracker-${VER_DIR}/*.so \ - ${libdir}/tracker-${VER_DIR}/*/*.so \ ${libdir}/tracker-${VER_DIR}/*/*.la \ ${libdir}/tracker-${VER_DIR}/extract-modules/*.la" diff --git a/meta-gpe/README b/meta-gpe/README index 7d019f63a00..571e7015621 100644 --- a/meta-gpe/README +++ b/meta-gpe/README @@ -1,17 +1,17 @@ This layer depends on: URI: git://github.com/openembedded/oe-core.git -branch: master +branch: jethro revision: HEAD URI: git://github.com/openembedded/meta-oe.git -branch: master +branch: jethro revision: HEAD -Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gpe]' in the subject' +Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gpe][jethro]' in the subject' When sending single patches, please using something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gpe][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gpe][jethro][PATCH' -Interim layer maintainers: Koen Kooi - Martin Jansa +Jethro Branch Maintainer: +Armin Kuster diff --git a/meta-initramfs/README b/meta-initramfs/README index e24acf993c2..be4c2566040 100644 --- a/meta-initramfs/README +++ b/meta-initramfs/README @@ -12,7 +12,7 @@ Dependencies This layer depends on: URI: git://github.com/openembedded/oe-core.git -branch: master +branch: jethro revision: HEAD @@ -20,13 +20,13 @@ Maintenance ----------- Send patches / pull requests to openembedded-devel@lists.openembedded.org -with '[meta-initramfs]' in the subject. +with '[meta-initramfs][jethro]' in the subject. When sending single patches, please using something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][jethro][PATCH' -Layer maintainers: Andrea Adami - Paul Eggleton +Jethro Branch Maintainer: +Armin Kuster License diff --git a/meta-initramfs/conf/layer.conf b/meta-initramfs/conf/layer.conf index 0026e04447c..d9b7c4cfb3c 100644 --- a/meta-initramfs/conf/layer.conf +++ b/meta-initramfs/conf/layer.conf @@ -15,3 +15,7 @@ BBFILE_PATTERN_meta-initramfs := "^${LAYERDIR}/" BBFILE_PRIORITY_meta-initramfs = "8" LAYERDEPENDS_meta-initramfs = "core" + +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ + dracut->virtual/kernel \ +" diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb index 91a83214db9..e026da71019 100644 --- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb +++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb @@ -36,6 +36,9 @@ do_configure() { do_install() { oe_runmake install DESTDIR=${D} + # Its Makefile uses cp -arx to install modules.d, so fix the owner + # to root:root + chown -R root:root ${D}/${prefix}/lib/dracut/modules.d } PACKAGES =+ "${PN}-bash-completion" 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 d5b7bbe9c73..c9fec254264 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 @@ -8,6 +8,8 @@ inherit klibc FILESPATH =. "${FILE_DIRNAME}/kexec-tools-${PV}:" +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz" + SRC_URI += " \ file://kexec-elf-rel.patch \ file://kexec-syscall.patch \ diff --git a/meta-multimedia/README b/meta-multimedia/README index cbdc1b545df..12af308ae34 100644 --- a/meta-multimedia/README +++ b/meta-multimedia/README @@ -1,21 +1,20 @@ This layer depends on: URI: git://github.com/openembedded/oe-core.git -branch: master +branch: jethro revision: HEAD URI: git://github.com/openembedded/meta-oe.git layers: meta-oe, meta-ruby -branch: master +branch: jethro revision: HEAD -Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia]' in the subject' +Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][jethro]' in the subject' When sending single patches, please use something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][PATCH +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][jethro][PATCH You are encouraged to fork the mirror on github https://github.com/openembedded/meta-oe/ to share your patches, this is preferred for patch sets consisting of more than one patch. Other services like gitorious, repo.or.cz or self hosted setups are of course accepted as well, 'git fetch ' works the same on all of them. We recommend github because it is free, easy to use, has been proven to be reliable and has a really good web GUI. -Main layer maintainers: Koen Kooi - Martin Jansa - +Jethro Branch Maintainer: +Armin Kuster diff --git a/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb index 877e176b861..9a429c60492 100644 --- a/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb +++ b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb @@ -17,7 +17,7 @@ do_install() { install -d ${D}${libdir} install -m 0644 libebml.a ${D}${libdir} install -m 0755 libebml.so.* ${D}${libdir} - cp -a libebml.so ${D}${libdir} + cp -R --no-dereference --preserve=mode,links -v libebml.so ${D}${libdir} install -d ${D}${includedir}/ebml for i in ../../ebml/*.h; do diff --git a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb index 95ea93dbe63..e0234fa6458 100644 --- a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb +++ b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb @@ -19,7 +19,7 @@ do_install() { install -d ${D}${libdir} install -m 0644 libmatroska.a ${D}${libdir} install -m 0755 libmatroska.so.* ${D}${libdir} - cp -a libmatroska.so ${D}${libdir} + cp -R --no-dereference --preserve=mode,links -v libmatroska.so ${D}${libdir} install -d ${D}${includedir}/matroska for i in ../../matroska/*.h; do diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb index 4d944834624..8aad0b78f8f 100644 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb @@ -40,9 +40,17 @@ PACKAGECONFIG[schro] = "--enable-schro,--disable-schro,schroedinger" PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac" PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump" +PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" +PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" +PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdnav libdvdread" ARM_INSTRUCTION_SET = "arm" +PACKAGES =+ "${PN}-resindvd" +FILES_${PN}-resindvd = "${libdir}/gstreamer-${LIBV}/libresindvd.so" +FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/libresindvd.la" +FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs" + do_configure_prepend() { # This m4 file contains nastiness which conflicts with libtool 2.2.2 rm ${S}/m4/lib-link.m4 || true diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb index 0bcb659c647..ad269453cf2 100644 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb @@ -28,6 +28,7 @@ PACKAGECONFIG[gnomevfs] = "--enable-gnome_vfs,--disable-gnome_vfs,gnome-vfs" PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" PACKAGECONFIG[x11] = "--enable-x --enable-xvideo,--disable-x --disable-xvideo,virtual/libx11 libxv libsm libice" +PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia" do_configure_prepend() { # This m4 file contains nastiness which conflicts with libtool 2.2.2 @@ -37,3 +38,6 @@ do_configure_prepend() { FILES_${PN} += "${datadir}/${BPN}" CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no" + +# /usr/bin/gst-visualise-0.10 is a perl script. +RDEPENDS_${PN}-apps += "perl" diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb index eaf3b1f9fb5..d92289502e8 100644 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb @@ -22,6 +22,7 @@ PACKAGECONFIG[libv4l] = "--with-libv4l2,--without-libv4l2,libv4l" PACKAGECONFIG[bzip2] = "--enable-bz2,--disable-bz2,bzip2" PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" PACKAGECONFIG[x11] = "--enable-x,--disable-x,virtual/libx11 libxfixes libxdamage" +PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libiec61883 libavc1394" DEPENDS += "gst-plugins-base gconf cairo libpng zlib libid3tag flac \ speex libsoup-2.4 libcap" diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch new file mode 100644 index 00000000000..dc2d606122b --- /dev/null +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch @@ -0,0 +1,35 @@ +From 60516f4798894f958fc53b470e1283318d0f8706 Mon Sep 17 00:00:00 2001 +From: Kerrick Staley +Date: Tue, 20 Aug 2013 23:59:29 -0700 +Subject: [PATCH 1/2] parse: make grammar.y work with Bison 3 + +YYLEX_PARAM is no longer supported in Bison 3. + +https://bugzilla.gnome.org/show_bug.cgi?id=706462 +--- + gst/parse/grammar.y | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y +index 24fc87b..7f9dd16 100644 +--- a/gst/parse/grammar.y ++++ b/gst/parse/grammar.y +@@ -26,7 +26,6 @@ + */ + + #define YYERROR_VERBOSE 1 +-#define YYLEX_PARAM scanner + + #define YYENABLE_NLS 0 + +@@ -648,6 +647,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s); + %right '.' + %left '!' '=' + ++%lex-param { void *scanner } + %parse-param { void *scanner } + %parse-param { graph_t *graph } + %pure-parser +-- +2.7.2 + diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstreamer-change-priv_gst_parse_yylex-arguments.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstreamer-change-priv_gst_parse_yylex-arguments.patch deleted file mode 100644 index bf93cb2190e..00000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstreamer-change-priv_gst_parse_yylex-arguments.patch +++ /dev/null @@ -1,33 +0,0 @@ -gstreamer: change priv_gst_parse_yylex arguments - -Change priv_gst_parse_yylex to fit new bison version, else we will -get following error: - -| grammar.tab.c: In function 'priv_gst_parse_yyparse': -| grammar.tab.c:67:25: error: too few arguments to function 'priv_gst_parse_yylex' -| #define yylex priv_gst_parse_yylex -| ^ - -Upstream-Status: Pending - -Signed-off-by: Chong Lu ---- - gst/parse/grammar.y | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y -index 24fc87b..24fe906 100644 ---- a/gst/parse/grammar.y -+++ b/gst/parse/grammar.y -@@ -36,7 +36,7 @@ - - typedef void* yyscan_t; - --int priv_gst_parse_yylex (void * yylval_param , yyscan_t yyscanner); -+int priv_gst_parse_yylex (yyscan_t yyscanner); - int priv_gst_parse_yylex_init (yyscan_t scanner); - int priv_gst_parse_yylex_destroy (yyscan_t scanner); - struct yy_buffer_state * priv_gst_parse_yy_scan_string (char* , yyscan_t); --- -1.9.1 - diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb index 5b306034156..ad7cf9970a4 100644 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb @@ -15,7 +15,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz file://check_fix.patch \ file://gst-inspect-check-error.patch \ file://0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch \ - file://gstreamer-change-priv_gst_parse_yylex-arguments.patch \ + file://0001-parse-make-grammar.y-work-with-Bison-3.patch \ " SRC_URI[md5sum] = "a0cf7d6877f694a1a2ad2b4d1ecb890b" diff --git a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb index 3aa5f3d1ac8..85bd347dc80 100644 --- a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb +++ b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb @@ -49,6 +49,10 @@ EXTRA_OECONF = " \ ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ " +# The x86 assembler optimisations contains text relocations and there are no +# upstream plans to fix them: http://sourceforge.net/p/mpg123/bugs/168/ +INSANE_SKIP_${PN}_append_x86 = " textrel" + # Fails to build with thumb-1 (qemuarm) #| {standard input}: Assembler messages: #| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4' diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.10.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.10.bb index 577bcfa799b..09caf47ecd4 100644 --- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.10.bb +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.10.bb @@ -3,7 +3,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" HOMEPAGE ="http://www.musicpd.org" -DEPENDS = "alsa-lib libsamplerate0 libsndfile1 libvorbis libogg faad2 ffmpeg curl sqlite bzip2 pulseaudio tcp-wrappers openal-soft yajl jack faad2 flac libao fluidsynth libcdio wavpack libopus mpg123 libmms libmodplug boost icu dbus expat zlib" +DEPENDS = "alsa-lib libsamplerate0 libsndfile1 libvorbis libogg faad2 ffmpeg curl sqlite bzip2 pulseaudio tcp-wrappers openal-soft yajl jack faad2 flac libao fluidsynth libcdio wavpack libopus mpg123 libmms libmodplug boost icu dbus expat zlib libupnp" SRC_URI = " \ http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \ 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 758fec99b71..eb40a3eba70 100644 --- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb +++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb @@ -15,6 +15,9 @@ PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio PACKAGECONFIG[pulseaudio] = "--with-pulseaudio=dyn,--with-pulseaudio=no,pulseaudio," PACKAGECONFIG[alsa] = "--with-alsa=dyn,--with-alsa=no,alsa-lib," PACKAGECONFIG[wavpack] = "--with-wavpack=dyn,--with-wavpack=no,wavpack," +PACKAGECONFIG[flac] = "--with-flac=dyn,--with-flac=no,flac," +PACKAGECONFIG[amrwb] = "--with-amrwb=dyn,--with-amrwb=no,opencore-amr," +PACKAGECONFIG[amrnb] = "--with-amrnb=dyn,--with-amrnb=no,opencore-amr," PACKAGECONFIG[magic] = "--with-magic,--without-magic,file," PACKAGECONFIG[mad] = "--with-mad,--without-mad,libmad," PACKAGECONFIG[id3tag] = "--with-id3tag,--without-id3tag,libid3tag," diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/meta-multimedia/recipes-multimedia/vlc/vlc.inc index b0dad67745e..c77f2d1b81a 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc.inc +++ b/meta-multimedia/recipes-multimedia/vlc/vlc.inc @@ -6,30 +6,25 @@ LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "libfribidi libtool libgcrypt libgcrypt-native \ - virtual/libsdl libsdl-image dbus dbus-glib libxml2 gnutls \ - tremor faad2 ffmpeg flac libxpm libxinerama fluidsynth alsa-lib \ - libdvdcss libdvdread lua-native lua libidn libnotify gtk+ \ - libdc1394 libraw1394 avahi libjpeg-turbo xz libmodplug mpeg2dec \ + dbus dbus-glib libxml2 gnutls \ + tremor faad2 ffmpeg flac fluidsynth alsa-lib \ + lua-native lua libidn \ + avahi jpeg xz libmodplug mpeg2dec \ libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \ - tiff xcb-util-keysyms samba" + tiff" SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz" inherit autotools gettext pkgconfig distro_features_check -# depends on libxinerama libxpm xcb-util-keysyms -REQUIRED_DISTRO_FEATURES = "x11" ARM_INSTRUCTION_SET = "arm" EXTRA_OECONF = "\ - --enable-dvdread \ - --with-contrib \ --enable-run-as-root \ --enable-xvideo \ --disable-screen --disable-caca \ --enable-httpd --enable-vlm \ --enable-freetype \ - --enable-sdl \ --enable-png \ --enable-tremor \ --enable-v4l2 --disable-aa --disable-faad \ @@ -43,8 +38,9 @@ EXTRA_OECONF = "\ ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}/uic4 \ " -PACKAGECONFIG ?= " live555" +PACKAGECONFIG ?= " live555 dc1394 dv1394 notify fontconfig freetype dvdread ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 sdl', '', d)}" PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" +PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl libsdl-image " PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" PACKAGECONFIG[live555] = "--enable-live555,--disable-live555,live555" @@ -60,6 +56,22 @@ PACKAGECONFIG[qt4] = "--enable-qt,--disable-qt, qt4-x11-free" PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp" PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi" PACKAGECONFIG[gnome-vfs] = "--enable-gnomevfs,--disable-gnomevfs, gnome-vfs" +PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba" +PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp" +PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss" +PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2" +PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg" +PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg" +PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" +PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394" +PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg" +PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo" +PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+" +PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig" +PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype" +PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss" +PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver" +PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama" do_configure_prepend() { cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/ || true diff --git a/meta-networking/MAINTAINERS b/meta-networking/MAINTAINERS index bbb2d1b5b23..98617a768a2 100644 --- a/meta-networking/MAINTAINERS +++ b/meta-networking/MAINTAINERS @@ -2,13 +2,16 @@ This file contains a list of maintainers for the meta-networking layer. Please submit any patches against meta-networking to the OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org) with -'[meta-networking]' in the subject. +'[meta-networking][jethro]' in the subject. When sending single patches, please use something like: git send-email -1 -M \ --to openembedded-devel@lists.openembedded.org \ - --subject-prefix=meta-networking][PATCH + --subject-prefix=meta-networking][jethro][PATCH + +Jethro Branch Maintainer: +Armin Kuster You may also contact the maintainers directly. diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/00-fix-typos-in-man-pages.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/00-fix-typos-in-man-pages.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/00-fix-typos-in-man-pages.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/00-fix-typos-in-man-pages.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/01-fix-force-user-sec-ads.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/01-fix-force-user-sec-ads.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/01-fix-force-user-sec-ads.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/01-fix-force-user-sec-ads.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/02-fix-ipv6-join.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/02-fix-ipv6-join.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/02-fix-ipv6-join.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/02-fix-ipv6-join.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/03-net-ads-kerberos-pac.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/03-net-ads-kerberos-pac.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/03-net-ads-kerberos-pac.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/03-net-ads-kerberos-pac.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/04-ipv6-workaround.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/04-ipv6-workaround.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/04-ipv6-workaround.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/04-ipv6-workaround.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/05-fix-gecos-field-with-samlogon.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/05-fix-gecos-field-with-samlogon.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/05-fix-gecos-field-with-samlogon.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/05-fix-gecos-field-with-samlogon.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/06-fix-nmbd-systemd-status-update.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/06-fix-nmbd-systemd-status-update.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/06-fix-nmbd-systemd-status-update.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/06-fix-nmbd-systemd-status-update.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/07-fix-idmap-ad-getgroups-without-gid.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/07-fix-idmap-ad-getgroups-without-gid.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/07-fix-idmap-ad-getgroups-without-gid.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/07-fix-idmap-ad-getgroups-without-gid.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/08-fix-idmap-ad-sfu-with-trusted-domains.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/08-fix-idmap-ad-sfu-with-trusted-domains.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/08-fix-idmap-ad-sfu-with-trusted-domains.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/08-fix-idmap-ad-sfu-with-trusted-domains.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/09-fix-smbclient-echo-cmd-segfault.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/09-fix-smbclient-echo-cmd-segfault.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/09-fix-smbclient-echo-cmd-segfault.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/09-fix-smbclient-echo-cmd-segfault.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/10-improve-service-principal-guessing-in-net.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/10-improve-service-principal-guessing-in-net.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/10-improve-service-principal-guessing-in-net.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/10-improve-service-principal-guessing-in-net.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/11-fix-overwriting-of-spns-during-net-ads-join.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/11-fix-overwriting-of-spns-during-net-ads-join.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/11-fix-overwriting-of-spns-during-net-ads-join.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/11-fix-overwriting-of-spns-during-net-ads-join.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/12-add-precreated-spns-from-AD-during-keytab-generation.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/12-add-precreated-spns-from-AD-during-keytab-generation.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/12-add-precreated-spns-from-AD-during-keytab-generation.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/12-add-precreated-spns-from-AD-during-keytab-generation.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/13-fix-aes-enctype.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/13-fix-aes-enctype.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/13-fix-aes-enctype.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/13-fix-aes-enctype.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/14-fix-dnsupdate.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/14-fix-dnsupdate.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/14-fix-dnsupdate.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/14-fix-dnsupdate.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/15-fix-netbios-name-truncation.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/15-fix-netbios-name-truncation.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/15-fix-netbios-name-truncation.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/15-fix-netbios-name-truncation.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/16-do-not-check-xsltproc-manpages.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/16-do-not-check-xsltproc-manpages.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/16-do-not-check-xsltproc-manpages.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/16-do-not-check-xsltproc-manpages.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/17-execute-prog-by-qemu.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/17-execute-prog-by-qemu.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/17-execute-prog-by-qemu.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/17-execute-prog-by-qemu.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/18-avoid-get-config-by-native-ncurses.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/18-avoid-get-config-by-native-ncurses.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/18-avoid-get-config-by-native-ncurses.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/18-avoid-get-config-by-native-ncurses.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/19-systemd-daemon-is-contained-by-libsystemd.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/19-systemd-daemon-is-contained-by-libsystemd.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/19-systemd-daemon-is-contained-by-libsystemd.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/19-systemd-daemon-is-contained-by-libsystemd.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/20-do-not-import-target-module-while-cross-compile.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/20-do-not-import-target-module-while-cross-compile.patch similarity index 100% rename from meta-oe/recipes-connectivity/samba/samba-4.1.12/20-do-not-import-target-module-while-cross-compile.patch rename to meta-networking/recipes-connectivity/samba/samba-4.1.12/20-do-not-import-target-module-while-cross-compile.patch diff --git a/meta-networking/recipes-connectivity/samba/samba-4.1.12/21-add-config-option-without-valgrind.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/21-add-config-option-without-valgrind.patch new file mode 100644 index 00000000000..025ac2775fb --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba-4.1.12/21-add-config-option-without-valgrind.patch @@ -0,0 +1,63 @@ +From 9a2d6315ff206b2a47100dfd85afe3af56576995 Mon Sep 17 00:00:00 2001 +From: Wenzong Fan +Date: Thu, 10 Dec 2015 04:20:51 -0500 +Subject: [PATCH] Add config option without-valgrind + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan +--- + lib/replace/wscript | 4 +++- + source3/wscript | 5 ++++- + wscript | 4 ++++ + 3 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/lib/replace/wscript b/lib/replace/wscript +index f0040b1..aca73af 100644 +--- a/lib/replace/wscript ++++ b/lib/replace/wscript +@@ -101,7 +101,9 @@ struct foo bar = { .y = 'X', .x = 1 }; + + conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H') + +- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') ++ if not Options.options.disable_valgrind: ++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') ++ + conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h') + conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h') + conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h malloc.h') +diff --git a/source3/wscript b/source3/wscript +index bac3dd5..a5c51ea 100644 +--- a/source3/wscript ++++ b/source3/wscript +@@ -1016,7 +1016,10 @@ syscall(SYS_setgroups32, 0, NULL); + Logs.warn("--with-dnsupdate=yes but gssapi support not sufficient") + else: + conf.DEFINE('WITH_DNS_UPDATES', 1) +- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') ++ ++ if not Options.options.disable_valgrind: ++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') ++ + if Options.options.developer: + if conf.CONFIG_SET('HAVE_VALGRIND_H') or conf.CONFIG_SET('HAVE_VALGRIND_VALGRIND_H'): + conf.DEFINE('VALGRIND', '1') +diff --git a/wscript b/wscript +index 7679c0f..681ac17 100644 +--- a/wscript ++++ b/wscript +@@ -72,6 +72,10 @@ def set_options(opt): + help=("Disable systemd integration"), + action='store_false', dest='enable_systemd') + ++ opt.add_option('--without-valgrind', ++ help=("Disable use of the valgrind headers"), ++ action="store_true", dest='disable_valgrind', default=False) ++ + gr = opt.option_group('developer options') + + opt.tool_options('python') # options for disabling pyc or pyo compilation +-- +1.9.1 + diff --git a/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb b/meta-networking/recipes-connectivity/samba/samba_4.1.12.bb similarity index 78% rename from meta-oe/recipes-connectivity/samba/samba_4.1.12.bb rename to meta-networking/recipes-connectivity/samba/samba_4.1.12.bb index af2cc1fdf29..543531ad74a 100644 --- a/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb +++ b/meta-networking/recipes-connectivity/samba/samba_4.1.12.bb @@ -33,37 +33,55 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ file://18-avoid-get-config-by-native-ncurses.patch \ file://19-systemd-daemon-is-contained-by-libsystemd.patch \ file://20-do-not-import-target-module-while-cross-compile.patch \ + file://21-add-config-option-without-valgrind.patch \ " SRC_URI[md5sum] = "232016d7581a1ba11e991ec2674553c4" SRC_URI[sha256sum] = "033604674936bf5c77d7df299b0626052b84a41505a6a6afe902f6274fc29898" -inherit systemd waf-samba +inherit systemd waf-samba cpan-base perlnative -DEPENDS += "readline virtual/libiconv zlib popt talloc libtdb libtevent libldb krb5 ctdb cups" -RDEPENDS_${PN} += "openldap" +DEPENDS += "readline virtual/libiconv zlib popt talloc libtdb libtevent libldb krb5 ctdb libbsd cyrus-sasl" -PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" -PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" -PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" +SYSVINITTYPE_linuxstdbase = "lsb" +SYSVINITTYPE = "sysv" + +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SYSVINITTYPE}', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'zeroconf', 'zeroconf', '', d)} \ + acl aio cups ldap \ +" + +RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'lsb', '', d)}" + +PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" +PACKAGECONFIG[aio] = "--with-aio-support,--without-aio-support,libaio" PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" +PACKAGECONFIG[pam] = "--with-pam --with-pam_smbpass --with-pammodulesdir=${base_libdir}/security,--without-pam --without-pam_smbpass,libpam" +PACKAGECONFIG[lsb] = ",,lsb" +PACKAGECONFIG[sysv] = ",,sysvinit" +PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" +PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" +PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" -SAMBA4_PDB_MODULES="pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" +SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" SAMBA4_LIBS="heimdal,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util,!tevent,!pytevent,!tdb,!pytdb,!ldb,!pyldb" -PERL_VERNDORLIB="${datadir}/perl5/vendor_perl/" +PERL_VERNDORLIB="${libdir}/perl5/vendor_perl/${PERLVERSION}" EXTRA_OECONF += "--enable-fhs \ --with-piddir=${localstatedir}/run \ --with-sockets-dir=${localstatedir}/run/samba \ --with-modulesdir=${libdir}/samba \ - --with-pammodulesdir=${base_libdir}/security \ --with-lockdir=${localstatedir}/lib/samba \ --with-cachedir=${localstatedir}/lib/samba \ --with-perl-lib-install-dir=${PERL_VERNDORLIB} \ @@ -85,7 +103,7 @@ LDFLAGS += "-Wl,-z,relro,-z,now" do_install_append() { rmdir --ignore-fail-on-non-empty "${D}/${localstatedir}/run" - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then install -d ${D}${systemd_unitdir}/system for i in nmb smb winbind; do install -m 0644 packaging/systemd/$i.service ${D}${systemd_unitdir}/system @@ -97,11 +115,16 @@ do_install_append() { install -d ${D}${sysconfdir}/tmpfiles.d echo "d ${localstatedir}/log/samba 0755 root root -" \ > ${D}${sysconfdir}/tmpfiles.d/99-${BPN}.conf - elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + elif ${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/init.d install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d update-rc.d -r ${D} samba.sh start 20 3 5 . update-rc.d -r ${D} samba.sh start 20 0 1 6 . + elif ${@bb.utils.contains('PACKAGECONFIG', 'sysv', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba.sh + update-rc.d -r ${D} samba.sh start 20 3 5 . + update-rc.d -r ${D} samba.sh start 20 0 1 6 . fi install -d ${D}${sysconfdir}/samba @@ -160,4 +183,4 @@ FILES_${PN}-python-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.d ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/.debug/* \ " -FILES_${PN}-pidl = "${datadir}/perl5/vendor_perl/*" +FILES_${PN}-pidl = "${bindir}/pidl ${PERL_VERNDORLIB}/*" diff --git a/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb b/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb index 66e917e3154..19cfe46b7ba 100644 --- a/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb +++ b/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb @@ -30,6 +30,14 @@ RDEPENDS_${PN} = " \ RRECOMMENDS_${PN} = " \ kernel-module-ipv6 \ + kernel-module-nf-conntrack-ipv6 \ + kernel-module-nf-log-common \ + kernel-module-nf-log-ipv4 \ + kernel-module-nf-log-ipv6 \ + kernel-module-nf-addrtype \ + kernel-module-nf-limit \ + kernel-module-nf-log \ + kernel-module-nf-recent \ " # Certain items are explicitly put under /lib, not base_libdir when installed. diff --git a/meta-networking/recipes-daemons/lldpd/lldpd_0.7.17.bb b/meta-networking/recipes-daemons/lldpd/lldpd_0.7.17.bb index 47d3c38ed05..ba7f09e0b16 100644 --- a/meta-networking/recipes-daemons/lldpd/lldpd_0.7.17.bb +++ b/meta-networking/recipes-daemons/lldpd/lldpd_0.7.17.bb @@ -24,7 +24,10 @@ GROUPADD_PARAM_${PN} = "--system lldpd" EXTRA_OECONF += "--without-embedded-libevent \ --disable-oldies \ --with-privsep-user=lldpd \ - --with-privsep-group=lldpd" + --with-privsep-group=lldpd \ + --with-systemdsystemunitdir=${systemd_system_unitdir} \ + --without-sysusersdir \ +" PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3" PACKAGECONFIG[json] = "--with-json,--without-json,jansson" diff --git a/meta-networking/recipes-daemons/ncftp/ncftp/ncftp-configure-use-BUILD_CC-for-ccdv.patch b/meta-networking/recipes-daemons/ncftp/ncftp/ncftp-configure-use-BUILD_CC-for-ccdv.patch new file mode 100644 index 00000000000..aa590175c29 --- /dev/null +++ b/meta-networking/recipes-daemons/ncftp/ncftp/ncftp-configure-use-BUILD_CC-for-ccdv.patch @@ -0,0 +1,32 @@ +From 043e1a9ec83a59671ef8c4cad679dbf781e5ef98 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Sun, 29 Nov 2015 23:37:06 -0800 +Subject: [PATCH] configure: use BUILD_CC for ccdv + +ccdv is intended to be invoked from Makefiles only, +it doesn't work for the cross compiling, so compile +it with $BUILD_CC and corresponding CFLAGS. + +Upstream-Status: Inappropriate [cross compile specific] + +Signed-off-by: Jackie Huang +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 2f0fae0..a7e9112 100755 +--- a/configure ++++ b/configure +@@ -11286,7 +11286,7 @@ panic: + } /* main */ + /* eof ccdv.c */ + EOF +- ${CC-cc} $DEFS $CPPFLAGS $CFLAGS "ccdv.c" -o "ccdv" >/dev/null 2>&1 ++ ${BUILD_CC} $DEFS ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} "ccdv.c" -o "ccdv" >/dev/null 2>&1 + rm -f ccdv.c ccdv.o ccdv.c.gz.uu ccdv.c.gz + strip ./ccdv >/dev/null 2>&1 + ./ccdv >/dev/null 2>&1 +-- +2.3.5 + diff --git a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb index 40b59a4364d..893eacb995a 100644 --- a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb +++ b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb @@ -5,12 +5,17 @@ LICENSE = "ClArtistic" LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9de76faeaedc4f908082e3f8142715f4" DEPENDS = "ncurses" -SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz" +SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz \ + file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \ +" SRC_URI[md5sum] = "685e45f60ac11c89442c572c28af4228" SRC_URI[sha256sum] = "ac111b71112382853b2835c42ebe7bd59acb7f85dd00d44b2c19fbd074a436c4" inherit autotools-brokensep pkgconfig +PACKAGECONFIG ??= "" +PACKAGECONFIG[ccdv] = "--enable-ccdv,--disable-ccdv,," + do_configure() { oe_runconf } diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/plmcboot.service b/meta-networking/recipes-daemons/opensaf/opensaf/plmcboot.service deleted file mode 100644 index 76ec73af9b4..00000000000 --- a/meta-networking/recipes-daemons/opensaf/opensaf/plmcboot.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=PLMCBOOT Program -After=network.target -ConditionPathExists=@SYSCONFDIR@/plmcd.conf - -[Service] -Type=oneshot -ExecStart=@SBINDIR@/plmcd -c @SYSCONFDIR@/plmcd.conf -s -ExecStop=@SBINDIR@/plmcd -c @SYSCONFDIR@/plmcd.conf -x -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/plmcd.service b/meta-networking/recipes-daemons/opensaf/opensaf/plmcd.service deleted file mode 100644 index 1d48e7764cf..00000000000 --- a/meta-networking/recipes-daemons/opensaf/opensaf/plmcd.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Plmcd Daemon -Requires=plmcboot.service -After=network.target plmcboot.service -ConditionPathExists=@SYSCONFDIR@/plmcd.conf - -[Service] -Type=forking -ExecStart=@SBINDIR@/plmcd -c @SYSCONFDIR@/plmcd.conf -ExecStartPost=/bin/touch /var/lock/subsys/plmcd -ExecStopPost=/bin/rm -rf /var/lock/subsys/plmcd -PIDFile=/var/run/plmcd.pid - -[Install] -WantedBy=multi-user.target diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_4.6.0.bb b/meta-networking/recipes-daemons/opensaf/opensaf_4.6.0.bb index 28f4c006da0..90845242606 100644 --- a/meta-networking/recipes-daemons/opensaf/opensaf_4.6.0.bb +++ b/meta-networking/recipes-daemons/opensaf/opensaf_4.6.0.bb @@ -15,8 +15,6 @@ inherit autotools useradd systemd pkgconfig SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ file://install-samples-from-srcdir.patch \ - file://plmcd.service \ - file://plmcboot.service \ file://0001-plmcd-error-fix.patch \ file://Revert_imma_client_node_replyPending_to_unsigned_char.patch \ file://Fix_GCC_5.1.0_compiler_warning.patch \ @@ -65,8 +63,6 @@ do_install_append() { install -d ${D}${systemd_unitdir}/system install -m 0644 ${B}/osaf/services/infrastructure/nid/config/opensafd.service \ ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/plmc*.service ${D}/${systemd_unitdir}/system - sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/plmc*.service - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/plmc*.service + install -m 0644 ${B}/contrib/plmc/config/*.service ${D}/${systemd_unitdir}/system } diff --git a/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-networking/recipes-daemons/postfix/postfix.inc index 6d39570d34b..adc07a950ce 100644 --- a/meta-networking/recipes-daemons/postfix/postfix.inc +++ b/meta-networking/recipes-daemons/postfix/postfix.inc @@ -27,6 +27,8 @@ SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV S = "${WORKDIR}/postfix-${PV}" +CLEANBROKEN = "1" + BBCLASSEXTEND = "native" inherit update-rc.d useradd update-alternatives systemd diff --git a/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb b/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb index fa592dca6c1..c1f15040551 100644 --- a/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb +++ b/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb @@ -18,3 +18,5 @@ SRC_URI[sha256sum] = "7be73a8e58b190a7054d2ae00c5e650cb9e091980420082d02ec3c3b68 inherit autotools EXTRA_OECONF = "--with-minimal" +PACKAGECONFIG[libsodium] ="ac_cv_lib_sodium_crypto_pwhash_scryptsalsa208sha256_str=yes, \ + ac_cv_lib_sodium_crypto_pwhash_scryptsalsa208sha256_str=no, libsodium" diff --git a/meta-networking/recipes-extended/iscsitarget/files/access-sk_v6_daddr-iff-IPV6-defined.patch b/meta-networking/recipes-extended/iscsitarget/files/access-sk_v6_daddr-iff-IPV6-defined.patch new file mode 100644 index 00000000000..4444234b2ed --- /dev/null +++ b/meta-networking/recipes-extended/iscsitarget/files/access-sk_v6_daddr-iff-IPV6-defined.patch @@ -0,0 +1,28 @@ +The element skc_v6_daddr (in struct sock_common) is defined in +kernel source only when CONFIG_IPV6 is enabled. Hence, access +sk_v6_daddr element (i.e __sk_common.skc_v6_daddr) only when CONFIG_IPV6 +is defined; to fix below error in world build: + +-- snip -- +/home/jenkins/oe/world/shr-core/tmp-glibc/work-shared/qemux86/kernel-source/include/net/sock.h:330:33: error: 'struct sock_common' has no member named 'skc_v6_daddr' +-- CUT -- + +Upstream-Status: Pending + +Signed-off-by: Jagadeesh Krishnanjanappa + +--- iscsitarget-1.4.20.3+svn502_org/kernel/conn.c 2015-12-29 21:57:50.547932217 -0800 ++++ iscsitarget-1.4.20.3+svn502/kernel/conn.c 2015-12-29 22:47:25.254657627 -0800 +@@ -46,10 +46,12 @@ void conn_info_show(struct seq_file *seq + snprintf(buf, sizeof(buf), + "%pI4", &inet_sk(sk)->inet_daddr); + break; ++#if defined(CONFIG_IPV6) + case AF_INET6: + snprintf(buf, sizeof(buf), "[%pI6]", + &(sk)->sk_v6_daddr); + break; ++#endif /* defined(CONFIG_IPV6) */ + default: + break; + } diff --git a/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb b/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb index c96810b21ce..0f8290596d2 100644 --- a/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb +++ b/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb @@ -11,14 +11,12 @@ DEPENDS = "openssl virtual/kernel" SRC_URI = "http://ftp.heanet.ie/mirrors/ubuntu/pool/universe/i/${BPN}/${BPN}_${PV}.orig.tar.gz \ file://use-kernel-makefile-to-get-kernel-version.patch \ file://fix-errors-observed-with-linux-3.19-and-greater.patch \ + file://access-sk_v6_daddr-iff-IPV6-defined.patch \ " SRC_URI[md5sum] = "ef9bc823bbabd3c772208c00d5f2d089" SRC_URI[sha256sum] = "d3196ccb78a43266dce28587bfe30d8ab4db7566d7bce96057dfbb84100babb5" -inherit module-base - -# Add make_scripts task to create kernel scripts -addtask make_scripts after do_patch before do_compile +inherit module do_configure[noexec] = "1" @@ -26,9 +24,6 @@ do_configure[noexec] = "1" # kernel scripts do_make_scripts[depends] += "virtual/kernel:do_shared_workdir" -# Make sure we don't have race condition against "make scripts" -do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" - do_compile() { oe_runmake KSRC=${STAGING_KERNEL_DIR} CFLAGS='${CFLAGS}' LDFLAGS='' \ CC="${CC}" V=1 @@ -56,7 +51,10 @@ do_install() { } FILES_${PN} += "${sbindir} \ - /lib \ ${sysconfdir}" +RDEPENDS_${PN} = "kernel-module-iscsi-trgt" RRECOMMENDS_${PN} = "kernel-module-crc32c kernel-module-libcrc32c" + +# Skip the arch test for kernel modules +INSANE_SKIP_kernel-module-iscsi-trgt = "arch" diff --git a/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb b/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb index c1c319d7ad5..5463dc1302c 100644 --- a/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb +++ b/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb @@ -15,7 +15,36 @@ EXTRA_OECONF = "--kernel-dir=${STAGING_KERNEL_BUILDDIR} \ --driver-suffix="-netmap" \ " -EXTRA_OECONF += "--no-drivers=ixgbe" +# The driver builds are optional, but for deterministic builds, +# we should be able to explicitly enable/disable the builds +# for them in a proper place (maybe in BSP). +# But we can't use PACKAGECONFIG since there is no option for +# each driver, and the options are: +# --no-drivers do not compile any driver +# --no-drivers= do not compile the given drivers (comma sep.) +# --drivers= only compile the given drivers (comma sep.) +# +# So use NETMAP_DRIVERS and the following python code to add proper +# configs to EXTRA_OECONF. +# +# The default is no-drivers, and all supported drivers are listed +# in NETMAP_ALL_DRIVERS. +NETMAP_DRIVERS ??= "" +NETMAP_ALL_DRIVERS = "ixgbe igb e1000e e1000 veth.c forcedeth.c virtio_net.c r8169.c" + +python __anonymous () { + drivers_list = d.getVar("NETMAP_DRIVERS", True).split() + all_drivers_list = d.getVar("NETMAP_ALL_DRIVERS", True).split() + config_drivers = "--drivers=" + ",".join(drivers_list) + + extra_oeconf_drivers = bb.utils.contains_any('NETMAP_DRIVERS', all_drivers_list, config_drivers, '--no-drivers', d) + d.appendVar("EXTRA_OECONF", extra_oeconf_drivers) + + # skip the arch test for kernel modules + if drivers_list: + for driver in drivers_list: + d.setVar("INSANE_SKIP_kernel-module-%s-netmap" % bb.utils.prune_suffix(driver, ['.c'], d), "arch") +} LDFLAGS := "${@'${LDFLAGS}'.replace('-Wl,-O1', '')}" LDFLAGS := "${@'${LDFLAGS}'.replace('-Wl,--as-needed', '')}" @@ -32,7 +61,6 @@ do_configure_append () { #define NETMAP_LINUX_HAVE_PHYS_ADDR_T #define NETMAP_LINUX_HAVE_ACCESS_ONCE #define NETMAP_LINUX_HAVE_NETDEV_OPS -#define NETMAP_LINUX_ALLOC_NETDEV_4ARGS #define NETMAP_LINUX_HAVE_INIT_NET #define NETMAP_LINUX_HAVE_LIVE_ADDR_CHANGE #define NETMAP_LINUX_HAVE_TX_SKB_SHARING @@ -46,6 +74,12 @@ do_configure_append () { #define NETMAP_LINUX_HAVE_E1000E_EXT_RXDESC #define NETMAP_LINUX_HAVE_E1000E_DOWN2 EOF + +if ${@ 'false' if (bb.utils.vercmp_string(d.getVar('KERNEL_VERSION', True), '3.17') < 0) else 'true' } ; then + cat >> ${S}/LINUX/netmap_linux_config.h < +--- + rsh/rsh.c | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +diff --git a/rsh/rsh.c b/rsh/rsh.c +index ac594f9..11f533e 100644 +--- a/rsh/rsh.c ++++ b/rsh/rsh.c +@@ -100,7 +100,6 @@ main(int argc, char *argv[]) + #else + if (!strcmp(p, "rsh")) asrsh = 1; + #endif +- else host = p; + + /* handle "rsh host flags" */ + if (!host && argc > 2 && argv[1][0] != '-') { +-- +1.7.5.4 + diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/netkit-rsh-0.17-rexec-ipv6.patch b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/netkit-rsh-0.17-rexec-ipv6.patch new file mode 100644 index 00000000000..efd060f3651 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/netkit-rsh-0.17-rexec-ipv6.patch @@ -0,0 +1,30 @@ +make rexec support ipv6 + +Upstream-status: Pending + +rexec equals rexec_af(... ,AF_INET) which only support ipv4, +use rexec_af(..., AF_UNSPEC) to support both ipv6 and ipv4. + +Signed-off-by: Roy.Li +--- + rexec/rexec.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/rexec/rexec.c b/rexec/rexec.c +index 0913c02..9c8f769 100644 +--- a/rexec/rexec.c ++++ b/rexec/rexec.c +@@ -214,8 +214,8 @@ int main(int argc, char *argv[]) + passwd = getpass("Password: "); + } + +- if ( (sock = rexec(&host, port_exec, user_name, passwd, command, +- p_to_aux_sock)) < 0 ) ++ if ( (sock = rexec_af(&host, port_exec, user_name, passwd, command, ++ p_to_aux_sock, AF_UNSPEC)) < 0 ) + { + fprintf(stderr,"%s: Error in rexec system call: ",argv[0]); + perror(NULL); +-- +1.7.4.1 + diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.pam b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.pam new file mode 100644 index 00000000000..94e5dda50b5 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.pam @@ -0,0 +1,10 @@ +#%PAM-1.0 +# For root login to succeed here with pam_securetty, "rexec" must be +# listed in /etc/securetty. +auth required pam_nologin.so +auth required pam_env.so +auth include common-auth +account include common-account +session optional pam_keyinit.so force revoke +session include common-session +session required pam_loginuid.so diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit index 80aed36ffbd..7354360ae7c 100644 --- a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit @@ -14,7 +14,7 @@ service exec group = root log_on_success += USERID log_on_failure += USERID - server = /usr/bin/tcpd + server = /usr/sbin/tcpd server_args = /usr/sbin/in.rexecd disable = yes } diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.pam b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.pam new file mode 100644 index 00000000000..b30f139cb78 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.pam @@ -0,0 +1,12 @@ +#%PAM-1.0 +# For root login to succeed here with pam_securetty, "rlogin" must be +# listed in /etc/securetty. +auth required pam_nologin.so +auth required pam_securetty.so +auth required pam_env.so +auth include common-auth +account include common-account +password include common-password +session optional pam_keyinit.so force revoke +session include common-session +session required pam_loginuid.so diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit index 00dbf935bb7..70493e603bb 100644 --- a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit @@ -14,7 +14,7 @@ service login group = root log_on_success += USERID log_on_failure += USERID - server = /usr/bin/tcpd + server = /usr/sbin/tcpd server_args = /usr/sbin/in.rlogind -a disable = yes } diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.pam b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.pam new file mode 100644 index 00000000000..072327a76e6 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.pam @@ -0,0 +1,10 @@ +#%PAM-1.0 +# For root login to succeed here with pam_securetty, "rsh" must be +# listed in /etc/securetty. +auth required pam_nologin.so +auth required pam_securetty.so +auth required pam_env.so +account include common-account +session optional pam_keyinit.so force revoke +session include common-session +session required pam_loginuid.so diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit index ad59b62076a..a842eb974fe 100644 --- a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit @@ -15,7 +15,7 @@ service shell group = root log_on_success += USERID log_on_failure += USERID - server = /usr/bin/tcpd + server = /usr/sbin/tcpd server_args = /usr/sbin/in.rshd -aL disable = yes } diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb index f14a45157ce..e29369c4959 100644 --- a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb @@ -4,7 +4,7 @@ HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit" LICENSE = "BSD-4-Clause" DEPENDS = "xinetd libgcrypt" -LIC_FILES_CHKSUM = "file://rsh/rsh.c;beginline=2;endline=3;md5=25737e9d21d9df251dd26b7dcbd8ee29" +LIC_FILES_CHKSUM = "file://rsh/rsh.c;endline=32;md5=487b3c637bdc181d32b2a8543d41b606" SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}.orig.tar.gz;name=archive \ ${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}-15.diff.gz;name=patch15 \ @@ -13,6 +13,8 @@ SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}.orig.tar.gz;name= file://rexec.xinetd.netkit \ file://rlogin.xinetd.netkit \ file://rsh.xinetd.netkit \ + file://netkit-rsh-0.17-rexec-ipv6.patch \ + file://fix-host-variable.patch \ " SRC_URI[archive.md5sum] = "65f5f28e2fe22d9ad8b17bb9a10df096" @@ -20,6 +22,12 @@ SRC_URI[archive.sha256sum] = "edcac7fa18015f0bc04e573f3f54ae3b638d71335df1ad7dae SRC_URI[patch15.md5sum] = "655efc0d541b03ca5de0ae506c805ea3" SRC_URI[patch15.sha256sum] = "2bc071c438e8b0ed42a0bd2db2d8b681b27a1e9b1798694d9874733293bc2aa9" +# Other support files +PAM_SRC_URI = "file://rexec.pam \ + file://rlogin.pam \ + file://rsh.pam" +SRC_URI += "${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}" + inherit pkgconfig CFLAGS += " -D_GNU_SOURCE -Wno-deprecated-declarations" @@ -30,7 +38,7 @@ PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam", "", d)} PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam" do_configure () { - ./configure --prefix=${prefix} + ./configure --prefix=${prefix} --exec-prefix=${exec_prefix} echo "INSTALLROOT=${D}" > MCONFIG if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then @@ -58,9 +66,9 @@ do_install () { if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then install -d ${D}${sysconfdir}/pam.d install -m 0644 debian/hosts.equiv ${D}/${sysconfdir} - install -m 0644 debian/pam.d/rexec ${D}/${sysconfdir}/pam.d - install -m 0644 debian/pam.d/rlogin ${D}/${sysconfdir}/pam.d - install -m 0644 debian/pam.d/rsh ${D}/${sysconfdir}/pam.d + install -m 0644 ${WORKDIR}/rexec.pam ${D}/${sysconfdir}/pam.d/rexec + install -m 0644 ${WORKDIR}/rlogin.pam ${D}/${sysconfdir}/pam.d/rlogin + install -m 0664 ${WORKDIR}/rsh.pam ${D}/${sysconfdir}/pam.d/rsh fi cp ${WORKDIR}/rexec.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rexec cp ${WORKDIR}/rlogin.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rlogin @@ -85,7 +93,8 @@ ALTERNATIVE_TARGET[rexecd] = "${sbindir}/in.rexecd" ALTERNATIVE_LINK_NAME[rlogind] = "${bindir}/rlogind" ALTERNATIVE_TARGET[rlogind] = "${sbindir}/in.rlogind" -RCONFLICTS_${PN}-client += "inetutils-rshd" -RPROVIDES_${PN}-rshd = "rshd" +RCONFLICTS_${PN}-server += "inetutils-rshd" +RPROVIDES_${PN}-server = "rshd" -RDEPENDS_${PN} = "xinetd" +RDEPENDS_${PN}-server = "xinetd" +RDEPENDS_${PN}-server += "tcp-wrappers" 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 08065187334..9438adc0f2b 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 @@ -25,6 +25,7 @@ do_configure () { do_compile () { oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' SUB=telnet oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' LIBS=-lutil SUB=telnetd + oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' SUB=telnetlogin } do_install () { @@ -36,6 +37,7 @@ do_install () { install -d ${D}${mandir}/man8 oe_runmake SUB=telnetd install rm -rf ${D}${mandir}/man1 + install -D -m 4750 ${B}/telnetlogin/telnetlogin ${D}/${libdir}/telnetlogin # fix up hardcoded paths sed -i -e 's,/usr/sbin/,${sbindir}/,' ${WORKDIR}/telnet-xinetd install -d ${D}/etc/xinetd.d/ @@ -54,3 +56,4 @@ pkg_prerm_${PN} () { SRC_URI[md5sum] = "d6beabaaf53fe6e382c42ce3faa05a36" SRC_URI[sha256sum] = "9c80d5c7838361a328fb6b60016d503def9ce53ad3c589f3b08ff71a2bb88e00" +FILES_${PN} += "${sbindir}/in.* ${libdir}/* ${sysconfdir}/xinetd.d/*" diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_libs2-Error-Fix.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_libs2-Error-Fix.patch new file mode 100644 index 00000000000..5866a95edb6 --- /dev/null +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_libs2-Error-Fix.patch @@ -0,0 +1,31 @@ +From e24fcd140f3f6dd18fd836b197c6d4bb773e50e7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= +Date: Wed, 4 Nov 2015 16:49:30 +0100 +Subject: [PATCH] config_os_libs2: Error Fix + +ERROR: This autoconf log indicates errors, it looked at host include +and/or library paths while determining system capabilities. +--- + configure.d/config_os_libs2 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 +index 47491e2..e3647f9 100644 +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -226,10 +226,10 @@ if test "x$with_nl" != "xno"; then + case $target_os in + linux*) # Check for libnl (linux) + netsnmp_save_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="-I/usr/include/libnl3 $CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS" + NETSNMP_SEARCH_LIBS(nl_connect, nl-3, + [AC_CHECK_HEADERS(netlink/netlink.h) +- EXTERNAL_MIBGROUP_INCLUDES="$EXTERNAL_MIBGROUP_INCLUDES -I/usr/include/libnl3"], ++ EXTERNAL_MIBGROUP_INCLUDES="$EXTERNAL_MIBGROUP_INCLUDES"], + [CPPFLAGS="$netsnmp_save_CPPFLAGS"], [], [], [LMIBLIBS]) + if test "x$ac_cv_header_netlink_netlink_h" != xyes; then + NETSNMP_SEARCH_LIBS(nl_connect, nl, [ +-- +2.5.0 + diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service b/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service index 3b336a05484..447683f8563 100644 --- a/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service @@ -6,7 +6,7 @@ After=syslog.target network.target Type=notify Environment=OPTIONS="-Ls0-6d" EnvironmentFile=-/etc/default/snmpd -ExecStart=/usr/sbin/snmpd $OPTIONS -f +ExecStart=/usr/sbin/snmpd $OPTIONS -a -f ExecReload=/bin/kill -HUP $MAINPID [Install] diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb index b32d842de99..1a5093217bb 100644 --- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb @@ -20,6 +20,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \ file://run-ptest \ file://dont-return-incompletely-parsed-varbinds.patch \ file://0001-config_os_headers-Error-Fix.patch \ + file://0001-config_os_libs2-Error-Fix.patch \ file://0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch \ " SRC_URI[md5sum] = "9f682bd70c717efdd9f15b686d07baee" @@ -27,7 +28,7 @@ SRC_URI[sha256sum] = "e8dfc79b6539b71a6ff335746ce63d2da2239062ad41872fff4354cafe inherit autotools update-rc.d siteinfo systemd pkgconfig -EXTRA_OEMAKE = "INSTALL_PREFIX=${D}" +EXTRA_OEMAKE = "INSTALL_PREFIX=${D} OTHERLDFLAGS='${LDFLAGS}' HOST_CPPFLAGS='${BUILD_CPPFLAGS}'" PARALLEL_MAKE = "" CCACHE = "" @@ -36,12 +37,13 @@ TARGET_CC_ARCH += "${LDFLAGS}" PACKAGECONFIG ??= "" PACKAGECONFIG[elfutils] = "--with-elf, --without-elf, elfutils" +PACKAGECONFIG[libnl] = "--with-nl, --without-nl, libnl" EXTRA_OECONF = "--disable-embedded-perl \ --with-perl-modules=no \ - --enable-shared \ --disable-manuals \ --with-defaults \ + --with-install-prefix=${D} \ --with-persistent-directory=${localstatedir}/lib/net-snmp \ ${@base_conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)}" @@ -51,10 +53,15 @@ EXTRA_OECONF += "--with-mib-modules=smux" CACHED_CONFIGUREVARS = " \ ac_cv_header_valgrind_valgrind_h=no \ ac_cv_header_valgrind_memcheck_h=no \ + ac_cv_ETC_MNTTAB=/etc/mtab \ + lt_cv_shlibpath_overrides_runpath=yes \ " do_configure_prepend() { export PERLPROG="${bindir}/env perl" + sed -i -e "s|I/usr/include|I${STAGING_INCDIR}|g" \ + "${S}"/configure \ + "${S}"/configure.d/config_os_libs2 } do_install_append() { @@ -63,15 +70,13 @@ do_install_append() { install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/snmpd install -m 644 ${WORKDIR}/snmpd.conf ${D}${sysconfdir}/snmp/ install -m 644 ${WORKDIR}/snmptrapd.conf ${D}${sysconfdir}/snmp/ - sed -e "s@-I/usr/include@@g" \ - -e "s@^prefix=.*@prefix=${STAGING_DIR_HOST}@g" \ - -e "s@^exec_prefix=.*@exec_prefix=${STAGING_DIR_HOST}@g" \ - -e "s@^includedir=.*@includedir=${STAGING_INCDIR}@g" \ - -e "s@^libdir=.*@libdir=${STAGING_LIBDIR}@g" \ - -i ${D}${bindir}/net-snmp-config install -d ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/snmpd.service ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/snmptrapd.service ${D}${systemd_unitdir}/system + sed -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \ + -i ${D}${bindir}/net-snmp-create-v3-user + sed -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \ + -i ${D}${bindir}/net-snmp-config } do_install_ptest() { @@ -79,7 +84,7 @@ do_install_ptest() { for i in ${S}/dist ${S}/include ${B}/include ${S}/mibs ${S}/configure \ ${B}/net-snmp-config ${S}/testing; do if [ -e "$i" ]; then - cp -a "$i" ${D}${PTEST_PATH} + cp -R --no-dereference --preserve=mode,links -v "$i" ${D}${PTEST_PATH} fi done echo `autoconf -V|awk '/autoconf/{print $NF}'` > ${D}${PTEST_PATH}/dist/autoconf-version @@ -98,6 +103,13 @@ net_snmp_sysroot_preprocess () { if [ -e ${D}${bindir}/net-snmp-config ]; then install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ install -m 755 ${D}${bindir}/net-snmp-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + sed -e "s@-I/usr/include@-I${STAGING_INCDIR}@g" \ + -e "s@^prefix=.*@prefix=${STAGING_DIR_HOST}${prefix}@g" \ + -e "s@^exec_prefix=.*@exec_prefix=${STAGING_EXECPREFIXDIR}@g" \ + -e "s@^includedir=.*@includedir=${STAGING_INCDIR}@g" \ + -e "s@^libdir=.*@libdir=${STAGING_LIBDIR}@g" \ + -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=${S}@g" \ + -i ${SYSROOT_DESTDIR}${bindir_crossscripts}/net-snmp-config fi } diff --git a/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch b/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch new file mode 100644 index 00000000000..f08bb572da4 --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch @@ -0,0 +1,28 @@ +Upstream-Status: Pending + +Subject: ospf6d: check ospf6 before using it in ospf6_clean + +The ospf6 variable might be 'NULL' causing segment fault error. +Check it before referencing it. + +Signed-off-by: Chen Qi +--- + ospf6d/ospf6d.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c +index 3cdd5c1..e3bf1af 100644 +--- a/ospf6d/ospf6d.c ++++ b/ospf6d/ospf6d.c +@@ -1892,6 +1892,8 @@ ospf6_init (void) + void + ospf6_clean (void) + { ++ if (ospf6 == NULL) ++ return; + if (ospf6->route_table) + ospf6_route_remove_all (ospf6->route_table); + if (ospf6->brouter_table) +-- +1.9.1 + diff --git a/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb b/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb index 09c4e7d286e..cecf4385c1c 100644 --- a/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb +++ b/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb @@ -1,6 +1,7 @@ require quagga.inc SRC_URI += "file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \ + file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \ " SRC_URI[md5sum] = "7986bdc2fe6027d4c9216f7f5791e718" diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc index 1a72fd19c48..6f7f6933090 100644 --- a/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc +++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc @@ -3,12 +3,16 @@ HOMEPAGE = "http://www.xelerance.com/software/xl2tpd/" SECTION = "net" DEPENDS = "ppp virtual/kernel" +PACKAGE_ARCH = "${MACHINE_ARCH}" + LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=0636e73ff0215e8d672dc4c32c317bb3" INC_PR = "r0" -SRC_URI = "git://github.com/xelerance/xl2tpd.git" +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 new file mode 100644 index 00000000000..b75c9129db9 --- /dev/null +++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch @@ -0,0 +1,134 @@ +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-support/cifs/cifs-utils_git.bb b/meta-networking/recipes-support/cifs/cifs-utils_git.bb index e6b31febda6..3bd40ec4479 100644 --- a/meta-networking/recipes-support/cifs/cifs-utils_git.bb +++ b/meta-networking/recipes-support/cifs/cifs-utils_git.bb @@ -4,6 +4,7 @@ SECTION = "otherosfs" LICENSE = "GPLv3 & LGPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "samba" PV = "6.4" SRCREV = "487f46da737291877867cbd3acb40fea087d3863" @@ -17,6 +18,8 @@ PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap" PACKAGECONFIG[cifscreds] = "--enable-cifscreds,--disable-cifscreds,keyutils" # when enabled, it creates ${sbindir}/cifs.upcall and --ignore-fail-on-non-empty in do_install_append is needed PACKAGECONFIG[cifsupcall] = "--enable-cifsupcall,--disable-cifsupcall,krb5 talloc keyutils" +PACKAGECONFIG[cifsidmap] = "--enable-cifsidmap,--disable-cifsidmap, keyutils" +PACKAGECONFIG[pam] = "--enable-pam --with-pamdir=${base_libdir}/security,--disable-pam,libpam keyutils" inherit autotools pkgconfig @@ -26,4 +29,6 @@ do_install_append() { rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir} } +FILES_${PN} += "${base_libdir}/security" +FILES_${PN}-dbg += "${base_libdir}/security/.debug" RRECOMMENDS_${PN} = "kernel-module-cifs" diff --git a/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb b/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb index 093f0d4c528..31875ea50ff 100644 --- a/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb +++ b/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb @@ -18,7 +18,7 @@ do_unpack() { do_install() { install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV}-docs - cp -a ${S}/* ${D}${datadir}/doc/cim-schema-${PV}-docs + cp -R --no-dereference --preserve=mode,links -v ${S}/* ${D}${datadir}/doc/cim-schema-${PV}-docs } FILES_${PN} = "${datadir}/doc/*" diff --git a/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.39.0.bb b/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.39.0.bb index 62e50df1d39..4b07c0bd09d 100644 --- a/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.39.0.bb +++ b/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.39.0.bb @@ -16,7 +16,8 @@ do_install() { install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV} install -m 644 ${WORKDIR}/LICENSE ${D}${datadir}/doc/cim-schema-${PV} - cp -a ${S}/* ${D}${datadir}/mof/cimv${PV}/ + cp -R --no-dereference --preserve=mode,links -v ${S}/* ${D}${datadir}/mof/cimv${PV}/ + chown -R root:root ${D}${datadir}/mof/cimv${PV} for i in `find ${D}${datadir}/mof/cimv${PV} -name "*.mof"`; do sed -i -e 's/\r//g' $i done diff --git a/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb b/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb index 1694f318249..56753844106 100644 --- a/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb +++ b/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb @@ -21,7 +21,8 @@ do_install() { install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV} install -m 644 ${WORKDIR}/LICENSE ${D}${datadir}/doc/cim-schema-${PV} - cp -a ${S}/* ${D}${datadir}/mof/cimv${PV}/ + cp -R --no-dereference --preserve=mode,links -v ${S}/* ${D}${datadir}/mof/cimv${PV}/ + chown -R root:root ${D}${datadir}/mof/cimv${PV}/ for i in `find ${D}${datadir}/mof/cimv${PV} -name "*.mof"`; do sed -i -e 's/\r//g' $i done diff --git a/meta-oe/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch b/meta-networking/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch similarity index 100% rename from meta-oe/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch rename to meta-networking/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch diff --git a/meta-oe/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch b/meta-networking/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch similarity index 100% rename from meta-oe/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch rename to meta-networking/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch diff --git a/meta-networking/recipes-support/ctdb/ctdb/service-ensure-the-PID-directory-is-created.patch b/meta-networking/recipes-support/ctdb/ctdb/service-ensure-the-PID-directory-is-created.patch new file mode 100644 index 00000000000..a7e987b85f4 --- /dev/null +++ b/meta-networking/recipes-support/ctdb/ctdb/service-ensure-the-PID-directory-is-created.patch @@ -0,0 +1,25 @@ +From f02ff7383f1cc0c118732352ccbae476c7b3b3ba Mon Sep 17 00:00:00 2001 +From: Mark Asselstine +Date: Tue, 17 Nov 2015 16:17:00 -0500 +Subject: [PATCH] service: ensure the PID directory is created + +Signed-off-by: Mark Asselstine +--- + config/ctdb.service | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/config/ctdb.service b/config/ctdb.service +index ea37c30..8537105 100644 +--- a/config/ctdb.service ++++ b/config/ctdb.service +@@ -5,6 +5,7 @@ After=network.target + [Service] + Type=forking + LimitCORE=infinity ++RuntimeDirectory=/run/ctdb + PIDFile=/run/ctdb/ctdbd.pid + ExecStart=/usr/sbin/ctdbd_wrapper /run/ctdb/ctdbd.pid start + ExecStop=/usr/sbin/ctdbd_wrapper /run/ctdb/ctdbd.pid stop +-- +2.1.4 + diff --git a/meta-oe/recipes-support/ctdb/ctdb_2.5.1.bb b/meta-networking/recipes-support/ctdb/ctdb_2.5.1.bb similarity index 79% rename from meta-oe/recipes-support/ctdb/ctdb_2.5.1.bb rename to meta-networking/recipes-support/ctdb/ctdb_2.5.1.bb index 3731efd6b4a..3e7bf961fe9 100644 --- a/meta-oe/recipes-support/ctdb/ctdb_2.5.1.bb +++ b/meta-networking/recipes-support/ctdb/ctdb_2.5.1.bb @@ -17,6 +17,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ SRC_URI = "https://ftp.samba.org/pub/${PN}/${BP}.tar.gz \ file://01-support-cross-compile-for-linux-os.patch \ file://02-link-rep_snprintf-for-ltdbtool.patch \ + file://service-ensure-the-PID-directory-is-created.patch \ " SRC_URI[md5sum] = "d0cd91726ff4ca2229e1b21859c94717" @@ -24,9 +25,12 @@ SRC_URI[sha256sum] = "d5bf3f674cae986bb6178b1db215a703ac94adc5f75fadfdcff63dcbb5 inherit autotools-brokensep pkgconfig systemd +PACKAGECONFIG ??= "" +PACKAGECONFIG[libtdb] = "--without-included-tdb,--with-included-tdb,libtdb" + PARALLEL_MAKE = "" -DEPENDS += "popt libtevent talloc" +DEPENDS += "popt libtevent talloc libldb" do_configure() { oe_runconf @@ -36,8 +40,14 @@ do_install_append() { install -d ${D}${systemd_unitdir}/system install -m 0644 ${S}/config/ctdb.service ${D}${systemd_unitdir}/system sed -i -e 's,/usr/sbin/,${sbindir}/,' ${D}${systemd_unitdir}/system/ctdb.service + sed -i -e 's,\([=\ ]\)/run/,\1${localstatedir}/run/,' ${D}${systemd_unitdir}/system/ctdb.service + + rm -r ${D}/${localstatedir}/run } SYSTEMD_SERVICE_${PN} = "ctdb.service" FILES_${PN} += "/run" + +# onnode is a shell script with bashisms and bash #! +RDEPENDS_${PN} += "bash" diff --git a/meta-networking/recipes-support/dovecot/dovecot_2.2.18.bb b/meta-networking/recipes-support/dovecot/dovecot_2.2.18.bb index 9b5f53613fb..a01ef83a16a 100644 --- a/meta-networking/recipes-support/dovecot/dovecot_2.2.18.bb +++ b/meta-networking/recipes-support/dovecot/dovecot_2.2.18.bb @@ -23,6 +23,7 @@ PACKAGECONFIG ??= " \ PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," PACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap," +PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," # From native build in armv7a-hf/eglibc CACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \ diff --git a/meta-networking/recipes-support/geoip/files/run-ptest b/meta-networking/recipes-support/geoip/files/run-ptest new file mode 100644 index 00000000000..14e96191f38 --- /dev/null +++ b/meta-networking/recipes-support/geoip/files/run-ptest @@ -0,0 +1,11 @@ +#!/bin/sh +pdir=`dirname $0` +cd ${pdir}/tests +for i in ./benchmark ./test-geoip-city ; do + ${i} 1>/dev/null 2>&1; + if [ $? == 0 ]; then + echo PASS: $i; + else + echo FAIL: $i; + fi; +done diff --git a/meta-networking/recipes-support/geoip/geoip_1.6.6.bb b/meta-networking/recipes-support/geoip/geoip_1.6.6.bb index 5037ae30096..06051542c50 100644 --- a/meta-networking/recipes-support/geoip/geoip_1.6.6.bb +++ b/meta-networking/recipes-support/geoip/geoip_1.6.6.bb @@ -13,6 +13,7 @@ SRC_URI = "git://github.com/maxmind/geoip-api-c.git \ http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz;apply=no;name=GeoIPv6-dat \ http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz;apply=no;name=GeoLiteCity-dat \ http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz;apply=no;name=GeoLiteCityv6-dat \ + file://run-ptest \ " SRCREV = "ed3f3e2b87fba05a8f2a5b9b1328e7d55be8bf30" @@ -47,9 +48,46 @@ do_install() { install ${WORKDIR}/GeoIPv6.dat ${D}/${datadir}/GeoIP/ install ${WORKDIR}/GeoLiteCity.dat ${D}/${datadir}/GeoIP/ install ${WORKDIR}/GeoLiteCityv6.dat ${D}/${datadir}/GeoIP/ + ln -s GeoLiteCity.dat ${D}${datadir}/GeoIP/GeoIPCity.dat } PACKAGES =+ "${PN}-database" FILES_${PN}-database = "" FILES_${PN}-database += "${datadir}/GeoIP/*" +# We cannot do much looking up without databases. +# +RDEPENDS_${PN} += "${PN}-database" + +inherit ptest + +do_configure_ptest() { + sed -i -e "s/noinst_PROGRAMS = /test_PROGRAMS = /g" \ + -e 's:SRCDIR=\\"$(top_srcdir)\\":SRCDIR=\\"$(testdir)\\":' \ + ${S}/test/Makefile.am + + if ! grep "^testdir = " ${S}/test/Makefile.am ; then + sed -e '/EXTRA_PROGRAMS = /itestdir = ${PTEST_PATH}/tests' \ + -i ${S}/test/Makefile.am + fi + + sed -i -e "s:/usr/local/share:/usr/share:g" \ + ${S}/test/benchmark.c + + sed -i -e 's:"../data/:"/usr/share/GeoIP/:g' \ + ${S}/test/test-geoip-city.c \ + ${S}/test/test-geoip-isp.c \ + ${S}/test/test-geoip-asnum.c \ + ${S}/test/test-geoip-netspeed.c \ + ${S}/test/test-geoip-org.c \ + ${S}/test/test-geoip-region.c +} + + +do_install_ptest() { + oe_runmake -C test DESTDIR=${D} install-testPROGRAMS + install ${S}/test/*.txt ${D}${PTEST_PATH}/tests +} + + + diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb index 8ee81f8b7e1..d9f12127354 100644 --- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb @@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://src/libipsec/pfkey.c;beginline=6;endline=31;md5=bc9b7 DEPENDS = "virtual/kernel openssl readline flex-native bison-native" +PACKAGE_ARCH = "${MACHINE_ARCH}" + SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${PV}.tar.bz2 \ file://0002-Don-t-link-against-libfl.patch \ file://configure.patch \ diff --git a/meta-oe/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch b/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch similarity index 100% rename from meta-oe/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch rename to meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch diff --git a/meta-oe/recipes-support/libldb/libldb_1.1.17.bb b/meta-networking/recipes-support/libldb/libldb_1.1.17.bb similarity index 100% rename from meta-oe/recipes-support/libldb/libldb_1.1.17.bb rename to meta-networking/recipes-support/libldb/libldb_1.1.17.bb diff --git a/meta-oe/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch b/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch similarity index 100% rename from meta-oe/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch rename to meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch diff --git a/meta-oe/recipes-support/libtdb/libtdb_1.3.0.bb b/meta-networking/recipes-support/libtdb/libtdb_1.3.0.bb similarity index 100% rename from meta-oe/recipes-support/libtdb/libtdb_1.3.0.bb rename to meta-networking/recipes-support/libtdb/libtdb_1.3.0.bb diff --git a/meta-oe/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch b/meta-networking/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch similarity index 100% rename from meta-oe/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch rename to meta-networking/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch diff --git a/meta-oe/recipes-support/libtevent/libtevent_0.9.21.bb b/meta-networking/recipes-support/libtevent/libtevent_0.9.21.bb similarity index 100% rename from meta-oe/recipes-support/libtevent/libtevent_0.9.21.bb rename to meta-networking/recipes-support/libtevent/libtevent_0.9.21.bb diff --git a/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb index d0c0cecc3cf..edfb045a961 100644 --- a/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb +++ b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb @@ -5,6 +5,8 @@ LICENSE = "GPL-2.0 & LGPL-2.0" DEPENDS = "virtual/kernel flex flex-native" +PACKAGE_ARCH = "${MACHINE_ARCH}" + SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ file://link-with-ldflags.patch \ file://install-from-buildir.patch" diff --git a/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb b/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb index f57df5daa8e..b1bd926bc83 100644 --- a/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb +++ b/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb @@ -5,7 +5,7 @@ SECTION = "net" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "libnl python" +DEPENDS = "flex-native bison-native libnl python" PV = "0.3.1+git${SRCPV}" SRC_URI = "git://git.code.sf.net/p/linux-zigbee/linux-zigbee \ diff --git a/meta-networking/recipes-support/nbd/nbd_3.11.bb b/meta-networking/recipes-support/nbd/nbd_3.11.bb index 70dc7e9213f..0f0ae8ee81c 100644 --- a/meta-networking/recipes-support/nbd/nbd_3.11.bb +++ b/meta-networking/recipes-support/nbd/nbd_3.11.bb @@ -14,6 +14,6 @@ inherit autotools pkgconfig PACKAGES = "${PN}-client ${PN}-server ${PN}-dbg ${PN}-trdump ${PN}-doc" -FILES_${PN}-client = "${sbindir}/${PN}-client" -FILES_${PN}-server = "${bindir}/${PN}-server" -FILES_${PN}-trdump = "${bindir}/${PN}-trdump" +FILES_${PN}-client = "${sbindir}/${BPN}-client" +FILES_${PN}-server = "${bindir}/${BPN}-server" +FILES_${PN}-trdump = "${bindir}/${BPN}-trdump" diff --git a/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb b/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb index 12409d4b192..89a646f5193 100644 --- a/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb +++ b/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb @@ -20,7 +20,8 @@ do_configure[noexec] = "1" netcat_do_patch() { cd ${S} - while read line; do patch -p1 < ${WORKDIR}/debian/patches/$line; done < ${WORKDIR}/debian/patches/series + quilt pop -a || true + QUILT_PATCHES=${WORKDIR}/debian/patches QUILT_SERIES=${WORKDIR}/debian/patches/series quilt push -a } python do_patch() { diff --git a/meta-networking/recipes-support/netcat/netcat.inc b/meta-networking/recipes-support/netcat/netcat.inc index 9cb243daab8..91a24a106fb 100644 --- a/meta-networking/recipes-support/netcat/netcat.inc +++ b/meta-networking/recipes-support/netcat/netcat.inc @@ -1,3 +1,13 @@ +SUMMARY = "GNU Netcat" +HOMEPAGE = "http://netcat.sourceforge.net" +DESCRIPTION = "A simple Unix utility which reads and writes data across network \ +connections using TCP or UDP protocol. It is designed to be a reliable \ +'back-end' tool that can be used directly or easily driven by other \ +programs and scripts. At the same time it is a feature-rich network \ +debugging and exploration tool, since it can create almost any kind of \ +connection you would need and has several interesting built-in \ +capabilities." + SECTION = "net" inherit update-alternatives gettext diff --git a/meta-networking/recipes-support/netcat/netcat_0.7.1.bb b/meta-networking/recipes-support/netcat/netcat_0.7.1.bb index 8710c364623..d961af542c7 100644 --- a/meta-networking/recipes-support/netcat/netcat_0.7.1.bb +++ b/meta-networking/recipes-support/netcat/netcat_0.7.1.bb @@ -1,6 +1,4 @@ require netcat.inc -SUMMARY = "GNU Netcat" -HOMEPAGE = "http://netcat.sourceforge.net" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" diff --git a/meta-networking/recipes-support/nis/files/ypbind.init b/meta-networking/recipes-support/nis/files/ypbind.init index 244dc78bca9..669c19ca08d 100644 --- a/meta-networking/recipes-support/nis/files/ypbind.init +++ b/meta-networking/recipes-support/nis/files/ypbind.init @@ -26,6 +26,7 @@ YPBIND_BIN=/usr/sbin/ypbind pidfile=/var/run/ypbind.pid +YPDOMAINNAME_bin=/usr/bin/ypdomainname [ -f /etc/default/ypbind ] && . /etc/default/ypbind @@ -34,14 +35,14 @@ case "$1" in echo -n "Starting ypbind" ## If the domainname is not set, skip starting of ypbind ## and return with "program not configured" - /bin/ypdomainname >/dev/null 2>&1 - if [ $? -ne 0 -o -z "`/bin/ypdomainname 2>/dev/null`" ]; then + $YPDOMAINNAME_bin >/dev/null 2>&1 + if [ $? -ne 0 -o -z "`$YPDOMAINNAME_bin 2>/dev/null`" ]; then if [ -f /etc/defaultdomain ]; then XDOMAINNAME=`cat /etc/defaultdomain` - /bin/ypdomainname "$XDOMAINNAME" + $YPDOMAINNAME_bin "$XDOMAINNAME" fi - /bin/ypdomainname >/dev/null 2>&1 - if [ $? -ne 0 -o -z "`/bin/ypdomainname 2>/dev/null`" ]; then + $YPDOMAINNAME_bin >/dev/null 2>&1 + if [ $? -ne 0 -o -z "`$YPDOMAINNAME_bin 2>/dev/null`" ]; then # Tell the user this has skipped echo -n " . . . . . . . . . . No domainname set" # service is not configured diff --git a/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb b/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb index 5702cd6a5f6..d113b82e89d 100644 --- a/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb +++ b/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb @@ -21,6 +21,8 @@ DEPENDS = " \ yp-tools \ ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ " +RDEPENDS_${PN} += "yp-tools" + # ypbind-mt now provides all the functionality of ypbind # and is used in place of it. PROVIDES += "ypbind" diff --git a/meta-networking/recipes-support/ntp/ntp_4.2.8p3.bb b/meta-networking/recipes-support/ntp/ntp_4.2.8p7.bb similarity index 96% rename from meta-networking/recipes-support/ntp/ntp_4.2.8p3.bb rename to meta-networking/recipes-support/ntp/ntp_4.2.8p7.bb index 7ce993fe61a..fba2f5ed164 100644 --- a/meta-networking/recipes-support/ntp/ntp_4.2.8p3.bb +++ b/meta-networking/recipes-support/ntp/ntp_4.2.8p7.bb @@ -23,8 +23,8 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g file://ntpd.list \ " -SRC_URI[md5sum] = "b98b0cbb72f6df04608e1dd5f313808b" -SRC_URI[sha256sum] = "818ca4f2ed6ca845b1c5ec43f5e6ad905eaa0fc0aab2d509ed6b962a37fbf38f" +SRC_URI[md5sum] = "46dfba933c3e4bc924d8e55068797578" +SRC_URI[sha256sum] = "81d20c06a0b01abe3b84fac092185bf014252d38fe5e7b2758f604680a0220dc" inherit autotools update-rc.d useradd systemd pkgconfig @@ -124,7 +124,7 @@ RSUGGESTS_${PN} = "iana-etc" FILES_${PN} = "${sbindir}/ntpd ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${libdir} \ ${NTP_USER_HOME} \ - ${systemd_unitdir}/ntp-units.d/60-ntpd.list \ + ${systemd_unitdir}/ntp-units.d/60-ntpd.list ${libexecdir}\ " FILES_${PN}-tickadj = "${sbindir}/tickadj" FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib" diff --git a/meta-networking/recipes-support/strongswan/files/install-strongswan-swanctl-service.patch b/meta-networking/recipes-support/strongswan/files/install-strongswan-swanctl-service.patch new file mode 100644 index 00000000000..86baccf4f53 --- /dev/null +++ b/meta-networking/recipes-support/strongswan/files/install-strongswan-swanctl-service.patch @@ -0,0 +1,22 @@ +commit 44cbabd8a42bc2a436562ed33fb8c89fa6b75b6e +Author: Chris Patterson +Date: Fri Dec 18 08:31:48 2015 -0500 + + strongswan-swanctl.service.in: match install used by strongswan.service + + Signed-off-by: Chris Patterson + +Upstream-Status: Submitted +https://github.com/strongswan/strongswan/pull/25 + +diff --git a/init/systemd-swanctl/strongswan-swanctl.service.in b/init/systemd-swanctl/strongswan-swanctl.service.in +index 818d352..944101f 100644 +--- a/init/systemd-swanctl/strongswan-swanctl.service.in ++++ b/init/systemd-swanctl/strongswan-swanctl.service.in +@@ -7,3 +7,6 @@ Type=notify + ExecStart=@SBINDIR@/charon-systemd + ExecStartPost=@SBINDIR@/swanctl --load-all --noprompt + ExecReload=@SBINDIR@/swanctl --reload ++ ++[Install] ++WantedBy=multi-user.target diff --git a/meta-networking/recipes-support/strongswan/files/support-newer-systemd.patch b/meta-networking/recipes-support/strongswan/files/support-newer-systemd.patch new file mode 100644 index 00000000000..550cf675813 --- /dev/null +++ b/meta-networking/recipes-support/strongswan/files/support-newer-systemd.patch @@ -0,0 +1,69 @@ +commit 82498129e0a91dfc3ed2c4ec3b2252f44655b83c +Author: Chris Patterson +Date: Fri Dec 18 08:27:57 2015 -0500 + + configure: support systemd >= 209 + + libsystemd-journal and libsystemd-daemon are now just + part of libsystemd. + + Keep original systemd checks as a fallback. + + Updates charon-systemd/Makefile.am accordingly. + + Tested on: + - debian wheezy (systemd v44) + - ubuntu 15.10 (systemd v255). + + Signed-off-by: Chris Patterson + +Upstream-Status: Submitted +https://github.com/strongswan/strongswan/pull/24 + +diff --git a/configure.ac b/configure.ac +index 3d71ce0..f6c0426 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -941,13 +941,17 @@ if test x$systemd = xtrue; then + AC_MSG_ERROR([not found (try --with-systemdsystemunitdir)]) + fi + +- PKG_CHECK_MODULES(systemd_daemon, [libsystemd-daemon]) +- AC_SUBST(systemd_daemon_CFLAGS) +- AC_SUBST(systemd_daemon_LIBS) +- +- PKG_CHECK_MODULES(systemd_journal, [libsystemd-journal]) +- AC_SUBST(systemd_journal_CFLAGS) +- AC_SUBST(systemd_journal_LIBS) ++ PKG_CHECK_MODULES(systemd, [libsystemd >= 209], ++ [AC_SUBST(systemd_CFLAGS) ++ AC_SUBST(systemd_LIBS)], ++ [PKG_CHECK_MODULES(systemd_daemon, [libsystemd-daemon]) ++ AC_SUBST(systemd_daemon_CFLAGS) ++ AC_SUBST(systemd_daemon_LIBS) ++ ++ PKG_CHECK_MODULES(systemd_journal, [libsystemd-journal]) ++ AC_SUBST(systemd_journal_CFLAGS) ++ AC_SUBST(systemd_journal_LIBS) ++ ]) + fi + + if test x$tss = xtrousers; then +diff --git a/src/charon-systemd/Makefile.am b/src/charon-systemd/Makefile.am +index 1b9ac15..ee85d43 100644 +--- a/src/charon-systemd/Makefile.am ++++ b/src/charon-systemd/Makefile.am +@@ -9,11 +9,11 @@ charon_systemd_CPPFLAGS = \ + -I$(top_srcdir)/src/libstrongswan \ + -I$(top_srcdir)/src/libhydra \ + -I$(top_srcdir)/src/libcharon \ +- $(systemd_daemon_CFLAGS) $(systemd_journal_CFLAGS) \ ++ $(systemd_CFLAGS) $(systemd_daemon_CFLAGS) $(systemd_journal_CFLAGS) \ + -DPLUGINS=\""${charon_plugins}\"" + + charon_systemd_LDADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la \ + $(top_builddir)/src/libhydra/libhydra.la \ + $(top_builddir)/src/libcharon/libcharon.la \ +- $(systemd_daemon_LIBS) $(systemd_journal_LIBS) -lm $(PTHREADLIB) $(DLLIB) ++ $(systemd_LIBS) $(systemd_daemon_LIBS) $(systemd_journal_LIBS) -lm $(PTHREADLIB) $(DLLIB) diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.3.2.bb b/meta-networking/recipes-support/strongswan/strongswan_5.3.2.bb index a231a90ac99..7ec1a8ee177 100644 --- a/meta-networking/recipes-support/strongswan/strongswan_5.3.2.bb +++ b/meta-networking/recipes-support/strongswan/strongswan_5.3.2.bb @@ -9,26 +9,38 @@ DEPENDS = "gmp openssl flex-native flex bison-native" SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ file://fix-funtion-parameter.patch \ + file://support-newer-systemd.patch \ + file://install-strongswan-swanctl-service.patch \ " SRC_URI[md5sum] = "fab014be1477ef4ebf9a765e10f8802c" SRC_URI[sha256sum] = "a4a9bc8c4e42bdc4366a87a05a02bf9f425169a7ab0c6f4482d347e44acbf225" -EXTRA_OECONF = "--enable-gmp \ - --enable-openssl \ +EXTRA_OECONF = " \ --without-lib-prefix \ " EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" -PACKAGECONFIG ??= "sqlite3 curl \ + +PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \ ${@base_contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \ " -PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3," -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap," +PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni," +PACKAGECONFIG[charon] = "--enable-charon,--disable-charon," PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl," -PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4," +PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp," +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap," PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5," +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl," +PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient," +PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4," +PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3," +PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke," +PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc" + +# requires swanctl +PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd," inherit autotools systemd pkgconfig @@ -42,4 +54,4 @@ FILES_${PN}-staticdev += "${libdir}/ipsec/*.a ${libdir}/ipsec/plugins/*.a" RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${BPN}.service" +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}-swanctl.service', '${BPN}.service', d)}" diff --git a/meta-oe/recipes-support/talloc/talloc_2.1.1.bb b/meta-networking/recipes-support/talloc/talloc_2.1.1.bb similarity index 100% rename from meta-oe/recipes-support/talloc/talloc_2.1.1.bb rename to meta-networking/recipes-support/talloc/talloc_2.1.1.bb diff --git a/meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb b/meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb index 0ffe5890242..150e55fd799 100644 --- a/meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb +++ b/meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb @@ -23,6 +23,7 @@ PACKAGECONFIG ??= "openssl ipv6" PACKAGECONFIG[openssl] = "--with-crypto=yes, --without-openssl --without-crypto, openssl" PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6," PACKAGECONFIG[smi] = "--with-smi, --without-smi,libsmi" +PACKAGECONFIG[libcap-ng] = "--with-cap-ng=yes,--with-cap-ng=no,libcap-ng" EXTRA_AUTORECONF += " -I m4" diff --git a/meta-networking/recipes-support/wireshark/wireshark_1.12.8.bb b/meta-networking/recipes-support/wireshark/wireshark_1.12.8.bb index eee9f309f90..70d7c3f7775 100644 --- a/meta-networking/recipes-support/wireshark/wireshark_1.12.8.bb +++ b/meta-networking/recipes-support/wireshark/wireshark_1.12.8.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://README.linux;md5=631e077455b7972172eb149195e065b0" DEPENDS = "perl-native pcre expat glib-2.0 sbc" -SRC_URI = "https://2.na.dl.wireshark.org/src/${BP}.tar.bz2" +SRC_URI = "https://2.na.dl.wireshark.org/src/all-versions/${BP}.tar.bz2" PE = "1" diff --git a/meta-oe/README b/meta-oe/README index 6ad87c52b3c..fad1d6d81df 100644 --- a/meta-oe/README +++ b/meta-oe/README @@ -1,15 +1,15 @@ This layer depends on: URI: git://github.com/openembedded/oe-core.git -branch: master +branch: jethro revision: HEAD -Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject' +Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][jethro]' in the subject' When sending single patches, please use something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][jethro][PATCH' You are encouraged to fork the mirror on github https://github.com/openembedded/meta-oe/ to share your patches, this is preferred for patch sets consisting of more than one patch. Other services like gitorious, repo.or.cz or self hosted setups are of course accepted as well, 'git fetch ' works the same on all of them. We recommend github because it is free, easy to use, has been proven to be reliable and has a really good web GUI. -Main layer maintainer: Koen Kooi - Martin Jansa +Jethro Branch Maintainer: +Armin Kuster diff --git a/meta-oe/classes/waf-samba.bbclass b/meta-oe/classes/waf-samba.bbclass index b5b85e6f2f2..a8b3b952956 100644 --- a/meta-oe/classes/waf-samba.bbclass +++ b/meta-oe/classes/waf-samba.bbclass @@ -45,6 +45,10 @@ do_configure() { ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} --cross-compile --cross-execute="${CROSS_EXEC}" } +do_compile () { + python ./buildtools/bin/waf ${PARALLEL_MAKE} +} + do_install() { oe_runmake install DESTDIR=${D} } diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 7af9b3dd7e9..46f7b34f620 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -41,6 +41,24 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ usb-modeswitch-data->usb-modeswitch \ + lmsensors->lmsensors-config \ +" + +# ttf.inc inherits fontcache which adds fontconfig-utils to RDEPENDS +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ + terminus-font->fontconfig \ + ttf-arphic-uming->fontconfig \ + ttf-dejavu->fontconfig \ + ttf-droid->fontconfig \ + ttf-gentium->fontconfig \ + ttf-hunkyfonts->fontconfig \ + ttf-inconsolata->fontconfig \ + ttf-liberation->fontconfig \ + ttf-mplus->fontconfig \ + ttf-sazanami->fontconfig \ + ttf-tlwg->fontconfig \ + ttf-ubuntu-font-family->fontconfig \ + ttf-wqy-zenhei->fontconfig \ " FREESMARTPHONE_GIT = "git://git.freesmartphone.org" diff --git a/meta-oe/licenses/FLTK b/meta-oe/licenses/FLTK new file mode 100644 index 00000000000..27a32a25873 --- /dev/null +++ b/meta-oe/licenses/FLTK @@ -0,0 +1,43 @@ + FLTK License + December 11, 2001 + +The FLTK library and included programs are provided under the terms +of the GNU Library General Public License (LGPL) with the following +exceptions: + + 1. Modifications to the FLTK configure script, config + header file, and makefiles by themselves to support + a specific platform do not constitute a modified or + derivative work. + + The authors do request that such modifications be + contributed to the FLTK project - send all + contributions to "fltk-bugs@fltk.org". + + 2. Widgets that are subclassed from FLTK widgets do not + constitute a derivative work. + + 3. Static linking of applications and widgets to the + FLTK library does not constitute a derivative work + and does not require the author to provide source + code for the application or widget, use the shared + FLTK libraries, or link their applications or + widgets against a user-supplied version of FLTK. + + If you link the application or widget to a modified + version of FLTK, then the changes to FLTK must be + provided under the terms of the LGPL in sections + 1, 2, and 4. + + 4. You do not have to provide a copy of the FLTK license + with programs that are linked to the FLTK library, nor + do you have to identify the FLTK license in your + program or documentation as required by section 6 + of the LGPL. + + However, programs must still identify their use of FLTK. + The following example statement can be included in user + documentation to satisfy this requirement: + + [program/widget] is based in part on the work of + the FLTK project (http://www.fltk.org). diff --git a/meta-oe/licenses/ManishSingh b/meta-oe/licenses/ManishSingh new file mode 100644 index 00000000000..0243ddff48d --- /dev/null +++ b/meta-oe/licenses/ManishSingh @@ -0,0 +1,19 @@ +Copyright (C) 2002 Manish Singh + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Manish Singh not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Manish Singh makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +MANISH SINGH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL MANISH SINGH 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. diff --git a/meta-oe/licenses/flite b/meta-oe/licenses/flite new file mode 100644 index 00000000000..51e67fd785d --- /dev/null +++ b/meta-oe/licenses/flite @@ -0,0 +1,32 @@ +/*************************************************************************/ +/* */ +/* Language Technologies Institute */ +/* Carnegie Mellon University */ +/* Copyright (c) 1999-2009 */ +/* All Rights Reserved. */ +/* */ +/* Permission is hereby granted, free of charge, to use and distribute */ +/* this software and its documentation without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of this work, and to */ +/* permit persons to whom this work is furnished to do so, subject to */ +/* the following conditions: */ +/* 1. The code must retain the above copyright notice, this list of */ +/* conditions and the following disclaimer. */ +/* 2. Any modifications must be clearly marked as such. */ +/* 3. Original authors' names are not deleted. */ +/* 4. The authors' names are not used to endorse or promote products */ +/* derived from this software without specific prior written */ +/* permission. */ +/* */ +/* CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK */ +/* DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING */ +/* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT */ +/* SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS 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. */ +/* */ +/*************************************************************************/ diff --git a/meta-oe/recipes-benchmark/fio/fio_2.2.6.bb b/meta-oe/recipes-benchmark/fio/fio_2.2.6.bb index dca0e64e665..a9e631c8980 100644 --- a/meta-oe/recipes-benchmark/fio/fio_2.2.6.bb +++ b/meta-oe/recipes-benchmark/fio/fio_2.2.6.bb @@ -34,5 +34,5 @@ do_configure() { do_install() { oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir} install -d ${D}/${docdir}/${PN} - cp -a ${S}/examples ${D}/${docdir}/${PN}/ + cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/ } diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb index 58818bb32ba..4a0f28ec71c 100644 --- a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb @@ -22,4 +22,7 @@ SRCREV = "e396134952a01199326665d1df7c51ae9e62e945" S = "${WORKDIR}/git" inherit autotools + +PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools" + BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb b/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb index d98a0cb8928..f33b43507a3 100644 --- a/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb +++ b/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb @@ -1,6 +1,6 @@ SUMMARY = "GNU All Mobile Managment Utilities" SECTION = "console/network" -DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev" +DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev libgudev" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf" HOMEPAGE = "http://www.gammu.org/" diff --git a/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch b/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch new file mode 100644 index 00000000000..b771b41466f --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch @@ -0,0 +1,739 @@ +From f6e57c402688f4bc386d1a39512657a30f0bafd3 Mon Sep 17 00:00:00 2001 +From: Nicolas Williams +Date: Mon, 14 Sep 2015 12:28:36 -0400 +Subject: [PATCH 2/4] Fix IAKERB context aliasing bugs [CVE-2015-2696] + +The IAKERB mechanism currently replaces its context handle with the +krb5 mechanism handle upon establishment, under the assumption that +most GSS functions are only called after context establishment. This +assumption is incorrect, and can lead to aliasing violations for some +programs. Maintain the IAKERB context structure after context +establishment and add new IAKERB entry points to refer to it with that +type. Add initiate and established flags to the IAKERB context +structure for use in gss_inquire_context() prior to context +establishment. + +CVE-2015-2696: + +In MIT krb5 1.9 and later, applications which call +gss_inquire_context() on a partially-established IAKERB context can +cause the GSS-API library to read from a pointer using the wrong type, +generally causing a process crash. Java server applications using the +native JGSS provider are vulnerable to this bug. A carefully crafted +IAKERB packet might allow the gss_inquire_context() call to succeed +with attacker-determined results, but applications should not make +access control decisions based on gss_inquire_context() results prior +to context establishment. + + CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C + +[ghudson@mit.edu: several bugfixes, style changes, and edge-case +behavior changes; commit message and CVE description] + +ticket: 8244 +target_version: 1.14 +tags: pullup + +Backport upstream commit: +https://github.com/krb5/krb5/commit/e04f0283516e80d2f93366e0d479d13c9b5c8c2a + +Upstream-Status: Backport +--- + src/lib/gssapi/krb5/gssapiP_krb5.h | 114 ++++++++++++ + src/lib/gssapi/krb5/gssapi_krb5.c | 105 +++++++++-- + src/lib/gssapi/krb5/iakerb.c | 351 +++++++++++++++++++++++++++++++++---- + 3 files changed, 529 insertions(+), 41 deletions(-) + +diff --git a/src/lib/gssapi/krb5/gssapiP_krb5.h b/src/lib/gssapi/krb5/gssapiP_krb5.h +index a0e8625..05dc321 100644 +--- a/src/lib/gssapi/krb5/gssapiP_krb5.h ++++ b/src/lib/gssapi/krb5/gssapiP_krb5.h +@@ -620,6 +620,21 @@ OM_uint32 KRB5_CALLCONV krb5_gss_accept_sec_context_ext + ); + #endif /* LEAN_CLIENT */ + ++OM_uint32 KRB5_CALLCONV krb5_gss_inquire_sec_context_by_oid ++(OM_uint32*, /* minor_status */ ++ const gss_ctx_id_t, ++ /* context_handle */ ++ const gss_OID, /* desired_object */ ++ gss_buffer_set_t* /* data_set */ ++); ++ ++OM_uint32 KRB5_CALLCONV krb5_gss_set_sec_context_option ++(OM_uint32*, /* minor_status */ ++ gss_ctx_id_t*, /* context_handle */ ++ const gss_OID, /* desired_object */ ++ const gss_buffer_t/* value */ ++); ++ + OM_uint32 KRB5_CALLCONV krb5_gss_process_context_token + (OM_uint32*, /* minor_status */ + gss_ctx_id_t, /* context_handle */ +@@ -1301,6 +1316,105 @@ OM_uint32 KRB5_CALLCONV + krb5_gss_import_cred(OM_uint32 *minor_status, gss_buffer_t token, + gss_cred_id_t *cred_handle); + ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_process_context_token(OM_uint32 *minor_status, ++ const gss_ctx_id_t context_handle, ++ const gss_buffer_t token_buffer); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ OM_uint32 *time_rec); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_inquire_context(OM_uint32 *minor_status, ++ gss_ctx_id_t context_handle, gss_name_t *src_name, ++ gss_name_t *targ_name, OM_uint32 *lifetime_rec, ++ gss_OID *mech_type, OM_uint32 *ctx_flags, ++ int *locally_initiated, int *opened); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_qop_t qop_req, gss_buffer_t message_buffer, ++ gss_buffer_t message_token); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_qop_t qop_req, gss_iov_buffer_desc *iov, ++ int iov_count); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status, ++ gss_ctx_id_t context_handle, gss_qop_t qop_req, ++ gss_iov_buffer_desc *iov, int iov_count); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_buffer_t msg_buffer, gss_buffer_t token_buffer, ++ gss_qop_t *qop_state); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_qop_t *qop_state, gss_iov_buffer_desc *iov, ++ int iov_count); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ int conf_req_flag, gss_qop_t qop_req, ++ gss_buffer_t input_message_buffer, int *conf_state, ++ gss_buffer_t output_message_buffer); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ int conf_req_flag, gss_qop_t qop_req, int *conf_state, ++ gss_iov_buffer_desc *iov, int iov_count); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_wrap_iov_length(OM_uint32 *minor_status, ++ gss_ctx_id_t context_handle, int conf_req_flag, ++ gss_qop_t qop_req, int *conf_state, ++ gss_iov_buffer_desc *iov, int iov_count); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_buffer_t input_message_buffer, ++ gss_buffer_t output_message_buffer, int *conf_state, ++ gss_qop_t *qop_state); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ int *conf_state, gss_qop_t *qop_state, ++ gss_iov_buffer_desc *iov, int iov_count); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_wrap_size_limit(OM_uint32 *minor_status, ++ gss_ctx_id_t context_handle, int conf_req_flag, ++ gss_qop_t qop_req, OM_uint32 req_output_size, ++ OM_uint32 *max_input_size); ++ ++#ifndef LEAN_CLIENT ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_export_sec_context(OM_uint32 *minor_status, ++ gss_ctx_id_t *context_handle, ++ gss_buffer_t interprocess_token); ++#endif /* LEAN_CLIENT */ ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status, ++ const gss_ctx_id_t context_handle, ++ const gss_OID desired_object, ++ gss_buffer_set_t *data_set); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_set_sec_context_option(OM_uint32 *minor_status, ++ gss_ctx_id_t *context_handle, ++ const gss_OID desired_object, ++ const gss_buffer_t value); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ int prf_key, const gss_buffer_t prf_in, ++ ssize_t desired_output_len, gss_buffer_t prf_out); ++ + /* Magic string to identify exported krb5 GSS credentials. Increment this if + * the format changes. */ + #define CRED_EXPORT_MAGIC "K5C1" +diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c +index 77b7fff..9a23656 100644 +--- a/src/lib/gssapi/krb5/gssapi_krb5.c ++++ b/src/lib/gssapi/krb5/gssapi_krb5.c +@@ -345,7 +345,7 @@ static struct { + } + }; + +-static OM_uint32 KRB5_CALLCONV ++OM_uint32 KRB5_CALLCONV + krb5_gss_inquire_sec_context_by_oid (OM_uint32 *minor_status, + const gss_ctx_id_t context_handle, + const gss_OID desired_object, +@@ -459,7 +459,7 @@ static struct { + }; + #endif + +-static OM_uint32 KRB5_CALLCONV ++OM_uint32 KRB5_CALLCONV + krb5_gss_set_sec_context_option (OM_uint32 *minor_status, + gss_ctx_id_t *context_handle, + const gss_OID desired_object, +@@ -904,20 +904,103 @@ static struct gss_config krb5_mechanism = { + krb5_gss_get_mic_iov_length, + }; + ++/* Functions which use security contexts or acquire creds are IAKERB-specific; ++ * other functions can borrow from the krb5 mech. */ ++static struct gss_config iakerb_mechanism = { ++ { GSS_MECH_KRB5_OID_LENGTH, GSS_MECH_KRB5_OID }, ++ NULL, ++ iakerb_gss_acquire_cred, ++ krb5_gss_release_cred, ++ iakerb_gss_init_sec_context, ++#ifdef LEAN_CLIENT ++ NULL, ++#else ++ iakerb_gss_accept_sec_context, ++#endif ++ iakerb_gss_process_context_token, ++ iakerb_gss_delete_sec_context, ++ iakerb_gss_context_time, ++ iakerb_gss_get_mic, ++ iakerb_gss_verify_mic, ++#if defined(IOV_SHIM_EXERCISE_WRAP) || defined(IOV_SHIM_EXERCISE) ++ NULL, ++#else ++ iakerb_gss_wrap, ++#endif ++#if defined(IOV_SHIM_EXERCISE_UNWRAP) || defined(IOV_SHIM_EXERCISE) ++ NULL, ++#else ++ iakerb_gss_unwrap, ++#endif ++ krb5_gss_display_status, ++ krb5_gss_indicate_mechs, ++ krb5_gss_compare_name, ++ krb5_gss_display_name, ++ krb5_gss_import_name, ++ krb5_gss_release_name, ++ krb5_gss_inquire_cred, ++ NULL, /* add_cred */ ++#ifdef LEAN_CLIENT ++ NULL, ++ NULL, ++#else ++ iakerb_gss_export_sec_context, ++ NULL, ++#endif ++ krb5_gss_inquire_cred_by_mech, ++ krb5_gss_inquire_names_for_mech, ++ iakerb_gss_inquire_context, ++ krb5_gss_internal_release_oid, ++ iakerb_gss_wrap_size_limit, ++ krb5_gss_localname, ++ krb5_gss_authorize_localname, ++ krb5_gss_export_name, ++ krb5_gss_duplicate_name, ++ krb5_gss_store_cred, ++ iakerb_gss_inquire_sec_context_by_oid, ++ krb5_gss_inquire_cred_by_oid, ++ iakerb_gss_set_sec_context_option, ++ krb5_gssspi_set_cred_option, ++ krb5_gssspi_mech_invoke, ++ NULL, /* wrap_aead */ ++ NULL, /* unwrap_aead */ ++ iakerb_gss_wrap_iov, ++ iakerb_gss_unwrap_iov, ++ iakerb_gss_wrap_iov_length, ++ NULL, /* complete_auth_token */ ++ NULL, /* acquire_cred_impersonate_name */ ++ NULL, /* add_cred_impersonate_name */ ++ NULL, /* display_name_ext */ ++ krb5_gss_inquire_name, ++ krb5_gss_get_name_attribute, ++ krb5_gss_set_name_attribute, ++ krb5_gss_delete_name_attribute, ++ krb5_gss_export_name_composite, ++ krb5_gss_map_name_to_any, ++ krb5_gss_release_any_name_mapping, ++ iakerb_gss_pseudo_random, ++ NULL, /* set_neg_mechs */ ++ krb5_gss_inquire_saslname_for_mech, ++ krb5_gss_inquire_mech_for_saslname, ++ krb5_gss_inquire_attrs_for_mech, ++ krb5_gss_acquire_cred_from, ++ krb5_gss_store_cred_into, ++ iakerb_gss_acquire_cred_with_password, ++ krb5_gss_export_cred, ++ krb5_gss_import_cred, ++ NULL, /* import_sec_context_by_mech */ ++ NULL, /* import_name_by_mech */ ++ NULL, /* import_cred_by_mech */ ++ iakerb_gss_get_mic_iov, ++ iakerb_gss_verify_mic_iov, ++ iakerb_gss_get_mic_iov_length, ++}; ++ + #ifdef _GSS_STATIC_LINK + #include "mglueP.h" + static int gss_iakerbmechglue_init(void) + { + struct gss_mech_config mech_iakerb; +- struct gss_config iakerb_mechanism = krb5_mechanism; +- +- /* IAKERB mechanism mirrors krb5, but with different context SPIs */ +- iakerb_mechanism.gss_accept_sec_context = iakerb_gss_accept_sec_context; +- iakerb_mechanism.gss_init_sec_context = iakerb_gss_init_sec_context; +- iakerb_mechanism.gss_delete_sec_context = iakerb_gss_delete_sec_context; +- iakerb_mechanism.gss_acquire_cred = iakerb_gss_acquire_cred; +- iakerb_mechanism.gssspi_acquire_cred_with_password +- = iakerb_gss_acquire_cred_with_password; + + memset(&mech_iakerb, 0, sizeof(mech_iakerb)); + mech_iakerb.mech = &iakerb_mechanism; +diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c +index f30de32..4662bd9 100644 +--- a/src/lib/gssapi/krb5/iakerb.c ++++ b/src/lib/gssapi/krb5/iakerb.c +@@ -47,6 +47,8 @@ struct _iakerb_ctx_id_rec { + gss_ctx_id_t gssc; + krb5_data conv; /* conversation for checksumming */ + unsigned int count; /* number of round trips */ ++ int initiate; ++ int established; + krb5_get_init_creds_opt *gic_opts; + }; + +@@ -695,7 +697,7 @@ cleanup: + * Allocate and initialise an IAKERB context + */ + static krb5_error_code +-iakerb_alloc_context(iakerb_ctx_id_t *pctx) ++iakerb_alloc_context(iakerb_ctx_id_t *pctx, int initiate) + { + iakerb_ctx_id_t ctx; + krb5_error_code code; +@@ -709,6 +711,8 @@ iakerb_alloc_context(iakerb_ctx_id_t *pctx) + ctx->magic = KG_IAKERB_CONTEXT; + ctx->state = IAKERB_AS_REQ; + ctx->count = 0; ++ ctx->initiate = initiate; ++ ctx->established = 0; + + code = krb5_gss_init_context(&ctx->k5c); + if (code != 0) +@@ -732,7 +736,7 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status, + gss_ctx_id_t *context_handle, + gss_buffer_t output_token) + { +- OM_uint32 major_status = GSS_S_COMPLETE; ++ iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle; + + if (output_token != GSS_C_NO_BUFFER) { + output_token->length = 0; +@@ -740,23 +744,10 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status, + } + + *minor_status = 0; ++ *context_handle = GSS_C_NO_CONTEXT; ++ iakerb_release_context(iakerb_ctx); + +- if (*context_handle != GSS_C_NO_CONTEXT) { +- iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle; +- +- if (iakerb_ctx->magic == KG_IAKERB_CONTEXT) { +- iakerb_release_context(iakerb_ctx); +- *context_handle = GSS_C_NO_CONTEXT; +- } else { +- assert(iakerb_ctx->magic == KG_CONTEXT); +- +- major_status = krb5_gss_delete_sec_context(minor_status, +- context_handle, +- output_token); +- } +- } +- +- return major_status; ++ return GSS_S_COMPLETE; + } + + static krb5_boolean +@@ -802,7 +793,7 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status, + int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT); + + if (initialContextToken) { +- code = iakerb_alloc_context(&ctx); ++ code = iakerb_alloc_context(&ctx, 0); + if (code != 0) + goto cleanup; + +@@ -854,11 +845,8 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status, + time_rec, + delegated_cred_handle, + &exts); +- if (major_status == GSS_S_COMPLETE) { +- *context_handle = ctx->gssc; +- ctx->gssc = NULL; +- iakerb_release_context(ctx); +- } ++ if (major_status == GSS_S_COMPLETE) ++ ctx->established = 1; + if (mech_type != NULL) + *mech_type = (gss_OID)gss_mech_krb5; + } +@@ -897,7 +885,7 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status, + int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT); + + if (initialContextToken) { +- code = iakerb_alloc_context(&ctx); ++ code = iakerb_alloc_context(&ctx, 1); + if (code != 0) { + *minor_status = code; + goto cleanup; +@@ -983,11 +971,8 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status, + ret_flags, + time_rec, + &exts); +- if (major_status == GSS_S_COMPLETE) { +- *context_handle = ctx->gssc; +- ctx->gssc = GSS_C_NO_CONTEXT; +- iakerb_release_context(ctx); +- } ++ if (major_status == GSS_S_COMPLETE) ++ ctx->established = 1; + if (actual_mech_type != NULL) + *actual_mech_type = (gss_OID)gss_mech_krb5; + } else { +@@ -1010,3 +995,309 @@ cleanup: + + return major_status; + } ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_buffer_t input_message_buffer, ++ gss_buffer_t output_message_buffer, int *conf_state, ++ gss_qop_t *qop_state) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_unwrap(minor_status, ctx->gssc, input_message_buffer, ++ output_message_buffer, conf_state, qop_state); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ int conf_req_flag, gss_qop_t qop_req, ++ gss_buffer_t input_message_buffer, int *conf_state, ++ gss_buffer_t output_message_buffer) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_wrap(minor_status, ctx->gssc, conf_req_flag, qop_req, ++ input_message_buffer, conf_state, ++ output_message_buffer); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_process_context_token(OM_uint32 *minor_status, ++ const gss_ctx_id_t context_handle, ++ const gss_buffer_t token_buffer) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_DEFECTIVE_TOKEN; ++ ++ return krb5_gss_process_context_token(minor_status, ctx->gssc, ++ token_buffer); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ OM_uint32 *time_rec) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_context_time(minor_status, ctx->gssc, time_rec); ++} ++ ++#ifndef LEAN_CLIENT ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_export_sec_context(OM_uint32 *minor_status, ++ gss_ctx_id_t *context_handle, ++ gss_buffer_t interprocess_token) ++{ ++ OM_uint32 maj; ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ /* We don't currently support exporting partially established contexts. */ ++ if (!ctx->established) ++ return GSS_S_UNAVAILABLE; ++ ++ maj = krb5_gss_export_sec_context(minor_status, &ctx->gssc, ++ interprocess_token); ++ if (ctx->gssc == GSS_C_NO_CONTEXT) { ++ iakerb_release_context(ctx); ++ *context_handle = GSS_C_NO_CONTEXT; ++ } ++ return maj; ++} ++ ++/* ++ * Until we implement partial context exports, there are no SPNEGO exported ++ * context tokens, only tokens for the underlying krb5 context. So we do not ++ * need to implement an iakerb_gss_import_sec_context() yet; it would be ++ * unreachable except via a manually constructed token. ++ */ ++ ++#endif /* LEAN_CLIENT */ ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_inquire_context(OM_uint32 *minor_status, ++ gss_ctx_id_t context_handle, gss_name_t *src_name, ++ gss_name_t *targ_name, OM_uint32 *lifetime_rec, ++ gss_OID *mech_type, OM_uint32 *ctx_flags, ++ int *initiate, int *opened) ++{ ++ OM_uint32 ret; ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (src_name != NULL) ++ *src_name = GSS_C_NO_NAME; ++ if (targ_name != NULL) ++ *targ_name = GSS_C_NO_NAME; ++ if (lifetime_rec != NULL) ++ *lifetime_rec = 0; ++ if (mech_type != NULL) ++ *mech_type = (gss_OID)gss_mech_iakerb; ++ if (ctx_flags != NULL) ++ *ctx_flags = 0; ++ if (initiate != NULL) ++ *initiate = ctx->initiate; ++ if (opened != NULL) ++ *opened = ctx->established; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_COMPLETE; ++ ++ ret = krb5_gss_inquire_context(minor_status, ctx->gssc, src_name, ++ targ_name, lifetime_rec, mech_type, ++ ctx_flags, initiate, opened); ++ ++ if (!ctx->established) { ++ /* Report IAKERB as the mech OID until the context is established. */ ++ if (mech_type != NULL) ++ *mech_type = (gss_OID)gss_mech_iakerb; ++ ++ /* We don't support exporting partially-established contexts. */ ++ if (ctx_flags != NULL) ++ *ctx_flags &= ~GSS_C_TRANS_FLAG; ++ } ++ ++ return ret; ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_wrap_size_limit(OM_uint32 *minor_status, ++ gss_ctx_id_t context_handle, int conf_req_flag, ++ gss_qop_t qop_req, OM_uint32 req_output_size, ++ OM_uint32 *max_input_size) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_wrap_size_limit(minor_status, ctx->gssc, conf_req_flag, ++ qop_req, req_output_size, max_input_size); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_qop_t qop_req, gss_buffer_t message_buffer, ++ gss_buffer_t message_token) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_get_mic(minor_status, ctx->gssc, qop_req, message_buffer, ++ message_token); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_buffer_t msg_buffer, gss_buffer_t token_buffer, ++ gss_qop_t *qop_state) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_verify_mic(minor_status, ctx->gssc, msg_buffer, ++ token_buffer, qop_state); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status, ++ const gss_ctx_id_t context_handle, ++ const gss_OID desired_object, ++ gss_buffer_set_t *data_set) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_UNAVAILABLE; ++ ++ return krb5_gss_inquire_sec_context_by_oid(minor_status, ctx->gssc, ++ desired_object, data_set); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_set_sec_context_option(OM_uint32 *minor_status, ++ gss_ctx_id_t *context_handle, ++ const gss_OID desired_object, ++ const gss_buffer_t value) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)*context_handle; ++ ++ if (ctx == NULL || ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_UNAVAILABLE; ++ ++ return krb5_gss_set_sec_context_option(minor_status, &ctx->gssc, ++ desired_object, value); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ int conf_req_flag, gss_qop_t qop_req, int *conf_state, ++ gss_iov_buffer_desc *iov, int iov_count) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_wrap_iov(minor_status, ctx->gssc, conf_req_flag, qop_req, ++ conf_state, iov, iov_count); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ int *conf_state, gss_qop_t *qop_state, ++ gss_iov_buffer_desc *iov, int iov_count) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_unwrap_iov(minor_status, ctx->gssc, conf_state, qop_state, ++ iov, iov_count); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_wrap_iov_length(OM_uint32 *minor_status, ++ gss_ctx_id_t context_handle, int conf_req_flag, ++ gss_qop_t qop_req, int *conf_state, ++ gss_iov_buffer_desc *iov, int iov_count) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_wrap_iov_length(minor_status, ctx->gssc, conf_req_flag, ++ qop_req, conf_state, iov, iov_count); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ int prf_key, const gss_buffer_t prf_in, ++ ssize_t desired_output_len, gss_buffer_t prf_out) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_pseudo_random(minor_status, ctx->gssc, prf_key, prf_in, ++ desired_output_len, prf_out); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_qop_t qop_req, gss_iov_buffer_desc *iov, ++ int iov_count) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_get_mic_iov(minor_status, ctx->gssc, qop_req, iov, ++ iov_count); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, ++ gss_qop_t *qop_state, gss_iov_buffer_desc *iov, ++ int iov_count) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_verify_mic_iov(minor_status, ctx->gssc, qop_state, iov, ++ iov_count); ++} ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status, ++ gss_ctx_id_t context_handle, gss_qop_t qop_req, ++ gss_iov_buffer_desc *iov, int iov_count) ++{ ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ ++ if (ctx->gssc == GSS_C_NO_CONTEXT) ++ return GSS_S_NO_CONTEXT; ++ ++ return krb5_gss_get_mic_iov_length(minor_status, ctx->gssc, qop_req, iov, ++ iov_count); ++} +-- +1.9.1 + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-export-import-CVE-2015-2698.patch b/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-export-import-CVE-2015-2698.patch new file mode 100644 index 00000000000..2f45d306b8e --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-export-import-CVE-2015-2698.patch @@ -0,0 +1,134 @@ +From aa769c8c6905d1abfac66d4d1b0fc73740ccbe7d Mon Sep 17 00:00:00 2001 +From: Greg Hudson +Date: Sat, 14 Nov 2015 02:47:04 -0500 +Subject: [PATCH 4/4] Fix IAKERB context export/import [CVE-2015-2698] + +The patches for CVE-2015-2696 contained a regression in the newly +added IAKERB iakerb_gss_export_sec_context() function, which could +cause it to corrupt memory. Fix the regression by properly +dereferencing the context_handle pointer before casting it. + +Also, the patches did not implement an IAKERB gss_import_sec_context() +function, under the erroneous belief that an exported IAKERB context +would be tagged as a krb5 context. Implement it now to allow IAKERB +contexts to be successfully exported and imported after establishment. + +CVE-2015-2698: + +In any MIT krb5 release with the patches for CVE-2015-2696 applied, an +application which calls gss_export_sec_context() may experience memory +corruption if the context was established using the IAKERB mechanism. +Historically, some vulnerabilities of this nature can be translated +into remote code execution, though the necessary exploits must be +tailored to the individual application and are usually quite +complicated. + + CVSSv2 Vector: AV:N/AC:H/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:C + +ticket: 8273 (new) +target_version: 1.14 +tags: pullup + +Backport upstream commit: +https://github.com/krb5/krb5/commit/3db8dfec1ef50ddd78d6ba9503185995876a39fd + +Upstream-Status: Backport +--- + src/lib/gssapi/krb5/gssapiP_krb5.h | 5 +++++ + src/lib/gssapi/krb5/gssapi_krb5.c | 2 +- + src/lib/gssapi/krb5/iakerb.c | 42 +++++++++++++++++++++++++++++++------- + 3 files changed, 41 insertions(+), 8 deletions(-) + +diff --git a/src/lib/gssapi/krb5/gssapiP_krb5.h b/src/lib/gssapi/krb5/gssapiP_krb5.h +index 05dc321..ac53662 100644 +--- a/src/lib/gssapi/krb5/gssapiP_krb5.h ++++ b/src/lib/gssapi/krb5/gssapiP_krb5.h +@@ -1396,6 +1396,11 @@ OM_uint32 KRB5_CALLCONV + iakerb_gss_export_sec_context(OM_uint32 *minor_status, + gss_ctx_id_t *context_handle, + gss_buffer_t interprocess_token); ++ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_import_sec_context(OM_uint32 *minor_status, ++ const gss_buffer_t interprocess_token, ++ gss_ctx_id_t *context_handle); + #endif /* LEAN_CLIENT */ + + OM_uint32 KRB5_CALLCONV +diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c +index 9a23656..d7ba279 100644 +--- a/src/lib/gssapi/krb5/gssapi_krb5.c ++++ b/src/lib/gssapi/krb5/gssapi_krb5.c +@@ -945,7 +945,7 @@ static struct gss_config iakerb_mechanism = { + NULL, + #else + iakerb_gss_export_sec_context, +- NULL, ++ iakerb_gss_import_sec_context, + #endif + krb5_gss_inquire_cred_by_mech, + krb5_gss_inquire_names_for_mech, +diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c +index 4662bd9..48beaee 100644 +--- a/src/lib/gssapi/krb5/iakerb.c ++++ b/src/lib/gssapi/krb5/iakerb.c +@@ -1061,7 +1061,7 @@ iakerb_gss_export_sec_context(OM_uint32 *minor_status, + gss_buffer_t interprocess_token) + { + OM_uint32 maj; +- iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; ++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)*context_handle; + + /* We don't currently support exporting partially established contexts. */ + if (!ctx->established) +@@ -1076,13 +1076,41 @@ iakerb_gss_export_sec_context(OM_uint32 *minor_status, + return maj; + } + +-/* +- * Until we implement partial context exports, there are no SPNEGO exported +- * context tokens, only tokens for the underlying krb5 context. So we do not +- * need to implement an iakerb_gss_import_sec_context() yet; it would be +- * unreachable except via a manually constructed token. +- */ ++OM_uint32 KRB5_CALLCONV ++iakerb_gss_import_sec_context(OM_uint32 *minor_status, ++ gss_buffer_t interprocess_token, ++ gss_ctx_id_t *context_handle) ++{ ++ OM_uint32 maj, tmpmin; ++ krb5_error_code code; ++ gss_ctx_id_t gssc; ++ krb5_gss_ctx_id_t kctx; ++ iakerb_ctx_id_t ctx; ++ ++ maj = krb5_gss_import_sec_context(minor_status, interprocess_token, &gssc); ++ if (maj != GSS_S_COMPLETE) ++ return maj; ++ kctx = (krb5_gss_ctx_id_t)gssc; ++ ++ if (!kctx->established) { ++ /* We don't currently support importing partially established ++ * contexts. */ ++ krb5_gss_delete_sec_context(&tmpmin, &gssc, GSS_C_NO_BUFFER); ++ return GSS_S_FAILURE; ++ } + ++ code = iakerb_alloc_context(&ctx, kctx->initiate); ++ if (code != 0) { ++ krb5_gss_delete_sec_context(&tmpmin, &gssc, GSS_C_NO_BUFFER); ++ *minor_status = code; ++ return GSS_S_FAILURE; ++ } ++ ++ ctx->gssc = gssc; ++ ctx->established = 1; ++ *context_handle = (gss_ctx_id_t)ctx; ++ return GSS_S_COMPLETE; ++} + #endif /* LEAN_CLIENT */ + + OM_uint32 KRB5_CALLCONV +-- +1.9.1 + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch b/meta-oe/recipes-connectivity/krb5/krb5/Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch new file mode 100644 index 00000000000..227e6c614fa --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch @@ -0,0 +1,572 @@ +From 884913e807414a1e06245918dea71243c5fdd0e6 Mon Sep 17 00:00:00 2001 +From: Nicolas Williams +Date: Mon, 14 Sep 2015 12:27:52 -0400 +Subject: [PATCH 1/4] Fix SPNEGO context aliasing bugs [CVE-2015-2695] + +The SPNEGO mechanism currently replaces its context handle with the +mechanism context handle upon establishment, under the assumption that +most GSS functions are only called after context establishment. This +assumption is incorrect, and can lead to aliasing violations for some +programs. Maintain the SPNEGO context structure after context +establishment and refer to it in all GSS methods. Add initiate and +opened flags to the SPNEGO context structure for use in +gss_inquire_context() prior to context establishment. + +CVE-2015-2695: + +In MIT krb5 1.5 and later, applications which call +gss_inquire_context() on a partially-established SPNEGO context can +cause the GSS-API library to read from a pointer using the wrong type, +generally causing a process crash. This bug may go unnoticed, because +the most common SPNEGO authentication scenario establishes the context +after just one call to gss_accept_sec_context(). Java server +applications using the native JGSS provider are vulnerable to this +bug. A carefully crafted SPNEGO packet might allow the +gss_inquire_context() call to succeed with attacker-determined +results, but applications should not make access control decisions +based on gss_inquire_context() results prior to context establishment. + + CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C + +[ghudson@mit.edu: several bugfixes, style changes, and edge-case +behavior changes; commit message and CVE description] + +ticket: 8244 +target_version: 1.14 +tags: pullup + +Backport upstream commit: +https://github.com/krb5/krb5/commit/b51b33f2bc5d1497ddf5bd107f791c101695000d + +Upstream-Status: Backport +--- + src/lib/gssapi/spnego/gssapiP_spnego.h | 2 + + src/lib/gssapi/spnego/spnego_mech.c | 254 ++++++++++++++++++++++++--------- + 2 files changed, 192 insertions(+), 64 deletions(-) + +diff --git a/src/lib/gssapi/spnego/gssapiP_spnego.h b/src/lib/gssapi/spnego/gssapiP_spnego.h +index bc23f56..8e05736 100644 +--- a/src/lib/gssapi/spnego/gssapiP_spnego.h ++++ b/src/lib/gssapi/spnego/gssapiP_spnego.h +@@ -102,6 +102,8 @@ typedef struct { + int firstpass; + int mech_complete; + int nego_done; ++ int initiate; ++ int opened; + OM_uint32 ctx_flags; + gss_name_t internal_name; + gss_OID actual_mech; +diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c +index f9248ab..3423f22 100644 +--- a/src/lib/gssapi/spnego/spnego_mech.c ++++ b/src/lib/gssapi/spnego/spnego_mech.c +@@ -101,7 +101,7 @@ static OM_uint32 get_negotiable_mechs(OM_uint32 *, spnego_gss_cred_id_t, + gss_cred_usage_t, gss_OID_set *); + static void release_spnego_ctx(spnego_gss_ctx_id_t *); + static void check_spnego_options(spnego_gss_ctx_id_t); +-static spnego_gss_ctx_id_t create_spnego_ctx(void); ++static spnego_gss_ctx_id_t create_spnego_ctx(int); + static int put_mech_set(gss_OID_set mechSet, gss_buffer_t buf); + static int put_input_token(unsigned char **, gss_buffer_t, unsigned int); + static int put_mech_oid(unsigned char **, gss_OID_const, unsigned int); +@@ -439,7 +439,7 @@ check_spnego_options(spnego_gss_ctx_id_t spnego_ctx) + } + + static spnego_gss_ctx_id_t +-create_spnego_ctx(void) ++create_spnego_ctx(int initiate) + { + spnego_gss_ctx_id_t spnego_ctx = NULL; + spnego_ctx = (spnego_gss_ctx_id_t) +@@ -462,6 +462,8 @@ create_spnego_ctx(void) + spnego_ctx->mic_rcvd = 0; + spnego_ctx->mech_complete = 0; + spnego_ctx->nego_done = 0; ++ spnego_ctx->opened = 0; ++ spnego_ctx->initiate = initiate; + spnego_ctx->internal_name = GSS_C_NO_NAME; + spnego_ctx->actual_mech = GSS_C_NO_OID; + +@@ -627,7 +629,7 @@ init_ctx_new(OM_uint32 *minor_status, + OM_uint32 ret; + spnego_gss_ctx_id_t sc = NULL; + +- sc = create_spnego_ctx(); ++ sc = create_spnego_ctx(1); + if (sc == NULL) + return GSS_S_FAILURE; + +@@ -644,10 +646,7 @@ init_ctx_new(OM_uint32 *minor_status, + ret = GSS_S_FAILURE; + goto cleanup; + } +- /* +- * The actual context is not yet determined, set the output +- * context handle to refer to the spnego context itself. +- */ ++ + sc->ctx_handle = GSS_C_NO_CONTEXT; + *ctx = (gss_ctx_id_t)sc; + sc = NULL; +@@ -1088,16 +1087,11 @@ cleanup: + } + gss_release_buffer(&tmpmin, &mechtok_out); + if (ret == GSS_S_COMPLETE) { +- /* +- * Now, switch the output context to refer to the +- * negotiated mechanism's context. +- */ +- *context_handle = (gss_ctx_id_t)spnego_ctx->ctx_handle; ++ spnego_ctx->opened = 1; + if (actual_mech != NULL) + *actual_mech = spnego_ctx->actual_mech; + if (ret_flags != NULL) + *ret_flags = spnego_ctx->ctx_flags; +- release_spnego_ctx(&spnego_ctx); + } else if (ret != GSS_S_CONTINUE_NEEDED) { + if (spnego_ctx != NULL) { + gss_delete_sec_context(&tmpmin, +@@ -1341,7 +1335,7 @@ acc_ctx_hints(OM_uint32 *minor_status, + if (ret != GSS_S_COMPLETE) + goto cleanup; + +- sc = create_spnego_ctx(); ++ sc = create_spnego_ctx(0); + if (sc == NULL) { + ret = GSS_S_FAILURE; + goto cleanup; +@@ -1423,7 +1417,7 @@ acc_ctx_new(OM_uint32 *minor_status, + gss_release_buffer(&tmpmin, &sc->DER_mechTypes); + assert(mech_wanted != GSS_C_NO_OID); + } else +- sc = create_spnego_ctx(); ++ sc = create_spnego_ctx(0); + if (sc == NULL) { + ret = GSS_S_FAILURE; + *return_token = NO_TOKEN_SEND; +@@ -1806,13 +1800,12 @@ cleanup: + ret = GSS_S_FAILURE; + } + if (ret == GSS_S_COMPLETE) { +- *context_handle = (gss_ctx_id_t)sc->ctx_handle; ++ sc->opened = 1; + if (sc->internal_name != GSS_C_NO_NAME && + src_name != NULL) { + *src_name = sc->internal_name; + sc->internal_name = GSS_C_NO_NAME; + } +- release_spnego_ctx(&sc); + } else if (ret != GSS_S_CONTINUE_NEEDED) { + if (sc != NULL) { + gss_delete_sec_context(&tmpmin, &sc->ctx_handle, +@@ -2125,8 +2118,13 @@ spnego_gss_unwrap( + gss_qop_t *qop_state) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_unwrap(minor_status, +- context_handle, ++ sc->ctx_handle, + input_message_buffer, + output_message_buffer, + conf_state, +@@ -2146,8 +2144,13 @@ spnego_gss_wrap( + gss_buffer_t output_message_buffer) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_wrap(minor_status, +- context_handle, ++ sc->ctx_handle, + conf_req_flag, + qop_req, + input_message_buffer, +@@ -2164,8 +2167,14 @@ spnego_gss_process_context_token( + const gss_buffer_t token_buffer) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ /* SPNEGO doesn't have its own context tokens. */ ++ if (!sc->opened) ++ return (GSS_S_DEFECTIVE_TOKEN); ++ + ret = gss_process_context_token(minor_status, +- context_handle, ++ sc->ctx_handle, + token_buffer); + + return (ret); +@@ -2189,19 +2198,9 @@ spnego_gss_delete_sec_context( + if (*ctx == NULL) + return (GSS_S_COMPLETE); + +- /* +- * If this is still an SPNEGO mech, release it locally. +- */ +- if ((*ctx)->magic_num == SPNEGO_MAGIC_ID) { +- (void) gss_delete_sec_context(minor_status, +- &(*ctx)->ctx_handle, +- output_token); +- (void) release_spnego_ctx(ctx); +- } else { +- ret = gss_delete_sec_context(minor_status, +- context_handle, +- output_token); +- } ++ (void) gss_delete_sec_context(minor_status, &(*ctx)->ctx_handle, ++ output_token); ++ (void) release_spnego_ctx(ctx); + + return (ret); + } +@@ -2213,8 +2212,13 @@ spnego_gss_context_time( + OM_uint32 *time_rec) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_context_time(minor_status, +- context_handle, ++ sc->ctx_handle, + time_rec); + return (ret); + } +@@ -2226,9 +2230,20 @@ spnego_gss_export_sec_context( + gss_buffer_t interprocess_token) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = *(spnego_gss_ctx_id_t *)context_handle; ++ ++ /* We don't currently support exporting partially established ++ * contexts. */ ++ if (!sc->opened) ++ return GSS_S_UNAVAILABLE; ++ + ret = gss_export_sec_context(minor_status, +- context_handle, ++ &sc->ctx_handle, + interprocess_token); ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) { ++ release_spnego_ctx(&sc); ++ *context_handle = GSS_C_NO_CONTEXT; ++ } + return (ret); + } + +@@ -2238,11 +2253,12 @@ spnego_gss_import_sec_context( + const gss_buffer_t interprocess_token, + gss_ctx_id_t *context_handle) + { +- OM_uint32 ret; +- ret = gss_import_sec_context(minor_status, +- interprocess_token, +- context_handle); +- return (ret); ++ /* ++ * Until we implement partial context exports, there are no SPNEGO ++ * exported context tokens, only tokens for underlying mechs. So just ++ * return an error for now. ++ */ ++ return GSS_S_UNAVAILABLE; + } + #endif /* LEAN_CLIENT */ + +@@ -2259,16 +2275,48 @@ spnego_gss_inquire_context( + int *opened) + { + OM_uint32 ret = GSS_S_COMPLETE; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (src_name != NULL) ++ *src_name = GSS_C_NO_NAME; ++ if (targ_name != NULL) ++ *targ_name = GSS_C_NO_NAME; ++ if (lifetime_rec != NULL) ++ *lifetime_rec = 0; ++ if (mech_type != NULL) ++ *mech_type = (gss_OID)gss_mech_spnego; ++ if (ctx_flags != NULL) ++ *ctx_flags = 0; ++ if (locally_initiated != NULL) ++ *locally_initiated = sc->initiate; ++ if (opened != NULL) ++ *opened = sc->opened; ++ ++ if (sc->ctx_handle != GSS_C_NO_CONTEXT) { ++ ret = gss_inquire_context(minor_status, sc->ctx_handle, ++ src_name, targ_name, lifetime_rec, ++ mech_type, ctx_flags, NULL, NULL); ++ } + +- ret = gss_inquire_context(minor_status, +- context_handle, +- src_name, +- targ_name, +- lifetime_rec, +- mech_type, +- ctx_flags, +- locally_initiated, +- opened); ++ if (!sc->opened) { ++ /* ++ * We are still doing SPNEGO negotiation, so report SPNEGO as ++ * the OID. After negotiation is complete we will report the ++ * underlying mechanism OID. ++ */ ++ if (mech_type != NULL) ++ *mech_type = (gss_OID)gss_mech_spnego; ++ ++ /* ++ * Remove flags we don't support with partially-established ++ * contexts. (Change this to keep GSS_C_TRANS_FLAG if we add ++ * support for exporting partial SPNEGO contexts.) ++ */ ++ if (ctx_flags != NULL) { ++ *ctx_flags &= ~GSS_C_PROT_READY_FLAG; ++ *ctx_flags &= ~GSS_C_TRANS_FLAG; ++ } ++ } + + return (ret); + } +@@ -2283,8 +2331,13 @@ spnego_gss_wrap_size_limit( + OM_uint32 *max_input_size) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_wrap_size_limit(minor_status, +- context_handle, ++ sc->ctx_handle, + conf_req_flag, + qop_req, + req_output_size, +@@ -2301,8 +2354,13 @@ spnego_gss_get_mic( + gss_buffer_t message_token) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_get_mic(minor_status, +- context_handle, ++ sc->ctx_handle, + qop_req, + message_buffer, + message_token); +@@ -2318,8 +2376,13 @@ spnego_gss_verify_mic( + gss_qop_t *qop_state) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_verify_mic(minor_status, +- context_handle, ++ sc->ctx_handle, + msg_buffer, + token_buffer, + qop_state); +@@ -2334,8 +2397,14 @@ spnego_gss_inquire_sec_context_by_oid( + gss_buffer_set_t *data_set) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ /* There are no SPNEGO-specific OIDs for this function. */ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_UNAVAILABLE); ++ + ret = gss_inquire_sec_context_by_oid(minor_status, +- context_handle, ++ sc->ctx_handle, + desired_object, + data_set); + return (ret); +@@ -2404,8 +2473,15 @@ spnego_gss_set_sec_context_option( + const gss_buffer_t value) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)*context_handle; ++ ++ /* There are no SPNEGO-specific OIDs for this function, and we cannot ++ * construct an empty SPNEGO context with it. */ ++ if (sc == NULL || sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_UNAVAILABLE); ++ + ret = gss_set_sec_context_option(minor_status, +- context_handle, ++ &sc->ctx_handle, + desired_object, + value); + return (ret); +@@ -2422,8 +2498,13 @@ spnego_gss_wrap_aead(OM_uint32 *minor_status, + gss_buffer_t output_message_buffer) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_wrap_aead(minor_status, +- context_handle, ++ sc->ctx_handle, + conf_req_flag, + qop_req, + input_assoc_buffer, +@@ -2444,8 +2525,13 @@ spnego_gss_unwrap_aead(OM_uint32 *minor_status, + gss_qop_t *qop_state) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_unwrap_aead(minor_status, +- context_handle, ++ sc->ctx_handle, + input_message_buffer, + input_assoc_buffer, + output_payload_buffer, +@@ -2464,8 +2550,13 @@ spnego_gss_wrap_iov(OM_uint32 *minor_status, + int iov_count) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_wrap_iov(minor_status, +- context_handle, ++ sc->ctx_handle, + conf_req_flag, + qop_req, + conf_state, +@@ -2483,8 +2574,13 @@ spnego_gss_unwrap_iov(OM_uint32 *minor_status, + int iov_count) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_unwrap_iov(minor_status, +- context_handle, ++ sc->ctx_handle, + conf_state, + qop_state, + iov, +@@ -2502,8 +2598,13 @@ spnego_gss_wrap_iov_length(OM_uint32 *minor_status, + int iov_count) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_wrap_iov_length(minor_status, +- context_handle, ++ sc->ctx_handle, + conf_req_flag, + qop_req, + conf_state, +@@ -2520,8 +2621,13 @@ spnego_gss_complete_auth_token( + gss_buffer_t input_message_buffer) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_UNAVAILABLE); ++ + ret = gss_complete_auth_token(minor_status, +- context_handle, ++ sc->ctx_handle, + input_message_buffer); + return (ret); + } +@@ -2773,8 +2879,13 @@ spnego_gss_pseudo_random(OM_uint32 *minor_status, + gss_buffer_t prf_out) + { + OM_uint32 ret; ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ + ret = gss_pseudo_random(minor_status, +- context, ++ sc->ctx_handle, + prf_key, + prf_in, + desired_output_len, +@@ -2915,7 +3026,12 @@ spnego_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, + gss_qop_t qop_req, gss_iov_buffer_desc *iov, + int iov_count) + { +- return gss_get_mic_iov(minor_status, context_handle, qop_req, iov, ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ ++ return gss_get_mic_iov(minor_status, sc->ctx_handle, qop_req, iov, + iov_count); + } + +@@ -2924,7 +3040,12 @@ spnego_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle, + gss_qop_t *qop_state, gss_iov_buffer_desc *iov, + int iov_count) + { +- return gss_verify_mic_iov(minor_status, context_handle, qop_state, iov, ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ ++ return gss_verify_mic_iov(minor_status, sc->ctx_handle, qop_state, iov, + iov_count); + } + +@@ -2933,7 +3054,12 @@ spnego_gss_get_mic_iov_length(OM_uint32 *minor_status, + gss_ctx_id_t context_handle, gss_qop_t qop_req, + gss_iov_buffer_desc *iov, int iov_count) + { +- return gss_get_mic_iov_length(minor_status, context_handle, qop_req, iov, ++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle; ++ ++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) ++ return (GSS_S_NO_CONTEXT); ++ ++ return gss_get_mic_iov_length(minor_status, sc->ctx_handle, qop_req, iov, + iov_count); + } + +-- +1.9.1 + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch b/meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch new file mode 100644 index 00000000000..9b0c18b75f6 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch @@ -0,0 +1,58 @@ +From 9cb63711e63042f22da914ba039c4537b22e8fb0 Mon Sep 17 00:00:00 2001 +From: Greg Hudson +Date: Fri, 25 Sep 2015 12:51:47 -0400 +Subject: [PATCH 3/4] Fix build_principal memory bug [CVE-2015-2697] + +In build_principal_va(), use k5memdup0() instead of strdup() to make a +copy of the realm, to ensure that we allocate the correct number of +bytes and do not read past the end of the input string. This bug +affects krb5_build_principal(), krb5_build_principal_va(), and +krb5_build_principal_alloc_va(). krb5_build_principal_ext() is not +affected. + +CVE-2015-2697: + +In MIT krb5 1.7 and later, an authenticated attacker may be able to +cause a KDC to crash using a TGS request with a large realm field +beginning with a null byte. If the KDC attempts to find a referral to +answer the request, it constructs a principal name for lookup using +krb5_build_principal() with the requested realm. Due to a bug in this +function, the null byte causes only one byte be allocated for the +realm field of the constructed principal, far less than its length. +Subsequent operations on the lookup principal may cause a read beyond +the end of the mapped memory region, causing the KDC process to crash. + +CVSSv2: AV:N/AC:L/Au:S/C:N/I:N/A:C/E:POC/RL:OF/RC:C + +ticket: 8252 (new) +target_version: 1.14 +tags: pullup + +Backport upstream commit: +https://github.com/krb5/krb5/commit/f0c094a1b745d91ef2f9a4eae2149aac026a5789 + +Upstream-Status: Backport +--- + src/lib/krb5/krb/bld_princ.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/lib/krb5/krb/bld_princ.c b/src/lib/krb5/krb/bld_princ.c +index ab6fed8..8604268 100644 +--- a/src/lib/krb5/krb/bld_princ.c ++++ b/src/lib/krb5/krb/bld_princ.c +@@ -40,10 +40,8 @@ build_principal_va(krb5_context context, krb5_principal princ, + data = malloc(size * sizeof(krb5_data)); + if (!data) { retval = ENOMEM; } + +- if (!retval) { +- r = strdup(realm); +- if (!r) { retval = ENOMEM; } +- } ++ if (!retval) ++ r = k5memdup0(realm, rlen, &retval); + + while (!retval && (component = va_arg(ap, char *))) { + if (count == size) { +-- +1.9.1 + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/krb5-CVE-2016-3119.patch b/meta-oe/recipes-connectivity/krb5/krb5/krb5-CVE-2016-3119.patch new file mode 100644 index 00000000000..67fefed8983 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/krb5-CVE-2016-3119.patch @@ -0,0 +1,36 @@ +Subject: kerb: Fix LDAP null deref on empty arg [CVE-2016-3119] +From: Greg Hudson + +In the LDAP KDB module's process_db_args(), strtok_r() may return NULL +if there is an empty string in the db_args array. Check for this case +and avoid dereferencing a null pointer. + +CVE-2016-3119: + +In MIT krb5 1.6 and later, an authenticated attacker with permission +to modify a principal entry can cause kadmind to dereference a null +pointer by supplying an empty DB argument to the modify_principal +command, if kadmind is configured to use the LDAP KDB module. + + CVSSv2 Vector: AV:N/AC:H/Au:S/C:N/I:N/A:C/E:H/RL:OF/RC:ND + +ticket: 8383 (new) +target_version: 1.14-next +target_version: 1.13-next +tags: pullup + +Upstream-Status: Backport + +Signed-off-by: Zhixiong Chi +Index: krb5-1.13.2/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c +=================================================================== +--- krb5-1.13.2.orig/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c 2015-05-09 07:27:02.000000000 +0800 ++++ krb5-1.13.2/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c 2016-04-11 15:17:12.874140518 +0800 +@@ -267,6 +267,7 @@ + if (db_args) { + for (i=0; db_args[i]; ++i) { + arg = strtok_r(db_args[i], "=", &arg_val); ++ arg = (arg != NULL) ? arg : ""; + if (strcmp(arg, TKTPOLICY_ARG) == 0) { + dptr = &xargs->tktpolicydn; + } else { diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb index ec88296df6e..d4ecae41d69 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb @@ -23,11 +23,16 @@ SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}-signed.tar \ file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \ file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \ + file://Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch;striplevel=2 \ + file://Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch;striplevel=2 \ + file://Fix-build_principal-memory-bug-CVE-2015-2697.patch;striplevel=2 \ + file://Fix-IAKERB-context-export-import-CVE-2015-2698.patch;striplevel=2 \ file://crosscompile_nm.patch \ file://etc/init.d/krb5-kdc \ file://etc/init.d/krb5-admin-server \ file://etc/default/krb5-kdc \ file://etc/default/krb5-admin-server \ + file://krb5-CVE-2016-3119.patch;striplevel=2 \ " SRC_URI[md5sum] = "f7ebfa6c99c10b16979ebf9a98343189" SRC_URI[sha256sum] = "e528c30b0209c741f6f320cb83122ded92f291802b6a1a1dc1a01dcdb3ff6de1" diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.4.bb b/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.4.bb index 310a83bc683..a174d8330ff 100644 --- a/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.4.bb +++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.4.bb @@ -62,6 +62,7 @@ FILES_${PN} += " \ RRECOMMENDS_${PN} += "iptables dnsmasq" RCONFLICTS_${PN} = "connman" +DREPENDS_${PN} = "libnewt polkit" RDEPENDS_${PN} = " \ wpa-supplicant \ dhcp-client \ diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.5.bb b/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.5.bb index 35c7d64a0d3..f8314c6c261 100644 --- a/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.5.bb +++ b/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.5.bb @@ -21,6 +21,8 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e" DEPENDS = "openldap virtual/libiconv" +PACKAGE_ARCH = "${MACHINE_ARCH}" + SRC_URI = "http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/${PV}/${BPN}-${PV}.tar.gz \ file://0001-Fix-configure.ac.patch \ file://zabbix-agent.service" diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb b/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb index 4a15a4e1b73..96094699207 100644 --- a/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb +++ b/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb @@ -31,6 +31,9 @@ EXTRA_OEMAKE_append_powerpc64 = ' HOST_CC="${BUILD_CC}"' EXTRA_OEMAKE_append_arm = ' HOST_CC="${BUILD_CC} -m32"' EXTRA_OEMAKE_append_mips64 = ' HOST_CC="${BUILD_CC} -m32"' +DEPENDS_append_class_target = " luajit-native" +EXTRA_OEMAKE_append_class_target = " HOST_LUA=luajit" + do_compile () { oe_runmake } diff --git a/meta-oe/recipes-devtools/php/php-5.6.12/CVE-2015-7803.patch b/meta-oe/recipes-devtools/php/php-5.6.12/CVE-2015-7803.patch new file mode 100644 index 00000000000..223b9958b65 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php-5.6.12/CVE-2015-7803.patch @@ -0,0 +1,85 @@ +From d698f0ae51f67c9cce870b09c59df3d6ba959244 Mon Sep 17 00:00:00 2001 +From: Stanislav Malyshev +Date: Mon, 28 Sep 2015 15:51:59 -0700 +Subject: [PATCH] Fix bug #69720: Null pointer dereference in + phar_get_fp_offset() + +Upstream-Status: Backport + +https://git.php.net/?p=php-src.git;a=patch;h=d698f0ae51f67c9cce870b09c59df3d6ba959244 + +excluded the binary part of the test + +CVE: CVE-2015-7803 +Signed-off-by: Armin Kuster + +--- + ext/phar/tests/bug69720.phar | Bin 0 -> 8192 bytes + ext/phar/tests/bug69720.phpt | 40 ++++++++++++++++++++++++++++++++++++++++ + ext/phar/util.c | 6 +++++- + 3 files changed, 45 insertions(+), 1 deletion(-) + create mode 100644 ext/phar/tests/bug69720.phar + create mode 100644 ext/phar/tests/bug69720.phpt + +Index: php-5.6.12/ext/phar/tests/bug69720.phpt +=================================================================== +--- /dev/null ++++ php-5.6.12/ext/phar/tests/bug69720.phpt +@@ -0,0 +1,40 @@ ++--TEST-- ++Phar - bug #69720 - Null pointer dereference in phar_get_fp_offset() ++--SKIPIF-- ++ ++--FILE-- ++getMetadata(); ++ foreach (new RecursiveIteratorIterator($p) as $file) { ++ // $file is a PharFileInfo class, and inherits from SplFileInfo ++ $temp=""; ++ $temp= $file->getFileName() . "\n"; ++ $temp.=file_get_contents($file->getPathName()) . "\n"; // display contents ++ var_dump($file->getMetadata()); ++ } ++} ++ catch (Exception $e) { ++ echo 'Could not open Phar: ', $e; ++} ++?> ++--EXPECTF-- ++ ++MY_METADATA_NULL ++ ++Warning: file_get_contents(phar:///%s): failed to open stream: phar error: "test.php" is not a file in phar "%s.phar" in %s.php on line %d ++array(1) { ++ ["whatever"]=> ++ int(123) ++} ++object(DateTime)#2 (3) { ++ ["date"]=> ++ string(26) "2000-01-01 00:00:00.000000" ++ ["timezone_type"]=> ++ int(3) ++ ["timezone"]=> ++ string(3) "UTC" ++} +Index: php-5.6.12/ext/phar/util.c +=================================================================== +--- php-5.6.12.orig/ext/phar/util.c ++++ php-5.6.12/ext/phar/util.c +@@ -494,7 +494,11 @@ really_get_entry: + (*ret)->is_tar = entry->is_tar; + (*ret)->fp = phar_get_efp(entry, 1 TSRMLS_CC); + if (entry->link) { +- (*ret)->zero = phar_get_fp_offset(phar_get_link_source(entry TSRMLS_CC) TSRMLS_CC); ++ phar_entry_info *link = phar_get_link_source(entry TSRMLS_CC); ++ if(!link) { ++ return FAILURE; ++ } ++ (*ret)->zero = phar_get_fp_offset(link TSRMLS_CC); + } else { + (*ret)->zero = phar_get_fp_offset(entry TSRMLS_CC); + } diff --git a/meta-oe/recipes-devtools/php/php-5.6.12/CVE-2015-7804.patch b/meta-oe/recipes-devtools/php/php-5.6.12/CVE-2015-7804.patch new file mode 100644 index 00000000000..a159ac24d65 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php-5.6.12/CVE-2015-7804.patch @@ -0,0 +1,64 @@ +From e78ac461dbefb7c4a3e9fde78d50fbc56b7b0183 Mon Sep 17 00:00:00 2001 +From: Stanislav Malyshev +Date: Mon, 28 Sep 2015 17:12:35 -0700 +Subject: [PATCH] FIx bug #70433 - Uninitialized pointer in phar_make_dirstream + when zip entry filename is "/" + +Upstream-Status: Backport + +https://git.php.net/?p=php-src.git;a=patch;h=e78ac461dbefb7c4a3e9fde78d50fbc56b7b0183 + +excluded the zip part of the original patch. Hand applied dirstream change + +CVE: CVE-2015-7804 +Signed-off-by: Armin Kuster + +--- + ext/phar/dirstream.c | 2 +- + ext/phar/tests/bug70433.phpt | 23 +++++++++++++++++++++++ + ext/phar/tests/bug70433.zip | Bin 0 -> 264 bytes + 3 files changed, 24 insertions(+), 1 deletion(-) + create mode 100644 ext/phar/tests/bug70433.phpt + create mode 100755 ext/phar/tests/bug70433.zip + +Index: php-5.6.12/ext/phar/dirstream.c +=================================================================== +--- php-5.6.12.orig/ext/phar/dirstream.c ++++ php-5.6.12/ext/phar/dirstream.c +@@ -198,7 +198,7 @@ static php_stream *phar_make_dirstream(c + zend_hash_internal_pointer_reset(manifest); + + while (FAILURE != zend_hash_has_more_elements(manifest)) { +- if (HASH_KEY_NON_EXISTENT == zend_hash_get_current_key_ex(manifest, &str_key, &keylen, &unused, 0, NULL)) { ++ if (HASH_KEY_IS_STRING != zend_hash_get_current_key_ex(manifest, &str_key, &keylen, &unused, 0, NULL)) { + break; + } + +Index: php-5.6.12/ext/phar/tests/bug70433.phpt +=================================================================== +--- /dev/null ++++ php-5.6.12/ext/phar/tests/bug70433.phpt +@@ -0,0 +1,23 @@ ++--TEST-- ++Phar - bug #70433 - Uninitialized pointer in phar_make_dirstream when zip entry filename is "/" ++--SKIPIF-- ++ ++--FILE-- ++getMetadata(); ++var_dump($meta); ++?> ++DONE ++--EXPECTF-- ++object(PharData)#1 (3) { ++ ["pathName":"SplFileInfo":private]=> ++ string(0) "" ++ ["glob":"DirectoryIterator":private]=> ++ bool(false) ++ ["subPathName":"RecursiveDirectoryIterator":private]=> ++ string(0) "" ++} ++NULL ++DONE diff --git a/meta-oe/recipes-devtools/php/php-5.6.12/CVE-2016-1903.patch b/meta-oe/recipes-devtools/php/php-5.6.12/CVE-2016-1903.patch new file mode 100644 index 00000000000..a7c35fe4393 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php-5.6.12/CVE-2016-1903.patch @@ -0,0 +1,55 @@ +From 4b8394dd78571826ac66a69dc240c623f31d78f8 Mon Sep 17 00:00:00 2001 +From: Stanislav Malyshev +Date: Mon, 7 Dec 2015 23:30:49 -0800 +Subject: [PATCH] Fix bug #70976: fix boundary check on + gdImageRotateInterpolated + +Upstream-Status: Backport + +https://git.php.net/?p=php-src.git;a=commit;h=4b8394dd78571826ac66a69dc240c623f31d78f8 + +CVE: CVE-2016-1903 +Signed-off-by: Armin Kuster + +--- + ext/gd/libgd/gd_interpolation.c | 2 +- + ext/gd/tests/bug70976.phpt | 13 +++++++++++++ + 2 files changed, 14 insertions(+), 1 deletion(-) + create mode 100644 ext/gd/tests/bug70976.phpt + +diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c +index f70169d..0f874ac 100644 +--- a/ext/gd/libgd/gd_interpolation.c ++++ b/ext/gd/libgd/gd_interpolation.c +@@ -2162,7 +2162,7 @@ gdImagePtr gdImageRotateInterpolated(const gdImagePtr src, const float angle, in + { + const int angle_rounded = (int)floor(angle * 100); + +- if (bgcolor < 0) { ++ if (bgcolor < 0 || bgcolor >= gdMaxColors) { + return NULL; + } + +diff --git a/ext/gd/tests/bug70976.phpt b/ext/gd/tests/bug70976.phpt +new file mode 100644 +index 0000000..23af4ee +--- /dev/null ++++ b/ext/gd/tests/bug70976.phpt +@@ -0,0 +1,13 @@ ++--TEST-- ++Bug #70976 (Memory Read via gdImageRotateInterpolated Array Index Out of Bounds) ++--SKIPIF-- ++ ++--FILE-- ++ ++--EXPECTF-- ++bool(false) +\ No newline at end of file +-- +2.3.5 + diff --git a/meta-oe/recipes-devtools/php/php_5.6.12.bb b/meta-oe/recipes-devtools/php/php_5.6.12.bb index ba78c3225f1..bd9a5b601c3 100644 --- a/meta-oe/recipes-devtools/php/php_5.6.12.bb +++ b/meta-oe/recipes-devtools/php/php_5.6.12.bb @@ -1,5 +1,9 @@ require php.inc -SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch" +SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ + file://CVE-2015-7803.patch \ + file://CVE-2015-7804.patch \ + file://CVE-2016-1903.patch \ +" SRC_URI[md5sum] = "4578dee9d979114610a444bee263ed9b" SRC_URI[sha256sum] = "6f27104272af7b2a996f85e4100fac627630fbdaf39d7bd263f16cf529c8853a" diff --git a/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch b/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch new file mode 100644 index 00000000000..7ccdab0f229 --- /dev/null +++ b/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch @@ -0,0 +1,66 @@ +From 03a886252f6555d6b0af76b654e76459642b89da Mon Sep 17 00:00:00 2001 +From: Yunguo Wei +Date: Tue, 3 Dec 2013 18:12:50 +0800 +Subject: [PATCH] pmtools: switch to dynamic buffer for huge ACPI tables + +For servers like Canoe Pass or Thunder Ridge, there are much more +entries in ACPI table, so original 1K buffer is insufficient. + +We switch to dynamic buffer on this situation. + +Signed-off-by: Yunguo Wei + + +Upstream-Status: Pending + +Signed-off-by: Kai Kang +--- + madt/madt.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/madt/madt.c b/madt/madt.c +index aed965c..8770cd5 100644 +--- a/madt/madt.c ++++ b/madt/madt.c +@@ -51,7 +51,9 @@ get_next_entry(acpi_table_entry_header * entry_header) + return retval; + } + +-u8 buffer[1024]; ++ ++u8 buf[1024]; ++u8 *buffer = buf; + + main() + { +@@ -75,6 +77,17 @@ main() + + if (verbose) printf("header.length %d\n", madt_header->header.length); + ++ /* if 1K buffer is insufficient for acpi table, switch to a larger memory buffer */ ++ if(expected_length > sizeof(buf)) { ++ buffer = malloc(expected_length); ++ if (!buffer) { ++ perror("malloc"); ++ exit(1); ++ } ++ memset(buffer, 0, expected_length); ++ memcpy(buffer, buf, sizeof(struct acpi_table_madt)); ++ } ++ + acpi_table_print((void*)&(buffer[bytes_read]), 0); + + bytes_read = sizeof(struct acpi_table_madt); +@@ -118,6 +131,9 @@ done: + printf("Checksum 0x%x != 0; 0x%x in header ERROR\n", csum, + madt_header->header.checksum); + ++ if(buffer != buf) ++ free(buffer); ++ + return 0; + } + +-- +1.8.1.2 + diff --git a/meta-oe/recipes-devtools/pmtools/pmtools_git.bb b/meta-oe/recipes-devtools/pmtools/pmtools_git.bb index 602da5e207d..22ed8e2ff1a 100644 --- a/meta-oe/recipes-devtools/pmtools/pmtools_git.bb +++ b/meta-oe/recipes-devtools/pmtools/pmtools_git.bb @@ -6,7 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" PV = "20130209+git${SRCPV}" -SRC_URI = "git://github.com/anyc/pmtools.git;protocol=https" +SRC_URI = "git://github.com/anyc/pmtools.git \ + file://pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch \ +" SRCREV = "3ebe0e54c54061b4c627236cbe35d820de2e1168" COMPATIBLE_HOST = "(i.86|x86_64).*-linux" diff --git a/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb b/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb index ac1dc7eb77d..86628b14bff 100644 --- a/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb +++ b/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb @@ -35,6 +35,8 @@ EXTRA_OECONF += "\ --disable-foomatic-drv-install \ --enable-foomatic-ppd-install \ --enable-foomatic-rip-hplip-install \ + --with-cupsbackenddir=${libdir}/cups/backend \ + --with-cupsfilterdir=${libdir}/cups/filter \ " PACKAGES += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal" diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc5.inc b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc index d7e333af68b..680f558fabc 100644 --- a/meta-oe/recipes-extended/lcdproc/lcdproc5.inc +++ b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc @@ -4,7 +4,7 @@ SUMMARY = "Drivers for character-based LCD displays" HOMEPAGE = "http://lcdproc.org" SECTION = "utils" LICENSE = "GPLv2+" -DEPENDS = "ncurses" +DEPENDS = "ncurses lirc" LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \ file://README;beginline=60;md5=637e042cdd3671ba00e78b58ede45d3b" diff --git a/meta-ruby/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch b/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch similarity index 100% rename from meta-ruby/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch rename to meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch diff --git a/meta-ruby/recipes-extended/libgxim/libgxim_0.5.0.bb b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb similarity index 100% rename from meta-ruby/recipes-extended/libgxim/libgxim_0.5.0.bb rename to meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb diff --git a/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb index 001b3dedc2f..b121522f21d 100644 --- a/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb +++ b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb @@ -23,6 +23,7 @@ do_install() { mv conf/ ${D}${datadir}/logwatch/default.conf mv scripts/ ${D}${datadir}/logwatch/scripts mv lib ${D}${datadir}/logwatch/lib + chown -R root:root ${D}${datadir}/logwatch install -m 0755 -d ${D}${mandir}/man1 install -m 0755 -d ${D}${mandir}/man5 diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-add-support-for-big-endian-32bit-ARM.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-add-support-for-big-endian-32bit-ARM.patch new file mode 100644 index 00000000000..7b7038f6fb1 --- /dev/null +++ b/meta-oe/recipes-extended/mozjs/mozjs/0001-add-support-for-big-endian-32bit-ARM.patch @@ -0,0 +1,26 @@ +From 07830cbc409f8e998fa839275470031fc83d6eb6 Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Thu, 21 Apr 2016 14:10:54 +0200 +Subject: [PATCH] add support for big endian 32bit ARM + +Signed-off-by: Koen Kooi +--- + mfbt/double-conversion/utils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h +index fe26dab..78a19cb 100644 +--- a/mfbt/double-conversion/utils.h ++++ b/mfbt/double-conversion/utils.h +@@ -58,7 +58,7 @@ + defined(__mips__) || defined(__powerpc__) || \ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ + defined(__SH4__) || defined(__alpha__) || \ +- defined(__aarch64__) || \ ++ defined(__aarch64__) || defined(__ARMEB__) || \ + defined(_MIPS_ARCH_MIPS32R2) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) +-- +2.4.3 + diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch b/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch new file mode 100644 index 00000000000..6432e1fb7b5 --- /dev/null +++ b/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch @@ -0,0 +1,46 @@ +From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17 00:00:00 2001 +From: Maciej Borzecki +Date: Tue, 5 Jan 2016 22:04:17 +0100 +Subject: [PATCH] fix cross compilation on i586 targets + +Remove offending -Wl,-rpath-link that may cause host libraries to be picked +during linking. The patch applies a fix to configure.in. So as not to +regenerate configure, similar fix is applied there. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Maciej Borzecki +--- + js/src/configure | 2 +- + js/src/configure.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/js/src/configure b/js/src/configure +index d019b0fdba44233596541de94307010d85a8e32e..5aa40f757a3dbb7d6887175046f44212c15c2eac 100755 +--- a/js/src/configure ++++ b/js/src/configure +@@ -5555,7 +5555,7 @@ TARGET_MD_ARCH=unix + DIRENT_INO=d_ino + MOZ_USER_DIR=".mozilla" + +-MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' ++MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' + + MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' + +diff --git a/js/src/configure.in b/js/src/configure.in +index 0673aca12f6d83035549ade2a4a83906bf91f0f0..39b22724f9535ac1a6dba04658c91e4ef667fc47 100644 +--- a/js/src/configure.in ++++ b/js/src/configure.in +@@ -919,7 +919,7 @@ TARGET_MD_ARCH=unix + DIRENT_INO=d_ino + MOZ_USER_DIR=".mozilla" + +-MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' ++MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' + + MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' + +-- +2.5.0 + diff --git a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb index bb717074927..02d56942fa6 100644 --- a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb +++ b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb @@ -13,6 +13,8 @@ SRC_URI = " \ file://0001-regenerate-configure.patch;patchdir=../../ \ file://fix-the-compile-error-of-powerpc64.patch;patchdir=../../ \ file://fix_milestone_compile_issue.patch \ + file://0010-fix-cross-compilation-on-i586-targets.patch;patchdir=../../ \ + file://0001-add-support-for-big-endian-32bit-ARM.patch;patchdir=../../ \ " SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202" @@ -20,7 +22,7 @@ SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c S = "${WORKDIR}/${BPN}${PV}/js/src" -inherit autotools pkgconfig perlnative +inherit autotools pkgconfig perlnative pythonnative DEPENDS += "nspr zlib" @@ -51,17 +53,11 @@ do_configure() { } # patch.bbclass will try to apply the patches already present and fail, so clean them out -do_sourceclean() { - ( - cd ${WORKDIR}/${BPN}${PV}/patches - for i in $(cat series | awk '{print $1}') ; do - rm -f $i - done - rm -f series - ) +do_unpack() { + tar -xvf ${DL_DIR}/mozjs17.0.0.tar.gz -C ${WORKDIR}/ + rm -rf ${WORKDIR}/${BPN}${PV}/patches } -addtask sourceclean before do_patch after do_unpack PACKAGES =+ "lib${PN}" FILES_lib${PN} += "${libdir}/lib*.so" diff --git a/meta-oe/recipes-extended/polkit/polkit-gnome_0.105.bb b/meta-oe/recipes-extended/polkit/polkit-gnome_0.105.bb index be33908c41a..8e99731bd03 100644 --- a/meta-oe/recipes-extended/polkit/polkit-gnome_0.105.bb +++ b/meta-oe/recipes-extended/polkit/polkit-gnome_0.105.bb @@ -13,11 +13,7 @@ SRC_URI = "https://download.gnome.org/sources/polkit-gnome/${PV}/polkit-gnome-${ SRC_URI[md5sum] = "50ecad37c8342fb4a52f590db7530621" SRC_URI[sha256sum] = "1784494963b8bf9a00eedc6cd3a2868fb123b8a5e516e66c5eda48df17ab9369" -#PNBLACKLIST[polkit-gnome] ?= "Fails to build, m4:configure.ac:125: recursion limit of 1024 exceeded, use -L to change it" - EXTRA_OECONF = "\ - --disable-examples \ - --disable-introspection \ --disable-static \ " diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.5.4.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.5.4.bb index 666ace92fc0..4d6318cbde8 100644 --- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.5.4.bb +++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.5.4.bb @@ -77,8 +77,8 @@ do_configure() { #remove the dependency of perl-shared:Makefile #or perl-shared/Makefile will be regenerated #if any code touch bindings/Makefile after below perl bindings code - sed -i -e "s:\$(PYTHON) setup.py install:\$(PYTHON) setup.py install \ - --install-lib=${D}${PYTHON_SITEPACKAGES_DIR}:" \ + sed -i -e "s:python/setup.py install:python/setup.py install \ + --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \ -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \ ${B}/bindings/Makefile @@ -111,8 +111,8 @@ RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module- DESCRIPTION_${PN}-python = \ "The ${PN}-python package includes RRDtool bindings for python." -FILES_${PN}-python = "${nonarch_libdir}/python${PYTHON_BASEVERSION}/site-packages/*" +FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*" RDEPENDS_${PN}-python = "python" FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \ - ${nonarch_libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug" + ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug" diff --git a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb index c220eadab94..e1508af8578 100644 --- a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb +++ b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb @@ -15,3 +15,6 @@ SRC_URI = "git://git.pengutronix.de/git/tools/canutils.git;protocol=git \ S = "${WORKDIR}/git" inherit autotools pkgconfig + +# Busybox ip doesn't support can interface configuration, use the real thing +RDEPENDS_${PN} += "iproute2" diff --git a/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb b/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb index fe0e484dec0..0ac8fad294b 100644 --- a/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb +++ b/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb @@ -7,6 +7,8 @@ SRCREV = "292a03e17f889013fca2c7bd0aaeebd600c88f40" DEPENDS="virtual/kernel" +PACKAGE_ARCH = "${MACHINE_ARCH}" + inherit autotools S = "${WORKDIR}/git" @@ -31,7 +33,8 @@ do_install_append() { install ${B}/ptts/tipcTC ${D}/opt/tipcutils/ptts/ install -d ${D}${sysconfdir} - cp -a ${S}/scripts/etc/* ${D}${sysconfdir}/ + cp -R --no-dereference --preserve=mode,links -v ${S}/scripts/etc/* ${D}${sysconfdir}/ + chown -R root:root ${D}${sysconfdir} } PACKAGES += "${PN}-demos" diff --git a/meta-oe/recipes-extended/tmux/tmux_2.1.bb b/meta-oe/recipes-extended/tmux/tmux_2.1.bb index 6e2c88d7951..bf21de5b1c1 100644 --- a/meta-oe/recipes-extended/tmux/tmux_2.1.bb +++ b/meta-oe/recipes-extended/tmux/tmux_2.1.bb @@ -15,3 +15,7 @@ S = "${WORKDIR}/git" B = "${WORKDIR}/build" inherit autotools pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter," + diff --git a/meta-oe/recipes-graphics/fbida/fbida_2.10.bb b/meta-oe/recipes-graphics/fbida/fbida_2.10.bb index e7632215055..8a4c083a443 100644 --- a/meta-oe/recipes-graphics/fbida/fbida_2.10.bb +++ b/meta-oe/recipes-graphics/fbida/fbida_2.10.bb @@ -23,6 +23,7 @@ PACKAGECONFIG[png] = ",,libpng" PACKAGECONFIG[tiff] = ",,tiff" PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif" PACKAGECONFIG[webp] = ",,libwebp" +PACKAGECONFIG[lirc] = ",,lirc" do_compile() { sed -i -e 's:/sbin/ldconfig:echo x:' ${S}/mk/Autoconf.mk @@ -48,6 +49,9 @@ do_compile() { if [ -z "${@base_contains('PACKAGECONFIG', 'webp', 'webp', '', d)}" ]; then sed -i -e '/^HAVE_LIBWEBP/s/:=.*$/:= no/' ${S}/GNUmakefile fi + if [ -z "${@base_contains('PACKAGECONFIG', 'lirc', 'lirc', '', d)}" ]; then + sed -i -e '/^HAVE_LIBLIRC/s/:=.*$/:= no/' ${S}/GNUmakefile + fi oe_runmake } diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch b/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch new file mode 100644 index 00000000000..207285373c6 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch @@ -0,0 +1,33 @@ +From 088bb4cef2c93bef312b076a8c7a3c798cbf2f19 Mon Sep 17 00:00:00 2001 +From: daicy +Date: Tue, 8 Dec 2015 11:45:01 +0900 +Subject: [PATCH] Makefile.am: Error Fix + +Do not compile man dir since error always occur. + | sed: file filenames.sed line 3: unterminated `s' command + | make[2]: *** [sessreg.1] Error 1 +It is not a good way.But can remove it from PNBLACKLIST. + +Upstream-Status: pending + +Signed-off-by: Li Xin +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index cddffd0..94f7048 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,7 +18,7 @@ + # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + # PERFORMANCE OF THIS SOFTWARE. + +-SUBDIRS = man ++#SUBDIRS = man + bin_PROGRAMS = sessreg + + AM_CFLAGS = $(CWARNFLAGS) $(SESSREG_CFLAGS) +-- +1.8.4.2 + 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 2ae25b324a1..2e25b7d91b9 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 @@ -3,11 +3,6 @@ require recipes-graphics/xorg-app/xorg-app-common.inc SUMMARY = "a simple program for managing utmp/wtmp entries" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185" - +SRC_URI += "file://0001-Makefile.am-Error-Fix.patch" SRC_URI[md5sum] = "e238c89dabc566e1835e1ecb61b605b9" SRC_URI[sha256sum] = "551177657835e0902b5eee7b19713035beaa1581bbd3c6506baa553e751e017c" - -# | sed: file filenames.sed line 3: unterminated `s' command -# | make[2]: *** [sessreg.1] Error 1 -# | make[2]: Leaving directory `/home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/sessreg/1.1.0-r0/build/man' -PNBLACKLIST[sessreg] ?= "BROKEN: fails to generate man pages" diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb index f5b1984cdde..0315ed7d66d 100644 --- a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb @@ -38,8 +38,6 @@ do_install_append() { done } -inherit allarch - RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo fbset xinput-calibrator" RCONFLICTS_${PN} = "xserver-kdrive-common x11-common" diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb index f9bf007a423..b29d0759a35 100644 --- a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb +++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb @@ -12,7 +12,7 @@ SRC_URI = "file://xserver-nodm \ " S = "${WORKDIR}" -inherit allarch update-rc.d systemd +inherit update-rc.d systemd INITSCRIPT_NAME = "xserver-nodm" INITSCRIPT_PARAMS = "start 01 5 . stop 01 0 1 2 3 6 ." diff --git a/meta-oe/recipes-multimedia/live555/live555.inc b/meta-oe/recipes-multimedia/live555/live555.inc index 0c8208a22c2..0d11de904ff 100644 --- a/meta-oe/recipes-multimedia/live555/live555.inc +++ b/meta-oe/recipes-multimedia/live555/live555.inc @@ -34,11 +34,11 @@ do_install() { install -d ${D}${includedir}/liveMedia install -d ${D}${includedir}/UsageEnvironment install -d ${D}${libdir} - cp -a ${S}/BasicUsageEnvironment/include/*.hh ${D}${includedir}/BasicUsageEnvironment/ - cp -a ${S}/groupsock/include/*.h ${D}${includedir}/groupsock/ - cp -a ${S}/groupsock/include/*.hh ${D}${includedir}/groupsock/ - cp -a ${S}/liveMedia/include/*.hh ${D}${includedir}/liveMedia/ - cp -a ${S}/UsageEnvironment/include/*.hh ${D}${includedir}/UsageEnvironment/ + cp -R --no-dereference --preserve=mode,links -v ${S}/BasicUsageEnvironment/include/*.hh ${D}${includedir}/BasicUsageEnvironment/ + cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.h ${D}${includedir}/groupsock/ + cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.hh ${D}${includedir}/groupsock/ + cp -R --no-dereference --preserve=mode,links -v ${S}/liveMedia/include/*.hh ${D}${includedir}/liveMedia/ + cp -R --no-dereference --preserve=mode,links -v ${S}/UsageEnvironment/include/*.hh ${D}${includedir}/UsageEnvironment/ # Find all the headers for i in $(find . -name "*.hh") $(find . -name "*.h") ; do install ${i} ${D}${includedir} diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch b/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch new file mode 100644 index 00000000000..b4d98412f2a --- /dev/null +++ b/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch @@ -0,0 +1,136 @@ +From 0571bb4f1a6e1934ee7e093ce7aa517b9bac8e6a Mon Sep 17 00:00:00 2001 +From: Awais Belal +Date: Sun, 17 Jan 2016 14:46:10 +0500 +Subject: [PATCH] demux_ogg: partially port libtheora glue code to Theora 1.0 + API + +This partially backports the following commit to allow building +with gcc-5.x and otherwise fails to find the definition of +the _ilog function the way it is used. + +https://github.com/pigoz/mplayer-svn/commit/85e51408cd00979fc209da8e3a39b6f0e7f325bc + +Signed-off-by: Awais Belal +--- + libmpdemux/demux_ogg.c | 52 ++++++++++++++++++++++++++------------------------ + 1 file changed, 27 insertions(+), 25 deletions(-) + +diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c +index 9eea061..9144426 100644 +--- a/libmpdemux/demux_ogg.c ++++ b/libmpdemux/demux_ogg.c +@@ -50,8 +50,7 @@ + #endif + + #ifdef CONFIG_OGGTHEORA +-#include +-int _ilog (unsigned int); /* defined in many places in theora/lib/ */ ++#include + #endif + + #define BLOCK_SIZE 4096 +@@ -62,9 +61,10 @@ int _ilog (unsigned int); /* defined in many places in theora/lib/ */ + */ + #ifdef CONFIG_OGGTHEORA + typedef struct theora_struct_st { +- theora_state st; +- theora_comment cc; +- theora_info inf; ++ th_setup_info *tsi; ++ th_dec_ctx *tctx; ++ th_comment tc; ++ th_info ti; + } theora_struct_t; + #endif + +@@ -117,7 +117,7 @@ typedef struct ogg_stream { + float samplerate; /// granulpos 2 time + int64_t lastpos; + int32_t lastsize; +- int keyframe_frequency_force; ++ int keyframe_granule_shift; + + // Logical stream state + ogg_stream_state stream; +@@ -300,11 +300,10 @@ static unsigned char *demux_ogg_read_packet(ogg_stream_t *os, ogg_packet *pack, + have theora_state st, until all header packets were passed to the + decoder. */ + if (!pack->bytes || !(*data&0x80)) { +- int keyframe_granule_shift = _ilog(os->keyframe_frequency_force - 1); +- int64_t iframemask = (1 << keyframe_granule_shift) - 1; ++ int64_t iframemask = iframemask = (1 << os->keyframe_granule_shift) - 1; + + if (pack->granulepos >= 0) { +- os->lastpos = pack->granulepos >> keyframe_granule_shift; ++ os->lastpos = pack->granulepos >> os->keyframe_granule_shift; + os->lastpos += pack->granulepos & iframemask; + *keyframe = (pack->granulepos & iframemask) == 0; + } else { +@@ -888,14 +887,15 @@ int demux_ogg_open(demuxer_t *demuxer) + #ifdef CONFIG_OGGTHEORA + } else if (pack.bytes >= 7 && !strncmp (&pack.packet[1], "theora", 6)) { + int errorCode = 0; +- theora_info inf; +- theora_comment cc; ++ th_info ti; ++ th_comment tc; ++ th_setup_info *tsi = NULL; + +- theora_info_init (&inf); +- theora_comment_init (&cc); ++ th_info_init (&ti); ++ th_comment_init (&tc); + +- errorCode = theora_decode_header (&inf, &cc, &pack); +- if (errorCode) { ++ errorCode = th_decode_headerin(&ti, &tc, &tsi, &pack); ++ if (errorCode < 0) { + mp_msg(MSGT_DEMUX, MSGL_ERR, + "Theora header parsing failed: %i \n", errorCode); + } else { +@@ -904,30 +904,32 @@ int demux_ogg_open(demuxer_t *demuxer) + sh_v->bih = calloc(1, sizeof(*sh_v->bih)); + sh_v->bih->biSize = sizeof(*sh_v->bih); + sh_v->bih->biCompression = sh_v->format = FOURCC_THEORA; +- sh_v->fps = ((double)inf.fps_numerator) / (double)inf.fps_denominator; +- sh_v->frametime = ((double)inf.fps_denominator) / (double)inf.fps_numerator; +- sh_v->disp_w = sh_v->bih->biWidth = inf.frame_width; +- sh_v->disp_h = sh_v->bih->biHeight = inf.frame_height; ++ sh_v->fps = ((double)ti.fps_numerator) / (double)ti.fps_denominator; ++ sh_v->frametime = ((double)ti.fps_denominator) / (double)ti.fps_numerator; ++ sh_v->i_bps = ti.target_bitrate / 8; ++ sh_v->disp_w = sh_v->bih->biWidth = ti.frame_width; ++ sh_v->disp_h = sh_v->bih->biHeight = ti.frame_height; + sh_v->bih->biBitCount = 24; + sh_v->bih->biPlanes = 3; + sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount / 8) * sh_v->bih->biWidth * sh_v->bih->biHeight); + ogg_d->subs[ogg_d->num_sub].samplerate = sh_v->fps; + ogg_d->subs[ogg_d->num_sub].theora = 1; +- ogg_d->subs[ogg_d->num_sub].keyframe_frequency_force = inf.keyframe_frequency_force; ++ ogg_d->subs[ogg_d->num_sub].keyframe_granule_shift = ti.keyframe_granule_shift; + ogg_d->subs[ogg_d->num_sub].id = n_video; + n_video++; + mp_msg(MSGT_DEMUX, MSGL_INFO, + "[Ogg] stream %d: video (Theora v%d.%d.%d), -vid %d\n", + ogg_d->num_sub, +- (int)inf.version_major, +- (int)inf.version_minor, +- (int)inf.version_subminor, ++ (int)ti.version_major, ++ (int)ti.version_minor, ++ (int)ti.version_subminor, + n_video - 1); + if (mp_msg_test(MSGT_HEADER, MSGL_V)) + print_video_header(sh_v->bih, MSGL_V); + } +- theora_comment_clear(&cc); +- theora_info_clear(&inf); ++ th_comment_clear(&tc); ++ th_info_clear(&ti); ++ th_setup_free(tsi); + #endif /* CONFIG_OGGTHEORA */ + } else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], "fLaC", 4)) { + sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio); +-- +1.9.1 + diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb index 2f0369a192d..9df4e745a2c 100644 --- a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb +++ b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb @@ -21,6 +21,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "git://repo.or.cz/mplayer.git \ file://0001-configure-don-t-disable-ASS-support-when-explicitly-.patch \ + file://0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch \ " SRCREV = "2c378c71a4d9b1df382db9aa787b646628b4e3f9" @@ -153,6 +154,3 @@ do_install() { install ${S}/etc/codecs.conf ${D}/usr/etc/mplayer/ [ -e ${D}/usr/lib ] && rmdir ${D}/usr/lib } - -# | libmpdemux/demux_ogg.o:demux_ogg.c:function demux_ogg_read_packet: error: undefined reference to '_ilog' -PNBLACKLIST[mplayer2] ?= "BROKEN, fails to build with gcc-5" diff --git a/meta-oe/recipes-multimedia/webm/libvpx_1.4.0.bb b/meta-oe/recipes-multimedia/webm/libvpx_1.4.0.bb index 5d049bb8a62..c963a9c6d65 100644 --- a/meta-oe/recipes-multimedia/webm/libvpx_1.4.0.bb +++ b/meta-oe/recipes-multimedia/webm/libvpx_1.4.0.bb @@ -44,11 +44,8 @@ do_configure() { ${S}/configure ${CONFIGUREOPTS} } -do_compile() { - oe_runmake -} - do_install() { oe_runmake install DESTDIR=${D} + chown -R root:root ${D} } diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb index dae39c24b86..6ae2f3097b9 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb @@ -34,8 +34,8 @@ SYSTEMD_OESCONS = "${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false export STAGING_INCDIR export STAGING_LIBDIR -PACKAGECONFIG ??= "qt ${@base_contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}" -PACKAGECONFIG[bluez4] = "bluez='true',bluez='false',bluez4" +PACKAGECONFIG ??= "qt ${@base_contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}" +PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}" PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free" EXTRA_OESCONS = " \ sysroot=${STAGING_DIR_TARGET} \ diff --git a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb index b3372b1dae5..40a6df3c9ba 100644 --- a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb +++ b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb @@ -23,7 +23,8 @@ do_configure_prepend() { } do_install_append() { install -d ${D}${datadir}/orrery - cp -a ${S}/data/* ${D}${datadir}/orrery + cp -R --no-dereference --preserve=mode,links -v ${S}/data/* ${D}${datadir}/orrery + chown -R root:root ${D}${datadir}/orrery install -d ${D}${datadir}/icons install -m 0755 ${WORKDIR}/orrery.png ${D}${datadir}/icons } diff --git a/meta-oe/recipes-qt/qt-mobility/qt-mobility-embedded_1.2.0.bb b/meta-oe/recipes-qt/qt-mobility/qt-mobility-embedded_1.2.0.bb index 998de2a055f..355f183b875 100644 --- a/meta-oe/recipes-qt/qt-mobility/qt-mobility-embedded_1.2.0.bb +++ b/meta-oe/recipes-qt/qt-mobility/qt-mobility-embedded_1.2.0.bb @@ -1,5 +1,4 @@ SUMMARY = "Mobile device API extensions for Qt/Embedded 4.x" -DEPENDS = "qt4-embedded" SECTION = "libs" qtm_embedded := "embedded" qtm_dir = "qtopia" diff --git a/meta-oe/recipes-qt/qt-mobility/qt-mobility-x11_1.2.0.bb b/meta-oe/recipes-qt/qt-mobility/qt-mobility-x11_1.2.0.bb index e7e4b3c62a0..380e3cb794e 100644 --- a/meta-oe/recipes-qt/qt-mobility/qt-mobility-x11_1.2.0.bb +++ b/meta-oe/recipes-qt/qt-mobility/qt-mobility-x11_1.2.0.bb @@ -1,5 +1,5 @@ SUMMARY = "Mobile device API extensions for Qt/X11 4.x" -DEPENDS = "qt4-x11-free" +DEPENDS = "libxv libxext" SECTION = "x11/libs" qtm_embedded := "" qtm_dir = "qt4" diff --git a/meta-oe/recipes-qt/qt-mobility/qt-mobility_1.2.0.inc b/meta-oe/recipes-qt/qt-mobility/qt-mobility_1.2.0.inc index 56631bb05c0..377d9c7be55 100644 --- a/meta-oe/recipes-qt/qt-mobility/qt-mobility_1.2.0.inc +++ b/meta-oe/recipes-qt/qt-mobility/qt-mobility_1.2.0.inc @@ -1,11 +1,20 @@ HOMEPAGE = "http://qt-project.org/" -DEPENDS = "gstreamer util-linux" + +# This creates the dependency on meta-multimedia, which is wrong, but hopefully +# this will be moved to separate meta-qt4 soon +DEPENDS += "gstreamer util-linux alsa-lib gst-plugins-base" inherit bluetooth PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}" +# This is all wrong, but nobody cares about qt-mobility anymore +# add bluez5 just to silence: +# qt-mobility-embedded-1.2.0: qt-mobility-embedded: invalid PACKAGECONFIG: bluez5 [invalid-packageconfig] +# qt-mobility-x11-1.2.0: qt-mobility-x11: invalid PACKAGECONFIG: bluez5 [invalid-packageconfig] +# but without --disable options it still autodetects bluez and pulseaudio from sysroot PACKAGECONFIG[bluez4] = ",,bluez4" +PACKAGECONFIG[bluez5] = ",,bluez5" PACKAGECONFIG[pulseaudio] = ",,pulseaudio" LICENSE = "LGPLv2.1" diff --git a/meta-oe/recipes-qt/qwt/qwt.inc b/meta-oe/recipes-qt/qwt/qwt.inc index 60f73a65762..d3c4ed1ff5e 100644 --- a/meta-oe/recipes-qt/qwt/qwt.inc +++ b/meta-oe/recipes-qt/qwt/qwt.inc @@ -31,6 +31,7 @@ do_install() { done install -d ${D}${libdir}/${QT_DIR_NAME} mv ${D}${prefix}/plugins ${D}${libdir}/${QT_DIR_NAME} + chown -R root:root ${D}${bindir} } PACKAGES_prepend = "${PN}-examples ${PN}-features ${PN}-plugins " diff --git a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb index 18979d574bc..35c891e7a7f 100644 --- a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb +++ b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb @@ -19,10 +19,10 @@ EXTRA_OECONF = "--without-x \ do_configure() { export topdir=${S} - cp -a ${S}/autoconf/configure.in ${S} + cp -R --no-dereference --preserve=mode,links -v ${S}/autoconf/configure.in ${S} if ! [ -d ${S}/platforms/${DISTRO} ] ; then - cp -a ${S}/platforms/unknown ${S}/platforms/${DISTRO} + cp -R --no-dereference --preserve=mode,links -v ${S}/platforms/unknown ${S}/platforms/${DISTRO} fi gnu-configize --force diff --git a/meta-oe/recipes-support/devicekit/devicekit-power_014.bb b/meta-oe/recipes-support/devicekit/devicekit-power_014.bb index 0c1245fbf37..c2b7e6660bf 100644 --- a/meta-oe/recipes-support/devicekit/devicekit-power_014.bb +++ b/meta-oe/recipes-support/devicekit/devicekit-power_014.bb @@ -2,7 +2,7 @@ SUMMARY = "Devicekit power" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=756cf97871f77233638937da21b025d3" -DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit intltool-native" +DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit intltool-native libgudev" SRC_URI = "http://upower.freedesktop.org/releases/DeviceKit-power-${PV}.tar.gz;name=archive" SRC_URI[archive.md5sum] = "935d37f1e14b3c8a1d6dabcd9a38d3ca" diff --git a/meta-oe/recipes-support/edac-utils/edac-utils_git.bb b/meta-oe/recipes-support/edac-utils/edac-utils_git.bb index e5621ade6a8..9bd2f0ae973 100644 --- a/meta-oe/recipes-support/edac-utils/edac-utils_git.bb +++ b/meta-oe/recipes-support/edac-utils/edac-utils_git.bb @@ -2,7 +2,7 @@ SUMMARY = "Userspace helper for Linux kernel EDAC drivers" HOMEPAGE = "https://github.com/grondo/edac-utils" SECTION = "Applications/System" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;beginline=1;endline=2;md5=1fbd81241fe252ec0f5658a521ab7dd8" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" DEPENDS = " sysfsutils" @@ -11,7 +11,10 @@ PV = "0.16+git${SRCPV}" S = "${WORKDIR}/git" -SRC_URI = "git://github.com/grondo/edac-utils;protocol=http" +SRC_URI = "git://github.com/grondo/edac-utils \ + file://make-init-script-be-able-to-automatically-load-EDAC-.patch \ + file://add-restart-to-initscript.patch \ +" inherit autotools-brokensep @@ -20,6 +23,12 @@ do_configure_prepend () { ${S}/bootstrap } -COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' - -RDEPENDS_${PN} = " perl" +RDEPENDS_${PN}_x86 = "dmidecode" +RDEPENDS_${PN}_x86-64 = "dmidecode" +RDEPENDS_${PN}_arm = "dmidecode" +RDEPENDS_${PN}_aarch64 = "dmidecode" +RDEPENDS_${PN}_powerpc = "dmidecode" +RDEPENDS_${PN}_powerpc64 = "dmidecode" +RDEPENDS_${PN}_append = " \ + perl-module-file-basename perl-module-file-find perl-module-getopt-long perl-module-posix \ +" diff --git a/meta-oe/recipes-support/edac-utils/files/add-restart-to-initscript.patch b/meta-oe/recipes-support/edac-utils/files/add-restart-to-initscript.patch new file mode 100644 index 00000000000..87051da9069 --- /dev/null +++ b/meta-oe/recipes-support/edac-utils/files/add-restart-to-initscript.patch @@ -0,0 +1,33 @@ +From 3ade837f64de0cfe2aed5bc52f7919760f350531 Mon Sep 17 00:00:00 2001 +From: Wenzong Fan +Date: Fri, 7 Mar 2014 00:57:12 -0500 +Subject: [PATCH] edac: add restart to initscript + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan +--- + src/etc/edac.init.in | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/etc/edac.init.in b/src/etc/edac.init.in +index adf76ee..007a519 100644 +--- a/src/etc/edac.init.in ++++ b/src/etc/edac.init.in +@@ -155,8 +155,12 @@ case "$1" in + status) + service_status + ;; ++ restart) ++ service_stop ++ service_start ++ ;; + *) +- COMMANDS="start|stop|status" ++ COMMANDS="start|stop|status|restart" + echo "Usage: $0 {${COMMANDS}}" + exit 2 + ;; +-- +1.7.9.5 + diff --git a/meta-oe/recipes-support/edac-utils/files/make-init-script-be-able-to-automatically-load-EDAC-.patch b/meta-oe/recipes-support/edac-utils/files/make-init-script-be-able-to-automatically-load-EDAC-.patch new file mode 100644 index 00000000000..fddc25f601f --- /dev/null +++ b/meta-oe/recipes-support/edac-utils/files/make-init-script-be-able-to-automatically-load-EDAC-.patch @@ -0,0 +1,98 @@ +make init script be able to automatically load EDAC module. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Roy.Li +--- + src/etc/edac.init.in | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 47 insertions(+), 2 deletions(-) + +diff --git a/src/etc/edac.init.in b/src/etc/edac.init.in +index 7a51da9..5b568c4 100644 +--- a/src/etc/edac.init.in ++++ b/src/etc/edac.init.in +@@ -42,7 +42,6 @@ for dir in "$sysconfdir/default" "$sysconfdir/sysconfig"; do + [ -f "$dir/$SERVICE" ] && . "$dir/$SERVICE" + done + +- + ############################################################################### + + service_start () +@@ -52,6 +51,46 @@ service_start () + # Assume that if EDAC_DRIVER is not set, then EDAC is configured + # automatically, thus return successfully, but don't do anything. + # ++ if [ ! -f /etc/edac/edac-driver ]; then ++ [ -d /sys/bus/edac/devices/mc/mc0 ] && \ ++ echo `lsmod | grep _edac | cut -d" " -f1` > /etc/edac/edac-driver ++ fi ++ ++ [ -f /etc/edac/edac-driver ] && EDAC_DRIVER=`cat /etc/edac/edac-driver` ++ ++ if [ -z "$EDAC_DRIVER" ]; then ++ ++ DRIVER_PATH=/lib/modules/`uname -r`/kernel/drivers/edac ++ oldpath=`pwd` ++ if [ -d $DRIVER_PATH ]; then ++ ++ cd $DRIVER_PATH ++ ++ for i in $(/bin/ls | /usr/bin/cut -d. -f1) ; do ++ /sbin/modprobe $i 2>/dev/null ++ if [ -d /sys/bus/edac/devices/mc/mc0 ]; then ++ echo $i> /etc/edac/edac-driver ++ EDAC_DRIVER=$i ++ break ++ fi ++ /sbin/modprobe -r $i 2>/dev/null ++ done ++ ++ cd "$oldpath" ++ ++ ++ if [ -z "$EDAC_DRIVER" ]; then ++ echo "This board may not support EDAC, or EDAC module may not be compiled in" ++ exit ++ fi ++ ++ else ++ echo "This board may not support EDAC, or EDAC module may not be compiled in" ++ exit ++ fi ++ ++ fi ++ + if [ -n "$EDAC_DRIVER" ]; then + echo -n "Starting ${SERVICE}: " + modprobe $EDAC_DRIVER +@@ -76,12 +115,15 @@ service_start () + service_stop () + { + echo -n "Disabling ${SERVICE}: " ++ ++ [ -f /etc/edac/edac-driver ] && EDAC_DRIVER=`cat /etc/edac/edac-driver` ++ + if [ -n "$EDAC_DRIVER" ]; then + modprobe -r $EDAC_DRIVER + STATUS=$? + [ $STATUS -eq 0 ] && echo success || echo failure + else +- echo "Not supported for this configuration." ++ echo "Not supported for this configuration, or EDAC Module is not loaded." + STATUS=6 + fi + } +@@ -92,6 +134,9 @@ service_status () + { + # Print the current status of the service. Required by LSB. + # ++ [ -f /etc/edac/edac-driver ] && EDAC_DRIVER=`cat /etc/edac/edac-driver` ++ [ -z "$EDAC_DRIVER" ] && STATUS=1 && exit ++ + edac-ctl --status + STATUS=0 + } +-- +1.7.10.4 + diff --git a/meta-oe/recipes-support/fltk/fltk-1.1.10/Fl_JPEG_Image_buildix.patch b/meta-oe/recipes-support/fltk/fltk-1.1.10/Fl_JPEG_Image_buildix.patch new file mode 100644 index 00000000000..ea80011100c --- /dev/null +++ b/meta-oe/recipes-support/fltk/fltk-1.1.10/Fl_JPEG_Image_buildix.patch @@ -0,0 +1,37 @@ +fltk: Fl_JPEG_Image.cxx bug in fltk-1.3.x for jpeg-9 + +Link: http://www.fltk.org/str.php?L2920 +Version: 1.3-current + +There has been a change in jpeg-9: + +Fl_JPEG_Image.cxx: In constructor 'Fl_JPEG_Image::Fl_JPEG_Image(const +char*)': +Fl_JPEG_Image.cxx:158:29: error: invalid conversion from 'int' to +'boolean' [-fpermissive] +In file included from Fl_JPEG_Image.cxx:50:0: +/usr/include/jpeglib.h:1032:13: error: initializing argument 2 of 'int +jpeg_read_header(j_decompress_ptr, boolean)' [-fpermissive] + + +http://permalink.gmane.org/gmane.comp.lib.fltk.bugs/10893 + +Upstream-Status: Backport + +partical back port as this version is only affected by on change. + +Signed-off-by: Armin Kuster + +Index: fltk-1.1.10/src/Fl_JPEG_Image.cxx +=================================================================== +--- fltk-1.1.10.orig/src/Fl_JPEG_Image.cxx ++++ fltk-1.1.10/src/Fl_JPEG_Image.cxx +@@ -153,7 +153,7 @@ Fl_JPEG_Image::Fl_JPEG_Image(const char + + jpeg_create_decompress(&dinfo); + jpeg_stdio_src(&dinfo, fp); +- jpeg_read_header(&dinfo, 1); ++ jpeg_read_header(&dinfo, TRUE); + + dinfo.quantize_colors = (boolean)FALSE; + dinfo.out_color_space = JCS_RGB; diff --git a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb index 14049614a46..22a1a50cf80 100644 --- a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb +++ b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb @@ -13,6 +13,7 @@ SRC_URI = "ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/${PV}/fl file://dso-fix.patch \ file://libpng15.patch \ file://fltk-no-freetype-config.patch \ + file://Fl_JPEG_Image_buildix.patch \ " S = "${WORKDIR}/fltk-${PV}" diff --git a/meta-oe/recipes-support/htop/htop/remove-proc-test.patch b/meta-oe/recipes-support/htop/htop/remove-proc-test.patch deleted file mode 100644 index 3185fdd1f43..00000000000 --- a/meta-oe/recipes-support/htop/htop/remove-proc-test.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- htop-0.6.6/configure.ac 2007-05-21 13:06:15.000000000 -0500 -+++ htop-0.6.6-cross/configure.ac 2007-11-16 14:12:16.000000000 -0600 -@@ -58,8 +58,8 @@ - fi, - AC_DEFINE(PROCDIR, "/proc", [Path of proc filesystem])) - --AC_CHECK_FILE($PROCDIR/stat,,AC_MSG_ERROR(Cannot find /proc/stat. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) --AC_CHECK_FILE($PROCDIR/meminfo,,AC_MSG_ERROR(Cannot find /proc/meminfo. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) -+#AC_CHECK_FILE($PROCDIR/stat,,AC_MSG_ERROR(Cannot find /proc/stat. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) -+#AC_CHECK_FILE($PROCDIR/meminfo,,AC_MSG_ERROR(Cannot find /proc/meminfo. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) - - AC_CONFIG_FILES([Makefile]) - AC_OUTPUT diff --git a/meta-oe/recipes-support/libftdi/libftdi_1.2.bb b/meta-oe/recipes-support/libftdi/libftdi_1.2.bb index eb4d86c3bd4..9b290fb6f88 100644 --- a/meta-oe/recipes-support/libftdi/libftdi_1.2.bb +++ b/meta-oe/recipes-support/libftdi/libftdi_1.2.bb @@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "a6ea795c829219015eb372b03008351cee3fb39f684bff3bf8a4620b55 S = "${WORKDIR}/${BPN}1-${PV}" PACKAGECONFIG ??= "" -PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on,-DFTDI_BUILD_CPP=off,boost" +PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost" inherit cmake binconfig pkgconfig diff --git a/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb b/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb index 227430d1065..83998ea0785 100644 --- a/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb +++ b/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb @@ -13,6 +13,8 @@ SRC_URI[sha256sum] = "f048a5270f41bc88b0c3b0a8fe70ca4d716a46b531a0ecaaa87c462f49 inherit autotools +EXTRA_OECONF = "ac_cv_path_SH=${base_bindir}/sh" + do_install_append () { install -d ${D}${sysconfdir} install -m 0644 ${WORKDIR}/smi.conf ${D}${sysconfdir}/smi.conf diff --git a/meta-oe/recipes-support/libssh2/libssh2_1.6.0.bb b/meta-oe/recipes-support/libssh2/libssh2_1.6.0.bb index 4f03b999e6e..c43164e5d58 100644 --- a/meta-oe/recipes-support/libssh2/libssh2_1.6.0.bb +++ b/meta-oe/recipes-support/libssh2/libssh2_1.6.0.bb @@ -2,7 +2,7 @@ SUMMARY = "A client-side C library implementing the SSH2 protocol" HOMEPAGE = "http://www.libssh2.org/" SECTION = "libs" -DEPENDS = "zlib openssl" +DEPENDS = "zlib" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=c5cf34fc0acb44b082ef50ef5e4354ca" @@ -13,8 +13,12 @@ SRC_URI[sha256sum] = "5a202943a34a1d82a1c31f74094f2453c207bf9936093867f41414968c inherit autotools pkgconfig -EXTRA_OECONF += "--with-openssl \ +EXTRA_OECONF += "\ --with-libz \ - --with-libssl-prefix=${STAGING_LIBDIR} \ --with-libz-prefix=${STAGING_LIBDIR} \ " + +# only one of openssl and gcrypt could be set +PACKAGECONFIG ??= "openssl" +PACKAGECONFIG[openssl] = "--with-openssl --with-libssl-prefix=${STAGING_LIBDIR},--without-openssl,openssl" +PACKAGECONFIG[gcrypt] = "--with-libgcrypt --with-libgcrypt-prefix=${STAGING_EXECPREFIXDIR},--without-libgcrypt,libgcrypt" diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb b/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb index 4f632cb6a7c..3638019c4b4 100644 --- a/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb +++ b/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb @@ -54,7 +54,10 @@ FILES_${PN}-cgi = "/www/*" FILES_${PN}-libsensors = "${sysconfdir}/sensors.d/sensors.conf" # sensord logging daemon configuration files -FILES_${PN}-sensord = "${sysconfdir}/sensord.conf" +FILES_${PN}-sensord = "\ + ${sysconfdir}/sensord.conf \ + ${sysconfdir}/sysconfig/sensord \ +" # fancontrol script configuration file FILES_${PN}-fancontrol = "${sysconfdir}/fancontrol" 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 a483fb38a81..62ea13176da 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 @@ -30,7 +30,7 @@ SYSTEMD_AUTO_ENABLE = "disable" S = "${WORKDIR}/lm_sensors-${PV}" -EXTRA_OEMAKE = 'LINUX=${STAGING_KERNEL_DIR} EXLDFLAGS="${LDFLAGS}" \ +EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \ MACHINE=${TARGET_ARCH} PREFIX=${prefix} MANDIR=${mandir} \ LIBDIR=${libdir} \ CC="${CC}" AR="${AR}"' diff --git a/meta-oe/recipes-support/log4cpp/files/fix-pc.patch b/meta-oe/recipes-support/log4cpp/files/fix-pc.patch new file mode 100644 index 00000000000..b8fb42e5fdd --- /dev/null +++ b/meta-oe/recipes-support/log4cpp/files/fix-pc.patch @@ -0,0 +1,20 @@ +diff -Nurd ./log4cpp.orig/configure.in ./log4cpp/configure.in +--- ./log4cpp.orig/configure.in 2009-09-07 16:57:46.000000000 -0400 ++++ ./log4cpp/configure.in 2016-02-23 12:57:11.567240018 -0500 +@@ -130,7 +130,6 @@ + # ---------------------------------------------------------------------------- + + AC_CONFIG_LIBCONFIG_IN([log4cpp]) +-AC_CONFIG_PKGCONFIG_IN([log4cpp], [C++ library for flexible logging, modeled after Log4j]) + + AC_CONFIG_FILES([ + Makefile +diff -Nurd ./log4cpp.orig/log4cpp.pc.in ./log4cpp/log4cpp.pc.in +--- ./log4cpp.orig/log4cpp.pc.in 2004-01-27 05:24:25.000000000 -0500 ++++ ./log4cpp/log4cpp.pc.in 2016-02-22 15:06:55.769327491 -0500 +@@ -7,4 +7,4 @@ + Description: C++ library for flexible logging, modeled after Log4j + Version: @VERSION@ + Libs: -L${libdir} @log4cpp_libs@ +-Cflags: -I${includedir} @log4cpp_cflags@ ++Cflags: -I${includedir} diff --git a/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb index a543044162d..c7bf288fab0 100644 --- a/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb +++ b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb @@ -6,9 +6,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" SRC_URI[md5sum] = "1e173df8ee97205f412ff84aa93b8fbe" SRC_URI[sha256sum] = "35abf332630a6809c969276b1d60b90c81a95daf24c86cfd7866ffef72f9bed0" -SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz" +SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz \ + file://fix-pc.patch;striplevel=2 \ + " -S="${WORKDIR}/${BPN}" +S = "${WORKDIR}/${BPN}" inherit autotools pkgconfig @@ -17,5 +19,5 @@ EXTRA_OECONF = "\ --enable-dot=no \ --enable-html-docs=no \ --enable-latex-docs=no \ - LDFLAGS=-lpthread \ + LDFLAGS=-pthread \ " diff --git a/meta-oe/recipes-support/mcelog/mce-inject_git.bb b/meta-oe/recipes-support/mcelog/mce-inject_git.bb new file mode 100644 index 00000000000..f8761449194 --- /dev/null +++ b/meta-oe/recipes-support/mcelog/mce-inject_git.bb @@ -0,0 +1,20 @@ +SUMMARY = "Linux machine check injector tool" +DESCRIPTION = "mce-inject allows to inject machine check errors on the \ +software level into a running Linux kernel. This is intended for \ +validation of the kernel machine check handler." +SECTION = "System Environment/Base" + +SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git" + +SRCREV = "4cbe46321b4a81365ff3aafafe63967264dbfec5" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://README;beginline=30;md5=94c18755082a2da9c9cf97cba3ad47d6" + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' + +inherit autotools-brokensep + +EXTRA_OEMAKE = "destdir=${D}" diff --git a/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch b/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch new file mode 100644 index 00000000000..bea2f6293cd --- /dev/null +++ b/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch @@ -0,0 +1,36 @@ +From 8f57d35747a3b3fabc33466563077373090f869c Mon Sep 17 00:00:00 2001 +From: Robert Yang +Date: Tue, 2 Sep 2014 07:05:15 -0700 +Subject: [PATCH] cache-error-trigger: remove bashism + +Use "$(cat $F)" to instead of "$(< $F)" to debash. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang +--- + triggers/cache-error-trigger | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/triggers/cache-error-trigger b/triggers/cache-error-trigger +index e32bfd6..785526f 100755 +--- a/triggers/cache-error-trigger ++++ b/triggers/cache-error-trigger +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # cache error trigger. This shell script is executed by mcelog in daemon mode + # when a CPU reports excessive corrected cache errors. This could be a indication + # for future uncorrected errors. +@@ -28,7 +28,7 @@ for i in $AFFECTED_CPUS ; do + logger -s -p daemon.crit -t mcelog "Offlining CPU $i due to cache error threshold" + F=$(printf "/sys/devices/system/cpu/cpu%d/online" $i) + echo 0 > $F +- if [ "$(< $F)" != "0" ] ; then ++ if [ "$(cat $F)" != "0" ] ; then + logger -s -p daemon.warn -t mcelog "Offlining CPU $i failed" + EXIT=1 + fi +-- +1.7.9.5 + diff --git a/meta-oe/recipes-support/mcelog/mcelog/run-ptest b/meta-oe/recipes-support/mcelog/mcelog/run-ptest new file mode 100644 index 00000000000..ba7a2c7683b --- /dev/null +++ b/meta-oe/recipes-support/mcelog/mcelog/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +make -C tests test diff --git a/meta-oe/recipes-support/mcelog/mcelog_1.09.bb b/meta-oe/recipes-support/mcelog/mcelog_1.09.bb index 34ff643a565..542b2ba19a1 100644 --- a/meta-oe/recipes-support/mcelog/mcelog_1.09.bb +++ b/meta-oe/recipes-support/mcelog/mcelog_1.09.bb @@ -4,23 +4,33 @@ and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks and should run on all Linux systems that need error handling." HOMEPAGE = "http://mcelog.org/" SECTION = "System Environment/Base" -DEPENDS += "bash" -SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git" + +SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git \ + file://mcelog-debash.patch \ + file://run-ptest \ +" + SRCREV = "0fc9f702232cb2d9969916f899c67c3e64deedda" + LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://README;md5=3eb76ca64fa07ad53ebb0ebb5b4c8ede" S = "${WORKDIR}/git" -do_install() { - install -d ${D}/${sbindir} - install -m 0755 ${S}/mcelog ${D}/${sbindir} - install -d ${D}/${mandir}/man8 - install -m 0644 ${S}/mcelog.8 ${D}/${mandir}/man8/ - install -d ${D}/etc/cron.hourly - install -m 0755 ${S}/mcelog.cron ${D}/etc/cron.hourly/ -} +inherit autotools-brokensep ptest COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' -RDEPENDS_${PN} = "bash" +do_install_append() { + install -d ${D}${sysconfdir}/cron.hourly + install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/ + sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH} + cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH} + sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test +} + +RDEPENDS_${PN}-ptest += "${PN} make bash mce-inject" diff --git a/meta-oe/recipes-support/mysql/mariadb.inc b/meta-oe/recipes-support/mysql/mariadb.inc index 42a4eda6561..668200b2aaf 100644 --- a/meta-oe/recipes-support/mysql/mariadb.inc +++ b/meta-oe/recipes-support/mysql/mariadb.inc @@ -10,6 +10,9 @@ SRC_URI = "http://archive.mariadb.org/mariadb-${PV}/source/mariadb-${PV}.tar.gz file://fix-mysqlclient-r-version.patch \ file://my.cnf \ file://mysqld.service \ + file://install_db.service \ + file://install_db \ + file://mysql-systemd-start \ file://configure.cmake-fix-valgrind.patch \ file://fix-a-building-failure.patch \ " @@ -23,26 +26,35 @@ BINCONFIG_GLOB = "mysql_config" inherit cmake gettext binconfig update-rc.d useradd systemd -INITSCRIPT_PACKAGES = "${PN}-server" -INITSCRIPT_NAME = "mysqld" -INITSCRIPT_PARAMS = "start 45 5 . stop 45 0 6 1 ." +INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb" +INITSCRIPT_NAME_${PN}-server = "mysqld" +INITSCRIPT_PARAMS_${PN}-server ?= "start 45 5 . stop 45 0 6 1 ." USERADD_PACKAGES = "${PN}-server" USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql" GROUPADD_PARAM_${PN}-server = "--system mysql" -SYSTEMD_PACKAGES = "${PN}-server" +INITSCRIPT_NAME_${PN}-setupdb = "install_db" +INITSCRIPT_PARAMS_${PN}-setupdb ?= "defaults 44 44" + +SYSTEMD_PACKAGES = "${PN}-server ${PN}-setupdb" SYSTEMD_SERVICE_${PN}-server = "mysqld.service" -SYSTEMD_AUTO_ENABLE_${PN}-server = "disable" +SYSTEMD_AUTO_ENABLE_${PN}-server ?= "disable" + +SYSTEMD_SERVICE_${PN}-setupdb = "install_db.service" +SYSTEMD_AUTO_ENABLE_${PN}-setupdb ?= "enable" +ALLOW_EMPTY_${PN}-setupdb ?= "1" +FILES_${PN}-setupdb = "${sysconfdir}/init.d/install_db" EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'" -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} setupdb" PACKAGECONFIG_class-native = "" PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam" PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind" PACKAGECONFIG[libedit] = "-DLIBEDIT_INTERFACE=TRUE,-DLIBEDIT_INTERFACE=FALSE,libedit" PACKAGECONFIG[krb5] = ", ,krb5" +PACKAGECONFIG[setupdb] = ", ,,${PN}-setupdb" # MariaDB doesn't link properly with gold # https://mariadb.atlassian.net/browse/MDEV-5982 @@ -114,39 +126,32 @@ do_install() { install -d ${D}/${sysconfdir}/init.d install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/ + install -m 0755 ${WORKDIR}/install_db ${D}/${sysconfdir}/init.d/ mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld install -d ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/mysqld.service ${D}${systemd_unitdir}/system - sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service + install -m 0644 ${WORKDIR}/install_db.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service \ + ${D}${systemd_unitdir}/system/install_db.service if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/tmpfiles.d echo "f /var/log/mysqld.err 0640 mysql mysql -" \ > ${D}${sysconfdir}/tmpfiles.d/99-mysqld.conf fi -} - -pkg_postinst_${PN}-server () { - if [ "x$D" != "x" ]; then - exit 1 + install -d ${D}${bindir} + install -m 755 ${WORKDIR}/mysql-systemd-start ${D}${bindir} + install -d ${D}${datadir}/doc/${PN} + if [ -f ${D}${datadir}/doc/README ]; then + mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/ fi - - #Install the database - test -d /usr/bin || mkdir -p /usr/bin - test -e /usr/bin/hostname || ln -s /bin/hostname /usr/bin/hostname - mkdir /var/lib/mysql - chown mysql.mysql /var/lib/mysql - - mysql_install_db --basedir=${prefix} --user=mysql - - [ -x /sbin/restorecon ] && /sbin/restorecon -RF /var/lib/mysql } PACKAGES = "${PN}-dbg ${PN} \ libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev libmysqlclient-r-dbg \ libmysqlclient libmysqlclient-dev libmysqlclient-staticdev libmysqlclient-dbg \ - libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-leftovers" + libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-setupdb ${PN}-leftovers" CONFFILES_${PN}-server += "${sysconfdir}/my.cnf ${sysconfdir}/my.cnf.d/server.cnf" CONFFILES_${PN}-client += "${sysconfdir}/my.cnf.d/mysql-clients.cnf" CONFFILES_libmysqlclient += "${sysconfdir}/my.cnf.d/client.cnf" @@ -236,6 +241,7 @@ FILES_${PN}-server = "\ ${bindir}/mysql_install_db \ ${bindir}/mysql_secure_installation \ ${bindir}/mysql_setpermission \ + ${bindir}/mysql-systemd-start \ ${bindir}/mysql_tzinfo_to_sql \ ${bindir}/mysql_upgrade \ ${bindir}/mysql_plugin \ @@ -268,7 +274,7 @@ FILES_${PN}-server = "\ ${libdir}/plugin/*.so \ ${datadir}/mysql/ \ ${localstatedir}/mysql/ \ - ${sysconfdir}/init.d \ + ${sysconfdir}/init.d/mysqld \ ${sysconfdir}/my.cnf \ ${sysconfdir}/my.cnf.d/server.cnf \ ${sysconfdir}/tmpfiles.d" diff --git a/meta-oe/recipes-support/mysql/mariadb/install_db b/meta-oe/recipes-support/mysql/mariadb/install_db new file mode 100755 index 00000000000..512a7da7eeb --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/install_db @@ -0,0 +1,13 @@ +#! /bin/sh +case "$1" in + start) + echo "Starting to install database for mariadb" + /usr/bin/mysql-systemd-start pre + echo "done." + ;; + *) + echo "Usage: /etc/init.d/install_db start" + exit 1 +esac + +exit 0 diff --git a/meta-oe/recipes-support/mysql/mariadb/install_db.service b/meta-oe/recipes-support/mysql/mariadb/install_db.service new file mode 100644 index 00000000000..c8369f569ba --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/install_db.service @@ -0,0 +1,17 @@ +# +# Simple install MySQL database service file +# It shoulb be done before mysqld.service + +[Unit] +Description=Install MySQL Community Server Database +After=network.target +After=syslog.target +Before=mysqld.service + +[Install] +WantedBy=multi-user.target + +[Service] +Type=oneshot +ExecStart=@BINDIR@/mysql-systemd-start pre + diff --git a/meta-oe/recipes-support/mysql/mariadb/my.cnf b/meta-oe/recipes-support/mysql/mariadb/my.cnf index 28d389922be..dc4c172e548 100644 --- a/meta-oe/recipes-support/mysql/mariadb/my.cnf +++ b/meta-oe/recipes-support/mysql/mariadb/my.cnf @@ -4,7 +4,6 @@ port = 3306 socket = /var/lib/mysql/mysql.sock [mysqld_safe] -err-log = /var/log/mysql.err [mysqld] user = mysql diff --git a/meta-oe/recipes-support/mysql/mariadb/mysql-systemd-start b/meta-oe/recipes-support/mysql/mariadb/mysql-systemd-start new file mode 100644 index 00000000000..189c02021d3 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/mysql-systemd-start @@ -0,0 +1,66 @@ +#! /bin/sh +# +# Needed argument: pre | post +# +# pre mode : try to run mysql_install_db and fix perms and SELinux contexts +# post mode : ping server until answer is received +# + +get_option () { + local section=$1 + local option=$2 + local default=$3 + ret=$(/usr/bin/my_print_defaults $section | grep '^--'${option}'=' | cut -d= -f2-) + [ -z $ret ] && ret=$default + echo $ret +} + +install_db () { + # Note: something different than datadir=/var/lib/mysql requires SELinux policy changes (in enforcing mode) + datadir=$(get_option mysqld datadir "/var/lib/mysql") + + # Restore log, dir, perms and SELinux contexts + [ -d "$datadir" ] || install -d -m 0755 -omysql -gmysql "$datadir" || exit 1 + log=/var/log/mysqld.log + [ -e $log ] || touch $log + chmod 0640 $log + chown mysql:mysql $log || exit 1 + if [ -x /usr/sbin/restorecon ]; then + /usr/sbin/restorecon "$datadir" + /usr/sbin/restorecon $log + fi + + # If special mysql dir is in place, skip db install + [ -d "$datadir/mysql" ] && exit 0 + + # Create initial db + /usr/bin/mysql_install_db --rpm --datadir="$datadir" --user=mysql + exit 0 +} + +pinger () { + # Wait for ping to answer to signal startup completed, + # might take a while in case of e.g. crash recovery + # MySQL systemd service will timeout script if no answer + datadir=$(get_option mysqld datadir "/var/lib/mysql") + socket=$(get_option mysqld socket "$datadir/mysql.sock") + case $socket in + /*) adminsocket="$socket" ;; + *) adminsocket="$datadir/$socket" ;; + esac + + while /bin/true ; do + sleep 1 + mysqladmin --no-defaults --socket="$adminsocket" --user=UNKNOWN_MYSQL_USER ping >/dev/null 2>&1 && break + done + exit 0 +} + +# main +case $1 in + "pre") install_db ;; + "post") pinger ;; +esac + +exit 0 + diff --git a/meta-oe/recipes-support/mysql/mariadb/mysqld.service b/meta-oe/recipes-support/mysql/mariadb/mysqld.service index 757d0386c39..d88361703da 100644 --- a/meta-oe/recipes-support/mysql/mariadb/mysqld.service +++ b/meta-oe/recipes-support/mysql/mariadb/mysqld.service @@ -8,7 +8,16 @@ PIDFile=/var/lib/mysql/mysqld.pid Type=simple User=mysql Group=mysql + +# Execute post scripts as root +PermissionsStartOnly=true + +# Start main service ExecStart=@BINDIR@/mysqld_safe --basedir=@PREFIX@ + +# Don't signal startup success before a ping works +ExecStartPost=@BINDIR@/mysql-systemd-start post + TimeoutSec=300 PrivateTmp=true diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb index 3b10b55bcb1..a74853ce3a5 100644 --- a/meta-oe/recipes-support/opencv/opencv_2.4.bb +++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb @@ -5,7 +5,8 @@ SECTION = "libs" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14" -ARM_INSTRUCTION_SET = "arm" +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0" @@ -27,6 +28,8 @@ EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR} -DWITH_1394=OFF \ -DCMAKE_SKIP_RPATH=ON \ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \ ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ " @@ -34,15 +37,16 @@ EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR} PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" + PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen," PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+," +PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," +PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," -PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," -PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," inherit distutils-base pkgconfig cmake diff --git a/meta-oe/recipes-support/opencv/opencv_3.0.bb b/meta-oe/recipes-support/opencv/opencv_3.0.bb index 575709c2dcd..1948a165657 100644 --- a/meta-oe/recipes-support/opencv/opencv_3.0.bb +++ b/meta-oe/recipes-support/opencv/opencv_3.0.bb @@ -5,7 +5,8 @@ SECTION = "libs" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=0ea90d28b4de883d7af5e6711f14f7bf" -ARM_INSTRUCTION_SET = "arm" +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" DEFAULT_PREFERENCE = "-1" @@ -26,6 +27,8 @@ EXTRA_OECMAKE = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DI -DWITH_1394=OFF \ -DCMAKE_SKIP_RPATH=ON \ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \ ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ " @@ -33,22 +36,23 @@ EXTRA_OECMAKE = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DI PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l gstreamer samples tbb \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" + +PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," +PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen," +PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base," PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3," +PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," -PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," -PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," -PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," -PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers," -PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base," PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," +PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," inherit distutils-base pkgconfig cmake diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.42.bb b/meta-oe/recipes-support/openldap/openldap_2.4.42.bb index 49fcb56bab4..347c4a61884 100644 --- a/meta-oe/recipes-support/openldap/openldap_2.4.42.bb +++ b/meta-oe/recipes-support/openldap/openldap_2.4.42.bb @@ -54,6 +54,7 @@ EXTRA_OECONF += "--enable-dynamic" PACKAGECONFIG ??= "gnutls modules \ ldap meta monitor null passwd shell proxycache dnssrv \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \ " #--with-tls with TLS/SSL support auto|openssl|gnutls [auto] PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt" @@ -61,6 +62,7 @@ PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl" PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl" PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" # SLAPD options # diff --git a/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb b/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb index 4add367d5cd..4e8b7d847b0 100644 --- a/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb +++ b/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb @@ -23,12 +23,13 @@ S = "${WORKDIR}/pam_passwdqc-${PV}" DEPENDS = "libpam" -EXTRA_OEMAKE = "CFLAGS="${CFLAGS} -Wall -fPIC -DHAVE_SHADOW"" +EXTRA_OEMAKE = "CFLAGS="${CFLAGS} -Wall -fPIC -DHAVE_SHADOW" \ + SECUREDIR=${base_libdir}/security" do_install() { oe_runmake install DESTDIR=${D} } -FILES_${PN} += "/lib/security/pam_passwdqc.so" -FILES_${PN}-dbg += "/lib/security/.debug" +FILES_${PN} += "${base_libdir}/security/pam_passwdqc.so" +FILES_${PN}-dbg += "${base_libdir}/security/.debug" diff --git a/meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb index 4f55e9f2d10..27c4110283f 100644 --- a/meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb +++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb @@ -1,5 +1,7 @@ -SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" -LICENSE = "Adobe" +SUMMARY = "Encoding files for Poppler" +DESCRIPTION = "Encoding files for use with poppler that enable poppler to \ + correctly render CJK and Cyrrilic." +LICENSE = "BSD & GPLv2 & GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \ file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \ file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \ @@ -7,15 +9,28 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \ inherit allarch -SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz" +INHIBIT_DEFAULT_DEPS = "1" + +CMAP_RESOURCES_BASE = "https://github.com/adobe-type-tools/cmap-resources/raw/0561ebca035813ed04c3485bca636a0aa7abdc1d/cmapresources_identity-0/CMap" + +SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz \ + ${CMAP_RESOURCES_BASE}/Identity-H;name=idh \ + ${CMAP_RESOURCES_BASE}/Identity-V;name=idv" + SRC_URI[md5sum] = "636a8f2b9f6df9e7ced8ec0946961eaf" SRC_URI[sha256sum] = "e752b0d88a7aba54574152143e7bf76436a7ef51977c55d6bd9a48dccde3a7de" +SRC_URI[idh.md5sum] = "009c93cf0141ab7bd6acb7eea14306cc" +SRC_URI[idh.sha256sum] = "ae702c203a82ea124e9b96590f821db6fbf8754e2c4547a9dba0e82f94739e95" +SRC_URI[idv.md5sum] = "2f32a45d43d001c26eeac6b878855fbf" +SRC_URI[idv.sha256sum] = "89a85daf7031e93c883e76b9168a226dfd585bf5506e9e1956772163f15cb082" do_compile() { } do_install() { oe_runmake install DESTDIR=${D} + install -d ${D}${datadir}/poppler/cMap + install -m644 ${WORKDIR}/Identity-* ${D}${datadir}/poppler/cMap/ } FILES_${PN} += "${datadir}" diff --git a/meta-oe/recipes-support/poppler/poppler_0.37.0.bb b/meta-oe/recipes-support/poppler/poppler_0.37.0.bb index 8d49bbe2c47..59c477dbd46 100644 --- a/meta-oe/recipes-support/poppler/poppler_0.37.0.bb +++ b/meta-oe/recipes-support/poppler/poppler_0.37.0.bb @@ -44,4 +44,4 @@ PACKAGES =+ "libpoppler libpoppler-glib" FILES_libpoppler = "${libdir}/libpoppler.so.*" FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" -RDEPENDS_${PN} = "poppler-data" +RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-oe/recipes-support/postgresql/files/postgresql-CVE-2016-0766.patch b/meta-oe/recipes-support/postgresql/files/postgresql-CVE-2016-0766.patch new file mode 100644 index 00000000000..df89eb0a149 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql-CVE-2016-0766.patch @@ -0,0 +1,35 @@ +From f4aa3a18a20d51575562520754aa376b3b08b2d0 Mon Sep 17 00:00:00 2001 +From: Noah Misch +Date: Fri, 5 Feb 2016 20:22:51 -0500 +Subject: [PATCH] Force certain "pljava" custom GUCs to be PGC_SUSET. + +Future PL/Java versions will close CVE-2016-0766 by making these GUCs +PGC_SUSET. This PostgreSQL change independently mitigates that PL/Java +vulnerability, helping sites that update PostgreSQL more frequently than +PL/Java. Back-patch to 9.1 (all supported versions). + +Upstream-Status: Backport + +Signed-off-by: Noah Misch +Index: postgresql-9.4.4/src/backend/utils/misc/guc.c +=================================================================== +--- postgresql-9.4.4.orig/src/backend/utils/misc/guc.c 2015-06-10 03:29:38.000000000 +0800 ++++ postgresql-9.4.4/src/backend/utils/misc/guc.c 2016-03-04 15:58:26.459266951 +0800 +@@ -7072,6 +7072,17 @@ + !process_shared_preload_libraries_in_progress) + elog(FATAL, "cannot create PGC_POSTMASTER variables after startup"); + ++ /* ++ * Before pljava commit 398f3b876ed402bdaec8bc804f29e2be95c75139 ++ * (2015-12-15), two of that module's PGC_USERSET variables facilitated ++ * trivial escalation to superuser privileges. Restrict the variables to ++ * protect sites that have yet to upgrade pljava. ++ */ ++ if (context == PGC_USERSET && ++ (strcmp(name, "pljava.classpath") == 0 || ++ strcmp(name, "pljava.vmoptions") == 0)) ++ context = PGC_SUSET; ++ + gen = (struct config_generic *) guc_malloc(ERROR, sz); + memset(gen, 0, sz); + diff --git a/meta-oe/recipes-support/postgresql/postgresql.inc b/meta-oe/recipes-support/postgresql/postgresql.inc index f3ff22583ae..06e601fa6bf 100644 --- a/meta-oe/recipes-support/postgresql/postgresql.inc +++ b/meta-oe/recipes-support/postgresql/postgresql.inc @@ -31,6 +31,7 @@ SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \ file://postgresql-setup \ file://postgresql.service \ file://0001-Use-pkg-config-for-libxml2-detection.patch \ + file://postgresql-CVE-2016-0766.patch \ " LEAD_SONAME = "libpq.so" @@ -141,14 +142,16 @@ do_configure() { -e "/^TCLSH/s:=.*:= ${bindir}/tclsh:g" \ ${B}/src/Makefile.global - # workaround perl package's libperl.so problem - # we are using perlnative so this perl should have same version - perl_version=`perl -v 2>/dev/null | \ - sed -n 's/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p'` - if [ ! -h "${STAGING_LIBDIR}/perl/$perl_version/CORE/libperl.so" -a \ - ! -h "${STAGING_LIBDIR}/libperl.so" ]; then - ln -sf ../../../libperl.so.5 \ - ${STAGING_LIBDIR}/perl/$perl_version/CORE/libperl.so + if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then + # workaround perl package's libperl.so problem + # we are using perlnative so this perl should have same version + perl_version=`perl -v 2>/dev/null | \ + sed -n 's/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p'` + if [ ! -h "${STAGING_LIBDIR}/perl/$perl_version/CORE/libperl.so" -a \ + ! -h "${STAGING_LIBDIR}/libperl.so" ]; then + ln -sf ../../../libperl.so.5 \ + ${STAGING_LIBDIR}/perl/$perl_version/CORE/libperl.so + fi fi } diff --git a/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch b/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch index 7b2361b4a22..6466df4e02d 100644 --- a/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch +++ b/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch @@ -34,7 +34,7 @@ index bc9df9e..2a33d29 100644 dnl bail out if we can't find it if test "$RSYNC" = "no"; then - AC_MSG_ERROR(rsync is required) -+ RSYNC=/usr/bin/rsync ++ RSYNC=${bindir}/rsync + AC_SUBST(CMD_RSYNC, "cmd_rsync $RSYNC") fi diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc index a990bf8e1fa..54f6920f5b9 100644 --- a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc @@ -96,12 +96,18 @@ SYSTEMD_SERVICE_${PN} = "${BPN}.service" # no syslog-init for systemd python () { - if 'sysvinit' in d.getVar("DISTRO_FEATURES", True).split(): + if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): pn = d.getVar('PN', True) sysconfdir = d.getVar('sysconfdir', True) d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init') d.setVarFlag('ALTERNATIVE_PRIORITY', 'syslog-init', '200') d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir)) + + if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d): + pn = d.getVar('PN', True) + d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service') + d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True))) + d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/${BPN}.service' % (d.getVar('systemd_unitdir', True))) } INITSCRIPT_NAME = "syslog" diff --git a/meta-oe/recipes-support/tbb/tbb_4.1.bb b/meta-oe/recipes-support/tbb/tbb_4.1.bb index 55212dc6ca3..09ed6ec527e 100644 --- a/meta-oe/recipes-support/tbb/tbb_4.1.bb +++ b/meta-oe/recipes-support/tbb/tbb_4.1.bb @@ -26,7 +26,7 @@ do_compile() { do_install() { install -d ${D}${includedir} ${D}${libdir}/pkgconfig rm ${S}/include/tbb/index.html -f - cp -a ${S}/include/tbb ${D}${includedir} + cp -R --no-dereference --preserve=mode,links -v ${S}/include/tbb ${D}${includedir} install -m 0755 ${B}/build/linux_*_release/lib*.so* ${D}${libdir} install -m 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig } diff --git a/meta-oe/recipes-support/tree/tree_1.7.0.bb b/meta-oe/recipes-support/tree/tree_1.7.0.bb index 507b12a3973..2e8ebdb4d99 100644 --- a/meta-oe/recipes-support/tree/tree_1.7.0.bb +++ b/meta-oe/recipes-support/tree/tree_1.7.0.bb @@ -1,4 +1,4 @@ -DESCRIPTION = "a recursive directory listing command" +SUMMARY = "A recursive directory listing command" HOMEPAGE = "http://mama.indstate.edu/users/ice/tree/" SECTION = "console/utils" LICENSE = "GPLv2" @@ -8,7 +8,14 @@ SRC_URI = "ftp://mama.indstate.edu/linux/${BPN}/${BP}.tgz" SRC_URI[md5sum] = "abe3e03e469c542d8e157cdd93f4d8a6" SRC_URI[sha256sum] = "6957c20e82561ac4231638996e74f4cfa4e6faabc5a2f511f0b4e3940e8f7b12" +# tree's default CFLAGS for Linux +CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" + +EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'" + +do_configure[noexec] = "1" + do_install() { install -d ${D}${bindir} - install -m 0755 ${S}/${BPN} ${D}${bindir}/${BPN} + install -m 0755 ${S}/${BPN} ${D}${bindir}/ } diff --git a/meta-oe/recipes-support/udisks/udisks2_2.1.5.bb b/meta-oe/recipes-support/udisks/udisks2_2.1.5.bb index 031b0e8f701..fd8d8591b06 100644 --- a/meta-oe/recipes-support/udisks/udisks2_2.1.5.bb +++ b/meta-oe/recipes-support/udisks/udisks2_2.1.5.bb @@ -2,7 +2,7 @@ SUMMARY = "udisks provides dbus interfaces for disks and storage devices" LICENSE = "GPLv2+ & LGPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43" -DEPENDS = "libatasmart polkit libgudev dbus-glib glib-2.0 intltool-native gnome-common-native" +DEPENDS = "acl libatasmart polkit libgudev dbus-glib glib-2.0 intltool-native gnome-common-native" DEPENDS += "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" RDEPENDS_${PN} = "acl" diff --git a/meta-oe/recipes-support/xdelta/files/CVE-2014-9765.patch b/meta-oe/recipes-support/xdelta/files/CVE-2014-9765.patch new file mode 100644 index 00000000000..572a3c00a67 --- /dev/null +++ b/meta-oe/recipes-support/xdelta/files/CVE-2014-9765.patch @@ -0,0 +1,311 @@ +From ef93ff74203e030073b898c05e8b4860b5d09ef2 Mon Sep 17 00:00:00 2001 +From: "josh.macdonald" +Date: Sun, 12 Oct 2014 05:24:22 +0000 +Subject: [PATCH] Add appheader tests; fix buffer overflow in + main_get_appheader + +Upstream-Status: Backport + +This appears to be fixed in xdelta3 3.0.9 and later via +https://github.com/jmacd/xdelta-devel/commit/ef93ff74203e030073b898c05e8b4860b5d09ef2 + +CVE: CVE-2014-9765 +Signed-off-by: Armin Kuster + +--- + xdelta3-main.h | 5 +- + xdelta3-test.h | 131 +++++++++++++++++++++++++++++++++++++++---------- + 2 files changed, 108 insertions(+), 28 deletions(-) + +diff --git a/xdelta3-main.h b/xdelta3-main.h +index 090b7d9..5146b38 100644 +--- a/xdelta3-main.h ++++ b/xdelta3-main.h +@@ -2810,14 +2810,15 @@ main_get_appheader (xd3_stream *stream, main_file *ifile, + + if (appheadsz > 0) + { ++ const int kMaxArgs = 4; + char *start = (char*)apphead; + char *slash; + int place = 0; +- char *parsed[4]; ++ char *parsed[kMaxArgs]; + + memset (parsed, 0, sizeof (parsed)); + +- while ((slash = strchr (start, '/')) != NULL) ++ while ((slash = strchr (start, '/')) != NULL && place < (kMaxArgs-1)) + { + *slash = 0; + parsed[place++] = start; +diff --git a/xdelta3-test.h b/xdelta3-test.h +index e9848b6..0e10251 100644 +--- a/xdelta3-test.h ++++ b/xdelta3-test.h +@@ -1,5 +1,5 @@ + /* xdelta 3 - delta compression tools and library Copyright (C) 2001, +- * 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. ++ * 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. + * Joshua P. MacDonald + * + * This program is free software; you can redistribute it and/or modify +@@ -54,7 +54,7 @@ void mt_init(mtrand *mt, uint32_t seed) { + /* only MSBs of the array mt[]. */ + /* 2002/01/09 modified by Makoto Matsumoto */ + mt->mt_buffer_[i] = +- (1812433253UL * (mt->mt_buffer_[i-1] ^ ++ (1812433253UL * (mt->mt_buffer_[i-1] ^ + (mt->mt_buffer_[i-1] >> 30)) + i); + } + } +@@ -69,20 +69,20 @@ uint32_t mt_random (mtrand *mt) { + int kk; + + for (kk = 0; kk < MT_LEN - MT_IA; kk++) { +- y = (mt->mt_buffer_[kk] & UPPER_MASK) | ++ y = (mt->mt_buffer_[kk] & UPPER_MASK) | + (mt->mt_buffer_[kk + 1] & LOWER_MASK); +- mt->mt_buffer_[kk] = mt->mt_buffer_[kk + MT_IA] ^ ++ mt->mt_buffer_[kk] = mt->mt_buffer_[kk + MT_IA] ^ + (y >> 1) ^ mag01[y & 0x1UL]; + } + for (;kk < MT_LEN - 1; kk++) { +- y = (mt->mt_buffer_[kk] & UPPER_MASK) | ++ y = (mt->mt_buffer_[kk] & UPPER_MASK) | + (mt->mt_buffer_[kk + 1] & LOWER_MASK); +- mt->mt_buffer_[kk] = mt->mt_buffer_[kk + (MT_IA - MT_LEN)] ^ ++ mt->mt_buffer_[kk] = mt->mt_buffer_[kk + (MT_IA - MT_LEN)] ^ + (y >> 1) ^ mag01[y & 0x1UL]; + } +- y = (mt->mt_buffer_[MT_LEN - 1] & UPPER_MASK) | ++ y = (mt->mt_buffer_[MT_LEN - 1] & UPPER_MASK) | + (mt->mt_buffer_[0] & LOWER_MASK); +- mt->mt_buffer_[MT_LEN - 1] = mt->mt_buffer_[MT_IA - 1] ^ ++ mt->mt_buffer_[MT_LEN - 1] = mt->mt_buffer_[MT_IA - 1] ^ + (y >> 1) ^ mag01[y & 0x1UL]; + mt->mt_index_ = 0; + } +@@ -166,7 +166,7 @@ static int do_cmd (xd3_stream *stream, const char *buf) + { + stream->msg = "abnormal command termination"; + } +- return XD3_INTERNAL; ++ return ret; + } + return 0; + } +@@ -257,8 +257,10 @@ int test_setup (void) + static int + test_make_inputs (xd3_stream *stream, xoff_t *ss_out, xoff_t *ts_out) + { +- usize_t ts = (mt_random (&static_mtrand) % TEST_FILE_MEAN) + TEST_FILE_MEAN / 2; +- usize_t ss = (mt_random (&static_mtrand) % TEST_FILE_MEAN) + TEST_FILE_MEAN / 2; ++ usize_t ts = (mt_random (&static_mtrand) % TEST_FILE_MEAN) + ++ TEST_FILE_MEAN / 2; ++ usize_t ss = (mt_random (&static_mtrand) % TEST_FILE_MEAN) + ++ TEST_FILE_MEAN / 2; + uint8_t *buf = (uint8_t*) malloc (ts + ss), *sbuf = buf, *tbuf = buf + ss; + usize_t sadd = 0, sadd_max = (usize_t)(ss * TEST_ADD_RATIO); + FILE *tf = NULL, *sf = NULL; +@@ -409,7 +411,7 @@ test_compare_files (const char* tgt, const char *rec) + { + if (obuf[i] != rbuf[i]) + { +- XPR(NT "byte %u (read %u @ %"Q"u) %d != %d\n", ++ XPR(NT "byte %u (read %u @ %"Q"u) %d != %d\n", + (int)i, (int)oc, offset, obuf[i], rbuf[i]); + diffs++; + return XD3_INTERNAL; +@@ -421,7 +423,7 @@ test_compare_files (const char* tgt, const char *rec) + + fclose (orig); + fclose (recons); +- if (diffs != 0) ++ if (diffs != 0) + { + return XD3_INTERNAL; + } +@@ -429,12 +431,12 @@ test_compare_files (const char* tgt, const char *rec) + } + + static int +-test_save_copy (const char *origname) ++test_copy_to (const char *from, const char *to) + { + char buf[TESTBUFSIZE]; + int ret; + +- snprintf_func (buf, TESTBUFSIZE, "cp -f %s %s", origname, TEST_COPY_FILE); ++ snprintf_func (buf, TESTBUFSIZE, "cp -f %s %s", from, to); + + if ((ret = system (buf)) != 0) + { +@@ -445,6 +447,12 @@ test_save_copy (const char *origname) + } + + static int ++test_save_copy (const char *origname) ++{ ++ return test_copy_to(origname, TEST_COPY_FILE); ++} ++ ++static int + test_file_size (const char* file, xoff_t *size) + { + struct stat sbuf; +@@ -499,7 +507,7 @@ test_read_integer_error (xd3_stream *stream, usize_t trunto, const char *msg) + inp = buf->base; + max = buf->base + buf->next - trunto; + +- if ((ret = xd3_read_uint32_t (stream, & inp, max, & rval)) != ++ if ((ret = xd3_read_uint32_t (stream, & inp, max, & rval)) != + XD3_INVALID_INPUT || + !MSG_IS (msg)) + { +@@ -1654,11 +1662,11 @@ test_compressed_stream_overflow (xd3_stream *stream, int ignore) + if ((buf = (uint8_t*) malloc (TWO_MEGS_AND_DELTA)) == NULL) { return ENOMEM; } + + memset (buf, 0, TWO_MEGS_AND_DELTA); +- for (i = 0; i < (2 << 20); i += 256) ++ for (i = 0; i < (2 << 20); i += 256) + { + int j; + int off = mt_random(& static_mtrand) % 10; +- for (j = 0; j < 256; j++) ++ for (j = 0; j < 256; j++) + { + buf[i + j] = j + off; + } +@@ -1683,11 +1691,11 @@ test_compressed_stream_overflow (xd3_stream *stream, int ignore) + } + + /* Test transfer of exactly 32bits worth of data. */ +- if ((ret = test_streaming (stream, +- buf, +- buf + (1 << 20), +- buf + (2 << 20), +- 1 << 12))) ++ if ((ret = test_streaming (stream, ++ buf, ++ buf + (1 << 20), ++ buf + (2 << 20), ++ 1 << 12))) + { + goto fail; + } +@@ -1889,7 +1897,7 @@ test_recode_command2 (xd3_stream *stream, int has_source, + } + + /* First encode */ +- snprintf_func (ecmd, TESTBUFSIZE, "%s %s -f %s %s %s %s %s %s %s", ++ snprintf_func (ecmd, TESTBUFSIZE, "%s %s -f %s %s %s %s %s %s %s", + program_name, test_softcfg_str, + has_adler32 ? "" : "-n ", + has_apphead ? "-A=encode_apphead " : "-A= ", +@@ -1910,7 +1918,7 @@ test_recode_command2 (xd3_stream *stream, int has_source, + snprintf_func (recmd, TESTBUFSIZE, + "%s recode %s -f %s %s %s %s %s", program_name, test_softcfg_str, + recoded_adler32 ? "" : "-n ", +- !change_apphead ? "" : ++ !change_apphead ? "" : + (recoded_apphead ? "-A=recode_apphead " : "-A= "), + recoded_secondary ? "-S djw " : "-S none ", + TEST_DELTA_FILE, +@@ -2361,6 +2369,76 @@ test_no_output (xd3_stream *stream, int ignore) + return 0; + } + ++/* This tests that the default appheader works */ ++static int ++test_appheader (xd3_stream *stream, int ignore) ++{ ++ int i; ++ int ret; ++ char buf[TESTBUFSIZE]; ++ char bogus[TESTBUFSIZE]; ++ xoff_t ssize, tsize; ++ test_setup (); ++ ++ if ((ret = test_make_inputs (stream, &ssize, &tsize))) { return ret; } ++ ++ snprintf_func (buf, TESTBUFSIZE, "%s -q -f -e -s %s %s %s", program_name, ++ TEST_SOURCE_FILE, TEST_TARGET_FILE, TEST_DELTA_FILE); ++ if ((ret = do_cmd (stream, buf))) { return ret; } ++ ++ if ((ret = test_copy_to (program_name, TEST_RECON2_FILE))) { return ret; } ++ ++ snprintf_func (buf, TESTBUFSIZE, "chmod 0700 %s", TEST_RECON2_FILE); ++ if ((ret = do_cmd (stream, buf))) { return ret; } ++ ++ if ((ret = test_save_copy (TEST_TARGET_FILE))) { return ret; } ++ if ((ret = test_copy_to (TEST_SOURCE_FILE, TEST_TARGET_FILE))) { return ret; } ++ ++ if ((ret = test_compare_files (TEST_TARGET_FILE, TEST_COPY_FILE)) == 0) ++ { ++ return XD3_INVALID; // I.e., files are different! ++ } ++ ++ // Test that the target file is restored. ++ snprintf_func (buf, TESTBUFSIZE, "(cd /tmp && %s -q -f -d %s)", ++ TEST_RECON2_FILE, ++ TEST_DELTA_FILE); ++ if ((ret = do_cmd (stream, buf))) { return ret; } ++ ++ if ((ret = test_compare_files (TEST_TARGET_FILE, TEST_COPY_FILE)) != 0) ++ { ++ return ret; ++ } ++ ++ // Test a malicious string w/ entries > 4 in the appheader by having ++ // the encoder write it: ++ for (i = 0; i < TESTBUFSIZE / 4; ++i) ++ { ++ bogus[2*i] = 'G'; ++ bogus[2*i+1] = '/'; ++ } ++ bogus[TESTBUFSIZE/2-1] = 0; ++ ++ snprintf_func (buf, TESTBUFSIZE, ++ "%s -q -f -A=%s -e -s %s %s %s", program_name, bogus, ++ TEST_SOURCE_FILE, TEST_TARGET_FILE, TEST_DELTA_FILE); ++ if ((ret = do_cmd (stream, buf))) { return ret; } ++ // Then read it: ++ snprintf_func (buf, TESTBUFSIZE, "(cd /tmp && %s -q -f -d %s)", ++ TEST_RECON2_FILE, ++ TEST_DELTA_FILE); ++ if ((ret = do_cmd (stream, buf)) == 0) ++ { ++ return XD3_INVALID; // Impossible ++ } ++ if (!WIFEXITED(ret)) ++ { ++ return XD3_INVALID; // Must have crashed! ++ } ++ ++ return 0; ++} ++ + /*********************************************************************** + Source identical optimization + ***********************************************************************/ +@@ -2603,7 +2681,7 @@ test_string_matching (xd3_stream *stream, int ignore) + default: CHECK(0); + } + +- snprintf_func (rptr, rbuf+TESTBUFSIZE-rptr, "%d/%d", ++ snprintf_func (rptr, rbuf+TESTBUFSIZE-rptr, "%d/%d", + inst->pos, inst->size); + rptr += strlen (rptr); + +@@ -2848,6 +2926,7 @@ xd3_selftest (void) + DO_TEST (force_behavior, 0, 0); + DO_TEST (stdout_behavior, 0, 0); + DO_TEST (no_output, 0, 0); ++ DO_TEST (appheader, 0, 0); + DO_TEST (command_line_arguments, 0, 0); + + #if EXTERNAL_COMPRESSION +-- +2.3.5 + diff --git a/meta-oe/recipes-support/xdelta/xdelta3_3.0.8.bb b/meta-oe/recipes-support/xdelta/xdelta3_3.0.8.bb index baa92e4bb2c..2ddf78a0f40 100644 --- a/meta-oe/recipes-support/xdelta/xdelta3_3.0.8.bb +++ b/meta-oe/recipes-support/xdelta/xdelta3_3.0.8.bb @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" SRC_URI = "http://xdelta.googlecode.com/files/${BPN}-${PV}.tar.xz \ file://compilation-fix.patch \ file://with-liblzma-configure-option.patch \ + file://CVE-2014-9765.patch \ " SRC_URI[md5sum] = "c3ae3286ce4193de8e03d5bcaccf3bc3" SRC_URI[sha256sum] = "3a86f29c95664fb44b8a40ff22d9bcc3e87aa8c01f0ff75931a7fa78ed3d2e55" diff --git a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb index d9a03c6d406..bf99aff4377 100644 --- a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb +++ b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb @@ -24,3 +24,10 @@ inherit autotools EXTRA_OECONF="--disable-build-docs \ --with-libxml-prefix=${STAGING_LIBDIR}/.. \ --with-libxslt-prefix=${STAGING_LIBDIR}/.." + +#Makefile:2116: recipe for target 'src/elem-usage.c' failed +#make[1]: *** [src/elem-usage.c] Error 1 +#/bin/bash: src/escape-usage.c: No such file or directory +#Makefile:2116: recipe for target 'src/escape-usage.c' failed +#make[1]: *** [src/escape-usage.c] Error 1 +PARALLEL_MAKE = "" diff --git a/meta-perl/README b/meta-perl/README index 68160a628ce..e50f6f1d5bc 100644 --- a/meta-perl/README +++ b/meta-perl/README @@ -52,7 +52,7 @@ Dependencies This layer depends on: URI: git://git.openembedded.org/openembedded-core - branch: master + branch: jethro revision: HEAD prio: default @@ -75,12 +75,13 @@ Maintenance ----------- Send patches / pull requests to openembedded-devel@lists.openembedded.org with -'[meta-perl]' in the subject. +'[meta-perl][jethro]' in the subject. When sending single patches, please using something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][jethro][PATCH' -Layer maintainer: Hongxu Jia +Jethro Branch Maintainer: +Armin Kuster License ------- diff --git a/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb b/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb index 361bdf157e2..e658a5ff117 100644 --- a/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb +++ b/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb @@ -25,6 +25,4 @@ do_install_ptest () { cp -r ${B}/t ${D}${PTEST_PATH} } -PACKAGE_ARCH = "all" BBCLASSEXTEND = "native" - diff --git a/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb b/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb index affc9f668f1..8f1c98c67ab 100644 --- a/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb +++ b/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb @@ -22,5 +22,4 @@ do_install_ptest () { cp -r ${B}/t ${D}${PTEST_PATH} } -PACKAGE_ARCH = "all" BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libhtml/files/bin-htmltree-fix-shebang.patch b/meta-perl/recipes-perl/libhtml/files/bin-htmltree-fix-shebang.patch new file mode 100644 index 00000000000..4266f059d71 --- /dev/null +++ b/meta-perl/recipes-perl/libhtml/files/bin-htmltree-fix-shebang.patch @@ -0,0 +1,25 @@ +From 28ee994780459c3552d3cbbd6b011d054a41c439 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Sun, 8 Nov 2015 23:33:31 -0500 +Subject: [PATCH] bin/htmltree: fix shebang + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + bin/htmltree | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bin/htmltree b/bin/htmltree +index 8bf3db2..f9927e5 100755 +--- a/bin/htmltree ++++ b/bin/htmltree +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl ++#!/usr/bin/env perl + # Time-stamp: "2000-10-02 14:48:15 MDT" + # + # Parse the given HTML file(s) and dump the parse tree +-- +1.9.1 + diff --git a/meta-perl/recipes-perl/libhtml/libhtml-tree-perl_5.03.bb b/meta-perl/recipes-perl/libhtml/libhtml-tree-perl_5.03.bb index 0b457e316be..8eb0e06a043 100644 --- a/meta-perl/recipes-perl/libhtml/libhtml-tree-perl_5.03.bb +++ b/meta-perl/recipes-perl/libhtml/libhtml-tree-perl_5.03.bb @@ -11,7 +11,9 @@ HOMEPAGE = "http://www.cpan.org/authors/id/C/CJ/CJM/HTML-Tree-${PV}.readme" LICENSE = "Artistic-1.0 | GPL-1.0+" LIC_FILES_CHKSUM = "file://LICENSE;md5=3eb57a8958cae73cb65e7d0c26339242" -SRC_URI = "${CPAN_MIRROR}/authors/id/C/CJ/CJM/HTML-Tree-${PV}.tar.gz" +SRC_URI = "${CPAN_MIRROR}/authors/id/C/CJ/CJM/HTML-Tree-${PV}.tar.gz \ + file://bin-htmltree-fix-shebang.patch \ +" SRC_URI[md5sum] = "d9271d60b872ed6fbe68b2d0fe8c450e" SRC_URI[sha256sum] = "7d6d73fca622aa74855a8b088faa39454a0f91b7af83c9ec0387f01eefc2148f" diff --git a/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb b/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb index 19dec83a58f..ba5788a016d 100644 --- a/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb +++ b/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb @@ -24,8 +24,6 @@ S = "${WORKDIR}/IO-Socket-SSL-${PV}" inherit cpan ptest -PACKAGE_ARCH = "all" - do_install_append () { mkdir -p ${D}${docdir}/${PN}/ cp ${S}/BUGS ${D}${docdir}/${PN}/ diff --git a/meta-perl/recipes-perl/libnet/files/0001-libnet-ssleay-perl-Disable-test-that-fails-with-open.patch b/meta-perl/recipes-perl/libnet/files/0001-libnet-ssleay-perl-Disable-test-that-fails-with-open.patch new file mode 100644 index 00000000000..393ee191946 --- /dev/null +++ b/meta-perl/recipes-perl/libnet/files/0001-libnet-ssleay-perl-Disable-test-that-fails-with-open.patch @@ -0,0 +1,70 @@ +From e7a2d3a57fd51f0d4d5b3fcb6669b1876d4b18d2 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 10 Nov 2015 01:23:18 -0500 +Subject: [PATCH 1/2] libnet-ssleay-perl: Disable test that fails with + openssl-1.0.2b or above + +Run testsuits: +t/local/33_x509_create_cert............NOK 39/123 +not ok 39 - PEM_get_string_PrivateKey+passwd+enc_alg +| Failed test 'PEM_get_string_PrivateKey+passwd+enc_alg' +| at t/local/33_x509_create_cert.t line 104. +| undef +| doesn't match '(?^:-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----)' + +This is due to the following change in OpenSSL: +(git://git.openssl.org/openssl.git) +...... +4d9dc0c269be87b92da188df1fbd8bfee4700eb3 is the first bad commit +commit 4d9dc0c269be87b92da188df1fbd8bfee4700eb3 +Author: Dr. Stephen Henson +Date: Thu May 28 15:44:20 2015 +0100 + +check for error when creating PKCS#8 structure + +Reviewed-by: Rich Salz +(cherry picked from commit 2849707fa65d2803e6d1c1603fdd3fd1fdc4c6cc) +...... + +Upstream-Status: Backport from upstream latest 1.72: +http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.72.tar.gz + +Signed-off-by: Hongxu Jia +--- + t/local/33_x509_create_cert.t | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/t/local/33_x509_create_cert.t b/t/local/33_x509_create_cert.t +index 2f2c013..3e653ce 100755 +--- a/t/local/33_x509_create_cert.t ++++ b/t/local/33_x509_create_cert.t +@@ -2,7 +2,7 @@ + + use strict; + use warnings; +-use Test::More tests => 123; ++use Test::More tests => 121; + use Net::SSLeay qw/MBSTRING_ASC MBSTRING_UTF8 EVP_PK_RSA EVP_PKT_SIGN EVP_PKT_ENC/; + use File::Spec; + use utf8; +@@ -99,10 +99,13 @@ is(Net::SSLeay::X509_NAME_cmp($ca_issuer, $ca_subject), 0, "X509_NAME_cmp"); + } + ok(my $alg1 = Net::SSLeay::EVP_get_cipherbyname("DES-EDE3-CBC"), "EVP_get_cipherbyname"); + like(my $key_pem3 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg1), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg"); +- +- ok(my $alg2 = Net::SSLeay::EVP_get_cipherbyname("DES-EDE3-OFB"), "EVP_get_cipherbyname"); +- like(my $key_pem4 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg2), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg"); +- ++ ++# DES-EDE3-OFB has no ASN1 support, detected by changes to do_pk8pkey as of openssl 1.0.1n ++# https://git.openssl.org/?p=openssl.git;a=commit;h=4d9dc0c269be87b92da188df1fbd8bfee4700eb3 ++# this test now fails ++# ok(my $alg2 = Net::SSLeay::EVP_get_cipherbyname("DES-EDE3-OFB"), "EVP_get_cipherbyname"); ++# like(my $key_pem4 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg2), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg"); ++ + is(Net::SSLeay::X509_NAME_print_ex($name), "O=Company Name,C=UK,CN=Common name text X509", "X509_NAME_print_ex"); + + # 2014-06-06: Sigh, some versions of openssl have this patch, which afffects the results of this test: +-- +1.9.1 + diff --git a/meta-perl/recipes-perl/libnet/files/0002-Recent-1.0.2-betas-have-dropped-the-SSLv3_method-fun.patch b/meta-perl/recipes-perl/libnet/files/0002-Recent-1.0.2-betas-have-dropped-the-SSLv3_method-fun.patch new file mode 100644 index 00000000000..e3650b8ea38 --- /dev/null +++ b/meta-perl/recipes-perl/libnet/files/0002-Recent-1.0.2-betas-have-dropped-the-SSLv3_method-fun.patch @@ -0,0 +1,75 @@ +From d94f2d3f96db529383b22f2dc294847190d1bfbe Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 10 Nov 2015 02:11:30 -0500 +Subject: [PATCH 2/2] Recent 1.0.2 betas have dropped the SSLv3_method + function. This patch leaves out the function on newer versions, much the same + as the SSLv2 deprecation is handled. It also fixes the ALPN test, which was + incorrectly failing on OpenSSL due to the LibreSSL check (earlier versions + bailed out before that line). Signed-off-by: Patch from Tom Molesworth + +Upstream-Status: Backport from upstream 1.67 +http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.67.tar.gz +https://rt.cpan.org/Public/Bug/Display.html?id=101484 + +Signed-off-by: Hongxu Jia +--- + SSLeay.xs | 12 ++++++++++++ + t/local/41_alpn_support.t | 2 +- + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/SSLeay.xs b/SSLeay.xs +index c31396d..1fd4fab 100644 +--- a/SSLeay.xs ++++ b/SSLeay.xs +@@ -1409,6 +1409,9 @@ SSL_CTX_v2_new() + #endif + #endif + ++#ifndef OPENSSL_NO_SSL3 ++#if OPENSSL_VERSION_NUMBER < 0x10002000L ++ + SSL_CTX * + SSL_CTX_v3_new() + CODE: +@@ -1416,6 +1419,9 @@ SSL_CTX_v3_new() + OUTPUT: + RETVAL + ++#endif ++#endif ++ + SSL_CTX * + SSL_CTX_v23_new() + CODE: +@@ -3758,9 +3764,15 @@ SSLv2_method() + #endif + #endif + ++#ifndef OPENSSL_NO_SSL3 ++#if OPENSSL_VERSION_NUMBER < 0x10002000L ++ + const SSL_METHOD * + SSLv3_method() + ++#endif ++#endif ++ + const SSL_METHOD * + TLSv1_method() + +diff --git a/t/local/41_alpn_support.t b/t/local/41_alpn_support.t +index ba984b5..87a0214 100644 +--- a/t/local/41_alpn_support.t ++++ b/t/local/41_alpn_support.t +@@ -11,7 +11,7 @@ use Config; + + BEGIN { + plan skip_all => "openssl 1.0.2 required" unless Net::SSLeay::SSLeay >= 0x10002000; +- plan skip_all => "libressl not supported" if &Net::SSLeay::LIBRESSL_VERSION_NUMBER; ++ plan skip_all => "libressl not supported" if defined &Net::SSLeay::LIBRESSL_VERSION_NUMBER; + plan skip_all => "fork() not supported on $^O" unless $Config{d_fork}; + } + +-- +1.9.1 + diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb index b2891518e6a..cfd6f513010 100644 --- a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb +++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb @@ -19,6 +19,8 @@ RDEPENDS_${PN} += "perl-module-carp \ " SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-${PV}.tar.gz \ + file://0001-libnet-ssleay-perl-Disable-test-that-fails-with-open.patch \ + file://0002-Recent-1.0.2-betas-have-dropped-the-SSLv3_method-fun.patch \ file://run-ptest \ " SRC_URI[md5sum] = "19600c036e9e0bbfbf9157f083e40755" diff --git a/meta-python/README b/meta-python/README index f62ab8fe8e0..764ef6734c2 100644 --- a/meta-python/README +++ b/meta-python/README @@ -17,12 +17,12 @@ The meta-python layer depends on: URI: git://git.openembedded.org/openembedded-core layers: meta - branch: master + branch: jethro revision: HEAD URI: git://git.openembedded.org/meta-openembedded layers: meta-oe - branch: master + branch: jethro revision: HEAD Please follow the recommended setup procedures of your OE distribution. @@ -39,15 +39,13 @@ comments and patch review. It is subscriber only, so please register before posting. Send pull requests to openembedded-devel@lists.openembedded.org with -'[meta-python]' in the subject. +'[meta-python][jethro]' in the subject. When sending single patches, please use something like: -'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][PATCH' +'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][jethro][PATCH' Maintenance ------------------------- -Maintainers: - Tim "moto-timo" Orling - Paul "bluelightning" Eggleton - +Jethro Branch Maintainer: +Armin Kuster diff --git a/meta-python/recipes-devtools/python/python-cryptography/Comment_lingering_SSLv2_symbol.patch b/meta-python/recipes-devtools/python/python-cryptography/Comment_lingering_SSLv2_symbol.patch new file mode 100644 index 00000000000..c8dbee27df9 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-cryptography/Comment_lingering_SSLv2_symbol.patch @@ -0,0 +1,25 @@ +From f326e4a97cce6b9479560ce0c65ad18d54393f96 Mon Sep 17 00:00:00 2001 +From: Cory Benfield +Date: Mon, 14 Dec 2015 15:37:46 +0000 +Subject: [PATCH] Comment lingering SSLv2 symbol. + +--- + src/_cffi_src/openssl/ssl.py | 4 ++++ + 1 file changed, 4 insertions(+) + +Index: cryptography-0.8.1/src/cryptography/hazmat/bindings/openssl/ssl.py +=================================================================== +--- cryptography-0.8.1.orig/src/cryptography/hazmat/bindings/openssl/ssl.py ++++ cryptography-0.8.1/src/cryptography/hazmat/bindings/openssl/ssl.py +@@ -372,6 +372,11 @@ const long SSL_OP_LEGACY_SERVER_CONNECT + #else + static const long Cryptography_HAS_SECURE_RENEGOTIATION = 1; + #endif ++ ++/* Cryptography now compiles out all SSLv2 bindings. This exists to allow ++ * clients that use it to check for SSLv2 support to keep functioning as ++ * expected. ++ */ + static const long Cryptography_HAS_SSL2 = 0; + + #ifdef OPENSSL_NO_SSL3_METHOD diff --git a/meta-python/recipes-devtools/python/python-cryptography/Remove_SSLv2_bindings.patch b/meta-python/recipes-devtools/python/python-cryptography/Remove_SSLv2_bindings.patch new file mode 100644 index 00000000000..f0c9abccedb --- /dev/null +++ b/meta-python/recipes-devtools/python/python-cryptography/Remove_SSLv2_bindings.patch @@ -0,0 +1,70 @@ +From 90c6a53a885dd5c66992309e0af98ac554f1bb97 Mon Sep 17 00:00:00 2001 +From: Cory Benfield +Date: Mon, 14 Dec 2015 08:35:20 +0000 +Subject: [PATCH] Remove SSLv2 bindings. + +This commit removes bindings that allow users to set SSLv2 handshake +methods. These are regarded as unnecessary and out-of-date: see #2527. +This commit does leave in a few options that refer to SSLv2 in order to +avoid breaking deployments that rely on them, and in order to allow +users to continue to request that SSLv2 not be enabled at all in their +OpenSSL. + +Upstream-Status: Backport + +This fixes the compile issue after updating to openssl 1.0.2h. refactored to apply to jethro. +Signed-off-by: Armin Kuster + +--- + src/_cffi_src/openssl/ssl.py | 17 +---------------- + .../hazmat/bindings/openssl/_conditional.py | 6 ------ + 2 files changed, 1 insertion(+), 22 deletions(-) + +Index: cryptography-0.8.1/src/cryptography/hazmat/bindings/openssl/ssl.py +=================================================================== +--- cryptography-0.8.1.orig/src/cryptography/hazmat/bindings/openssl/ssl.py ++++ cryptography-0.8.1/src/cryptography/hazmat/bindings/openssl/ssl.py +@@ -262,15 +262,6 @@ unsigned long SSL_CTX_add_extra_chain_ce + + /* methods */ + +-/* SSLv2 support is compiled out of some versions of OpenSSL. These will +- * get special support when we generate the bindings so that if they are +- * available they will be wrapped, but if they are not they won't cause +- * problems (like link errors). +- */ +-const SSL_METHOD *SSLv2_method(void); +-const SSL_METHOD *SSLv2_server_method(void); +-const SSL_METHOD *SSLv2_client_method(void); +- + /* + * TLSv1_1 and TLSv1_2 are recent additions. Only sufficiently new versions of + * OpenSSL support them. +@@ -381,14 +372,7 @@ const long SSL_OP_LEGACY_SERVER_CONNECT + #else + static const long Cryptography_HAS_SECURE_RENEGOTIATION = 1; + #endif +-#ifdef OPENSSL_NO_SSL2 + static const long Cryptography_HAS_SSL2 = 0; +-SSL_METHOD* (*SSLv2_method)(void) = NULL; +-SSL_METHOD* (*SSLv2_client_method)(void) = NULL; +-SSL_METHOD* (*SSLv2_server_method)(void) = NULL; +-#else +-static const long Cryptography_HAS_SSL2 = 1; +-#endif + + #ifdef OPENSSL_NO_SSL3_METHOD + static const long Cryptography_HAS_SSL3_METHOD = 0; +@@ -574,12 +558,6 @@ CONDITIONAL_NAMES = { + "TLSv1_2_client_method", + ], + +- "Cryptography_HAS_SSL2": [ +- "SSLv2_method", +- "SSLv2_client_method", +- "SSLv2_server_method", +- ], +- + "Cryptography_HAS_SSL3_METHOD": [ + "SSLv3_method", + "SSLv3_client_method", diff --git a/meta-python/recipes-devtools/python/python-cryptography/build_fix_openssl_1.0.1g.patch b/meta-python/recipes-devtools/python/python-cryptography/build_fix_openssl_1.0.1g.patch new file mode 100644 index 00000000000..cbdc8ceaf24 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-cryptography/build_fix_openssl_1.0.1g.patch @@ -0,0 +1,28 @@ +build issue do to openssl 1.0.1g upgrade + +BIO *BIO_new_mem_buf(void *, int); + ^ +In file included from /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm/usr/include/openssl/asn1.h:65:0, +from build/temp.linux-x86_64-2.7/_openssl.c:413: + + +Upstream-Status: Pending + +seems to be a known issue +https://github.com/pyca/cryptography/issues/2750 + +Signed-off-by: Armin Kuster + +Index: cryptography-0.8.1/src/cryptography/hazmat/bindings/openssl/bio.py +=================================================================== +--- cryptography-0.8.1.orig/src/cryptography/hazmat/bindings/openssl/bio.py ++++ cryptography-0.8.1/src/cryptography/hazmat/bindings/openssl/bio.py +@@ -99,7 +99,7 @@ BIO *BIO_pop(BIO *); + BIO *BIO_next(BIO *); + BIO *BIO_find_type(BIO *, int); + BIO_METHOD *BIO_s_mem(void); +-BIO *BIO_new_mem_buf(void *, int); ++BIO *BIO_new_mem_buf(const void *, int); + BIO_METHOD *BIO_s_file(void); + BIO *BIO_new_file(const char *, const char *); + BIO *BIO_new_fp(FILE *, int); diff --git a/meta-python/recipes-devtools/python/python-cryptography_0.8.1.bb b/meta-python/recipes-devtools/python/python-cryptography_0.8.1.bb index 41e4acdb5bc..86bf0dc5436 100644 --- a/meta-python/recipes-devtools/python/python-cryptography_0.8.1.bb +++ b/meta-python/recipes-devtools/python/python-cryptography_0.8.1.bb @@ -7,6 +7,9 @@ SRCNAME = "cryptography" SRC_URI = "https://pypi.python.org/packages/source/c/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ file://run-ptest \ + file://build_fix_openssl_1.0.1g.patch \ + file://Remove_SSLv2_bindings.patch \ + file://Comment_lingering_SSLv2_symbol.patch \ " S = "${WORKDIR}/${SRCNAME}-${PV}" diff --git a/meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb b/meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb index e66077af178..aa5c08253ab 100644 --- a/meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb +++ b/meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb @@ -17,3 +17,5 @@ S = "${WORKDIR}/${SRCNAME}-${PV}" inherit setuptools RDEPENDS_${PN} += "python-io python-pickle python-crypt python-math python-netclient python-re python-textutils python-lang python-pprint python-shell python-markupsafe" + +CLEANBROKEN = "1" diff --git a/meta-python/recipes-devtools/python/python-m2crypto/dont_try_build_with_SSLv2_when_it_is_not_available.patch b/meta-python/recipes-devtools/python/python-m2crypto/dont_try_build_with_SSLv2_when_it_is_not_available.patch new file mode 100644 index 00000000000..526c23fa8d8 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-m2crypto/dont_try_build_with_SSLv2_when_it_is_not_available.patch @@ -0,0 +1,20 @@ +Upstream-Status: Backport +https://gitlab.com/m2crypto/m2crypto/commit/ac01b38302474920288c1a9eb63fd35fa8d1db5b + +Signed-off-by: Armin Kuster + +Index: M2Crypto-0.21.1/SWIG/_ssl.i +=================================================================== +--- M2Crypto-0.21.1.orig/SWIG/_ssl.i ++++ M2Crypto-0.21.1/SWIG/_ssl.i +@@ -48,8 +48,10 @@ extern const char *SSL_alert_desc_string + %rename(ssl_get_alert_desc_v) SSL_alert_desc_string_long; + extern const char *SSL_alert_desc_string_long(int); + ++#ifndef OPENSSL_NO_SSL2 + %rename(sslv2_method) SSLv2_method; + extern SSL_METHOD *SSLv2_method(void); ++#endif + %rename(sslv3_method) SSLv3_method; + extern SSL_METHOD *SSLv3_method(void); + %rename(sslv23_method) SSLv23_method; diff --git a/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb b/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb index ff6203f2059..9daea5e4176 100644 --- a/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb +++ b/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb @@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e" SRC_URI = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${PV}.tar.gz \ file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \ - file://0001-M2Crypto-Error-fix.patch" + file://0001-M2Crypto-Error-fix.patch \ + file://dont_try_build_with_SSLv2_when_it_is_not_available.patch" SRC_URI[md5sum] = "f93d8462ff7646397a9f77a2fe602d17" SRC_URI[sha256sum] = "25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a" @@ -19,6 +20,7 @@ inherit setuptools SWIG_FEATURES_x86-64 = "-D__x86_64__" SWIG_FEATURES ?= "" +SWIG_FEATURES += "-DOPENSSL_NO_SSL2" export SWIG_FEATURES # Get around a problem with swig, but only if the diff --git a/meta-python/recipes-devtools/python/python-requests_2.7.0.bb b/meta-python/recipes-devtools/python/python-requests_2.7.0.bb index 1564d50a85e..ac47202accb 100644 --- a/meta-python/recipes-devtools/python/python-requests_2.7.0.bb +++ b/meta-python/recipes-devtools/python/python-requests_2.7.0.bb @@ -14,3 +14,5 @@ SRC_URI[sha256sum] = "398a3db6d61899d25fd4a06c6ca12051b0ce171d705decd7ed5511517b S = "${WORKDIR}/${SRCNAME}-${PV}" inherit setuptools + +RDEPENDS_${PN} = "python-email python-json python-netserver python-zlib" diff --git a/meta-ruby/README b/meta-ruby/README index 08e0aa7ebe7..18be4eafd6d 100644 --- a/meta-ruby/README +++ b/meta-ruby/README @@ -1,16 +1,17 @@ This layer depends on: URI: git://github.com/openembedded/oe-core.git -branch: master +branch: jethro revision: HEAD URI: git://github.com/openembedded/meta-oe.git -branch: master +branch: jethro revision: HEAD -Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-ruby]' in the subject' +Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-ruby][jethro]' in the subject' When sending single patches, please using something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-ruby][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-ruby][jethro][PATCH' -Layer maintainer: Armin Kuster +Jethro Branch Maintainer: +Armin Kuster diff --git a/meta-systemd/README b/meta-systemd/README index 2cd90b4156b..65db7da80e8 100644 --- a/meta-systemd/README +++ b/meta-systemd/README @@ -1,13 +1,13 @@ This layer depends on: URI: git://github.com/openembedded/oe-core.git -branch: master +branch: jethro revision: HEAD And we're working to break the dependency on this one: URI: git://github.com/openembedded/meta-oe.git -branch: master +branch: jethro revision: HEAD To make BBMASK'ing per layer possible the following directory structure is @@ -15,12 +15,12 @@ used: $[LAYERDIR}//recipes-//.bbappend -Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][meta-systemd]' in the subject' +Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][meta-systemd][jethro]' in the subject' When sending single patches, please use something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][meta-systemd][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][meta-systemd][jethro][PATCH' You are encouraged to fork the mirror on github https://github.com/openembedded/meta-oe/ to share your patches, this is preferred for patch sets consisting of more than one patch. Other services like gitorious, repo.or.cz or self hosted setups are of course accepted as well, 'git fetch ' works the same on all of them. We recommend github because it is free, easy to use, has been proven to be reliable and has a really good web GUI. -Main layer maintainer: Koen Kooi - Martin Jansa +Jethro Branch Maintainer: +Armin Kuster diff --git a/meta-webserver/README b/meta-webserver/README index 379b54a02b2..153bd7b06fb 100644 --- a/meta-webserver/README +++ b/meta-webserver/README @@ -13,14 +13,14 @@ This layer depends on: URI: git://github.com/openembedded/oe-core.git subdirectory: meta -branch: master +branch: jethro revision: HEAD For some recipes, the meta-oe layer is required: URI: git://github.com/openembedded/meta-oe.git subdirectory: meta-oe -branch: master +branch: jethro revision: HEAD @@ -50,12 +50,14 @@ Notes Maintenance ----------- +Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-systemd][jethro]' in the subject' -Send patches / pull requests to openembedded-devel@lists.openembedded.org -with '[meta-webserver]' in the subject. +When sending single patches, please use something like: +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-systemd][jethro][PATCH' -Layer maintainer: Paul Eggleton +Jethro Branch Maintainer: +Armin Kuster License ------- diff --git a/meta-webserver/conf/layer.conf b/meta-webserver/conf/layer.conf index a4d6a27233d..bb508a8dea4 100644 --- a/meta-webserver/conf/layer.conf +++ b/meta-webserver/conf/layer.conf @@ -18,3 +18,7 @@ LAYERVERSION_webserver = "1" LAYERDEPENDS_webserver = "core" LICENSE_PATH += "${LAYERDIR}/licenses" + +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ + phpmyadmin->bash \ +" diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.16.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.16.bb index b62fd8c2864..48c448ebdd1 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.16.bb +++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.16.bb @@ -95,6 +95,8 @@ do_install_append() { install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service + + chown -R root:root ${D} } do_install_append_class-target() { diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/Port-content-spoofing-fix-CVE-2015-7873.patch b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/Port-content-spoofing-fix-CVE-2015-7873.patch new file mode 100644 index 00000000000..1e6bcbda52f --- /dev/null +++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/Port-content-spoofing-fix-CVE-2015-7873.patch @@ -0,0 +1,48 @@ +From ae7eae1cc88cbdf2d27a6f10f097ef731823689e Mon Sep 17 00:00:00 2001 +From: Wenzong Fan +Date: Sat, 14 Nov 2015 02:01:54 -0500 +Subject: [PATCH] Port content spoofing fix + +Backport upstream commit for fixing CVE-2015-7873: + https://github.com/phpmyadmin/phpmyadmin/commit/cd097656758f981f80fb9029c7d6b4294582b706 + +Upstream-Status: Backport + +Signed-off-by: Marc Delisle +Signed-off-by: Wenzong Fan +--- + ChangeLog | 4 ++++ + url.php | 3 ++- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/ChangeLog b/ChangeLog +index 4cb6708..96936c8 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -107,6 +107,10 @@ phpMyAdmin - ChangeLog + - issue #11448 Clarify doc about the MemoryLimit directive + - issue #11489 Cannot copy a database under certain conditions + ++4.4.15.1 (2015-10-23) ++- issue #11464 phpMyAdmin suggests upgrading to newer version not usable on that system ++- issue [security] Content spoofing on url.php ++ + 4.4.15.0 (not yet released) + - issue #11411 Undefined "replace" function on numeric scalar + - issue #11421 Stored-proc / routine - broken parameter parsing +diff --git a/url.php b/url.php +index eec78a5..9c4c884 100644 +--- a/url.php ++++ b/url.php +@@ -32,6 +32,7 @@ if (! PMA_isValid($_REQUEST['url']) + } + "; + // Display redirecting msg on screen. +- printf(__('Taking you to %s.'), htmlspecialchars($_REQUEST['url'])); ++ // Do not display the value of $_REQUEST['url'] to avoid showing injected content ++ echo __('Taking you to the target site.'); + } + die(); +-- +1.9.1 + diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/phpmyadmin-CVE-2015-8669.patch b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/phpmyadmin-CVE-2015-8669.patch new file mode 100644 index 00000000000..65fff6455e3 --- /dev/null +++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/phpmyadmin-CVE-2015-8669.patch @@ -0,0 +1,18 @@ +[Security] Path disclosure, see PMASA-2015-6 + +Upstream-Status: Bacport + +Signed-off-by: Marc Delisle + +diff -Nur phpMyAdmin-4.5.0.2-all-languages.orig/libraries/config/messages.inc.php phpMyAdmin-4.5.0.2-all-languages/libraries/config/messages.inc.php +--- phpMyAdmin-4.5.0.2-all-languages.orig/libraries/config/messages.inc.php 2016-01-20 15:11:15.410106888 +0800 ++++ phpMyAdmin-4.5.0.2-all-languages/libraries/config/messages.inc.php 2016-01-20 15:14:05.758108076 +0800 +@@ -11,7 +11,7 @@ + */ + + if (!function_exists('__')) { +- PMA_fatalError('Bad invocation!'); ++ exit(); + } + + $strConfigAllowArbitraryServer_desc = __( diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.5.0.2.bb b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.5.0.2.bb index e28b66a2344..ac321857b58 100644 --- a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.5.0.2.bb +++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.5.0.2.bb @@ -6,7 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://libraries/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c" SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/4.5.0.2/phpMyAdmin-4.5.0.2-all-languages.tar.xz \ - file://apache.conf" + file://Port-content-spoofing-fix-CVE-2015-7873.patch \ + file://apache.conf \ + file://phpmyadmin-CVE-2015-8669.patch \ +" SRC_URI[md5sum] = "2d08d2fcc8f70f88a11a14723e3ca275" SRC_URI[sha256sum] = "d2e90ea486d90b4ebe5eb02d7ad349ad2916c12a8981f98553395ef78d22a8ec" @@ -17,7 +20,7 @@ inherit allarch do_install() { install -d ${D}${datadir}/${BPN} - cp -a * ${D}${datadir}/${BPN} + cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN} chown -R root:root ${D}${datadir}/${BPN} # Don't install patches to target rm -rf ${D}${datadir}/${BPN}/patches diff --git a/meta-xfce/README b/meta-xfce/README index 33ef5096e81..609af2d6cf4 100644 --- a/meta-xfce/README +++ b/meta-xfce/README @@ -1,11 +1,11 @@ This layer depends on: URI: git://github.com/openembedded/oe-core.git -branch: master +branch: jethro revision: HEAD URI: git://github.com/openembedded/meta-oe.git -branch: master +branch: jethro revision: HEAD meta-xfce depends on meta-oe, meta-gnome and meta-multimedia in this repository. @@ -14,9 +14,10 @@ this to local.conf: BBMASK = "meta-xfce/recipes-multimedia" -Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce]' in the subject' +Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce][jethro]' in the subject' When sending single patches, please using something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-xfce][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-xfce][jethro][PATCH' -Interim layer maintainer: Andreas Müller +Jethro Branch Maintainer: +Armin Kuster diff --git a/meta-xfce/conf/layer.conf b/meta-xfce/conf/layer.conf index 55bcef6b596..64b107788fa 100644 --- a/meta-xfce/conf/layer.conf +++ b/meta-xfce/conf/layer.conf @@ -17,3 +17,7 @@ LAYERDEPENDS_xfce-layer += "openembedded-layer" LAYERDEPENDS_xfce-layer += "gnome-layer" LAYERDEPENDS_xfce-layer += "openembedded-layer" LAYERDEPENDS_xfce-layer += "meta-python" + +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ + xfce4-session->machine-host \ +" diff --git a/meta-ruby/recipes-extended/imsettings/imsettings/gtk-is-required-by-notify.patch b/meta-xfce/recipes-extended/imsettings/gtk-is-required-by-notify.patch similarity index 100% rename from meta-ruby/recipes-extended/imsettings/imsettings/gtk-is-required-by-notify.patch rename to meta-xfce/recipes-extended/imsettings/gtk-is-required-by-notify.patch diff --git a/meta-ruby/recipes-extended/imsettings/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch b/meta-xfce/recipes-extended/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch similarity index 100% rename from meta-ruby/recipes-extended/imsettings/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch rename to meta-xfce/recipes-extended/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch diff --git a/meta-ruby/recipes-extended/imsettings/imsettings_1.6.8.bb b/meta-xfce/recipes-extended/imsettings_1.6.8.bb similarity index 94% rename from meta-ruby/recipes-extended/imsettings/imsettings_1.6.8.bb rename to meta-xfce/recipes-extended/imsettings_1.6.8.bb index 64a229bd0b3..699547dec1a 100644 --- a/meta-ruby/recipes-extended/imsettings/imsettings_1.6.8.bb +++ b/meta-xfce/recipes-extended/imsettings_1.6.8.bb @@ -23,7 +23,7 @@ EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \ --disable-static \ " -DEPENDS = "gtk+ gconf libnotify dbus-glib libgxim" +DEPENDS = "gtk+ gconf libnotify dbus-glib libgxim xfconf" RDEPENDS_${PN} += "bash" diff --git a/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.bb b/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.bb index 83930073cea..14859248146 100644 --- a/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.bb +++ b/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.bb @@ -30,4 +30,4 @@ FILES_${PN}-dbg += "${libdir}/thunarx-2/.debug/ \ ${libdir}/xfce4/panel/plugins/.debug/ \ ${libdir}/Thunar/.debug/" -RRECOMMENDS_${PN} = "gvfs gvfsd-trash udisks" +RRECOMMENDS_${PN} = "gvfs gvfsd-trash"