aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcontrib/tesseract-langs.sh92
-rw-r--r--meta-efl/README1
-rw-r--r--meta-efl/classes/efl.bbclass7
-rw-r--r--meta-efl/conf/layer.conf18
-rw-r--r--meta-efl/recipes-devtools/python/python-efl.inc7
-rw-r--r--meta-efl/recipes-devtools/python/python-efl_1.12.0.bb4
-rw-r--r--meta-efl/recipes-devtools/python/python-efl_1.9.0.bb4
-rw-r--r--meta-efl/recipes-devtools/python/python-efl_git.bb9
-rw-r--r--meta-efl/recipes-efl/e17/cpu/configure.patch13
-rw-r--r--meta-efl/recipes-efl/e17/cpu_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/e-wm.inc11
-rw-r--r--meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch28
-rw-r--r--meta-efl/recipes-efl/e17/e-wm_0.18.7.bb20
-rw-r--r--meta-efl/recipes-efl/e17/e-wm_0.18.8.bb15
-rw-r--r--meta-efl/recipes-efl/e17/e-wm_0.19.2.bb19
-rw-r--r--meta-efl/recipes-efl/e17/e-wm_git.bb13
-rw-r--r--meta-efl/recipes-efl/e17/elbow_git.bb24
-rw-r--r--meta-efl/recipes-efl/e17/elmdentica/configure.patch13
-rw-r--r--meta-efl/recipes-efl/e17/elmdentica_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/enjoy/configure.patch13
-rw-r--r--meta-efl/recipes-efl/e17/enjoy_git.bb1
-rw-r--r--meta-efl/recipes-efl/e17/ephoto/configure.patch13
-rw-r--r--meta-efl/recipes-efl/e17/ephoto_svn.bb4
-rw-r--r--meta-efl/recipes-efl/e17/eve/0001-eve-theme-updated-for-Openmoko-Freerunner-screen.patch102
-rw-r--r--meta-efl/recipes-efl/e17/eve/0002-adapt-to-webkit-efl-changes.patch109
-rw-r--r--meta-efl/recipes-efl/e17/eve_git.bb34
-rw-r--r--meta-efl/recipes-efl/e17/exalt-client/configure.patch28
-rw-r--r--meta-efl/recipes-efl/e17/exalt-client_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/exquisite-theme-illume.bb2
-rw-r--r--meta-efl/recipes-efl/e17/exquisite_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/flame/configure.patch13
-rw-r--r--meta-efl/recipes-efl/e17/flame_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/forecasts/configure.patch13
-rw-r--r--meta-efl/recipes-efl/e17/forecasts_svn.bb4
-rw-r--r--meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb2
-rw-r--r--meta-efl/recipes-efl/e17/nonworking/emprint_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/nonworking/rage_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/places/configure.patch13
-rw-r--r--meta-efl/recipes-efl/e17/places_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/rain/configure.patch13
-rw-r--r--meta-efl/recipes-efl/e17/rain_svn.bb2
-rw-r--r--meta-efl/recipes-efl/e17/terminology.inc4
-rw-r--r--meta-efl/recipes-efl/e17/terminology_0.4.0.bb8
-rw-r--r--meta-efl/recipes-efl/e17/terminology_0.7.0.bb8
-rw-r--r--meta-efl/recipes-efl/e17/terminology_svn.bb9
-rw-r--r--meta-efl/recipes-efl/e17/uptime/configure.patch13
-rw-r--r--meta-efl/recipes-efl/e17/uptime_svn.bb4
-rw-r--r--meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb2
-rw-r--r--meta-efl/recipes-efl/efl/edb_svn.bb2
-rw-r--r--meta-efl/recipes-efl/efl/edbus.inc2
-rw-r--r--meta-efl/recipes-efl/efl/efl.inc44
-rw-r--r--meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch10
-rw-r--r--meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch51
-rw-r--r--meta-efl/recipes-efl/efl/efl_1.12.2.bb25
-rw-r--r--meta-efl/recipes-efl/efl/efl_1.9.3.bb17
-rw-r--r--meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb2
-rw-r--r--meta-efl/recipes-efl/efl/elementary.inc10
-rw-r--r--meta-efl/recipes-efl/efl/elementary_1.12.2.bb (renamed from meta-efl/recipes-efl/efl/elementary_1.9.3.bb)4
-rw-r--r--meta-efl/recipes-efl/efl/emotion-generic-players_1.12.0.bb8
-rw-r--r--meta-efl/recipes-efl/efl/emotion-generic-players_1.9.0.bb8
-rw-r--r--meta-efl/recipes-efl/efl/engrave_svn.bb4
-rw-r--r--meta-efl/recipes-efl/efl/epdf_svn.bb2
-rw-r--r--meta-efl/recipes-efl/efl/evas-generic-loaders.inc3
-rw-r--r--meta-efl/recipes-efl/efl/evas-generic-loaders_1.12.0.bb8
-rw-r--r--meta-efl/recipes-efl/efl/evas-generic-loaders_1.9.0.bb8
-rw-r--r--meta-efl/recipes-efl/efl/expedite.inc10
-rw-r--r--meta-efl/recipes-efl/efl/imlib2_git.bb (renamed from meta-efl/recipes-efl/efl/imlib2_svn.bb)15
-rw-r--r--meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb3
-rw-r--r--meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc2
-rw-r--r--meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb3
-rw-r--r--meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb3
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl.inc29
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch46
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl/0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch30
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch80
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch36
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch35
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl/0003-Fix-linking-issue.patch63
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch146
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl/CMakeLists.txt166
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb10
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl_2.3.4+svnr164189.bb12
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl_svn.bb22
-rw-r--r--meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb2
-rw-r--r--meta-filesystems/conf/layer.conf6
-rw-r--r--meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.1.0.bb (renamed from meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.0.1.bb)12
-rw-r--r--meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb2
-rw-r--r--meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb26
-rw-r--r--meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb2
-rw-r--r--meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb4
-rw-r--r--meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch11
-rw-r--r--meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb5
-rw-r--r--meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb4
-rw-r--r--meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb15
-rw-r--r--meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb2
-rw-r--r--meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb2
-rw-r--r--meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch29
-rw-r--r--meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch37
-rw-r--r--meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h210
-rw-r--r--meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb53
-rw-r--r--meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch32
-rw-r--r--meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.1.0.bb22
-rw-r--r--meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb17
-rw-r--r--meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.1.11.bb2
-rw-r--r--meta-gnome/conf/layer.conf6
-rw-r--r--meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb2
-rw-r--r--meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb4
-rw-r--r--meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb4
-rw-r--r--meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb2
-rw-r--r--meta-gnome/recipes-connectivity/network-manager-applet/files/0001-remove-classes-and-properties-which-are-not-supporte.patch42
-rw-r--r--meta-gnome/recipes-connectivity/network-manager-applet/files/0002-Add-support-for-AP-mode-setting-for-wifi-sharing.patch128
-rw-r--r--meta-gnome/recipes-connectivity/network-manager-applet/files/0003-Use-AP-mode-for-network-sharing-if-device-supports-it.patch48
-rw-r--r--meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-00.pngbin494 -> 0 bytes
-rw-r--r--meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-100.pngbin413 -> 0 bytes
-rw-r--r--meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-25.pngbin500 -> 0 bytes
-rw-r--r--meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-50.pngbin496 -> 0 bytes
-rw-r--r--meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-75.pngbin474 -> 0 bytes
-rw-r--r--meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb (renamed from meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.0.bb)25
-rw-r--r--meta-gnome/recipes-connectivity/obex/obexd_0.48.bb4
-rw-r--r--meta-gnome/recipes-devtools/glade/glade3_%.bbappend1
-rw-r--r--meta-gnome/recipes-extended/gparted/gparted/0001-configure.ac-use-pkg-config-to-check-for-version-of-.patch68
-rw-r--r--meta-gnome/recipes-extended/gparted/gparted_0.20.0.bb21
-rw-r--r--meta-gnome/recipes-gnome/abiword/abiword_3.0.0.bb2
-rw-r--r--meta-gnome/recipes-gnome/bonobo/libbonobo.inc12
-rw-r--r--meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb2
-rw-r--r--meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb2
-rw-r--r--meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb2
-rw-r--r--meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb7
-rw-r--r--meta-gnome/recipes-gnome/epiphany/epiphany_2.30.6.bb2
-rw-r--r--meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb25
-rw-r--r--meta-gnome/recipes-gnome/gcr/gcr_3.8.2.bb4
-rw-r--r--meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb2
-rw-r--r--meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb4
-rw-r--r--meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb2
-rw-r--r--meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb2
-rw-r--r--meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb26
-rw-r--r--meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb2
-rw-r--r--meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb6
-rw-r--r--meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb12
-rw-r--r--meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb2
-rw-r--r--meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb2
-rw-r--r--meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb2
-rw-r--r--meta-gnome/recipes-gnome/gnome/libgnomekbd_2.26.0.bb14
-rw-r--r--meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch37
-rw-r--r--meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb1
-rw-r--r--meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb2
-rw-r--r--meta-gnome/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.14.1.bb15
-rw-r--r--meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb2
-rw-r--r--meta-gnome/recipes-gnome/gvfs/files/0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch36
-rw-r--r--meta-gnome/recipes-gnome/gvfs/gvfs-gdu-volume-monitor_1.10.1.bb2
-rw-r--r--meta-gnome/recipes-gnome/gvfs/gvfs.inc1
-rw-r--r--meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb2
-rw-r--r--meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb4
-rw-r--r--meta-gnome/recipes-gnome/libgdata/libgdata_0.7.1.bb4
-rw-r--r--meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb8
-rw-r--r--meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb8
-rw-r--r--meta-gnome/recipes-gnome/libgnome/libgnomeui.inc2
-rw-r--r--meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb (renamed from meta-gnome/recipes-gnome/libgsf/libgsf_1.14.26.bb)7
-rw-r--r--meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb4
-rw-r--r--meta-gnome/recipes-gnome/libgtop/libgtop_2.28.2.bb2
-rw-r--r--meta-gnome/recipes-gnome/libidl/libidl-native_0.8.13.bb10
-rw-r--r--meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb10
-rw-r--r--meta-gnome/recipes-gnome/libidl/libidl_0.8.14.bb (renamed from meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb)4
-rw-r--r--meta-gnome/recipes-gnome/libsecret/libsecret_0.18.bb14
-rw-r--r--meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb2
-rw-r--r--meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb5
-rw-r--r--meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb4
-rw-r--r--meta-gnome/recipes-gnome/nonworking/gcalctool/gcalctool_5.32.0.bb2
-rw-r--r--meta-gnome/recipes-gnome/pimlico/contacts.inc2
-rw-r--r--meta-gnome/recipes-gnome/pimlico/dates.inc2
-rw-r--r--meta-gnome/recipes-gnome/pimlico/tasks.inc2
-rw-r--r--meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb2
-rw-r--r--meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch29
-rw-r--r--meta-gnome/recipes-gnome/wv/wv-1.2.4/pkgconfig.patch (renamed from meta-gnome/recipes-gnome/wv/wv-1.2.0/pkgconfig.patch)0
-rw-r--r--meta-gnome/recipes-gnome/wv/wv_1.2.4.bb (renamed from meta-gnome/recipes-gnome/wv/wv_1.2.0.bb)10
-rw-r--r--meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb2
-rw-r--r--meta-gnome/recipes-support/florence/florence_0.5.1.bb2
-rw-r--r--meta-gnome/recipes-support/goffice/goffice_0.10.1.bb2
-rw-r--r--meta-gnome/recipes-support/tracker/files/90tracker (renamed from meta-oe/recipes-support/tracker/files/90tracker)0
-rw-r--r--meta-gnome/recipes-support/tracker/files/tracker-dbus.service (renamed from meta-oe/recipes-support/tracker/files/tracker-dbus.service)0
-rw-r--r--meta-gnome/recipes-support/tracker/files/tracker-miner-fs.service (renamed from meta-oe/recipes-support/tracker/files/tracker-miner-fs.service)0
-rw-r--r--meta-gnome/recipes-support/tracker/files/tracker-store.service (renamed from meta-oe/recipes-support/tracker/files/tracker-store.service)0
-rw-r--r--meta-gnome/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch (renamed from meta-oe/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch)0
-rw-r--r--meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch (renamed from meta-oe/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch)0
-rw-r--r--meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch (renamed from meta-oe/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch)0
-rw-r--r--meta-gnome/recipes-support/tracker/tracker_0.14.2.bb (renamed from meta-oe/recipes-support/tracker/tracker_0.14.2.bb)6
-rw-r--r--meta-gpe/conf/layer.conf6
-rw-r--r--meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb2
-rw-r--r--meta-gpe/recipes-graphics/minilite/minilite_0.50.bb2
-rw-r--r--meta-initramfs/classes/klibc.bbclass4
-rw-r--r--meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch61
-rw-r--r--meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch33
-rw-r--r--meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch97
-rw-r--r--meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch135
-rw-r--r--meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb11
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut_git.bb9
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb (renamed from meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.3.bb)0
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch (renamed from meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/armv4-fix-v4bx.patch)0
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch14
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch (renamed from meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-config-eabi.patch)0
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch (renamed from meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-linux-libc-dev.patch)0
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch (renamed from meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/staging.patch)0
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch (renamed from meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/use-env-for-perl.patch)0
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb (renamed from meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.3.bb)0
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb (renamed from meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.3.bb)2
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc.inc4
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb (renamed from meta-initramfs/recipes-devtools/klibc/klibc_2.0.3.bb)0
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch87
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch27
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch76
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch84
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch61
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch85
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch53
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch8
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch19
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch28
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch20
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb (renamed from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.0.bb)35
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch54
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch2
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch2
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb1
-rw-r--r--meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb1
-rw-r--r--meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb26
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gssdp_0.12.2.1.bb5
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gssdp_0.13.2.bb8
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb9
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.10.3.bb8
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.11.6.bb10
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb8
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp.inc2
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp_0.18.4.bb8
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp_0.19.3.bb10
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb8
-rw-r--r--meta-multimedia/recipes-dvb/oscam/oscam_svn.bb4
-rw-r--r--meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb2
-rw-r--r--meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb (renamed from meta-multimedia/recipes-mkv/libebml/libebml_1.2.2.bb)4
-rw-r--r--meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb (renamed from meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.3.0.bb)6
-rw-r--r--meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb (renamed from meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_5.9.0.bb)16
-rwxr-xr-xmeta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb8
-rwxr-xr-xmeta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb (renamed from meta-multimedia/recipes-multimedia/mpg123/mpg123_1.19.0.bb)22
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch10
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb6
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb (renamed from meta-multimedia/recipes-multimedia/musicpd/mpd_0.18.9.bb)11
-rw-r--r--meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb17
-rw-r--r--meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch18
-rw-r--r--meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb22
-rw-r--r--meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch (renamed from meta-multimedia/recipes-multimedia/schroedinger/files/configure.ac.patch)0
-rw-r--r--meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb (renamed from meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.2.13.bb)4
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc.inc40
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch46
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch17
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch17
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch29
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb4
-rw-r--r--meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb16
-rw-r--r--meta-networking/MAINTAINERS6
-rw-r--r--meta-networking/README14
-rw-r--r--meta-networking/conf/layer.conf2
-rw-r--r--meta-networking/licenses/DMTF34
-rw-r--r--meta-networking/licenses/radvd37
-rw-r--r--meta-networking/recipes-connectivity/barnyard2/barnyard2-1.8/barnyard2-cross-fix.patch24
-rw-r--r--meta-networking/recipes-connectivity/barnyard2/barnyard2_1.8.bb18
-rw-r--r--meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb18
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/disable-pre-ANSI-compilers.patch16
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/remove-gets.patch21
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/fix-disable-ipv6.patch (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/fix-disable-ipv6.patch)0
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch)0
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0003-wchar.patch (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0003-wchar.patch)0
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.9-PATH_PROCNET_DEV.patch (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.9-PATH_PROCNET_DEV.patch)0
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rexec.xinetd.inetutils (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rexec.xinetd.inetutils)0
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rlogin.xinetd.inetutils (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rlogin.xinetd.inetutils)0
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rsh.xinetd.inetutils (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rsh.xinetd.inetutils)0
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/telnet.xinetd.inetutils (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/telnet.xinetd.inetutils)0
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/tftpd.xinetd.inetutils (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/tftpd.xinetd.inetutils)0
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/version.patch (renamed from meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/version.patch)2
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb (renamed from meta-networking/recipes-connectivity/inetutils/inetutils_1.9.1.bb)10
-rw-r--r--meta-networking/recipes-connectivity/polarssl/polarssl_1.3.8.bb35
-rw-r--r--meta-networking/recipes-connectivity/sethdlc/files/sethdlc-fix-host-contamination.patch42
-rw-r--r--meta-networking/recipes-connectivity/sethdlc/sethdlc.bb6
-rw-r--r--meta-networking/recipes-connectivity/snort/snort/0001-libpcap-search-sysroot-for-headers.patch (renamed from meta-networking/recipes-connectivity/snort/files/0001-libpcap-search-sysroot-for-headers.patch)0
-rw-r--r--meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch (renamed from meta-networking/recipes-connectivity/snort/files/disable-dap-address-space-id.patch)0
-rw-r--r--meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch (renamed from meta-networking/recipes-connectivity/snort/files/disable-inaddr-none.patch)0
-rw-r--r--meta-networking/recipes-connectivity/snort/snort/not-hardcoded-libdir.patch279
-rw-r--r--meta-networking/recipes-connectivity/snort/snort/snort.init (renamed from meta-networking/recipes-connectivity/snort/files/snort.init)0
-rw-r--r--meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb (renamed from meta-networking/recipes-connectivity/snort/snort_2.9.4.6.bb)19
-rw-r--r--meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch25
-rw-r--r--meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch118
-rw-r--r--meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch20
-rw-r--r--meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch40
-rw-r--r--meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch32
-rw-r--r--meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch107
-rw-r--r--meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch77
-rw-r--r--meta-networking/recipes-connectivity/ufw/ufw_0.33.bb45
-rw-r--r--meta-networking/recipes-connectivity/vlan/vlan-1.9/no-HOME-includes.patch22
-rw-r--r--meta-networking/recipes-connectivity/vlan/vlan_1.9.bb3
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb7
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-fix-recursive-mount-deadlock.patch78
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-increase-file-map-read-buffer-size.patch38
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-README-update-mailing-list-subscription-info.patch56
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-symlink-pseudo-option.patch217
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-timeout-option-description-to-man-page.patch42
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-non-root-user-to-check-status.patch69
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-nsswitch_conf-to-not-contain-automount-lines.patch50
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-allow-cross-compilation-update.patch28
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-in-allow-cross-compilation.patch41
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-depricate-nosymlink-pseudo-option.patch40
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-document-browse-option-in-man-page.patch46
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-fail-on-master-map-self-include.patch59
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-schedule-new-alarms-after-readmap.patch69
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-use-dirent-d_type-to-filter-out-files-in-scandir.patch41
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-wait-forever-to-restart.patch54
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-automounter-support-on-parisc.patch24
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-file-descriptor-leak-when-reloading-the-daemon.patch179
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-init-script-status-return.patch39
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-ipv6-proximity-calculation.patch297
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-libtirpc-build-option.patch66
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-map-entry-duplicate-offset-detection.patch37
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-man-page-description.patch46
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch47
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-null-map-entry-order-handling.patch81
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-parse-buffer-initialization.patch51
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-requires-in-spec-file.patch37
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-submount-offset-delete.patch45
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-systemd-unidir-in-spec-file.patch72
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-typo-in-automount-8.patch37
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch49
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-get_proximity-without-libtirpc.patch54
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-wildcard-multi-map-regression.patch225
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-handle-new-location-of-systemd.patch57
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-usage-in-usage-message.patch25
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-lib-defaults-use-WITH_LDAP-conditional-around-LDAP-types.patch448
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-description-of-default-MOUNT_WAIT-setting-clear.patch57
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-yellow-pages-support-optional.patch156
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-modules-replicated-use-sin6.addr-s6_addr32.patch39
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-update-kernel-include-files.patch92
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-use-numeric-protocol-ids-instead-of-protoent-structs.patch471
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-workaround-missing-GNU-versionsort-extension.patch149
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch)0
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/Makefile.rules-cross.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/Makefile.rules-cross.patch)0
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/add-the-needed-stdarg.h.patch24
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-do-not-check-for-modprobe.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-do-not-check-for-modprobe.patch)0
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-fix-lib-deps.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-lib-deps.patch)0
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch)0
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-additional-distros.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-additional-distros.patch)0
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/cross.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/cross.patch)0
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/fix_disable_ldap.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/fix_disable_ldap.patch)0
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/force-STRIP-to-emtpy.patch25
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc-name-clash-backout.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc-name-clash-backout.patch)25
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc.patch)4
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/no-bash.patch (renamed from meta-networking/recipes-daemons/autofs/autofs-5.0.7/no-bash.patch)0
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/remove-bashism.patch120
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs-5.1.0/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch39
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs_5.0.7.bb112
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs_5.1.0.bb71
-rw-r--r--meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb2
-rw-r--r--meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample21
-rw-r--r--meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init94
-rw-r--r--meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service12
-rw-r--r--meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb39
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/files/99_iscsi-initiator-utils2
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/files/initd.debian119
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator4
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-targets.service15
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch21
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch240
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service12
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb113
-rw-r--r--meta-networking/recipes-daemons/lldpad/lldpad_0.9.46.bb23
-rw-r--r--meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb22
-rw-r--r--meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch11
-rw-r--r--meta-networking/recipes-daemons/opensaf/opensaf_4.5.0.bb42
-rwxr-xr-xmeta-networking/recipes-daemons/postfix/files/aliasesdb20
-rw-r--r--meta-networking/recipes-daemons/postfix/files/install.patch66
-rw-r--r--meta-networking/recipes-daemons/postfix/files/internal_recipient1
-rw-r--r--meta-networking/recipes-daemons/postfix/files/main.cf_2.0102
-rw-r--r--meta-networking/recipes-daemons/postfix/files/makedefs.patch116
-rwxr-xr-xmeta-networking/recipes-daemons/postfix/files/postfix85
-rw-r--r--meta-networking/recipes-daemons/postfix/files/postfix-add-db6-support.patch26
-rw-r--r--meta-networking/recipes-daemons/postfix/files/postfix.service15
-rw-r--r--meta-networking/recipes-daemons/postfix/postfix.inc237
-rw-r--r--meta-networking/recipes-daemons/postfix/postfix_2.11.1.bb6
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/build_fixup.patch112
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/make.patch66
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch39
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch39
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/proftpd.service7
-rw-r--r--meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb70
-rw-r--r--meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb113
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd-2.2.0/ld-as-needed.patch37
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch621
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd_2.2.0.bb28
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb41
-rw-r--r--meta-networking/recipes-daemons/radvd/files/radvd.default1
-rw-r--r--meta-networking/recipes-daemons/radvd/files/radvd.service11
-rw-r--r--meta-networking/recipes-daemons/radvd/radvd.inc22
-rw-r--r--meta-networking/recipes-daemons/radvd/radvd_1.14.bb6
-rw-r--r--meta-networking/recipes-daemons/radvd/radvd_1.9.8.bb6
-rw-r--r--meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch31
-rw-r--r--meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch43
-rw-r--r--meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch29
-rw-r--r--meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch64
-rw-r--r--meta-networking/recipes-daemons/squid/files/run-ptest3
-rw-r--r--meta-networking/recipes-daemons/squid/files/squid-change-ksh-reference-in-krb-ldap-helper-to-sh.patch39
-rw-r--r--meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch31
-rw-r--r--meta-networking/recipes-daemons/squid/files/volatiles.03_squid2
-rw-r--r--meta-networking/recipes-daemons/squid/squid_3.4.7.bb67
-rw-r--r--meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch39
-rw-r--r--meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch38
-rw-r--r--meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb6
-rw-r--r--meta-networking/recipes-daemons/vblade/vblade_20.bb2
-rw-r--r--meta-networking/recipes-daemons/vsftpd/files/vsftpd.service9
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-destdir.patch (renamed from meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-destdir.patch)0
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-libs.patch (renamed from meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-libs.patch)0
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-strip.patch (renamed from meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-strip.patch)0
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam-with-tcp_wrappers.patch (renamed from meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam-with-tcp_wrappers.patch)0
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam.patch (renamed from meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam.patch)0
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/vsftpd-tcp_wrappers-support.patch (renamed from meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/vsftpd-tcp_wrappers-support.patch)0
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.2.bb (renamed from meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb)30
-rw-r--r--meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.0.bb2
-rw-r--r--meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common163
-rwxr-xr-xmeta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.init162
-rw-r--r--meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.service11
-rw-r--r--meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb22
-rw-r--r--meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch58
-rw-r--r--meta-networking/recipes-irc/znc/znc_git.bb6
-rw-r--r--meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch28
-rw-r--r--meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb46
-rw-r--r--meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch39
-rw-r--r--meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb38
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch39
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit20
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit23
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch77
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit21
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb91
-rw-r--r--meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch30
-rw-r--r--meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb70
-rwxr-xr-xmeta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod71
-rw-r--r--meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default2
-rw-r--r--meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb83
-rw-r--r--meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch1217
-rw-r--r--meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch41
-rw-r--r--meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd14
-rw-r--r--meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb52
-rw-r--r--meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf11
-rw-r--r--meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb54
-rw-r--r--meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2284.patch126
-rw-r--r--meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2285.patch26
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Added-checks-for-printing-variables-with-wrong-types.patch455
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service2
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb (renamed from meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.bb)29
-rw-r--r--meta-networking/recipes-protocols/openflow/openflow.inc2
-rw-r--r--meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-modify-CFLAGS-to-aviod-build-error.patch106
-rw-r--r--meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tp-simplify-gcc-warning-hack.patch41
-rw-r--r--meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb36
-rw-r--r--meta-networking/recipes-protocols/quagga/files/0001-doc-fix-makeinfo-errors-and-one-warning.patch61
-rw-r--r--meta-networking/recipes-protocols/quagga/files/babeld.service14
-rw-r--r--meta-networking/recipes-protocols/quagga/files/bgpd.service14
-rw-r--r--meta-networking/recipes-protocols/quagga/files/build-fix-extract.pl-for-cross-compilation.patch31
-rw-r--r--meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch19
-rw-r--r--meta-networking/recipes-protocols/quagga/files/isisd.service14
-rw-r--r--meta-networking/recipes-protocols/quagga/files/lingering-IP-address-after-deletion-BZ-486.patch64
-rw-r--r--meta-networking/recipes-protocols/quagga/files/ospf6d.service14
-rw-r--r--meta-networking/recipes-protocols/quagga/files/ospfd.service14
-rw-r--r--meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch64
-rw-r--r--meta-networking/recipes-protocols/quagga/files/quagga-fix-CVE-2013-6051.patch29
-rw-r--r--meta-networking/recipes-protocols/quagga/files/ripd.service14
-rw-r--r--meta-networking/recipes-protocols/quagga/files/ripngd.service14
-rw-r--r--meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga2
-rw-r--r--meta-networking/recipes-protocols/quagga/files/work-with-new-readline.patch34
-rw-r--r--meta-networking/recipes-protocols/quagga/files/zebra.service15
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga.inc67
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb15
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga_0.99.23.bb9
-rw-r--r--meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/Modify-configure.in-and-etc-Makefile.am.patch84
-rw-r--r--meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/config-site.radiusclient-ng-0.5.61
-rw-r--r--meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb36
-rw-r--r--meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.8/configure.patch11
-rw-r--r--meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.8.bb3
-rw-r--r--meta-networking/recipes-support/aoetools/aoetools/aoe-stat-no-bashism.patch27
-rw-r--r--meta-networking/recipes-support/aoetools/aoetools_36.bb (renamed from meta-networking/recipes-support/aoetools/aoetools_34.bb)9
-rw-r--r--meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch37
-rw-r--r--meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb1
-rw-r--r--meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb23
-rw-r--r--meta-networking/recipes-support/cim-schema/cim-schema.inc9
-rw-r--r--meta-networking/recipes-support/cim-schema/cim-schema_2.40.0.bb31
-rw-r--r--meta-networking/recipes-support/cim-schema/files/LICENSE34
-rw-r--r--meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch47
-rw-r--r--meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb3
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq.inc18
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch29
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq/parallel-make.patch19
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq_2.68.bb4
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq_2.72.bb10
-rw-r--r--meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb35
-rw-r--r--meta-networking/recipes-support/dovecot/dovecot/building-rquota_xdr.c-depend-on-rquota.h.patch28
-rw-r--r--meta-networking/recipes-support/dovecot/dovecot_2.2.10.bb3
-rw-r--r--meta-networking/recipes-support/drbd/drbd/drbd.service12
-rw-r--r--meta-networking/recipes-support/drbd/drbd_8.4.4.bb51
-rw-r--r--meta-networking/recipes-support/esmtp/esmtp_1.2.bb40
-rw-r--r--meta-networking/recipes-support/geoip/geoip-perl/run-ptest15
-rw-r--r--meta-networking/recipes-support/geoip/geoip-perl_1.45.bb40
-rw-r--r--meta-networking/recipes-support/geoip/geoip_1.6.0.bb58
-rw-r--r--meta-networking/recipes-support/geoip/geoipupdate-2.1.0/GeoIP.conf11
-rw-r--r--meta-networking/recipes-support/geoip/geoipupdate-2.1.0/geoipupdate.cron5
-rw-r--r--meta-networking/recipes-support/geoip/geoipupdate_2.1.0.bb30
-rw-r--r--meta-networking/recipes-support/ifenslave/ifenslave_1.1.0.bb18
-rw-r--r--meta-networking/recipes-support/iftop/iftop_1.0pre2.bb2
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-warning-with-gcc-4.8.patch36
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch33
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch13
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch23
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch220
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch26
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch61
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb (renamed from meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.1.bb)18
-rw-r--r--meta-networking/recipes-support/libesmtp/libesmtp/include-topdir.patch48
-rw-r--r--meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb36
-rw-r--r--meta-networking/recipes-support/linux-atm/linux-atm/install-from-buildir.patch19
-rw-r--r--meta-networking/recipes-support/linux-atm/linux-atm/link-with-ldflags.patch38
-rw-r--r--meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb22
-rw-r--r--meta-networking/recipes-support/lksctp-tools/lksctp-tools/run-ptest5
-rw-r--r--meta-networking/recipes-support/lksctp-tools/lksctp-tools/v4test.sh11
-rw-r--r--meta-networking/recipes-support/lksctp-tools/lksctp-tools/v6test.sh11
-rw-r--r--meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb62
-rw-r--r--meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb8
-rw-r--r--meta-networking/recipes-support/memcached/memcached/configure.patch13
-rw-r--r--meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch32
-rw-r--r--meta-networking/recipes-support/memcached/memcached_1.4.15.bb15
-rw-r--r--meta-networking/recipes-support/memcached/memcached_1.4.17.bb53
-rw-r--r--meta-networking/recipes-support/mtr/files/no-gtk.patch31
-rw-r--r--meta-networking/recipes-support/mtr/mtr_0.86.bb (renamed from meta-networking/recipes-support/mtr/mtr_0.82.bb)9
-rw-r--r--meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb1
-rw-r--r--meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb11
-rw-r--r--meta-networking/recipes-support/netcf/netcf_git.bb6
-rw-r--r--meta-networking/recipes-support/netperf/netperf_2.6.0.bb5
-rw-r--r--meta-networking/recipes-support/ntp/files/openssl-check.patch59
-rw-r--r--meta-networking/recipes-support/ntp/files/tickadj.c.patch32
-rw-r--r--meta-networking/recipes-support/ntp/ntp/ntp-4.2.4_p6-nano.patch (renamed from meta-networking/recipes-support/ntp/files/ntp-4.2.4_p6-nano.patch)0
-rw-r--r--meta-networking/recipes-support/ntp/ntp/ntp-4.2.8-ntp-keygen-no-openssl.patch168
-rw-r--r--meta-networking/recipes-support/ntp/ntp/ntp.conf (renamed from meta-networking/recipes-support/ntp/files/ntp.conf)2
-rwxr-xr-xmeta-networking/recipes-support/ntp/ntp/ntpd (renamed from meta-networking/recipes-support/ntp/files/ntpd)30
-rw-r--r--meta-networking/recipes-support/ntp/ntp/ntpd.service2
-rwxr-xr-xmeta-networking/recipes-support/ntp/ntp/ntpdate (renamed from meta-networking/recipes-support/ntp/files/ntpdate)0
-rw-r--r--meta-networking/recipes-support/ntp/ntp/ntpdate.default (renamed from meta-networking/recipes-support/ntp/files/ntpdate.default)0
-rw-r--r--meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb6
-rw-r--r--meta-networking/recipes-support/ntp/ntp_4.2.8.bb (renamed from meta-networking/recipes-support/ntp/ntp.inc)39
-rw-r--r--meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb6
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn/openvpn@.service12
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn_2.1.3.bb27
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb63
-rw-r--r--meta-networking/recipes-support/pimd/pimd_2.1.8.bb17
-rw-r--r--meta-networking/recipes-support/ssmping/files/0001-Makefile-tweak-install-dir.patch35
-rw-r--r--meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb16
-rw-r--r--meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch36
-rw-r--r--meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb (renamed from meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb)7
-rw-r--r--meta-networking/recipes-support/stunnel/stunnel_4.56.bb4
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/0001-minimal-IEEE802.15.4-allowed.patch22
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/ipv6-cross.patch41
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/tcpdump_configure_no_-O2.patch42
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/add-ptest.patch38
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/configure.patch (renamed from meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/configure.patch)0
-rwxr-xr-xmeta-networking/recipes-support/tcpdump/tcpdump-4.6.1/run-ptest5
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-configure-dlpi.patch31
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-cross-getaddrinfo.patch23
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/unnecessary-to-check-libpcap.patch33
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb (renamed from meta-networking/recipes-support/tcpdump/tcpdump_4.3.0.bb)26
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-1.2a3-time.patch75
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-CVS.20010207-bpf.patch15
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb35
-rw-r--r--meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch33
-rw-r--r--meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb3
-rw-r--r--meta-networking/recipes-support/tnftp/tnftp/tnftp-autotools.patch42
-rw-r--r--meta-networking/recipes-support/tnftp/tnftp_20130505.bb36
-rw-r--r--meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb (renamed from meta-networking/recipes-support/traceroute/traceroute_2.0.18.bb)17
-rw-r--r--meta-networking/recipes-support/wireshark/README45
-rw-r--r--meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch46
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb56
-rw-r--r--meta-oe/classes/breakpad.bbclass2
-rw-r--r--meta-oe/classes/gpe.bbclass2
-rw-r--r--meta-oe/conf/layer.conf6
-rw-r--r--meta-oe/licenses/BSD-0-Clause12
-rw-r--r--meta-oe/licenses/GPL-2.0-with-lmbench-restriction108
-rw-r--r--meta-oe/licenses/OML28
-rw-r--r--meta-oe/licenses/OpenLDAP47
-rw-r--r--meta-oe/licenses/SMAIL_GPL164
-rw-r--r--meta-oe/licenses/nbench-byte10
-rw-r--r--meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb2
-rw-r--r--meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb (renamed from meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb)9
-rw-r--r--meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb7
-rw-r--r--meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch52
-rw-r--r--meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb3
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch19
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch107
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3_git.bb26
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch38
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch32
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch32
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch57
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb23
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch206
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch61
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb16
-rw-r--r--meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch23
-rw-r--r--meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb7
-rw-r--r--meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb24
-rw-r--r--meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb2
-rw-r--r--meta-oe/recipes-connectivity/daq/daq_2.0.2.bb8
-rw-r--r--meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb4
-rw-r--r--meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb5
-rw-r--r--meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init37
-rw-r--r--meta-oe/recipes-connectivity/hostapd/hostapd-2.2/defconfig (renamed from meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/defconfig)0
-rw-r--r--meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service11
-rw-r--r--meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init58
-rw-r--r--meta-oe/recipes-connectivity/hostapd/hostapd_2.2.bb (renamed from meta-oe/recipes-connectivity/hostapd/hostap-daemon_1.0.bb)15
-rw-r--r--meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb7
-rw-r--r--meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch11
-rw-r--r--meta-oe/recipes-connectivity/iw/iw_3.15.bb (renamed from meta-oe/recipes-connectivity/iw/iw_3.11.bb)6
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch92
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch29
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch48
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server6
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc5
-rwxr-xr-xmeta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server140
-rwxr-xr-xmeta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc133
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb50
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb80
-rw-r--r--meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb2
-rw-r--r--meta-oe/recipes-connectivity/libmtp/libmtp-1.1.5/glibc-2.20.patch36
-rw-r--r--meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb3
-rw-r--r--meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch40
-rw-r--r--meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb23
-rw-r--r--meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb19
-rw-r--r--meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb4
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch37
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb7
-rw-r--r--meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb2
-rw-r--r--meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb2
-rw-r--r--meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch32
-rw-r--r--meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb (renamed from meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.0.bb)14
-rw-r--r--meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb3
-rw-r--r--meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch16
-rw-r--r--meta-oe/recipes-connectivity/obex/openobex_1.5.bb6
-rw-r--r--meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb2
-rw-r--r--meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb17
-rw-r--r--meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb (renamed from meta-oe/recipes-connectivity/rfkill/rfkill_0.4.bb)10
-rw-r--r--meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb7
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_221618_precise-64bit-prototype.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_221618_precise-64bit-prototype.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch)4
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_601406_fix-perl-path-in-example.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_601406_fix-perl-path-in-example.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_drop-using-samba-link.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_drop-using-samba-link.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_fix-WHATSNEW-link.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_fix-WHATSNEW-link.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-core_pattern-cross-check.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-core_pattern-cross-check.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-getaddrinfo-cross.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-getaddrinfo-cross.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-libunwind.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-libunwind.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation.patch)16
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation2.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation2.patch)8
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/dont-build-VFS-examples.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/dont-build-VFS-examples.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/fhs-filespaths.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/fhs-filespaths.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/installswat.sh.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/installswat.sh.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/libutil_drop_AI_ADDRCONFIG.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/libutil_drop_AI_ADDRCONFIG.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/only_export_public_symbols.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/only_export_public_symbols.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/pam-examples.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/pam-examples.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/shadow_copy2_backport.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/shadow_copy2_backport.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/smbclient-pager.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/smbclient-pager.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtar-bashism.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtar-bashism.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtorture-manpage.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtorture-manpage.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/undefined-symbols.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/undefined-symbols.patch)6
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/usershare.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/usershare.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-3.6.24/waf-as-source.patch (renamed from meta-oe/recipes-connectivity/samba/samba-3.6.8/waf-as-source.patch)0
-rw-r--r--meta-oe/recipes-connectivity/samba/samba-basic.inc1
-rw-r--r--meta-oe/recipes-connectivity/samba/samba.inc46
-rw-r--r--meta-oe/recipes-connectivity/samba/samba/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch68
-rw-r--r--meta-oe/recipes-connectivity/samba/samba/init.samba2
-rw-r--r--meta-oe/recipes-connectivity/samba/samba/nmb.service12
-rw-r--r--meta-oe/recipes-connectivity/samba/samba/smb.service13
-rw-r--r--meta-oe/recipes-connectivity/samba/samba/winbind.service12
-rw-r--r--meta-oe/recipes-connectivity/samba/samba_3.6.24.bb (renamed from meta-oe/recipes-connectivity/samba/samba_3.6.8.bb)6
-rw-r--r--meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb2
-rw-r--r--meta-oe/recipes-connectivity/soft66/soft66_git.bb4
-rw-r--r--meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch18
-rw-r--r--meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch15
-rw-r--r--meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb23
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb16
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch15
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb17
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch76
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb51
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch43
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch26
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch26
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb32
-rw-r--r--meta-oe/recipes-connectivity/umip/umip_1.0.bb18
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb6
-rw-r--r--meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch292
-rw-r--r--meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb87
-rw-r--r--meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb19
-rwxr-xr-xmeta-oe/recipes-connectivity/zeromq/files/run-ptest10
-rw-r--r--meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb24
-rw-r--r--meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch34
-rw-r--r--meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch28
-rw-r--r--meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb33
-rw-r--r--meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb2
-rw-r--r--meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.4.0.bb (renamed from meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb)10
-rw-r--r--meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch25
-rw-r--r--meta-oe/recipes-core/llvm/llvm.inc87
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch20
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch113
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch12
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch12
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.8_2.8.bb16
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch35
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch16
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch14
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.9_2.9.bb21
-rw-r--r--meta-oe/recipes-core/llvm/llvm2.inc170
-rw-r--r--meta-oe/recipes-core/llvm/llvm3.3_3.3.bb1
-rw-r--r--meta-oe/recipes-core/llvm/llvm3.inc80
-rw-r--r--meta-oe/recipes-core/meta/distro-feed-configs.bb3
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-basic.bb8
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-boot.bb9
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb7
-rw-r--r--meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch383
-rw-r--r--meta-oe/recipes-core/toybox/toybox_0.5.0.bb64
-rw-r--r--meta-oe/recipes-core/usleep/files/GPLv2.patch347
-rw-r--r--meta-oe/recipes-core/usleep/files/usleep.125
-rw-r--r--meta-oe/recipes-core/usleep/files/usleep.c82
-rw-r--r--meta-oe/recipes-core/usleep/usleep_1.0.bb26
-rw-r--r--meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch40
-rw-r--r--meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb16
-rw-r--r--meta-oe/recipes-devtools/cloud9/cloud9/index.js2
-rw-r--r--meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb5
-rw-r--r--meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch45
-rw-r--r--meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb3
-rw-r--r--meta-oe/recipes-devtools/geany/geany_1.24.1.bb (renamed from meta-oe/recipes-devtools/geany/geany_1.23.bb)6
-rw-r--r--meta-oe/recipes-devtools/glade/glade3_3.8.5.bb (renamed from meta-oe/recipes-devtools/glade/glade3_3.8.2.bb)14
-rw-r--r--meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb2
-rw-r--r--meta-oe/recipes-devtools/jq/files/automake-once-fix.patch29
-rw-r--r--meta-oe/recipes-devtools/jq/jq_1.4.bb (renamed from meta-oe/recipes-devtools/jq/jq_1.3.bb)5
-rw-r--r--meta-oe/recipes-devtools/libgee/libgee.inc2
-rw-r--r--meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb2
-rw-r--r--meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch40
-rw-r--r--meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.5.bb (renamed from meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb)21
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch36
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch (renamed from meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch)0
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace_git.bb9
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch605
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc11
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch18
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch44
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch13
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb55
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch105
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit_2.0.3.bb (renamed from meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb)24
-rw-r--r--meta-oe/recipes-devtools/memstat/memstat_1.0.bb30
-rw-r--r--meta-oe/recipes-devtools/mercurial/mercurial-native_3.0.1.bb (renamed from meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb)5
-rw-r--r--meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb19
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb4
-rw-r--r--meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb6
-rw-r--r--meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb1
-rw-r--r--meta-oe/recipes-devtools/perl/ipc-run_0.94.bb23
-rw-r--r--meta-oe/recipes-devtools/php/php.inc133
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch90
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch12
-rw-r--r--meta-oe/recipes-devtools/php/php/70_mod_php5.conf (renamed from meta-webserver/recipes-php/modphp/files/70_mod_php5.conf)0
-rw-r--r--meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch15
-rw-r--r--meta-oe/recipes-devtools/php/php/configure.patch (renamed from meta-webserver/recipes-php/modphp/files/configure.patch)0
-rw-r--r--meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch38
-rw-r--r--meta-oe/recipes-devtools/php/php/iconv.patch9
-rw-r--r--meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch47
-rw-r--r--meta-oe/recipes-devtools/php/php/pear-makefile.patch7
-rw-r--r--meta-oe/recipes-devtools/php/php/phar-makefile.patch24
-rw-r--r--meta-oe/recipes-devtools/php/php/php_exec_native.patch19
-rw-r--r--meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch (renamed from meta-webserver/recipes-php/modphp/files/pthread-check-threads-m4.patch)0
-rw-r--r--meta-oe/recipes-devtools/php/php_5.4.14.bb21
-rw-r--r--meta-oe/recipes-devtools/php/php_5.5.20.bb237
-rw-r--r--meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb6
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb (renamed from meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb)6
-rw-r--r--meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch27
-rw-r--r--meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch12
-rw-r--r--meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff248
-rw-r--r--meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb56
-rw-r--r--meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb103
-rw-r--r--meta-oe/recipes-devtools/python/python-sip_4.14.2.bb46
-rw-r--r--meta-oe/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch64
-rw-r--r--meta-oe/recipes-devtools/swig/swig_2.0.12.bb7
-rw-r--r--meta-oe/recipes-devtools/swig/swig_3.0.2.bb8
-rw-r--r--meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb2
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb4
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch82
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch20
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch (renamed from meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch)0
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb (renamed from meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb)23
-rw-r--r--meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc2
-rw-r--r--meta-oe/recipes-extended/acpica/acpica_20140828.bb (renamed from meta-oe/recipes-extended/acpica/acpica_20140424.bb)6
-rw-r--r--meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch4
-rw-r--r--meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch36
-rw-r--r--meta-oe/recipes-extended/acpica/acpitests_20140828.bb (renamed from meta-oe/recipes-extended/acpica/acpitests_20140424.bb)12
-rw-r--r--meta-oe/recipes-extended/anki/anki_0.4.3.bb2
-rw-r--r--meta-oe/recipes-extended/collectd/collectd/collectd.service12
-rw-r--r--meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch102
-rw-r--r--meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch10
-rw-r--r--meta-oe/recipes-extended/collectd/collectd_5.4.1.bb (renamed from meta-oe/recipes-extended/collectd/collectd_5.2.2.bb)25
-rw-r--r--meta-oe/recipes-extended/corosync/corosync_2.3.4.bb61
-rw-r--r--meta-oe/recipes-extended/dash/dash_0.5.8.bb27
-rw-r--r--meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb18
-rw-r--r--meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb45
-rw-r--r--meta-oe/recipes-extended/dialog/dialog.inc6
-rw-r--r--meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch40
-rw-r--r--meta-oe/recipes-extended/dlm/dlm_4.0.2.bb49
-rw-r--r--meta-oe/recipes-extended/fwts/fwts_git.bb6
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot.inc4
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb2
-rw-r--r--meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch20
-rw-r--r--meta-oe/recipes-extended/haveged/haveged_1.9.1.bb32
-rw-r--r--meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb4
-rw-r--r--meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch14
-rw-r--r--meta-oe/recipes-extended/hplip/hplip_3.12.6.bb5
-rw-r--r--meta-oe/recipes-extended/indent/indent_2.2.10.bb22
-rw-r--r--meta-oe/recipes-extended/iotop/iotop_0.4.4.bb4
-rw-r--r--meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch21
-rw-r--r--meta-oe/recipes-extended/lcdproc/lcdproc5.inc6
-rw-r--r--meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb (renamed from meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb)9
-rw-r--r--meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch48
-rw-r--r--meta-oe/recipes-extended/leveldb/leveldb_git.bb27
-rw-r--r--meta-oe/recipes-extended/libcec/libcec_git.bb6
-rw-r--r--meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb13
-rw-r--r--meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch21
-rw-r--r--meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb25
-rw-r--r--meta-oe/recipes-extended/liblognorm/liblognorm.inc17
-rw-r--r--meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb5
-rw-r--r--meta-oe/recipes-extended/libqb/libqb_0.17.1.bb26
-rw-r--r--meta-oe/recipes-extended/libungif/libungif_4.1.4.bb16
-rw-r--r--meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch67
-rw-r--r--meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb11
-rw-r--r--meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb24
-rw-r--r--meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb38
-rw-r--r--meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb58
-rw-r--r--meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch39
-rw-r--r--meta-oe/recipes-extended/md5deep/md5deep_4.4.bb16
-rw-r--r--meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb4
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch36
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb5
-rw-r--r--meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch40
-rw-r--r--meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch137
-rw-r--r--meta-oe/recipes-extended/nana/nana_2.5.bb34
-rw-r--r--meta-oe/recipes-extended/nicstat/nicstat_1.95.bb20
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb12
-rw-r--r--meta-oe/recipes-extended/polkit/polkit_0.112.bb (renamed from meta-oe/recipes-extended/polkit/polkit_0.111.bb)19
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch89
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch26
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch263
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch116
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch244
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/ethers.sample1
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/rarpd.service14
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb49
-rw-r--r--meta-oe/recipes-extended/rrdtool/rrdtool/0001-removing-testing-leftovers.patch39
-rw-r--r--meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch1733
-rw-r--r--meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb (renamed from meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb)37
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch45
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch96
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch28
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf2
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest3
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch48
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb77
-rw-r--r--meta-oe/recipes-extended/sip/sip-native_4.14.2.bb35
-rw-r--r--meta-oe/recipes-extended/sip/sip_4.16.4.bb52
-rwxr-xr-xmeta-oe/recipes-extended/smartmontools/files/initd.smartd8
-rw-r--r--meta-oe/recipes-extended/smartmontools/files/smartd.service12
-rw-r--r--meta-oe/recipes-extended/smartmontools/files/smartmontools.default6
-rw-r--r--meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb19
-rw-r--r--meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb2
-rw-r--r--meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb2
-rw-r--r--meta-oe/recipes-extended/subsurface/subsurface_git.bb23
-rw-r--r--meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb6
-rw-r--r--meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb2
-rw-r--r--meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb10
-rw-r--r--meta-oe/recipes-extended/tiptop/tiptop_2.2.bb26
-rw-r--r--meta-oe/recipes-extended/tmux/tmux_1.6.bb4
-rw-r--r--meta-oe/recipes-extended/zsh/zsh.inc2
-rw-r--r--meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb6
-rw-r--r--meta-oe/recipes-graphics/babl/babl_0.1.10.bb2
-rw-r--r--meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb4
-rw-r--r--meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb5
-rw-r--r--meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb4
-rw-r--r--meta-oe/recipes-graphics/fbida/fbida_git.bb2
-rw-r--r--meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb4
-rw-r--r--meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch21
-rw-r--r--meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb3
-rw-r--r--meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb2
-rw-r--r--meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb4
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb1
-rw-r--r--meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb14
-rw-r--r--meta-oe/recipes-graphics/libsexy/libsexy.inc2
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch62
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm_git.bb30
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb4
-rw-r--r--meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb2
-rw-r--r--meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb6
-rw-r--r--meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb6
-rw-r--r--meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb12
-rw-r--r--meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb2
-rw-r--r--meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb21
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb9
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang.inc13
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb20
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb6
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb2
-rw-r--r--meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb2
-rw-r--r--meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-app/twm_1.0.8.bb (renamed from meta-oe/recipes-graphics/xorg-app/twm_1.0.6.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.4.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb (renamed from meta-oe/recipes-graphics/xorg-app/xrdb_1.0.9.bb)5
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xterm_303.bb3
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb12
-rw-r--r--meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc2
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb2
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch41
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb (renamed from meta-oe/recipes-graphics/xorg-driver/nonworking/xf86-video-geode_2.11.14.bb)5
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch29
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb1
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb5
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb17
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb17
-rw-r--r--meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb3
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch24
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb1
-rw-r--r--meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch34
-rw-r--r--meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch13
-rw-r--r--meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch10
-rw-r--r--meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.91
-rw-r--r--meta-oe/recipes-kernel/crash/crash_7.0.9.bb59
-rw-r--r--meta-oe/recipes-kernel/ktap/ktap_0.4.bb2
-rw-r--r--meta-oe/recipes-kernel/linux/linux.inc16
-rw-r--r--meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb2
-rw-r--r--meta-oe/recipes-multimedia/faad2/faad2_2.7.bb2
-rw-r--r--meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch42
-rw-r--r--meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb1
-rw-r--r--meta-oe/recipes-multimedia/jack/jack_0.121.0.bb2
-rw-r--r--meta-oe/recipes-multimedia/libass/libass.inc2
-rw-r--r--meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb2
-rw-r--r--meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb (renamed from meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.7.bb)4
-rw-r--r--meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb11
-rw-r--r--meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch43
-rw-r--r--meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb21
-rw-r--r--meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb2
-rw-r--r--meta-oe/recipes-multimedia/live555/live555.inc4
-rw-r--r--meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb (renamed from meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.3.bb)8
-rw-r--r--meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb5
-rw-r--r--meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb2
-rw-r--r--meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb2
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb21
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb (renamed from meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.0.1.bb)10
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch551
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb7
-rw-r--r--meta-oe/recipes-multimedia/webm/libvpx.inc38
-rw-r--r--meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch40
-rw-r--r--meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch69
-rw-r--r--meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch28
-rw-r--r--meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb19
-rw-r--r--meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb55
-rw-r--r--meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb47
-rw-r--r--meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb12
-rw-r--r--meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb6
-rw-r--r--meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb4
-rw-r--r--meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb (renamed from meta-oe/recipes-navigation/gdal/gdal_1.10.1.bb)18
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch (renamed from meta-oe/recipes-navigation/gpsd/gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch)19
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch (renamed from meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch)19
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch (renamed from meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch)27
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch (renamed from meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch)43
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb (renamed from meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb)18
-rw-r--r--meta-oe/recipes-navigation/gypsy/gypsy.inc2
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite.inc2
-rw-r--r--meta-oe/recipes-navigation/navit/navit.inc4
-rw-r--r--meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch22
-rw-r--r--meta-oe/recipes-navigation/omgps/omgps_svn.bb4
-rw-r--r--meta-oe/recipes-navigation/orrery/orrery_2.7.bb2
-rw-r--r--meta-oe/recipes-qt/qconnman/qconnman-e_git.bb2
-rw-r--r--meta-oe/recipes-qt/qconnman/qconnman_git.bb2
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb10
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch52
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb3
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch53
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb3
-rw-r--r--meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb4
-rw-r--r--meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb2
-rw-r--r--meta-oe/recipes-support/asio/asio.inc2
-rw-r--r--meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb5
-rw-r--r--meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch18
-rw-r--r--meta-oe/recipes-support/ccid/ccid_1.4.8.bb6
-rw-r--r--meta-oe/recipes-support/ckermit/ckermit_302.bb (renamed from meta-oe/recipes-support/ckermit/ckermit_301.bb)9
-rw-r--r--meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.6.bb (renamed from meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb)8
-rw-r--r--meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb23
-rw-r--r--meta-oe/recipes-support/daemonize/daemonize_git.bb4
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff25
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff47
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch45
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools_0.76.bb47
-rw-r--r--meta-oe/recipes-support/debianutils/debianutils_4.4.bb58
-rw-r--r--meta-oe/recipes-support/devicekit/devicekit-power_014.bb2
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch49
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch20
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb (renamed from meta-oe/recipes-support/dfu-util/dfu-util-native_0.4.bb)2
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb16
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util.inc9
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch38
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch67
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb10
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb8
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb19
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_svn.bb16
-rw-r--r--meta-oe/recipes-support/dstat/dstat_0.7.2.bb23
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch19
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch66
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-timeout.patch17
-rw-r--r--meta-oe/recipes-support/eject/eject_2.1.5.bb11
-rw-r--r--meta-oe/recipes-support/emacs/emacs_23.4.bb2
-rw-r--r--meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch28
-rw-r--r--meta-oe/recipes-support/enca/enca_1.9.bb13
-rw-r--r--meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb29
-rw-r--r--meta-oe/recipes-support/evtest/evtest_git.bb (renamed from meta-oe/recipes-support/evtest/evtest_1.25.bb)11
-rw-r--r--meta-oe/recipes-support/farsight/farsight2_0.0.22.bb2
-rw-r--r--meta-oe/recipes-support/farsight/libnice_0.0.13.bb6
-rw-r--r--meta-oe/recipes-support/fbset/fbset_2.1.bb8
-rw-r--r--meta-oe/recipes-support/fbtest/fb-test_git.bb15
-rw-r--r--meta-oe/recipes-support/fftw/fftw.inc6
-rw-r--r--meta-oe/recipes-support/fftw/fftwf_3.3.4.bb3
-rw-r--r--meta-oe/recipes-support/fftw/fftwl_3.3.4.bb3
-rw-r--r--meta-oe/recipes-support/flite/flite.inc2
-rw-r--r--meta-oe/recipes-support/fltk/fltk_1.1.10.bb2
-rw-r--r--meta-oe/recipes-support/gd/gd_2.1.0.bb4
-rw-r--r--meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch61
-rw-r--r--meta-oe/recipes-support/gradm/gradm_3.0.bb50
-rw-r--r--meta-oe/recipes-support/i2c-tools/i2c-tools-3.1.0/Module.mk72
-rw-r--r--meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb26
-rw-r--r--meta-oe/recipes-support/iksemel/iksemel_1.4.bb2
-rw-r--r--meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch17
-rw-r--r--meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb (renamed from meta-oe/recipes-support/imagemagick/imagemagick_6.8.8.bb)28
-rw-r--r--meta-oe/recipes-support/lcov/lcov_1.11.bb28
-rw-r--r--meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb2
-rw-r--r--meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb4
-rw-r--r--meta-oe/recipes-support/libee/libee.inc39
-rwxr-xr-xmeta-oe/recipes-support/libee/libee/ezapi1.sh14
-rw-r--r--meta-oe/recipes-support/libee/libee/libee-parallel-make.patch20
-rwxr-xr-xmeta-oe/recipes-support/libee/libee/run-ptest3
-rw-r--r--meta-oe/recipes-support/libee/libee_0.4.1.bb4
-rw-r--r--meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb3
-rw-r--r--meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch16
-rw-r--r--meta-oe/recipes-support/libetpan/libetpan_0.57.bb3
-rw-r--r--meta-oe/recipes-support/libftdi/libftdi_0.19.bb29
-rw-r--r--meta-oe/recipes-support/libftdi/libftdi_1.1.bb29
-rw-r--r--meta-oe/recipes-support/libgc/libgc_7.2d.bb20
-rw-r--r--meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb24
-rw-r--r--meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb20
-rw-r--r--meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb5
-rw-r--r--meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb4
-rw-r--r--meta-oe/recipes-support/libol/libol/configure.patch14
-rw-r--r--meta-oe/recipes-support/libol/libol_0.3.18.bb11
-rw-r--r--meta-oe/recipes-support/libp11/libp11_0.2.8.bb23
-rw-r--r--meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch45
-rw-r--r--meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch57
-rw-r--r--meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb10
-rw-r--r--meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb2
-rw-r--r--meta-oe/recipes-support/libssh/libssh_git.bb (renamed from meta-oe/recipes-support/libssh/libssh_0.6.3.bb)7
-rw-r--r--meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb18
-rw-r--r--meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb38
-rw-r--r--meta-oe/recipes-support/libunwind/libunwind.inc30
-rw-r--r--meta-oe/recipes-support/libunwind/libunwind_1.1.bb4
-rw-r--r--meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch39
-rw-r--r--meta-oe/recipes-support/libusbg/libusbg_git.bb6
-rw-r--r--meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch36
-rw-r--r--meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb36
-rw-r--r--meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch42
-rw-r--r--meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb4
-rw-r--r--meta-oe/recipes-support/links/links-x11_2.7.bb8
-rw-r--r--meta-oe/recipes-support/links/links.inc4
-rw-r--r--meta-oe/recipes-support/links/links_2.7.bb4
-rw-r--r--meta-oe/recipes-support/lockdev/lockdev_git.bb2
-rw-r--r--meta-oe/recipes-support/log4c/log4c_1.2.4.bb16
-rw-r--r--meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb22
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2.inc6
-rw-r--r--meta-oe/recipes-support/lzip/lzip_1.16.bb (renamed from meta-oe/recipes-support/lzip/lzip_1.15.bb)14
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch13
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch1059
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch26
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch70
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch18
-rw-r--r--meta-oe/recipes-support/lzma/lzma.inc35
-rw-r--r--meta-oe/recipes-support/lzma/lzma_4.65.bb5
-rw-r--r--meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb23
-rw-r--r--meta-oe/recipes-support/maliit/maliit-framework_git.bb2
-rw-r--r--meta-oe/recipes-support/maliit/maliit-plugins_git.bb2
-rw-r--r--meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb (renamed from meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb)12
-rw-r--r--meta-oe/recipes-support/mcelog/mcelog_1.04.bb28
-rw-r--r--meta-oe/recipes-support/mg/files/remove_ncurses_check.patch36
-rw-r--r--meta-oe/recipes-support/mg/mg_20110905.bb3
-rw-r--r--meta-oe/recipes-support/mime-support/mime-support_3.48.bb1
-rw-r--r--meta-oe/recipes-support/mongodb/mongodb_git.bb7
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch29
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch44
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch36
-rwxr-xr-xmeta-oe/recipes-support/multipath-tools/files/multipathd.oe146
-rw-r--r--meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb58
-rw-r--r--meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb (renamed from meta-oe/recipes-support/mysql/mariadb-native_5.1.67.bb)9
-rw-r--r--meta-oe/recipes-support/mysql/mariadb.inc (renamed from meta-oe/recipes-support/mysql/mariadb_5.1.67.inc)142
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch19
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch17
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch27
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch41
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/configure.in.patch13
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch29
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch174
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch257
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch37
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch161
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch37
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/misc.m4.patch13
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/my.cnf9
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/mysqld.service15
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/mysqld.sh24
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/plug.in.patch405
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch18
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch44
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch63
-rw-r--r--meta-oe/recipes-support/mysql/mariadb_5.5.41.bb (renamed from meta-oe/recipes-support/mysql/mariadb_5.1.67.bb)7
-rw-r--r--meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb2
-rw-r--r--meta-oe/recipes-support/nonworking/syslog-ng/files/initscript45
-rw-r--r--meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc98
-rw-r--r--meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb10
-rw-r--r--meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch59
-rw-r--r--meta-oe/recipes-support/numactl/numactl/Makefile7
-rw-r--r--meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch28
-rwxr-xr-xmeta-oe/recipes-support/numactl/numactl/run-ptest9
-rw-r--r--meta-oe/recipes-support/numactl/numactl_2.0.9.bb44
-rw-r--r--meta-oe/recipes-support/ode/ode/configure.patch13
-rw-r--r--meta-oe/recipes-support/ode/ode_0.13.bb3
-rw-r--r--meta-oe/recipes-support/onig/files/configure.patch13
-rw-r--r--meta-oe/recipes-support/onig/onig_5.9.3.bb3
-rw-r--r--meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch31
-rw-r--r--meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch35
-rw-r--r--meta-oe/recipes-support/openct/openct/openct.init89
-rw-r--r--meta-oe/recipes-support/openct/openct/openct.service13
-rw-r--r--meta-oe/recipes-support/openct/openct/openct.sysconfig5
-rw-r--r--meta-oe/recipes-support/openct/openct_0.6.20.bb92
-rw-r--r--meta-oe/recipes-support/opencv/opencv_2.4.bb7
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch38
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch (renamed from meta-oe/recipes-support/openldap/openldap-2.4.23/0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch)0
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/initscript (renamed from meta-oe/recipes-support/openldap/openldap-2.4.23/initscript)12
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch (renamed from meta-oe/recipes-support/openldap/openldap-2.4.23/install-strip.patch)0
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch (renamed from meta-oe/recipes-support/openldap/openldap-2.4.23/kill-icu.patch)0
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch (renamed from meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-2.4.28-gnutls-gcrypt.patch)0
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch (renamed from meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-m4-pthread.patch)0
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch38
-rw-r--r--meta-oe/recipes-support/openldap/openldap_2.4.39.bb (renamed from meta-oe/recipes-support/openldap/openldap_2.4.23.bb)87
-rw-r--r--meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb2
-rw-r--r--meta-oe/recipes-support/openwbem/openwbem/checkserverkey20
-rw-r--r--meta-oe/recipes-support/openwbem/openwbem/loadmof.sh118
-rw-r--r--meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof21
-rw-r--r--meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem7
-rw-r--r--meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init131
-rw-r--r--meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc2
-rw-r--r--meta-oe/recipes-support/openwbem/openwbem/owcimomd.service12
-rw-r--r--meta-oe/recipes-support/openwbem/openwbem/rmmof.sh53
-rw-r--r--meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb112
-rw-r--r--meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb2
-rw-r--r--meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch156
-rw-r--r--meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch11
-rw-r--r--meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb34
-rw-r--r--meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb2
-rw-r--r--meta-oe/recipes-support/picocom/picocom_1.7.bb (renamed from meta-oe/recipes-support/picocom/picocom_1.6.bb)7
-rw-r--r--meta-oe/recipes-support/pidgin/libotr/sepbuild.patch16
-rw-r--r--meta-oe/recipes-support/pidgin/libotr_4.0.0.bb3
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb4
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb (renamed from meta-oe/recipes-support/pidgin/pidgin.inc)41
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb23
-rw-r--r--meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb29
-rw-r--r--meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb2
-rw-r--r--meta-oe/recipes-support/poppler/poppler_0.26.5.bb (renamed from meta-oe/recipes-support/poppler/poppler_0.22.4.bb)15
-rw-r--r--meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch43
-rw-r--r--meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch605
-rw-r--r--meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch273
-rw-r--r--meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch267
-rw-r--r--meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch1082
-rw-r--r--meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch465
-rw-r--r--meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch75
-rw-r--r--meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch393
-rw-r--r--meta-oe/recipes-support/postgresql/files/postgresql-setup73
-rw-r--r--meta-oe/recipes-support/postgresql/files/postgresql.init52
-rw-r--r--meta-oe/recipes-support/postgresql/files/postgresql.service27
-rw-r--r--meta-oe/recipes-support/postgresql/postgresql.inc50
-rw-r--r--meta-oe/recipes-support/pps-tools/pps-tools_git.bb16
-rw-r--r--meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch606
-rw-r--r--meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch83
-rw-r--r--meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch127
-rw-r--r--meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch60
-rw-r--r--meta-oe/recipes-support/procmail/procmail_3.22.bb44
-rw-r--r--meta-oe/recipes-support/pv/pv_1.4.6.bb17
-rw-r--r--meta-oe/recipes-support/pv/pv_1.5.3.bb11
-rw-r--r--meta-oe/recipes-support/re2c/re2c/configure.patch18
-rw-r--r--meta-oe/recipes-support/re2c/re2c_0.13.5.bb3
-rw-r--r--meta-oe/recipes-support/rng-tools/files/init2
-rw-r--r--meta-oe/recipes-support/rng-tools/rng-tools_2.bb26
-rw-r--r--meta-oe/recipes-support/rng-tools/rng-tools_4.bb36
-rw-r--r--meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch44
-rw-r--r--meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb42
-rw-r--r--meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch27
-rw-r--r--meta-oe/recipes-support/sdparm/sdparm_1.08.bb23
-rw-r--r--meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb2
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch29
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils_4.14.bb18
-rw-r--r--meta-oe/recipes-support/smem/smem_1.4.bb26
-rw-r--r--meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb2
-rw-r--r--meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb3
-rw-r--r--meta-oe/recipes-support/synergy/synergy_1.3.8.bb6
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch58
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch27
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch494
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch50
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/configure.patch23
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/dbifix.patch20
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch36
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch33
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch66
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch28
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch30
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/initscript62
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch26
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch17
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch90
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch38
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf (renamed from meta-oe/recipes-support/nonworking/syslog-ng/files/syslog-ng.conf)8
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng1
-rw-r--r--meta-oe/recipes-support/syslog-ng/syslog-ng.inc107
-rw-r--r--meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb21
-rw-r--r--meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb27
-rw-r--r--meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb29
-rw-r--r--meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch2
-rw-r--r--meta-oe/recipes-support/talloc/talloc/sepbuild.patch27
-rw-r--r--meta-oe/recipes-support/talloc/talloc_2.0.1.bb19
-rw-r--r--meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb29
-rw-r--r--meta-oe/recipes-support/tracker/tracker_0.14.2.bb.rej36
-rw-r--r--meta-oe/recipes-support/udisks/udisks_1.0.4.bb4
-rw-r--r--meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb (renamed from meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb)8
-rw-r--r--meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb (renamed from meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bb)12
-rw-r--r--meta-oe/recipes-support/usbpath/usbpath/configure.patch11
-rw-r--r--meta-oe/recipes-support/usbpath/usbpath_svn.bb6
-rw-r--r--meta-oe/recipes-support/utouch/utouch-frame_git.bb2
-rw-r--r--meta-oe/recipes-support/utouch/utouch-mtview_git.bb4
-rw-r--r--meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb4
-rw-r--r--meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb13
-rw-r--r--meta-oe/recipes-support/vim/vim_7.4.481.bb (renamed from meta-oe/recipes-support/vim/vim_7.4.258.bb)72
-rw-r--r--meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch11
-rw-r--r--meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch78
-rw-r--r--meta-oe/recipes-support/xchat/xchat_2.8.8.bb17
-rw-r--r--meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch37
-rw-r--r--meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb5
-rw-r--r--meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch12
-rw-r--r--meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb18
-rw-r--r--meta-oe/recipes-support/zile/zile_2.4.9.bb4
-rw-r--r--meta-oe/recipes-test/fwts/fwts_git.bb24
-rw-r--r--meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch40
-rw-r--r--meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch56
-rw-r--r--meta-oe/recipes-test/gmock/gmock_1.7.0.bb23
-rw-r--r--meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch55
-rw-r--r--meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch39
-rw-r--r--meta-oe/recipes-test/gtest/gtest_1.7.0.bb23
-rw-r--r--meta-perl/conf/layer.conf6
-rw-r--r--meta-perl/recipes-perl/adduser/adduser_3.113+nmu3.bb53
-rw-r--r--meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch57
-rw-r--r--meta-perl/recipes-perl/libalgorithm/libalgorithm-diff-perl_1.15.bb23
-rw-r--r--meta-perl/recipes-perl/libauthen/files/run-ptest16
-rw-r--r--meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb30
-rw-r--r--meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.24.bb36
-rw-r--r--meta-perl/recipes-perl/libcurses/libcurses-perl_1.32.bb26
-rw-r--r--meta-perl/recipes-perl/libdigest/files/run-ptest16
-rw-r--r--meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb26
-rw-r--r--meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb25
-rw-r--r--meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.007.bb24
-rw-r--r--meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.07.bb38
-rw-r--r--meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb29
-rw-r--r--meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.010.bb25
-rw-r--r--meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.71.bb25
-rw-r--r--meta-perl/recipes-perl/libio/files/run-ptest16
-rw-r--r--meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb45
-rw-r--r--meta-perl/recipes-perl/libmime/files/run-ptest16
-rw-r--r--meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb26
-rw-r--r--meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb54
-rw-r--r--meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.1.bb39
-rw-r--r--meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.014.bb35
-rw-r--r--meta-perl/recipes-perl/libnet/files/run-ptest16
-rw-r--r--meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb25
-rw-r--r--meta-perl/recipes-perl/libnet/libnet-libidn-perl-0.12/libidn-wr-cross-compile.patch49
-rw-r--r--meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb34
-rw-r--r--meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb47
-rw-r--r--meta-perl/recipes-perl/libtest/libtest-harness-perl_3.30.bb80
-rw-r--r--meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb27
-rw-r--r--meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb24
-rw-r--r--meta-perl/recipes-perl/libxml/libxml-filter-buffertext-perl_1.01.bb25
-rw-r--r--meta-perl/recipes-perl/libxml/libxml-libxml-perl/disable-libxml2-check.patch79
-rw-r--r--meta-perl/recipes-perl/libxml/libxml-libxml-perl/fix-CATALOG-conditional-compile.patch31
-rw-r--r--meta-perl/recipes-perl/libxml/libxml-libxml-perl/using-DOCB-conditional.patch91
-rw-r--r--meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0116.bb47
-rw-r--r--meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.54.bb25
-rw-r--r--meta-python/COPYING.MIT17
-rw-r--r--meta-python/README53
-rw-r--r--meta-python/conf/layer.conf15
-rw-r--r--meta-python/recipes-devtools/python/pyrtm_0.2.bb (renamed from meta-oe/recipes-devtools/python/pyrtm_0.2.bb)2
-rw-r--r--meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb (renamed from meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb23
-rw-r--r--meta-python/recipes-devtools/python/python-certifi_14.05.14.bb20
-rw-r--r--meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb (renamed from meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb (renamed from meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb20
-rw-r--r--meta-python/recipes-devtools/python/python-cython_0.20.2.bb (renamed from meta-oe/recipes-devtools/python/python-cython_0.15.1.bb)19
-rw-r--r--meta-python/recipes-devtools/python/python-dateutil_1.5.bb (renamed from meta-oe/recipes-devtools/python/python-dateutil_1.5.bb)2
-rw-r--r--meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch53
-rw-r--r--meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch29
-rw-r--r--meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch29
-rw-r--r--meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb22
-rw-r--r--meta-python/recipes-devtools/python/python-decorator_3.4.0.bb22
-rw-r--r--meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb (renamed from meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-feedparser_5.1.3.bb (renamed from meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb33
-rw-r--r--meta-python/recipes-devtools/python/python-gdata_1.2.4.bb (renamed from meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-gevent_0.13.8.bb (renamed from meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-greenlet_0.4.1.bb (renamed from meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch (renamed from meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch)0
-rw-r--r--meta-python/recipes-devtools/python/python-ldap_2.3.9.bb (renamed from meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb)2
-rw-r--r--meta-python/recipes-devtools/python/python-ldap_2.4.10.bb27
-rw-r--r--meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch91
-rw-r--r--meta-python/recipes-devtools/python/python-lxml_3.2.5.bb (renamed from meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb)8
-rw-r--r--meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch (renamed from meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch)0
-rw-r--r--meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb (renamed from meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb)23
-rw-r--r--meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch (renamed from meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch)0
-rw-r--r--meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch (renamed from meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch)19
-rw-r--r--meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb (renamed from meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb)4
-rw-r--r--meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb23
-rw-r--r--meta-python/recipes-devtools/python/python-mock_1.0.1.bb26
-rw-r--r--meta-python/recipes-devtools/python/python-numeric/no-lapack.patch (renamed from meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch)0
-rw-r--r--meta-python/recipes-devtools/python/python-numeric_24.2.bb (renamed from meta-oe/recipes-devtools/python/python-numeric_24.2.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-pep8_1.4.6.bb23
-rw-r--r--meta-python/recipes-devtools/python/python-pexpect_2.3.bb (renamed from meta-oe/recipes-devtools/python/python-pexpect_2.3.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-pip_1.3.1.bb (renamed from meta-oe/recipes-devtools/python/python-pip_1.3.1.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb25
-rw-r--r--meta-python/recipes-devtools/python/python-psutil_0.6.1.bb (renamed from meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb (renamed from meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb23
-rw-r--r--meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb18
-rw-r--r--meta-python/recipes-devtools/python/python-pyserial_2.4.bb (renamed from meta-oe/recipes-devtools/python/python-pyserial_2.4.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-pytz_2014.7.bb19
-rw-r--r--meta-python/recipes-devtools/python/python-pyudev_0.16.1.bb (renamed from meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-pyusb_1.0.0a2.bb (renamed from meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-pyyaml/setup.py (renamed from meta-oe/recipes-devtools/python/python-pyyaml/setup.py)0
-rw-r--r--meta-python/recipes-devtools/python/python-pyyaml_3.10.bb (renamed from meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb27
-rw-r--r--meta-python/recipes-devtools/python/python-smbus_3.1.1.bb (renamed from meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb)4
-rw-r--r--meta-python/recipes-devtools/python/python-snakefood_1.4.bb56
-rw-r--r--meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb (renamed from meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-tornado_4.0.2.bb34
-rw-r--r--meta-python/recipes-devtools/python/python-twisted_13.2.0.bb (renamed from meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb)29
-rw-r--r--meta-python/recipes-devtools/python/python-ujson_1.33.bb21
-rw-r--r--meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb (renamed from meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-webdav_0.1.2.bb (renamed from meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb)0
-rw-r--r--meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb (renamed from meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb)0
-rw-r--r--meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb23
-rw-r--r--meta-ruby/classes/ruby.bbclass125
-rw-r--r--meta-ruby/conf/layer.conf6
-rw-r--r--meta-ruby/recipes-devtools/ruby/bundler_git.bb29
-rw-r--r--meta-ruby/recipes-devtools/ruby/ruby.inc4
-rw-r--r--meta-ruby/recipes-devtools/ruby/ruby/remove-the-dependency-on-dir.patch37
-rw-r--r--meta-ruby/recipes-devtools/ruby/ruby/ruby-1.9.3-fix-s390x-build.patch12
-rw-r--r--meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch31
-rw-r--r--meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb (renamed from meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p429.bb)16
-rw-r--r--meta-systemd/oe-core/recipes-bsp/keymaps/keymaps/keymaps.service9
-rw-r--r--meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend11
-rw-r--r--meta-systemd/oe-core/recipes-connectivity/avahi/avahi_0.6.31.bbappend5
-rw-r--r--meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcpd.service12
-rw-r--r--meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcrelay.service10
-rw-r--r--meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend17
-rw-r--r--meta-systemd/oe-core/recipes-connectivity/portmap/portmap/portmap.service10
-rw-r--r--meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend11
-rw-r--r--meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-klogd.service.in8
-rw-r--r--meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-syslog.service.in13
-rw-r--r--meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend22
-rw-r--r--meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear.socket10
-rw-r--r--meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear@.service11
-rw-r--r--meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbearkey.service10
-rw-r--r--meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend17
-rw-r--r--meta-systemd/oe-core/recipes-extended/at/at/atd.service9
-rw-r--r--meta-systemd/oe-core/recipes-extended/at/at_%.bbappend4
-rw-r--r--meta-systemd/oe-core/recipes-extended/at/at_3.1.14.bbappend16
-rw-r--r--meta-systemd/oe-core/recipes-extended/cronie/cronie/crond.service10
-rw-r--r--meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend3
-rw-r--r--meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend17
-rw-r--r--meta-systemd/oe-core/recipes-extended/pam/libpam_1.1.6.bbappend4
-rw-r--r--meta-webserver/README16
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2-native_2.4.10.bb (renamed from meta-webserver/recipes-httpd/apache2/apache2-native_2.4.9.bb)27
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/apache-CVE-2014-0117.patch289
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch17
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb (renamed from meta-webserver/recipes-httpd/apache2/apache2_2.4.9.bb)34
-rw-r--r--meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch52
-rw-r--r--meta-webserver/recipes-httpd/apache2/files/apache2.service14
-rw-r--r--meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch40
-rw-r--r--meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb1
-rw-r--r--meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb2
-rw-r--r--meta-webserver/recipes-httpd/monkey/files/monkey.init34
-rw-r--r--meta-webserver/recipes-httpd/monkey/files/monkey.service12
-rw-r--r--meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb64
-rw-r--r--meta-webserver/recipes-httpd/sthttpd/sthttpd/init6
-rw-r--r--meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf1
-rw-r--r--meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service2
-rw-r--r--meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb15
-rw-r--r--meta-webserver/recipes-php/modphp/modphp5.inc104
-rw-r--r--meta-webserver/recipes-php/modphp/modphp_5.5.12.bb7
-rw-r--r--meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.3.4.bb (renamed from meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.0.bb)7
-rw-r--r--meta-webserver/recipes-php/xdebug/xdebug_2.2.6.bb (renamed from meta-webserver/recipes-php/xdebug/xdebug_2.2.5.bb)7
-rw-r--r--meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch17
-rw-r--r--meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch18
-rw-r--r--meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb15
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch2
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch35
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch25
-rw-r--r--meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb (renamed from meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb)42
-rw-r--r--meta-xfce/classes/xfce-app.bbclass2
-rw-r--r--meta-xfce/classes/xfce-git.bbclass2
-rw-r--r--meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb11
-rw-r--r--meta-xfce/recipes-apps/orage/orage_4.10.0.bb (renamed from meta-xfce/recipes-apps/orage/orage_4.8.4.bb)4
-rw-r--r--meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.2.bb4
-rw-r--r--meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.1.bb4
-rw-r--r--meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.0.1.bb10
-rw-r--r--meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_git.bb18
-rw-r--r--meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb (renamed from meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.2.bb)4
-rw-r--r--meta-xfce/recipes-art/xfce4-icon-theme/xfce4-icon-theme_4.4.3.bb2
-rw-r--r--meta-xfce/recipes-art/xfwm4-themes/xfwm4-themes_4.10.0.bb2
-rw-r--r--meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb2
-rw-r--r--meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.6.bb (renamed from meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.3.bb)6
-rw-r--r--meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.5.bb (renamed from meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.3.bb)5
-rw-r--r--meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb11
-rw-r--r--meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.6.0.bb (renamed from meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.5.0.bb)4
-rw-r--r--meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb2
-rw-r--r--meta-xfce/recipes-panel-plugins/weather/files/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch162
-rw-r--r--meta-xfce/recipes-panel-plugins/weather/files/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch27
-rw-r--r--meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.3.bb4
-rw-r--r--meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb10
-rw-r--r--meta-xfce/recipes-xfce/exo/exo_0.10.2.bb2
-rw-r--r--meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb4
-rw-r--r--meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb2
-rw-r--r--meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb2
-rw-r--r--meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb4
-rw-r--r--meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb9
-rw-r--r--meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb4
-rw-r--r--meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch45
-rw-r--r--meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb (renamed from meta-xfce/recipes-xfce/tumbler/tumbler_0.1.29.bb)12
-rw-r--r--meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch13
-rw-r--r--meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb11
-rw-r--r--meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-Add-shutdown-reboot-functionality-for-systemd.patch677
-rw-r--r--meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.1.bb (renamed from meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.2.0.bb)29
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch8
-rw-r--r--meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb4
-rw-r--r--toolchain-layer/conf/layer.conf5
1560 files changed, 35618 insertions, 16600 deletions
diff --git a/contrib/tesseract-langs.sh b/contrib/tesseract-langs.sh
new file mode 100755
index 0000000000..50873c139b
--- /dev/null
+++ b/contrib/tesseract-langs.sh
@@ -0,0 +1,92 @@
+#! /bin/sh
+
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+PV='3.02'
+
+# Sometimes the software package has a minor version, but language
+# packages have not. Example:
+# software package: tesseract-ocr-3.02.02.tar.gz
+# language package: tesseract-ocr-3.02.por.tar.gz
+MINOR_PV=02
+
+recipes_dir=$1
+
+usage() {
+ echo "Usage: `basename $0` <recipes dir> [ <download dir> ]"
+}
+
+if [ -z "$recipes_dir" ]; then
+ usage
+ exit 1
+fi
+mkdir -p "$recipes_dir"
+
+file_list_uri='https://code.google.com/p/tesseract-ocr/downloads/list'
+file_list=`mktemp`
+
+remove_dl_dir=
+if [ -z "$2" ]; then
+ remove_dl_dir=1
+ dl_dir=`mktemp -d`
+else
+ dl_dir="$2"
+fi
+
+mkdir -p $dl_dir
+
+tesseract_langs() {
+ wget -q -O "$file_list" "$file_list_uri"
+
+ grep -E 'a href="detail\?name=tesseract-ocr-'${PV}'\.[^\.]+.tar.gz&amp;can=2&amp;q=">' "$file_list" | \
+ sed -r -e 's/.*tesseract-ocr-'${PV}'\.*([^\.]+)\.tar\.gz.*/\1/' | \
+ grep -Ev '('${MINOR_PV}'|'${MINOR_PV}'-doc-html)' | \
+ sort -u
+}
+
+download_lang_files() {
+ local langs="$1"
+ local uri
+ for lang in $langs; do
+ if [ ! -e "$dl_dir/tesseract-ocr-${PV}.${lang}.tar.gz" ]; then
+ uri="https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.${lang}.tar.gz"
+ echo "Downloading $uri"
+ wget -q -P "$dl_dir" "$uri"
+ fi
+ done
+}
+
+create_recipe() {
+ local lang=$1
+ local tarball
+
+ tarball="$dl_dir/tesseract-ocr-${PV}.${lang}.tar.gz"
+
+ md5sum=`md5sum $tarball | awk '{print $1}'`
+ sha256sum=`sha256sum $tarball | awk '{print $1}'`
+
+ cat > $recipes_dir/tesseract-lang-`echo ${lang} | sed s/_/-/g`_${PV}.bb <<EOF
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "$lang"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "${md5sum}"
+SRC_URI[sha256sum] = "${sha256sum}"
+EOF
+}
+
+
+LANGS=`tesseract_langs`
+
+download_lang_files "$LANGS"
+
+for lang in $LANGS; do
+ create_recipe $lang
+done
+
+[ -n "$remove_dl_dir" ] && rm -rf $dl_dir
+rm -f $file_list
diff --git a/meta-efl/README b/meta-efl/README
index f8b929e668..cfffc47238 100644
--- a/meta-efl/README
+++ b/meta-efl/README
@@ -5,6 +5,7 @@ branch: master
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
+layers: meta-oe, meta-python
branch: master
revision: HEAD
diff --git a/meta-efl/classes/efl.bbclass b/meta-efl/classes/efl.bbclass
index d8cdd11111..eb40e4bc3e 100644
--- a/meta-efl/classes/efl.bbclass
+++ b/meta-efl/classes/efl.bbclass
@@ -1,5 +1,5 @@
SECTION = "e/libs"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
DEPENDS += "pkgconfig-native"
# revision 0d93ec84b30bc1bee2caaee72d667f87bc468a70 made SRCDATE and hence PV go backwards, so we need to up PE to unbreak builds and feeds :(
@@ -21,6 +21,7 @@ do_install_prepend () {
PACKAGES =+ "${PN}-themes"
PACKAGES += "${PN}-tests"
+PACKAGES += "${PN}-eolian"
FILES_${PN} = "${libdir}/*.so.* \
${libdir}/edje/modules/${PN}/*/module.so \
@@ -49,6 +50,10 @@ FILES_${PN}-dev += "${bindir}/${PN}-config \
${libdir}/edje/modules/${PN}/*/module.la \
"
+FILES_${PN}-eolian = " \
+ ${datadir}/eolian/include \
+"
+
FILES_${PN}-staticdev += "${libdir}/${BPN}/*/*.a"
FILES_${PN}-dbg += "${libdir}/${PN}/.debug \
diff --git a/meta-efl/conf/layer.conf b/meta-efl/conf/layer.conf
index 5ed7bd676f..ed132aabba 100644
--- a/meta-efl/conf/layer.conf
+++ b/meta-efl/conf/layer.conf
@@ -8,6 +8,24 @@ BBFILE_COLLECTIONS += "efl-layer"
BBFILE_PATTERN_efl-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_efl-layer = "7"
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_efl-layer = "1"
+
+LAYERDEPENDS_efl-layer = "core openembedded-layer"
+
E_MIRROR = "http://download.enlightenment.org/releases"
E_RELEASES = "http://download.enlightenment.org/rel"
E_SVN = "svn://svn.enlightenment.org/svn/e"
+
+# RDEPENDS on update-alternatives provider opkg-utils
+SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\
+ exquisite-theme-illume->opkg-utils \
+"
+
+# RDEPENDS on e-wm
+SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\
+ e-wm-theme-illume-efenniht->e-wm \
+ e-wm-theme-illume-neo->e-wm \
+ e-wm-theme-b-and-w->e-wm \
+"
diff --git a/meta-efl/recipes-devtools/python/python-efl.inc b/meta-efl/recipes-devtools/python/python-efl.inc
index 0cfe2a5772..9780518898 100644
--- a/meta-efl/recipes-devtools/python/python-efl.inc
+++ b/meta-efl/recipes-devtools/python/python-efl.inc
@@ -31,7 +31,7 @@ do_install_append() {
find ${D}${libdir}/${PYTHON_DIR}/site-packages -name \*.pyo -o -name \*.pyc | xargs rm -f
}
-PACKAGES += "python-ecore python-eldbus python-edje python-elementary python-emotion python-evas ${PN}-examples"
+PACKAGES += "python-ecore python-eldbus python-edje python-elementary python-emotion python-evas python-ethumb ${PN}-examples"
FILES_${PN} = " \
${libdir}/${PYTHON_DIR}/site-packages/python_efl*egg-info \
@@ -47,6 +47,7 @@ FILES_${PN}-examples = "${datadir}/${PN}/examples"
FILES_python-ecore = " \
${libdir}/${PYTHON_DIR}/site-packages/ecore/ \
${libdir}/${PYTHON_DIR}/site-packages/efl/ecore.so \
+ ${libdir}/${PYTHON_DIR}/site-packages/efl/ecore \
"
FILES_python-eldbus = " \
${libdir}/${PYTHON_DIR}/site-packages/e_dbus/ \
@@ -68,3 +69,7 @@ FILES_python-evas = " \
${libdir}/${PYTHON_DIR}/site-packages/evas/ \
${libdir}/${PYTHON_DIR}/site-packages/efl/evas.so \
"
+FILES_python-ethumb = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/ethumb/ \
+ ${libdir}/${PYTHON_DIR}/site-packages/efl/ethumb*so \
+"
diff --git a/meta-efl/recipes-devtools/python/python-efl_1.12.0.bb b/meta-efl/recipes-devtools/python/python-efl_1.12.0.bb
new file mode 100644
index 0000000000..8c7e5700bd
--- /dev/null
+++ b/meta-efl/recipes-devtools/python/python-efl_1.12.0.bb
@@ -0,0 +1,4 @@
+require ${BPN}.inc
+
+SRC_URI[md5sum] = "090aa2b22447ea83a1aca9f284ce5288"
+SRC_URI[sha256sum] = "bb9f30bf437b8e9ad5a4ba405795c1f8f840a37c660a6d47a2829587b32dbb67"
diff --git a/meta-efl/recipes-devtools/python/python-efl_1.9.0.bb b/meta-efl/recipes-devtools/python/python-efl_1.9.0.bb
deleted file mode 100644
index f34e428426..0000000000
--- a/meta-efl/recipes-devtools/python/python-efl_1.9.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI[md5sum] = "c643d66157cac9b2892af8b6d1a803b1"
-SRC_URI[sha256sum] = "f6d6fecca20df016acc79a12348ae0a0f6db82e6cceaf53c4b46d7ca72bb8f07"
diff --git a/meta-efl/recipes-devtools/python/python-efl_git.bb b/meta-efl/recipes-devtools/python/python-efl_git.bb
new file mode 100644
index 0000000000..83a01ac696
--- /dev/null
+++ b/meta-efl/recipes-devtools/python/python-efl_git.bb
@@ -0,0 +1,9 @@
+require ${BPN}.inc
+
+SRCREV = "71ed20ebf662a7b72e60913df94ce6933236bf09"
+PV = "1.12.0+git${SRCPV}"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "git://git.enlightenment.org/bindings/python/${BPN}.git;branch=python-efl-1.12"
+
+S = "${WORKDIR}/git"
diff --git a/meta-efl/recipes-efl/e17/cpu/configure.patch b/meta-efl/recipes-efl/e17/cpu/configure.patch
new file mode 100644
index 0000000000..87c85de9f8
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/cpu/configure.patch
@@ -0,0 +1,13 @@
+Index: cpu/configure.ac
+===================================================================
+--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
+@@ -10,7 +10,7 @@
+ AC_CANONICAL_HOST
+ AC_ISC_POSIX
+
+-AM_INIT_AUTOMAKE(1.6)
++AM_INIT_AUTOMAKE([foreign])
+ AM_CONFIG_HEADER(config.h)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
diff --git a/meta-efl/recipes-efl/e17/cpu_svn.bb b/meta-efl/recipes-efl/e17/cpu_svn.bb
index c0ad6a42c6..14eb08f718 100644
--- a/meta-efl/recipes-efl/e17/cpu_svn.bb
+++ b/meta-efl/recipes-efl/e17/cpu_svn.bb
@@ -6,3 +6,5 @@ PV = "0.0.1+svnr${SRCREV}"
PR = "${INC_PR}.0"
require e-module.inc
+
+SRC_URI += "file://configure.patch"
diff --git a/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb b/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb
index af32a355a4..ae1b8a6c69 100644
--- a/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb
+++ b/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "b-and-w theme was default E17 theme before alpha3 and some people
SECTION = "e/utils"
DEPENDS = "edje-native"
RDEPENDS_${PN} = "e-wm"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
# upstream was asked to include license infor in THEME dir
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
diff --git a/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb b/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb
index 1bf5f1de09..965e4e995a 100644
--- a/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb
+++ b/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb
@@ -9,7 +9,7 @@ HOMEPAGE = "http://trac.enlightenment.org/e/wiki/Themes#Efenniht"
DEPENDS = "edje-native"
RDEPENDS_${PN} = "e-wm"
RSUGGESTS_${PN} = "elementary-theme-efenniht"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
SRCREV = "${EFL_SRCREV}"
diff --git a/meta-efl/recipes-efl/e17/e-wm.inc b/meta-efl/recipes-efl/e17/e-wm.inc
index 08fe25fce6..45637f366e 100644
--- a/meta-efl/recipes-efl/e17/e-wm.inc
+++ b/meta-efl/recipes-efl/e17/e-wm.inc
@@ -1,15 +1,17 @@
DESCRIPTION = "The Enlightenment Window Manager Version 17"
DEPENDS = "eet evas eina ecore edje efreet edbus eeze eio elementary libxcb xcb-util-keysyms"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=76de290eb3fdda12121830191c152a7d"
SRCNAME = "e"
-inherit e update-alternatives gettext
+inherit e update-alternatives gettext pkgconfig
S = "${WORKDIR}/${SRCNAME}"
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+
EXTRA_OECONF = "\
--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
@@ -21,6 +23,7 @@ EXTRA_OECONF = "\
do_configure_prepend() {
autopoint || true
+ sed '/^ *EFL_PKG_CHECK_VAR/ s/systemduserunitdir/systemdsystemunitdir/g' -i ${S}/configure.ac
}
do_install_append() {
@@ -70,6 +73,7 @@ PACKAGES =+ "\
${PN}-config-netbook \
${PN}-config-scaleable \
${PN}-config-standard \
+ ${PN}-config-tiling \
${PN}-theme-default \
${PN}-background-dark-gradient \
${PN}-background-light-gradient \
@@ -96,6 +100,8 @@ RRECOMMENDS_${PN} = "\
${PN}-other \
${PN}-input-methods \
${ESYSACTIONS} \
+ efreet \
+ evas-generic-loader-svg \
"
FILES_${PN} = "\
@@ -124,6 +130,7 @@ FILES_${PN}-config-minimalist = "${datadir}/enlightenment/data/config/minimalist
FILES_${PN}-config-netbook = "${datadir}/enlightenment/data/config/netbook"
FILES_${PN}-config-scaleable = "${datadir}/enlightenment/data/config/scaleable"
FILES_${PN}-config-standard = "${datadir}/enlightenment/data/config/standard"
+FILES_${PN}-config-tiling = "${datadir}/enlightenment/data/config/tiling"
FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj"
FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj"
FILES_${PN}-background-dark-gradient = "${datadir}/enlightenment/data/backgrounds/Dark_Gradient.edj"
diff --git a/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch b/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch
new file mode 100644
index 0000000000..e718ef3db3
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch
@@ -0,0 +1,28 @@
+From 0aef43c9cd1656413cf2eb3dc7c19b355ee7ed52 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@pseudoterminal.org>
+Date: Sun, 1 Jun 2014 14:45:49 +0200
+Subject: [PATCH] Fix incorrect message type
+
+Upstream-Status: Pending
+
+Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+---
+ src/bin/e_desk.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c
+index b156e19..77d7520 100644
+--- a/src/bin/e_desk.c
++++ b/src/bin/e_desk.c
+@@ -221,7 +221,7 @@ e_desk_show(E_Desk *desk)
+ E_Event_Desk_Show *ev;
+ E_Event_Desk_Before_Show *eev;
+ E_Event_Desk_After_Show *eeev;
+- Edje_Message_Float_Set *msg;
++ Edje_Message_Int_Set *msg;
+ Eina_List *l;
+ E_Shelf *es;
+ int was_zone = 0, x, y, dx = 0, dy = 0;
+--
+1.8.3.2
+
diff --git a/meta-efl/recipes-efl/e17/e-wm_0.18.7.bb b/meta-efl/recipes-efl/e17/e-wm_0.18.7.bb
deleted file mode 100644
index 0e3972702e..0000000000
--- a/meta-efl/recipes-efl/e17/e-wm_0.18.7.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require ${BPN}.inc
-
-SRCNAME = "enlightenment"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-SRC_URI = "\
- ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
- file://enlightenment_start.oe \
- file://applications.menu \
-"
-
-SRC_URI[md5sum] = "499b92ef38347881c72729f1e066eb20"
-SRC_URI[sha256sum] = "1b05a1d986643a6603b1c20ac87b6864325d0aea22a3d1d096f4063b4fba2f4d"
-
-do_configure_prepend() {
- sed '/^ *EFL_PKG_CHECK_VAR/ s/systemduserunitdir/systemdsystemunitdir/g' -i ${S}/configure.ac
-}
-
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
diff --git a/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb b/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb
new file mode 100644
index 0000000000..6b4c9fc542
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb
@@ -0,0 +1,15 @@
+require ${BPN}.inc
+
+SRCNAME = "enlightenment"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+SRC_URI = "\
+ ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
+ file://enlightenment_start.oe \
+ file://applications.menu \
+ file://0001-Fix-incorrect-message-type.patch \
+"
+
+SRC_URI[md5sum] = "79c9f524e1d0510061c62c4b038a8ece"
+SRC_URI[sha256sum] = "14c9bde4334d2f8b0776c6113d02b923ab159eea1cbf7013489e4f3bf37a51bb"
diff --git a/meta-efl/recipes-efl/e17/e-wm_0.19.2.bb b/meta-efl/recipes-efl/e17/e-wm_0.19.2.bb
new file mode 100644
index 0000000000..ac33406a47
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/e-wm_0.19.2.bb
@@ -0,0 +1,19 @@
+require ${BPN}.inc
+
+SRCNAME = "enlightenment"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+# couple of modules needed for illume2 (mobile) profile were removed in
+# http://git.enlightenment.org/core/enlightenment.git/commit/src/modules/Makefile.mk?id=1be76d599ca27f820b58b8186c5f73d9844c67ca
+# and replacements aren't included yet, if you want to use e-wm on device with small screen, better stay with 0.18 release
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "\
+ ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
+ file://enlightenment_start.oe \
+ file://applications.menu \
+"
+
+SRC_URI[md5sum] = "ca76c640c2a54f89f069176258151334"
+SRC_URI[sha256sum] = "9063d3de704a5700468a558f6707f402fe239c0807bc38ed29aaf7c62db1cd02"
diff --git a/meta-efl/recipes-efl/e17/e-wm_git.bb b/meta-efl/recipes-efl/e17/e-wm_git.bb
new file mode 100644
index 0000000000..18738781bd
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/e-wm_git.bb
@@ -0,0 +1,13 @@
+require ${BPN}.inc
+
+PV = "0.19.2+git${SRCPV}"
+DEFAULT_PREFERENCE = "-2"
+
+SRC_URI = " \
+ git://git.enlightenment.org/core/enlightenment.git;branch=enlightenment-0.19 \
+ file://enlightenment_start.oe \
+ file://applications.menu \
+"
+S = "${WORKDIR}/git"
+
+SRCREV = "be0d07877e561edd7242368797a90c36c4e77ee4"
diff --git a/meta-efl/recipes-efl/e17/elbow_git.bb b/meta-efl/recipes-efl/e17/elbow_git.bb
new file mode 100644
index 0000000000..16664f97a2
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/elbow_git.bb
@@ -0,0 +1,24 @@
+SUMMARY = "EFL based browser"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
+DEPENDS = "evas ecore edje eina elementary webkit-efl sqlite3"
+
+PV = "0.0.1+gitr${SRCPV}"
+SRCREV = "b41fd0bc9514ff61bb2a50d957efe4155fa3e6a8"
+
+# webkit-efl isn't available for < armv7a
+COMPATIBLE_MACHINE = "(-)"
+COMPATIBLE_MACHINE_i586 = "(.*)"
+COMPATIBLE_MACHINE_x86-64 = "(.*)"
+COMPATIBLE_MACHINE_armv7a = "(.*)"
+
+inherit e gettext cmake
+
+EXTRA_OECMAKE = "-DDATA_INSTALL_DIR=${datadir}"
+
+SRC_URI = " \
+ git://github.com/bunhere/elbow.git;protocol=https \
+"
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${datadir}/themes"
diff --git a/meta-efl/recipes-efl/e17/elmdentica/configure.patch b/meta-efl/recipes-efl/e17/elmdentica/configure.patch
new file mode 100644
index 0000000000..79a981b471
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/elmdentica/configure.patch
@@ -0,0 +1,13 @@
+Index: elmdentica/configure.ac
+===================================================================
+--- elmdentica.orig/configure.ac 2014-07-17 21:46:14.712566207 +0000
++++ elmdentica/configure.ac 2014-07-17 21:51:34.960574935 +0000
+@@ -3,7 +3,7 @@
+ AM_CONFIG_HEADER(config.h)
+ AC_CONFIG_MACRO_DIR([m4])
+
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+
+ AC_PROG_CC
+ AC_GNU_SOURCE
diff --git a/meta-efl/recipes-efl/e17/elmdentica_svn.bb b/meta-efl/recipes-efl/e17/elmdentica_svn.bb
index e7b61a528c..20a4849ba5 100644
--- a/meta-efl/recipes-efl/e17/elmdentica_svn.bb
+++ b/meta-efl/recipes-efl/e17/elmdentica_svn.bb
@@ -17,3 +17,5 @@ PV = "0.9.9+svnr${SRCPV}"
SRCREV = "${EFL_SRCREV}"
RDEPENDS_${PN} = "${PN}-themes"
+
+SRC_URI += "file://configure.patch"
diff --git a/meta-efl/recipes-efl/e17/enjoy/configure.patch b/meta-efl/recipes-efl/e17/enjoy/configure.patch
new file mode 100644
index 0000000000..6e0ed74610
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/enjoy/configure.patch
@@ -0,0 +1,13 @@
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2014-07-17 21:48:51.284570474 +0000
++++ git/configure.ac 2014-07-17 21:53:39.104578318 +0000
+@@ -26,7 +26,7 @@
+ AC_CANONICAL_HOST
+ AC_ISC_POSIX
+
+-AM_INIT_AUTOMAKE(1.6 dist-bzip2)
++AM_INIT_AUTOMAKE([dist-bzip2 foreign])
+ AC_CONFIG_HEADERS(config.h)
+ _XTERM_COLORS
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
diff --git a/meta-efl/recipes-efl/e17/enjoy_git.bb b/meta-efl/recipes-efl/e17/enjoy_git.bb
index bc3168e6a3..297cbd5236 100644
--- a/meta-efl/recipes-efl/e17/enjoy_git.bb
+++ b/meta-efl/recipes-efl/e17/enjoy_git.bb
@@ -22,6 +22,7 @@ inherit e gettext
SRC_URI = " \
git://git.enlightenment.org/apps/enjoy.git \
file://0001-always-use-position-as-percent-and-define-a-1-second.patch \
+ file://configure.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-efl/recipes-efl/e17/ephoto/configure.patch b/meta-efl/recipes-efl/e17/ephoto/configure.patch
new file mode 100644
index 0000000000..59466f8af8
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/ephoto/configure.patch
@@ -0,0 +1,13 @@
+Index: ephoto/configure.ac
+===================================================================
+--- ephoto.orig/configure.ac 2014-07-17 21:48:51.028570467 +0000
++++ ephoto/configure.ac 2014-07-17 21:52:56.120577146 +0000
+@@ -27,7 +27,7 @@
+ AC_CANONICAL_HOST
+ AC_ISC_POSIX
+
+-AM_INIT_AUTOMAKE(1.6 dist-bzip2)
++AM_INIT_AUTOMAKE([dist-bzip2 foreign])
+ AM_CONFIG_HEADER(src/bin/config.h)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
diff --git a/meta-efl/recipes-efl/e17/ephoto_svn.bb b/meta-efl/recipes-efl/e17/ephoto_svn.bb
index cea6f39f8e..5cecda5889 100644
--- a/meta-efl/recipes-efl/e17/ephoto_svn.bb
+++ b/meta-efl/recipes-efl/e17/ephoto_svn.bb
@@ -1,4 +1,4 @@
-LICENSE = "MIT GPL-3.0"
+LICENSE = "MIT & GPL-3.0"
PV = "0.1.0+svnr${SRCREV}"
PR = "${INC_PR}.0"
@@ -15,3 +15,5 @@ SRCNAME = "${PN}"
# autotools-brokensep
B = "${S}"
+
+SRC_URI += "file://configure.patch"
diff --git a/meta-efl/recipes-efl/e17/eve/0001-eve-theme-updated-for-Openmoko-Freerunner-screen.patch b/meta-efl/recipes-efl/e17/eve/0001-eve-theme-updated-for-Openmoko-Freerunner-screen.patch
deleted file mode 100644
index a3c5cdaaae..0000000000
--- a/meta-efl/recipes-efl/e17/eve/0001-eve-theme-updated-for-Openmoko-Freerunner-screen.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 203aabbb95a98fa455363f78ff07e2ed217b0086 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
-Date: Wed, 17 Nov 2010 16:38:47 +0100
-Subject: [PATCH 1/2] eve: theme updated for Openmoko Freerunner screen
-
----
- data/themes/default.edc | 24 +++++++++++-------------
- 1 file changed, 11 insertions(+), 13 deletions(-)
-
-diff --git a/data/themes/default.edc b/data/themes/default.edc
-index feeac4f..848ca5c 100644
---- a/data/themes/default.edc
-+++ b/data/themes/default.edc
-@@ -1,8 +1,8 @@
--#define TOP_PANEL_HEIGHT 64
-+#define TOP_PANEL_HEIGHT 80
- #define BOTTOM_PANEL_HEIGHT 85
- #define TOOLBAR_ITEMS 5
- #define TOOLBAR_MIDDLE_ITEM 3
--#define TOOLBAR_ITEM_SIZE 90
-+#define TOOLBAR_ITEM_SIZE 87
- #define URLBAR_ITEM_SIZE 40
-
- #define TOOLBAR_POSITION(_item_number) ((_item_number)*(TOOLBAR_ITEM_SIZE)-((TOOLBAR_ITEM_SIZE)*(TOOLBAR_MIDDLE_ITEM)))
-@@ -295,7 +295,6 @@ collections {
- type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 255;
-- min: 240 320;
- }
- }
- }
-@@ -526,7 +525,6 @@ collections {
- type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 255;
-- min: 240 320;
- }
- }
- part { name: "view";
-@@ -920,17 +918,17 @@ collections {
- type: IMAGE;
- description { state: "default" 0.0;
- visible: 0;
-- min: 30 27;
-- max: 30 27;
-+ min: 80 78;
-+ max: 80 78;
- fixed: 1 1;
- image.normal: "panel-top-triangle.png";
- rel1 {
- relative: 1.0 0.0;
-- offset: 60 60;
-+ offset: 0 0;
- }
- rel2 {
- relative: 1.0 0.0;
-- offset: 60 60;
-+ offset: 0 0;
- }
- }
- description { state: "visible" 0.0;
-@@ -939,11 +937,11 @@ collections {
- image.normal: "panel-top-triangle.png";
- rel1 {
- relative: 1.0 0.0;
-- offset: -15 13;
-+ offset: -40 38;
- }
- rel2 {
- relative: 1.0 0.0;
-- offset: -15 13;
-+ offset: -40 38;
- }
- }
- description { state: "pressed" 0.0;
-@@ -1033,11 +1031,11 @@ collections {
- rel2 {
- to_y: "panel-top";
- relative: 1.0 0.0;
-- offset: -1 24;
-+ offset: -1 26;
- }
- text {
- font: "Sans,Edje-Vera";
-- size: 8;
-+ size: 11;
- text: "Untitled";
- min: 0 1;
- align: 0.5 0.5;
-@@ -1053,7 +1051,7 @@ collections {
- rel1 {
- to_y: "panel-top";
- relative: 0.0 0.0;
-- offset: (URLBAR_ITEM_SIZE+20) 68;
-+ offset: (URLBAR_ITEM_SIZE+20) 70;
- }
- rel2 {
- to_y: "panel-top";
---
-1.9.1
-
diff --git a/meta-efl/recipes-efl/e17/eve/0002-adapt-to-webkit-efl-changes.patch b/meta-efl/recipes-efl/e17/eve/0002-adapt-to-webkit-efl-changes.patch
deleted file mode 100644
index 4b5e64ee57..0000000000
--- a/meta-efl/recipes-efl/e17/eve/0002-adapt-to-webkit-efl-changes.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From c1cb2a7b6d8b4661fde442ea4725df6842a94816 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Fri, 18 Apr 2014 11:52:18 +0200
-Subject: [PATCH 2/2] adapt to webkit-efl changes
-
-WIP: just fixes the build, probably doesn't render correctly
-
-https://trac.webkit.org/changeset/164168
-removed cairo.h from public headers and ewk_view_paint_contents
-
-https://trac.webkit.org/changeset/162581
-removed ewk_view_pre_render methods (with whole tiled support)
-
-https://git.enlightenment.org/core/elementary.git/commit/?id=0e465290be2016f12adcbc8c8d74645b3e6a1d9a
-ewk_view_tiled_smart_set is gone and ewk_view_single_smart_set is
-ewk_view_smart_set
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/bin/chrome.c | 4 +++-
- src/bin/view.c | 22 +++++++---------------
- 2 files changed, 10 insertions(+), 16 deletions(-)
-
-diff --git a/src/bin/chrome.c b/src/bin/chrome.c
-index ee8f0c4..b46b29d 100644
---- a/src/bin/chrome.c
-+++ b/src/bin/chrome.c
-@@ -5,6 +5,8 @@
- #include <stdio.h>
- #include <string.h>
-
-+#include <cairo.h>
-+
- #include <Eina.h>
- #include <Elementary.h>
-
-@@ -1997,7 +1999,7 @@ view_screenshot_add(Evas *evas, const Evas_Object *view)
- if (cairo_status(cairo) != CAIRO_STATUS_SUCCESS)
- goto error_cairo_create;
-
-- if (!ewk_view_paint_contents(priv, cairo, &rect))
-+ if (!ewk_view_screenshot_contents_get(priv, &rect, 1))
- {
- evas_object_del(img);
- img = NULL;
-diff --git a/src/bin/view.c b/src/bin/view.c
-index 54de6c1..2b07511 100644
---- a/src/bin/view.c
-+++ b/src/bin/view.c
-@@ -335,7 +335,7 @@ _view_load_finished(void *data, Evas_Object *view, void *event_info __UNUSED__)
- h *= 2;
-
- INF("load finished, pre-render %d,%d+%dx%d at %0.2f", x, y, w, h, zoom);
-- ewk_view_pre_render_region(view, x, y, w, h, zoom);
-+ //ewk_view_pre_render_region(view, x, y, w, h, zoom);
- }
-
- /* stop animators, we changed page */
-@@ -435,7 +435,7 @@ _view_pan_pre_render(View_Smart_Data *sd, Evas_Coord dx, Evas_Coord dy)
-
- INF("pre-render region %d,%d+%dx%d at %0.2f (viewport=%d,%d+%dx%d)",
- px, py, pw, ph, zoom, x, y, w, h);
-- ewk_view_pre_render_region(sd->base.self, px, py, pw, ph, zoom);
-+ //ewk_view_pre_render_region(sd->base.self, px, py, pw, ph, zoom);
- }
-
- static unsigned int
-@@ -611,7 +611,7 @@ _view_pan_start(View_Smart_Data *sd, const Evas_Event_Mouse_Down *ev)
-
- sd->pan.last_move = *p;
-
-- ewk_view_pre_render_cancel(sd->base.self);
-+ //ewk_view_pre_render_cancel(sd->base.self);
-
- /* register function to collect samples and apply scrolls at fixed interval*/
- if (!sd->animator.pan)
-@@ -816,7 +816,7 @@ _view_zoom_start(View_Smart_Data *sd, const Evas_Event_Mouse_Down *ev)
- Evas_Coord cw, ch, vw, vh;
- float z, zx, zy;
-
-- ewk_view_pre_render_cancel(sd->base.self);
-+ //ewk_view_pre_render_cancel(sd->base.self);
-
- /* remember starting point so we have a reference */
- sd->zoom.start.zoom = ewk_frame_page_zoom_get(frame);
-@@ -1512,17 +1512,9 @@ view_add(Evas_Object *parent, Backing_Store bs)
- /* create ewk_view_single subclass, this is done only once! */
- static Ewk_View_Smart_Class api = EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION("EWK_View_Demo");
-
-- /* set current and parent apis to vanilla ewk_view_single methods */
-- if (bs == BACKING_STORE_TILED)
-- {
-- ewk_view_tiled_smart_set(&api);
-- ewk_view_tiled_smart_set(&_parent_sc);
-- }
-- else
-- {
-- ewk_view_single_smart_set(&api);
-- ewk_view_single_smart_set(&_parent_sc);
-- }
-+ /* set current and parent apis to vanilla ewk_view methods */
-+ ewk_view_smart_set(&api);
-+ ewk_view_smart_set(&_parent_sc);
-
- /* override methods we want custom behavior */
- api.sc.add = _view_smart_add;
---
-1.9.1
-
diff --git a/meta-efl/recipes-efl/e17/eve_git.bb b/meta-efl/recipes-efl/e17/eve_git.bb
deleted file mode 100644
index 7879d6a8fc..0000000000
--- a/meta-efl/recipes-efl/e17/eve_git.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Enlightenment Web Browser"
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-DEPENDS = "evas ecore edje elementary webkit-efl eldbus"
-
-PE = "1"
-PV = "0.3.0+gitr${SRCPV}"
-SRCREV = "7bd6549982f4fc5e26e5d11e6c536601358892e3"
-
-# webkit-efl isn't available for < armv7a
-COMPATIBLE_MACHINE = "(-)"
-COMPATIBLE_MACHINE_i586 = "(.*)"
-COMPATIBLE_MACHINE_x86-64 = "(.*)"
-COMPATIBLE_MACHINE_armv7a = "(.*)"
-
-inherit e gettext
-SRC_URI = " \
- git://git.enlightenment.org/apps/${BPN}.git \
- file://0001-eve-theme-updated-for-Openmoko-Freerunner-screen.patch \
- file://0002-adapt-to-webkit-efl-changes.patch \
-"
-S = "${WORKDIR}/git"
-
-do_configure_prepend() {
- autopoint || touch config.rpath
-}
-
-EXTRA_OECONF = "\
- --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
-"
-
-FILES_${PN} += "\
- ${datadir}/icons/eve.png \
-"
diff --git a/meta-efl/recipes-efl/e17/exalt-client/configure.patch b/meta-efl/recipes-efl/e17/exalt-client/configure.patch
new file mode 100644
index 0000000000..d4ff801ce2
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/exalt-client/configure.patch
@@ -0,0 +1,28 @@
+Index: exalt-client/configure.ac
+===================================================================
+--- exalt-client.orig/configure.ac 2014-07-17 21:46:14.712566207 +0000
++++ exalt-client/configure.ac 2014-07-17 21:47:56.880568991 +0000
+@@ -10,7 +10,7 @@
+ AC_CANONICAL_HOST
+ AC_ISC_POSIX
+
+-AM_INIT_AUTOMAKE(1.8)
++AM_INIT_AUTOMAKE([foreign])
+ AM_CONFIG_HEADER(config.h)
+
+ AC_PROG_CC
+@@ -29,7 +29,6 @@
+
+ m4_ifdef([AM_GNU_GETTEXT], [
+ AM_GNU_GETTEXT([external])
+-po_makefile_in=po/Makefile.in
+ AM_CONDITIONAL([HAVE_PO], [true])
+ ],[
+ AM_CONDITIONAL([HAVE_PO], [false])
+@@ -101,6 +100,5 @@
+ src/Makefile
+ module.desktop
+ e_modules-exalt-client.spec
+-$po_makefile_in
+ ], [
+ ])
diff --git a/meta-efl/recipes-efl/e17/exalt-client_svn.bb b/meta-efl/recipes-efl/e17/exalt-client_svn.bb
index 2c7e5304b6..f70860154f 100644
--- a/meta-efl/recipes-efl/e17/exalt-client_svn.bb
+++ b/meta-efl/recipes-efl/e17/exalt-client_svn.bb
@@ -22,4 +22,4 @@ FILES_${PN}-staticdev += "${libdir}/enlightenment/modules/*/*/*.a"
FILES_${PN}-dev += "${libdir}/enlightenment/modules/*/*/*.la"
FILES_${PN}-dbg += "${libdir}/enlightenment/modules/*/*/.debug"
-
+SRC_URI += "file://configure.patch" \ No newline at end of file
diff --git a/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb b/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb
index 5948e20731..aad0646477 100644
--- a/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb
+++ b/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb
@@ -1,5 +1,5 @@
DDESCRIPTION = "A theme for exquisite"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
SECTION = "x11"
DEPENDS = "edje-native"
diff --git a/meta-efl/recipes-efl/e17/exquisite_svn.bb b/meta-efl/recipes-efl/e17/exquisite_svn.bb
index dc46a94abd..8f2d25d7d6 100644
--- a/meta-efl/recipes-efl/e17/exquisite_svn.bb
+++ b/meta-efl/recipes-efl/e17/exquisite_svn.bb
@@ -1,5 +1,5 @@
SUMMARY = "A psplash replacement for display"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=14defa372a91118e755133bc8e6aff83"
DEPENDS = "eet evas ecore embryo edje"
PV = "0.0.1+svnr${SRCPV}"
diff --git a/meta-efl/recipes-efl/e17/flame/configure.patch b/meta-efl/recipes-efl/e17/flame/configure.patch
new file mode 100644
index 0000000000..87c85de9f8
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/flame/configure.patch
@@ -0,0 +1,13 @@
+Index: cpu/configure.ac
+===================================================================
+--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
+@@ -10,7 +10,7 @@
+ AC_CANONICAL_HOST
+ AC_ISC_POSIX
+
+-AM_INIT_AUTOMAKE(1.6)
++AM_INIT_AUTOMAKE([foreign])
+ AM_CONFIG_HEADER(config.h)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
diff --git a/meta-efl/recipes-efl/e17/flame_svn.bb b/meta-efl/recipes-efl/e17/flame_svn.bb
index b674a5d13c..58c79a8409 100644
--- a/meta-efl/recipes-efl/e17/flame_svn.bb
+++ b/meta-efl/recipes-efl/e17/flame_svn.bb
@@ -11,3 +11,5 @@ do_configure_prepend() {
sed -i -e /po/d ${S}/configure.ac
sed -i -e s:\ po::g ${S}/Makefile.am
}
+
+SRC_URI += "file://configure.patch"
diff --git a/meta-efl/recipes-efl/e17/forecasts/configure.patch b/meta-efl/recipes-efl/e17/forecasts/configure.patch
new file mode 100644
index 0000000000..87c85de9f8
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/forecasts/configure.patch
@@ -0,0 +1,13 @@
+Index: cpu/configure.ac
+===================================================================
+--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
+@@ -10,7 +10,7 @@
+ AC_CANONICAL_HOST
+ AC_ISC_POSIX
+
+-AM_INIT_AUTOMAKE(1.6)
++AM_INIT_AUTOMAKE([foreign])
+ AM_CONFIG_HEADER(config.h)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
diff --git a/meta-efl/recipes-efl/e17/forecasts_svn.bb b/meta-efl/recipes-efl/e17/forecasts_svn.bb
index a030952239..473bdb9d48 100644
--- a/meta-efl/recipes-efl/e17/forecasts_svn.bb
+++ b/meta-efl/recipes-efl/e17/forecasts_svn.bb
@@ -7,6 +7,4 @@ PR = "${INC_PR}.0"
require e-module.inc
-
-
-
+SRC_URI += "file://configure.patch"
diff --git a/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb b/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb
index 55f3282b7b..6f81b6b07a 100644
--- a/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb
+++ b/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb
@@ -9,7 +9,7 @@ SRCREV = "4064489f359a1addf572089b582f317dff5f50e1"
PV = "0.0+gitr${SRCPV}"
PE = "1"
PR = "r5"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
PACKAGES = "\
diff --git a/meta-efl/recipes-efl/e17/nonworking/emprint_svn.bb b/meta-efl/recipes-efl/e17/nonworking/emprint_svn.bb
index 777e30218d..6c2abdc5ba 100644
--- a/meta-efl/recipes-efl/e17/nonworking/emprint_svn.bb
+++ b/meta-efl/recipes-efl/e17/nonworking/emprint_svn.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Emprint is a utility for taking screenshots of the entire screen, a specific window, or a specific region."
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
DEPENDS = "imlib2 virtual/libx11 ecore evas edje eina"
PV = "0.0.1+svnr${SRCPV}"
LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
diff --git a/meta-efl/recipes-efl/e17/nonworking/rage_svn.bb b/meta-efl/recipes-efl/e17/nonworking/rage_svn.bb
index 3cf576f08f..da51ae6c43 100644
--- a/meta-efl/recipes-efl/e17/nonworking/rage_svn.bb
+++ b/meta-efl/recipes-efl/e17/nonworking/rage_svn.bb
@@ -1,7 +1,7 @@
SUMMARY = "Rage is a media center application based on EFL"
AUTHOR = "Carsten 'The Rasterman' Haitzler"
HOMEPAGE = "http://www.rasterman.com"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
DEPENDS = "emotion evas ecore edje"
SECTION = "x11/multimedia"
diff --git a/meta-efl/recipes-efl/e17/places/configure.patch b/meta-efl/recipes-efl/e17/places/configure.patch
new file mode 100644
index 0000000000..f8f48345c9
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/places/configure.patch
@@ -0,0 +1,13 @@
+Index: places/configure.ac
+===================================================================
+--- places.orig/configure.ac 2014-07-17 21:51:01.276574017 +0000
++++ places/configure.ac 2014-07-17 21:52:07.096575810 +0000
+@@ -10,7 +10,7 @@
+ AC_CANONICAL_HOST
+ AC_ISC_POSIX
+
+-AM_INIT_AUTOMAKE(1.8)
++AM_INIT_AUTOMAKE([foreign])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+ AM_CONFIG_HEADER(config.h)
+
diff --git a/meta-efl/recipes-efl/e17/places_svn.bb b/meta-efl/recipes-efl/e17/places_svn.bb
index 6a6184be72..54f0e0154e 100644
--- a/meta-efl/recipes-efl/e17/places_svn.bb
+++ b/meta-efl/recipes-efl/e17/places_svn.bb
@@ -12,3 +12,5 @@ do_configure_prepend() {
# Calls /usr/bin/eject for media
RRECOMMENDS_${PN} += "eject"
+
+SRC_URI += "file://configure.patch"
diff --git a/meta-efl/recipes-efl/e17/rain/configure.patch b/meta-efl/recipes-efl/e17/rain/configure.patch
new file mode 100644
index 0000000000..87c85de9f8
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/rain/configure.patch
@@ -0,0 +1,13 @@
+Index: cpu/configure.ac
+===================================================================
+--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
+@@ -10,7 +10,7 @@
+ AC_CANONICAL_HOST
+ AC_ISC_POSIX
+
+-AM_INIT_AUTOMAKE(1.6)
++AM_INIT_AUTOMAKE([foreign])
+ AM_CONFIG_HEADER(config.h)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
diff --git a/meta-efl/recipes-efl/e17/rain_svn.bb b/meta-efl/recipes-efl/e17/rain_svn.bb
index 0e990d52d4..cf67a4cd5d 100644
--- a/meta-efl/recipes-efl/e17/rain_svn.bb
+++ b/meta-efl/recipes-efl/e17/rain_svn.bb
@@ -12,3 +12,5 @@ do_configure_prepend() {
sed -i -e /po/d ${S}/configure.ac
sed -i -e s:\ po::g ${S}/Makefile.am
}
+
+SRC_URI += "file://configure.patch"
diff --git a/meta-efl/recipes-efl/e17/terminology.inc b/meta-efl/recipes-efl/e17/terminology.inc
index 89c9ee5ff7..bec2c0a547 100644
--- a/meta-efl/recipes-efl/e17/terminology.inc
+++ b/meta-efl/recipes-efl/e17/terminology.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "Enlightenment Terminal Emulator"
-LICENSE = "MIT BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=03f6c2cf2bef233fadf7d0769f5bfda7"
+LICENSE = "MIT & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9a8682b561bdfa219d59483a679ed80a"
DEPENDS = "evas ecore edje elementary eina eet emotion"
inherit e gettext
diff --git a/meta-efl/recipes-efl/e17/terminology_0.4.0.bb b/meta-efl/recipes-efl/e17/terminology_0.4.0.bb
deleted file mode 100644
index 83ceee84d5..0000000000
--- a/meta-efl/recipes-efl/e17/terminology_0.4.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "5a2eee4849d4fa44db4caf743b3beb37"
-SRC_URI[sha256sum] = "63f2d1fa584ecda6c4ef61b05b8956415feb955c4bb13c0872c11d98024dcfc6"
diff --git a/meta-efl/recipes-efl/e17/terminology_0.7.0.bb b/meta-efl/recipes-efl/e17/terminology_0.7.0.bb
new file mode 100644
index 0000000000..0744b09a67
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/terminology_0.7.0.bb
@@ -0,0 +1,8 @@
+require ${BPN}.inc
+
+SRC_URI = "\
+ ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
+"
+
+SRC_URI[md5sum] = "e68d889f343886e11a8e4f4337486452"
+SRC_URI[sha256sum] = "453f49911b090fffc1e5fe695022bd1c51325dde83b8cd3cca22899c604344f4"
diff --git a/meta-efl/recipes-efl/e17/terminology_svn.bb b/meta-efl/recipes-efl/e17/terminology_svn.bb
deleted file mode 100644
index 2518dbac92..0000000000
--- a/meta-efl/recipes-efl/e17/terminology_svn.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require ${BPN}.inc
-
-DEFAULT_PREFERENCE = "-1"
-PV = "0.2.0+svnr${SRCPV}"
-PR = "${INC_PR}.0"
-SRCREV = "${EFL_SRCREV}"
-
-SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
diff --git a/meta-efl/recipes-efl/e17/uptime/configure.patch b/meta-efl/recipes-efl/e17/uptime/configure.patch
new file mode 100644
index 0000000000..87c85de9f8
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/uptime/configure.patch
@@ -0,0 +1,13 @@
+Index: cpu/configure.ac
+===================================================================
+--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
+@@ -10,7 +10,7 @@
+ AC_CANONICAL_HOST
+ AC_ISC_POSIX
+
+-AM_INIT_AUTOMAKE(1.6)
++AM_INIT_AUTOMAKE([foreign])
+ AM_CONFIG_HEADER(config.h)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
diff --git a/meta-efl/recipes-efl/e17/uptime_svn.bb b/meta-efl/recipes-efl/e17/uptime_svn.bb
index a296a5ec75..5c9bfa9eab 100644
--- a/meta-efl/recipes-efl/e17/uptime_svn.bb
+++ b/meta-efl/recipes-efl/e17/uptime_svn.bb
@@ -7,6 +7,4 @@ PR = "${INC_PR}.0"
require e-module.inc
-
-
-
+SRC_URI += "file://configure.patch"
diff --git a/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb b/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb
index 17f668b98f..657adcd92c 100644
--- a/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb
+++ b/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb
@@ -3,7 +3,7 @@ SECTION = "x11/data"
SRCREV = "38fdd9bb0d8296e984bb6443466801eea6f62f00"
PV = "1.0+gitr${SRCPV}"
PE = "1"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
diff --git a/meta-efl/recipes-efl/efl/edb_svn.bb b/meta-efl/recipes-efl/efl/edb_svn.bb
index a895cb31bf..7c6abdaf04 100644
--- a/meta-efl/recipes-efl/efl/edb_svn.bb
+++ b/meta-efl/recipes-efl/efl/edb_svn.bb
@@ -1,5 +1,5 @@
SUMMARY = "Edb is the Enlightenment database library"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=d8a7c08df3bc3280208b959be7215c25 \
file://COPYING-PLAIN;md5=f59cacc08235a546b0c34a5422133035"
diff --git a/meta-efl/recipes-efl/efl/edbus.inc b/meta-efl/recipes-efl/efl/edbus.inc
index 7b11af54bb..03d0ee58d9 100644
--- a/meta-efl/recipes-efl/efl/edbus.inc
+++ b/meta-efl/recipes-efl/efl/edbus.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "DBus and HAL convenience wrappers for EFL"
DEPENDS = "dbus ecore eina"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=550b8cea13dacc4bf00508a8cce1074c"
inherit efl
diff --git a/meta-efl/recipes-efl/efl/efl.inc b/meta-efl/recipes-efl/efl/efl.inc
index 929fc20f0c..d870fdbd49 100644
--- a/meta-efl/recipes-efl/efl/efl.inc
+++ b/meta-efl/recipes-efl/efl/efl.inc
@@ -1,9 +1,9 @@
SUMMARY = "EFL"
-LICENSE = "MIT BSD LGPL-2.1"
+LICENSE = "MIT & BSD & LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a1809a807e39dd48ddcf7be98477d130"
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 libxrender fontconfig libfribidi giflib udev libxcursor libxcomposite libxinerama libxrandr libxtst libxscrnsaver efl-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"
inherit efl gettext pkgconfig
@@ -19,14 +19,20 @@ PROVIDES += "ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldb
# your own in terms of ensuring everything works if you do this
EXTRA_OECONF = " \
--disable-physics \
- --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aaa \
+ --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba \
"
EXTRA_OECONF_append_class-target = " \
- --with-bin-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
+ --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
+ --with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \
+ --with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \
+ --with-elua=${STAGING_BINDIR_NATIVE}/elua \
"
EXTRA_OECONF_append_class-native = " \
--disable-fontconfig \
--disable-audio \
+ --disable-physics \
+ --disable-multisense \
+ --disable-cserve \
--with-x11=none \
--disable-image-loader-bmp \
--disable-image-loader-eet \
@@ -40,34 +46,36 @@ EXTRA_OECONF_append_class-native = " \
--disable-image-loader-wbmp \
--disable-image-loader-webp \
--disable-image-loader-xpm \
+ --disable-image-loader-tgv \
+ --disable-image-loader-dds \
"
-PACKAGECONFIG ?= "opengl-es gstreamer1 pulseaudio lua-old"
-PACKAGECONFIG_class-native = "lua-old"
+PACKAGECONFIG ?= "opengl-es gstreamer1 pulseaudio luajit"
+PACKAGECONFIG_class-native = "luajit"
# sort of tri-state
PACKAGECONFIG[opengl-full] = "--with-opengl=full,,virtual/libgl"
PACKAGECONFIG[opengl-es] = "--with-opengl=es,,virtual/libgles2"
PACKAGECONFIG[opengl-none] = "--with-opengl=none,,"
+# be aware when enabling this for efl-native, we don't provide gcc-native so you need to make
+# sure that all your builders have g++ which supports -std=gnu++11
+PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings"
PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
PACKAGECONFIG[gstreamer1] = "--enable-gstreamer1,--disable-gstreamer1,gstreamer1.0 gstreamer1.0-plugins-base"
PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-# we don't have luajit-native now, so use old lua for -native and
-# for target it's also currently failing with luajit
-# | /OE/build/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/core2-64-oe-linux/gcc/x86_64-oe-linux/4.8.2/ld: /OE/build/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libluajit-5.1.a(lj_err.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
-# | /OE/build/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libluajit-5.1.a: error adding symbols: Bad value
-# | collect2: error: ld returned 1 exit status
-# | Makefile:12007: recipe for target 'lib/edje/libedje.la' failed
PACKAGECONFIG[luajit] = "--disable-lua-old,--enable-lua-old,luajit"
-PACKAGECONFIG[lua-old] = "--enable-lua-old,--disable-lua-old,lua5.1"
+PACKAGECONFIG[lua-old] = "--enable-lua-old,--disable-lua-old,lua"
+PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+# currently we don't provide doxygen-native
+PACKAGECONFIG[doc] = "--enable-doc,--disable-doc,doxygen-native"
# new efl doesn't have option to disable eeze build and we don't want to provide udev-native just to build eeze-native we don't need
do_configure_prepend_class-native() {
sed -i 's/EFL_LIB_START_OPTIONAL(\[Eeze\], \[test "${have_linux}" = "yes"\])/EFL_LIB_START_OPTIONAL([Eeze], [test "${no-we-really-dont-want-native-eeze}" = "yes"])/g' ${S}/configure.ac
}
-PACKAGES =+ "edje-utils embryo-utils embryo-tests efreet-trash efreet-mime libeet libefreet ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas libemotion eo ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus"
+PACKAGES =+ "edje-utils embryo-utils embryo-tests efreet-trash efreet-mime libeet libefreet ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas libemotion eo ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus elua"
# upgrade path from 1.7
DEBIAN_NOAUTONAME_ecore-audio = "1"
@@ -105,6 +113,7 @@ python populate_packages_prepend () {
allow_dirs=True, recursive=False, extra_depends="" )
}
+PACKAGES += "evas-loader-png evas-engine-software-generic evas-engine-fb"
PACKAGES_DYNAMIC += "^evas-engine-.* ^evas-loader-.* ^evas-saver-.* ^evas-cserve2-.*"
# PACKAGES_DYNAMIC + do_split_packages isn't used for all libe libs,
@@ -153,6 +162,7 @@ FILES_ecore-ipc = "\
"
FILES_ecore-x = "\
${libdir}/libecore_x${SOLIBS} \
+ ${libdir}/ecore_x/bin/v-*/ecore_x_vsync \
"
FILES_ecore-evas = "\
${libdir}/libecore_evas${SOLIBS} \
@@ -186,6 +196,7 @@ FILES_efreet = " \
"
FILES_eet = " \
${bindir}/eet \
+ ${bindir}/vieet \
${libdir}/libeet${SOLIBS} \
"
FILES_emotion = " \
@@ -240,9 +251,14 @@ FILES_edje = " \
${datadir}/edje \
${datadir}/mime \
"
+FILES_elua = " \
+ ${bindir}/elua \
+ ${datadir}/elua \
+"
FILES_${PN}-dbg += " \
${libdir}/efreet/*/.debug \
${libdir}/ecore*/*/*/*/.debug \
+ ${libdir}/ecore*/*/*/.debug \
${libdir}/evas*/*/*/*/*/.debug \
${libdir}/evas/cserve2/bin/*/.debug \
${libdir}/eeze*/*/*/*/*/.debug \
diff --git a/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch b/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch
index 012810b1ea..f34b9576f1 100644
--- a/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch
+++ b/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch
@@ -1,7 +1,7 @@
-From 7097b46383a6ec96662bf1bf0a04190a38d25a20 Mon Sep 17 00:00:00 2001
+From a7ee62a2e90a346bf9aaf9260c918d87e21cfba6 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Fri, 10 Jan 2014 17:07:13 +0100
-Subject: [PATCH] configure.ac: Don't check for Xprint extension
+Subject: [PATCH 1/3] configure.ac: Don't check for Xprint extension
* it's long gone
@@ -11,10 +11,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 0d8c4cc..0a08330 100644
+index 779763a..57d3601 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -2769,7 +2769,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then
+@@ -3445,7 +3445,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then
ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
@@ -23,5 +23,5 @@ index 0d8c4cc..0a08330 100644
ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
--
-1.8.5.2
+2.1.3
diff --git a/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch b/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch
new file mode 100644
index 0000000000..9847c07ff2
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch
@@ -0,0 +1,51 @@
+From 9db1f2f9dfe785e3a42445b766e7f4736821264a Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 2 Dec 2014 12:21:10 +0100
+Subject: [PATCH 2/3] evas_3d: Add Eet.h includes
+
+* with some very restrictive options like we use in efl-native, the build is complaining
+ about missing symbols from Eet.h, add include where needed
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/lib/evas/canvas/evas_3d_eet.c | 1 +
+ src/lib/evas/canvas/evas_3d_mesh_loader_eet.c | 1 +
+ src/lib/evas/canvas/evas_3d_mesh_saver_eet.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/src/lib/evas/canvas/evas_3d_eet.c b/src/lib/evas/canvas/evas_3d_eet.c
+index 1515f5a..a438217 100644
+--- a/src/lib/evas/canvas/evas_3d_eet.c
++++ b/src/lib/evas/canvas/evas_3d_eet.c
+@@ -1,3 +1,4 @@
++#include <Eet.h>
+ #include <stdio.h>
+ #include "evas_common_private.h"
+ #include "evas_private.h"
+diff --git a/src/lib/evas/canvas/evas_3d_mesh_loader_eet.c b/src/lib/evas/canvas/evas_3d_mesh_loader_eet.c
+index 26c3569..a93efca 100644
+--- a/src/lib/evas/canvas/evas_3d_mesh_loader_eet.c
++++ b/src/lib/evas/canvas/evas_3d_mesh_loader_eet.c
+@@ -3,6 +3,7 @@
+ #endif
+
+ #include <Eo.h>
++#include <Eet.h>
+ #include <stdio.h>
+ #include "evas_common_private.h"
+ #include "evas_private.h"
+diff --git a/src/lib/evas/canvas/evas_3d_mesh_saver_eet.c b/src/lib/evas/canvas/evas_3d_mesh_saver_eet.c
+index c801ac1..0a4d269 100644
+--- a/src/lib/evas/canvas/evas_3d_mesh_saver_eet.c
++++ b/src/lib/evas/canvas/evas_3d_mesh_saver_eet.c
+@@ -2,6 +2,7 @@
+ #include "config.h"
+ #endif
+
++#include <Eet.h>
+ #include <stdio.h>
+ #include "evas_common_private.h"
+ #include "evas_private.h"
+--
+2.1.3
+
diff --git a/meta-efl/recipes-efl/efl/efl_1.12.2.bb b/meta-efl/recipes-efl/efl/efl_1.12.2.bb
new file mode 100644
index 0000000000..0d5b09022f
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/efl_1.12.2.bb
@@ -0,0 +1,25 @@
+require ${BPN}.inc
+
+SRC_URI = "\
+ ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
+ file://0001-configure.ac-Don-t-check-for-Xprint-extension.patch \
+ file://0002-evas_3d-Add-Eet.h-includes.patch \
+"
+
+SRC_URI[md5sum] = "27b8578e5797ee2c484d886fb49704f2"
+SRC_URI[sha256sum] = "dc4a3fe448e0a8019030fe7c045de30d9ac1e92033620fbfbefb761c3ba9ddce"
+
+# Temporary disable until error like the one following are fixed
+# efl-native/2_1.8.4-r0/efl-1.8.4/src/lib/eet/.libs/libeet.so: file not recognized: File truncated
+# collect2: error: ld returned 1 exit status
+# x86_64-linux-libtool: install: error: relink `modules/evas/savers/tiff/module.la' with the above command before installing it
+# Makefile:11031: recipe for target 'install-savertiffpkgLTLIBRARIES' failed
+PARALLEL_MAKE_class-native = ""
+
+#EFL_RUN_IN_TREE=1 ../src/bin/eolian/eolian_gen --eo --legacy -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/eo -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/evas/canvas -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/edje -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/ecore_audio --gc -o lib/evas/canvas/evas_line.eo.c /OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/evas/canvas/evas_line.eo
+#ERR<32439>:eolian_gen /OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/bin/eolian/main.c:103 _generate_c_file() Couldnt open file lib/evas/canvas/evas_line.eo.c for writing
+#Makefile:30738: recipe for target 'lib/evas/canvas/evas_line.eo.c' failed
+#make[2]: *** [lib/evas/canvas/evas_line.eo.c] Error 1
+#Makefile:2163: recipe for target 'all-recursive' failed
+# autotools-brokensep
+B = "${S}"
diff --git a/meta-efl/recipes-efl/efl/efl_1.9.3.bb b/meta-efl/recipes-efl/efl/efl_1.9.3.bb
deleted file mode 100644
index 61e6a9e50e..0000000000
--- a/meta-efl/recipes-efl/efl/efl_1.9.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "102acebaf453346d745b0974f736a5e6"
-SRC_URI[sha256sum] = "46da18ce5ec6ded559dbf461ff58113f82937efb6e26a098a82b2f360e8faf88"
-
-# Temporary disable until error like the one following are fixed
-# efl-native/2_1.8.4-r0/efl-1.8.4/src/lib/eet/.libs/libeet.so: file not recognized: File truncated
-# collect2: error: ld returned 1 exit status
-# x86_64-linux-libtool: install: error: relink `modules/evas/savers/tiff/module.la' with the above command before installing it
-# Makefile:11031: recipe for target 'install-savertiffpkgLTLIBRARIES' failed
-PARALLEL_MAKE_class-native = ""
-
-SRC_URI += "file://0001-configure.ac-Don-t-check-for-Xprint-extension.patch"
diff --git a/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb b/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb
index fa635c0d81..494e743f58 100644
--- a/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb
+++ b/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb
@@ -8,7 +8,7 @@ SECTION = "e/utils"
HOMEPAGE = "http://trac.enlightenment.org/e/wiki/Themes#Efenniht"
DEPENDS = "edje-native"
RSUGGESTS_${PN} = "e-wm-theme-illume-efenniht"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
SRCREV_THM_REV ?= "${EFL_SRCREV}"
diff --git a/meta-efl/recipes-efl/efl/elementary.inc b/meta-efl/recipes-efl/efl/elementary.inc
index dd18abe2f2..f0a92dfe9a 100644
--- a/meta-efl/recipes-efl/efl/elementary.inc
+++ b/meta-efl/recipes-efl/efl/elementary.inc
@@ -11,12 +11,22 @@ EXTRA_OECONF_append_class-target = "\
--with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \
--with-elementary-codegen=${STAGING_BINDIR_NATIVE}/elementary_codegen \
--with-elm-prefs-cc=${STAGING_BINDIR_NATIVE}/elm_prefs_cc \
+ --with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \
+ --with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \
"
BBCLASSEXTEND = "native"
PACKAGECONFIG[eweather] = "--enable-eweather,--disable-eweather,libeweather"
PACKAGECONFIG[ewebkit] = "--with-elementary-web-backend=ewebkit,--with-elementary-web-backend=none,webkit-efl"
+# be aware when enabling this for efl-native, we don't provide gcc-native so you need to make
+# sure that all your builders have g++ which supports -std=gnu++11
+PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings"
+
+do_configure_prepend() {
+ # prefix returned eolian paths with STAGING_DIR_HOST
+ sed -i 's%^\(DEPS_EOLIAN_FLAGS=`.*\)`$%\1 | sed "s#-I\\${prefix}#-I\\${STAGING_DIR_HOST}\\${prefix}#g"`%g' ${S}/configure.ac
+}
do_compile_append_class-target() {
sed -i -e s:${STAGING_DIR_TARGET}::g \
diff --git a/meta-efl/recipes-efl/efl/elementary_1.9.3.bb b/meta-efl/recipes-efl/efl/elementary_1.12.2.bb
index 4f24bafc8c..9e6f2eab11 100644
--- a/meta-efl/recipes-efl/efl/elementary_1.9.3.bb
+++ b/meta-efl/recipes-efl/efl/elementary_1.12.2.bb
@@ -8,8 +8,8 @@ SRC_URI = "\
# these paths aren't passed in -native build
SRC_URI_append_class-target = " file://0001-Makefile-Use-elementary_codegen-defined-in-configure.patch"
-SRC_URI[md5sum] = "cc75bb1c7c4c49de120ec33e413130ce"
-SRC_URI[sha256sum] = "49f896066b72ba51eefd8e92f0b7e7b8e190b0dd26323b12cbd4f26216f578fb"
+SRC_URI[md5sum] = "b01329104e8eb61be1581e24a1951eaf"
+SRC_URI[sha256sum] = "b1b84dd061b6e93f38bbba4c91ea4c9b5de5d190828b5c00fb051a6e61834b62"
# autotools-brokensep - configure updates Elementary.h correctly in ${B}, but then build is using Elementary.h from ${S}
# which includes #define ELM_EMAP (instead of #undef ELM_EMAP) and building fails
diff --git a/meta-efl/recipes-efl/efl/emotion-generic-players_1.12.0.bb b/meta-efl/recipes-efl/efl/emotion-generic-players_1.12.0.bb
new file mode 100644
index 0000000000..1e1bb8f969
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/emotion-generic-players_1.12.0.bb
@@ -0,0 +1,8 @@
+require ${BPN}.inc
+
+SRC_URI = "\
+ ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
+"
+
+SRC_URI[md5sum] = "fb67cd4e0c6f13da9cdd864763217a59"
+SRC_URI[sha256sum] = "2f2b3c60b113bb637c6b40b575ceffe4055aa424f4585c64ddef6638dbc2a0da"
diff --git a/meta-efl/recipes-efl/efl/emotion-generic-players_1.9.0.bb b/meta-efl/recipes-efl/efl/emotion-generic-players_1.9.0.bb
deleted file mode 100644
index 0337751975..0000000000
--- a/meta-efl/recipes-efl/efl/emotion-generic-players_1.9.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "dc897ba540560fce0787bbff8455c022"
-SRC_URI[sha256sum] = "d26546adf61db7521f9d46f2baedcb645af72497fc259e93907026970d42d794"
diff --git a/meta-efl/recipes-efl/efl/engrave_svn.bb b/meta-efl/recipes-efl/efl/engrave_svn.bb
index 3e35c9caf0..20da907714 100644
--- a/meta-efl/recipes-efl/efl/engrave_svn.bb
+++ b/meta-efl/recipes-efl/efl/engrave_svn.bb
@@ -2,10 +2,10 @@ SUMMARY = "Engrave is an Edje Editing Library"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=edf2d968b9eb026bfa82cccbd0e6f9f5"
# also requires yacc and lex on host
-DEPENDS = "evas ecore"
+DEPENDS = "evas ecore flex"
PV = "0.0.0+svnr${SRCPV}"
SRCREV = "${EFL_SRCREV}"
-inherit efl
+inherit efl autotools-brokensep
SRC_URI = "${E_SVN}/OLD;module=${SRCNAME};protocol=http;scmdata=keep"
S = "${WORKDIR}/${SRCNAME}"
diff --git a/meta-efl/recipes-efl/efl/epdf_svn.bb b/meta-efl/recipes-efl/efl/epdf_svn.bb
index 63e8436f69..e91eec5338 100644
--- a/meta-efl/recipes-efl/efl/epdf_svn.bb
+++ b/meta-efl/recipes-efl/efl/epdf_svn.bb
@@ -6,7 +6,7 @@ SRCREV = "${EFL_SRCREV}"
inherit efl
-LICENSE = "GPLv2 LGPLv3"
+LICENSE = "GPLv2 & LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6 \
"
diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders.inc b/meta-efl/recipes-efl/efl/evas-generic-loaders.inc
index e64fa88741..5cd9ec1882 100644
--- a/meta-efl/recipes-efl/efl/evas-generic-loaders.inc
+++ b/meta-efl/recipes-efl/efl/evas-generic-loaders.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "Evas generic loaders"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f3877fbaaa46306051a559814451883c"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a87563ed30add2b0e3460272d3138a00"
DEPENDS = "eina poppler librsvg cairo"
inherit efl
@@ -67,4 +67,5 @@ FILES_evas-generic-pdf-loader-libreoffice += " \
FILES_${PN}-dbg += "${libdir}/evas/utils/.debug"
+PACKAGES += "evas-generic-loader-svg"
PACKAGES_DYNAMIC += "^evas-generic-loader-.* ^evas-generic-pdf-loader-.*"
diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.12.0.bb b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.12.0.bb
new file mode 100644
index 0000000000..c172895b5a
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.12.0.bb
@@ -0,0 +1,8 @@
+require ${BPN}.inc
+
+SRC_URI = "\
+ ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
+"
+
+SRC_URI[md5sum] = "d60282b9cfad5336e75264767be07179"
+SRC_URI[sha256sum] = "c531c82845b656cb8ea8e2db1e413509d9b4558450be6c5ee27da0cdc781376e"
diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.9.0.bb b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.9.0.bb
deleted file mode 100644
index 38d0518c10..0000000000
--- a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.9.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "bec6d27fc4afd2f5e4829da5aeccdc0b"
-SRC_URI[sha256sum] = "9447839047b087b0293b2ed6c453249919f66e5c4f62e252a7b7e4f996c2ac5f"
diff --git a/meta-efl/recipes-efl/efl/expedite.inc b/meta-efl/recipes-efl/efl/expedite.inc
index 6a83be1212..60e85974cb 100644
--- a/meta-efl/recipes-efl/efl/expedite.inc
+++ b/meta-efl/recipes-efl/efl/expedite.inc
@@ -1,30 +1,24 @@
DESCRIPTION = "Expedite is a comprehensive benchmarking suite for Evas"
-DEPENDS = "eet evas"
-LICENSE = "MIT BSD"
+DEPENDS = "eet evas libsdl"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=d70bc65d46237e4ef386beebe7d0fe5b"
INC_PR = "r0"
inherit e
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[sdl] = "--enable-opengl-sdl,--disable-opengl-sdl,libsdl"
-
EXTRA_OECONF = "\
--x-includes=${STAGING_INCDIR}/X11 \
--x-libraries=${STAGING_LIBDIR} \
--enable-simple-x11 \
\
- --disable-opengl-glew \
--enable-software-x11 \
--enable-xrender-x11 \
--enable-software-16-x11 \
--enable-opengl-x11 \
--enable-fb \
--disable-software-ddraw \
- --disable-software-16-ddraw \
--disable-direct3d \
- --disable-software-sdl \
"
FILES_${PN} += "${datadir}"
diff --git a/meta-efl/recipes-efl/efl/imlib2_svn.bb b/meta-efl/recipes-efl/efl/imlib2_git.bb
index 8bd803215a..355b3341f6 100644
--- a/meta-efl/recipes-efl/efl/imlib2_svn.bb
+++ b/meta-efl/recipes-efl/efl/imlib2_git.bb
@@ -1,15 +1,18 @@
SUMMARY = "A graphic library for file loading, saving, rendering, and manipulation"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
-# can also depend on tiff34, ungif or gif, z, bz2, id3tag
+
DEPENDS = "freetype libpng jpeg virtual/libx11 libxext"
PROVIDES = "virtual/imlib2"
-PV = "1.4.5+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
+PV = "1.4.6+gitr${SRCPV}"
+SRCREV = "560a58e61778d84953944f744a025af6ce986334"
inherit efl binconfig
-SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
+SRC_URI = "git://git.enlightenment.org/legacy/${BPN}.git"
+S = "${WORKDIR}/git"
+
+# autotools-brokensep
+B = "${S}"
PACKAGECONFIG ??= ""
PACKAGECONFIG[gif] = "--with-gif,--without-gif,giflib"
diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb
index 4e5ce789f2..5ead412ef7 100644
--- a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb
+++ b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb
@@ -11,9 +11,6 @@ require packagegroup-efl-sdk.inc
PACKAGES = "${PN}"
-RPROVIDES_${PN} += "task-efl-sdk"
-RREPLACES_${PN} += "task-efl-sdk"
-RCONFLICTS_${PN} += "task-efl-sdk"
RDEPENDS_${PN} = "\
packagegroup-core-sdk \
${SDK-EFL} \
diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc
index 64c034cb06..f2b0456d44 100644
--- a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc
+++ b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc
@@ -2,7 +2,7 @@ SDK-EFL = " \
efl-dev \
elementary-dev \
edbus-dev \
- lua5.1-dev \
+ luajit-dev \
"
SDK-EXTRAS ?= ""
diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb
index 1bcac45f89..6a3f33dc68 100644
--- a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb
+++ b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb
@@ -11,9 +11,6 @@ require packagegroup-efl-sdk.inc
PACKAGES = "${PN} ${PN}-dbg"
-RPROVIDES_${PN} += "task-efl-standalone-sdk-target"
-RREPLACES_${PN} += "task-efl-standalone-sdk-target"
-RCONFLICTS_${PN} += "task-efl-standalone-sdk-target"
RDEPENDS_${PN} = "\
packagegroup-core-standalone-sdk-target \
${SDK-EFL} \
diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb b/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb
index 47f758a820..63ef0f6759 100644
--- a/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb
+++ b/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb
@@ -11,9 +11,6 @@ inherit packagegroup allarch
ETHEME ?= "e-wm-theme-default"
ECONFIG ?= "e-wm-config-mobile"
-RPROVIDES_${PN} += "task-x11-illume"
-RREPLACES_${PN} += "task-x11-illume"
-RCONFLICTS_${PN} += "task-x11-illume"
RDEPENDS_${PN} = "\
packagegroup-core-x11-xserver \
packagegroup-core-x11-utils \
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl.inc b/meta-efl/recipes-efl/webkit/webkit-efl.inc
index 44ef9d48f2..cf919ece93 100644
--- a/meta-efl/recipes-efl/webkit/webkit-efl.inc
+++ b/meta-efl/recipes-efl/webkit/webkit-efl.inc
@@ -1,8 +1,10 @@
DESCRIPTION = "Webkit browser engine, EFL edition"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8bab0b12 \
- file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
- file://Source/WebKit/efl/ewk/EWebKit.h;endline=20;md5=55ea170b1582797d2c69712de850f2fa \
+LICENSE = "GPLv2+ & LGPL-2.1"
+LIC_FILES_CHKSUM = " \
+ file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
"
# you need harfbuzz with icu enabled, you can add this to your config:
@@ -10,18 +12,15 @@ LIC_FILES_CHKSUM = "file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8ba
DEPENDS = "icu libxslt sqlite3 gperf-native bison-native flex-native jpeg \
libpng libxt fontconfig cairo freetype glib-2.0 libsoup-2.4 \
libxml2 pango eina ecore evas edje eldbus harfbuzz enchant \
- ruby-native"
+ ruby-native elementary"
+PE = "1"
+
+SRCVER ?= "${PV}"
SRC_URI = "\
- ${E_RELEASES}/libs/webkit-efl/webkit-efl-164189.tar.xz \
- file://0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch \
- file://0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch \
- file://0003-Fix-linking-issue.patch \
+ ${E_RELEASES}/libs/webkit-efl/ewebkit-${SRCVER}.tar.xz \
"
-SRC_URI[md5sum] = "731513fc042ec8e03840bc1ab6a66771"
-SRC_URI[sha256sum] = "660aefd65c0e5c6494eaec30539cda5f40fbdff17f28e7e83d341b245227cccd"
-
-S = "${WORKDIR}/efl-webkit"
+S = "${WORKDIR}/ewebkit"
inherit cmake lib_package pkgconfig perlnative pythonnative
@@ -60,8 +59,8 @@ COMPATIBLE_MACHINE_armv7a = "(.*)"
LEAD_SONAME = "libewebkit.so"
PACKAGES =+ "${PN}launcher-dbg ${PN}launcher ${PN}-inspector"
-FILES_${PN} += "${datadir}/webkit-1.0/theme/default.edj ${datadir}/ewebkit-0/themes/default.edj"
+FILES_${PN} += "${datadir}/ewebkit2-1/themes/default.edj"
FILES_${PN}-dev += "${libdir}/cmake"
FILES_${PN}launcher = "${bindir}/EWebLauncher"
FILES_${PN}launcher-dbg = "${bindir}/.debug/EWebLauncher"
-FILES_${PN}-inspector += "${datadir}/ewebkit-0/inspector"
+FILES_${PN}-inspector += "${datadir}/ewebkit2-1/inspector"
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch
new file mode 100644
index 0000000000..19b7bb88dc
--- /dev/null
+++ b/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch
@@ -0,0 +1,46 @@
+From e6caaf6e80b9c80dc2b860b471a8f05e825f6dfa Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 14 Aug 2014 01:00:21 +0200
+Subject: [PATCH 1/3] OptionsCommon.cmake: don't mix CXX_FLAGS into C_FLAGS
+
+* it was added in https://bugs.webkit.org/show_bug.cgi?id=130261
+* causes build failures in udis86 which explicitly asks for gcc but then
+ gets g++ flags from CMAKE_CXX_FLAGS.
+
+cc1: error: command line option '-fvisibility-inlines-hidden' is valid
+for C++/ObjC++ but not for C [-Werror]
+cc1: error: command line option '-fpermissive' is valid for C++/ObjC++
+but not for C [-Werror]
+cc1: all warnings being treated as errors
+Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:11182:
+recipe for target
+'Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o'
+failed
+make[2]: ***
+[Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o]
+Error 1
+make[2]: *** Waiting for unfinished jobs....
+make[2]: Leaving directory
+'/OE/build/oe-core/tmp-eglibc/work/core2-64-oe-linux/webkit-efl/1_1.10.0+1.11.0-beta1-r0/build'
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/cmake/OptionsCommon.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
+index e304a99..045c614 100644
+--- a/Source/cmake/OptionsCommon.cmake
++++ b/Source/cmake/OptionsCommon.cmake
+@@ -25,7 +25,7 @@ endif ()
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
+ if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+- set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-exceptions -fno-strict-aliasing -fno-rtti")
+ endif ()
+
+--
+2.1.3
+
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch
deleted file mode 100644
index 864b9c914f..0000000000
--- a/meta-efl/recipes-efl/webkit/webkit-efl/0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b37711ca03ea9410e795f29398069fed9e9c2d30 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Mon, 13 Jan 2014 17:21:25 +0100
-Subject: [PATCH 1/3] WebKitHelpers.cmake: Add -Wno-error=cast-align
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Source/cmake/WebKitHelpers.cmake | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake
-index 409931c..345b346 100644
---- a/Source/cmake/WebKitHelpers.cmake
-+++ b/Source/cmake/WebKitHelpers.cmake
-@@ -44,7 +44,11 @@ macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
-
- # Enable errors on warning
- if (OPTION_ENABLE_WERROR)
-- set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter ${OLD_COMPILE_FLAGS}")
-+ # FIXME: When we use -fno-tree-dce to support the jsCStack branch merge, build error occurs due to the uninitialization. Temporarily we set
-+ # uninitialized as build warning in order to support the jsCStack merge. https://bugs.webkit.org/show_bug.cgi?id=127777.
-+ set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter -Wno-error=uninitialized ${OLD_COMPILE_FLAGS}")
-+ # | /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/webkit-efl/2.3.2+svnr159807-r0/webkit-efl/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp:161:104: error: cast from 'uint8_t* {aka unsigned char*}' to 'JSC::FloatTypedArrayAdaptor<double, JSC::GenericTypedArrayView<JSC::Float64Adaptor>, JSC::JSGenericTypedArrayView<JSC::Float64Adaptor>, (JSC::TypedArrayType)9u>::Type* {aka double*}' increases required alignment of target type [-Werror=cast-align]
-+ set(OLD_COMPILE_FLAGS "-Wno-error=cast-align -Wno-error=array-bounds -Wno-error=deprecated-declarations ${OLD_COMPILE_FLAGS}")
- endif ()
-
- set_target_properties(${_target} PROPERTIES
---
-1.9.0
-
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch
deleted file mode 100644
index 9f005bcd33..0000000000
--- a/meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From e284e92da00011e55d8f79383034e0c9c1a8a106 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 27 Feb 2014 13:40:43 +0100
-Subject: [PATCH 2/3] ARMAssembler.h: Don't generate BKPT and BLX for armv4*
-
-* I haven't tested it in runtime yet, but it's better than to wait for asm failure later:
- {standard input}: Assembler messages:
- {standard input}:35: Error: selected processor does not support ARM mode `bkpt #0'
- {standard input}:62: Error: selected processor does not support ARM mode `blx llint_throw_stack_overflow_error'
- ...
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Source/JavaScriptCore/assembler/ARMAssembler.h | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/Source/JavaScriptCore/assembler/ARMAssembler.h b/Source/JavaScriptCore/assembler/ARMAssembler.h
-index 087d31c..1b40ded 100644
---- a/Source/JavaScriptCore/assembler/ARMAssembler.h
-+++ b/Source/JavaScriptCore/assembler/ARMAssembler.h
-@@ -211,7 +211,9 @@ namespace JSC {
- LDMIA = 0x08b00000,
- B = 0x0a000000,
- BL = 0x0b000000,
-+#if WTF_ARM_ARCH_AT_LEAST(5)
- BX = 0x012fff10,
-+#endif
- VMOV_VFP64 = 0x0c400a10,
- VMOV_ARM64 = 0x0c500a10,
- VMOV_VFP32 = 0x0e000a10,
-@@ -223,8 +225,10 @@ namespace JSC {
- VCVT_F64_F32 = 0x0eb70ac0,
- VMRS_APSR = 0x0ef1fa10,
- CLZ = 0x016f0f10,
-+#if WTF_ARM_ARCH_AT_LEAST(5)
- BKPT = 0xe1200070,
- BLX = 0x012fff30,
-+#endif
- #if WTF_ARM_ARCH_AT_LEAST(7)
- MOVW = 0x03000000,
- MOVT = 0x03400000,
-@@ -689,7 +693,11 @@ namespace JSC {
-
- void bkpt(ARMWord value)
- {
-+#if WTF_ARM_ARCH_AT_LEAST(5)
- m_buffer.putInt(BKPT | ((value & 0xff0) << 4) | (value & 0xf));
-+#else
-+ // BKPT is available in ARMv5T and above, skip it here
-+#endif
- }
-
- void nop()
-@@ -704,12 +712,23 @@ namespace JSC {
-
- void bx(int rm, Condition cc = AL)
- {
-+#if WTF_ARM_ARCH_AT_LEAST(5)
- emitInstruction(toARMWord(cc) | BX, 0, 0, RM(rm));
-+#else
-+ // BX is available in ARMv5T and above.
-+ emitInstruction(toARMWord(cc) | MOV, ARMRegisters::pc, ARMRegisters::lr, 0);
-+#endif
- }
-
- AssemblerLabel blx(int rm, Condition cc = AL)
- {
-+#if WTF_ARM_ARCH_AT_LEAST(5)
- emitInstruction(toARMWord(cc) | BLX, 0, 0, RM(rm));
-+#else
-+ // BLX is available in ARMv5T and above.
-+ emitInstruction(toARMWord(cc) | MOV, ARMRegisters::lr, ARMRegisters::pc, 0);
-+ emitInstruction(toARMWord(cc) | MOV, ARMRegisters::pc, RM(rm), 0);
-+#endif
- return m_buffer.label();
- }
-
---
-1.9.0
-
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch
new file mode 100644
index 0000000000..9386e703de
--- /dev/null
+++ b/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch
@@ -0,0 +1,36 @@
+From de93951f89e851b6689718022eebb4b8b1d14c06 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 13 Jan 2014 17:21:25 +0100
+Subject: [PATCH 2/3] WebKitHelpers.cmake: Add
+ -Wno-error=deprecated-declarations -Wno-error=cast-align
+ -Wno-error=type-limits
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/cmake/WebKitHelpers.cmake | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake
+index 227b9ee..ae52ef6 100644
+--- a/Source/cmake/WebKitHelpers.cmake
++++ b/Source/cmake/WebKitHelpers.cmake
+@@ -40,6 +40,16 @@ macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
+ # FIXME: When we use -fno-tree-dce to support the jsCStack branch merge, build error occurs due to the uninitialization. Temporarily we set
+ # uninitialized as build warning in order to support the jsCStack merge. https://bugs.webkit.org/show_bug.cgi?id=127777.
+ set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter -Wno-error=uninitialized -Wno-error=literal-suffix ${OLD_COMPILE_FLAGS}")
++ # libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:13:84: error: 'GType soup_proxy_uri_resolver_get_type()' is deprecated (declared at /OE/build/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:48) [-Werror=deprecated-declarations]
++ set(OLD_COMPILE_FLAGS "-Wno-error=deprecated-declarations ${OLD_COMPILE_FLAGS}")
++ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WTF/wtf/text/StringImpl.h:742:87: error: cast from 'uint8_t* {aka unsigned char*}' to 'WTF::StringImpl**' increases required alignment of target type [-Werror=cast-align]
++ set(OLD_COMPILE_FLAGS "-Wno-error=cast-align ${OLD_COMPILE_FLAGS}")
++ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp:70:16: error: comparison is always false due to limited range of data type [-Werror=type-limits]
++ set(OLD_COMPILE_FLAGS "-Wno-error=type-limits ${OLD_COMPILE_FLAGS}")
++ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WebKit2/UIProcess/API/efl/EwkView.cpp:832:5: error: missing initializer for member '_Evas_GL_Config::gles_version' [-Werror=missing-field-initializers]
++ # this one is new with efl-1.12
++ set(OLD_COMPILE_FLAGS "-Wno-error=missing-field-initializers ${OLD_COMPILE_FLAGS}")
++
+ endif ()
+
+ set_target_properties(${_target} PROPERTIES
+--
+2.1.3
+
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch
new file mode 100644
index 0000000000..e718ee1c12
--- /dev/null
+++ b/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch
@@ -0,0 +1,35 @@
+From a076d76b8e8862bd641cd991190e82cfd478cc66 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 20 Aug 2014 00:52:03 +0200
+Subject: [PATCH 3/3] FEBlendNEON.h: fix missing semicolon
+
+* Otherwise fails with:
+In file included from ewebkit/Source/WebCore/platform/graphics/filters/FEBlend.cpp:29:0:
+ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h: In member function 'virtual void WebCore::FEBlend::platformApplySoftware()':
+ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected primary-expression before '}' token
+ }
+ ^
+ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: return-statement with a value, in function returning 'void' [-fpermissive]
+ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected ';' before '}' token
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
+index 1c50765..f4b6f46 100644
+--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
+@@ -126,7 +126,7 @@ void FEBlend::platformApplySoftware()
+
+ if (pixelArrayLength >= 8) {
+ platformApplyNEON(srcPixelArrayA->data(), srcPixelArrayB->data(), dstPixelArray->data(), pixelArrayLength);
+- return
++ return;
+ }
+ // If there is just one pixel we expand it to two.
+ ASSERT(pixelArrayLength > 0);
+--
+2.1.3
+
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0003-Fix-linking-issue.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0003-Fix-linking-issue.patch
deleted file mode 100644
index ce1c6872d0..0000000000
--- a/meta-efl/recipes-efl/webkit/webkit-efl/0003-Fix-linking-issue.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 09088da56f3de17ab1cc537627cda6bf808eaf4c Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 27 Feb 2014 14:17:29 +0100
-Subject: [PATCH 3/3] Fix linking issue
-
-* inline function is sometimes not included soon enough
-
- Partialy taken from:
- https://bugs.webkit.org/show_bug.cgi?id=124152
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Source/JavaScriptCore/llint/LLIntEntrypoint.cpp | 3 +++
- Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp | 3 +++
- Source/JavaScriptCore/runtime/SymbolTable.cpp | 4 ++++
- 3 files changed, 10 insertions(+)
-
-diff --git a/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp b/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp
-index 5d91be6..73cba31 100644
---- a/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp
-+++ b/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp
-@@ -31,6 +31,9 @@
- #include "CodeBlock.h"
- #include "JITCode.h"
- #include "JSObject.h"
-+#include "JSCellInlines.h"
-+#include "JSDestructibleObject.h"
-+#include "SlotVisitorInlines.h"
- #include "LLIntThunks.h"
- #include "LowLevelInterpreter.h"
- #include "MaxFrameExtentForSlowPathCall.h"
-diff --git a/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp b/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp
-index d0583fc..4be5ec3 100644
---- a/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp
-+++ b/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp
-@@ -25,6 +25,9 @@
-
- #include "config.h"
- #include "FunctionExecutableDump.h"
-+#include "JSCellInlines.h"
-+#include "JSDestructibleObject.h"
-+#include "SlotVisitorInlines.h"
-
- #include "CodeBlock.h"
-
-diff --git a/Source/JavaScriptCore/runtime/SymbolTable.cpp b/Source/JavaScriptCore/runtime/SymbolTable.cpp
-index 6eb0239..21450df 100644
---- a/Source/JavaScriptCore/runtime/SymbolTable.cpp
-+++ b/Source/JavaScriptCore/runtime/SymbolTable.cpp
-@@ -33,6 +33,10 @@
- #include "JSCInlines.h"
- #include "SlotVisitorInlines.h"
-
-+#include "JSCellInlines.h"
-+#include "JSDestructibleObject.h"
-+#include "SlotVisitorInlines.h"
-+
- namespace JSC {
-
- const ClassInfo SymbolTable::s_info = { "SymbolTable", 0, 0, 0, CREATE_METHOD_TABLE(SymbolTable) };
---
-1.9.0
-
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch
new file mode 100644
index 0000000000..bfa3052b1a
--- /dev/null
+++ b/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch
@@ -0,0 +1,146 @@
+From baebc004111289ef658c78a42f8332f3dceef41e Mon Sep 17 00:00:00 2001
+From: "ryuan.choi@navercorp.com" <ryuan.choi@navercorp.com>
+Date: Thu, 13 Nov 2014 07:07:16 +0000
+Subject: [PATCH 4/4] Fix the build with EFL 1.12
+ https://bugs.webkit.org/show_bug.cgi?id=138245
+
+Reviewed by Gyuyoung Kim.
+
+Source/WebKit2:
+
+* UIProcess/API/efl/EwkView.cpp:
+First, modified to use Evas_GL raw pointer instead of UniquePtrEfl because
+Evas_GL.h can't be included in UniquePtrEfl.h
+It should be moved into EvasGLContext because WebKit/EFL use only one Evas_GL.
+Second, provided the version of GLES in Evas_GL_Config not to break build with
+EFL 1.12
+(EwkView::EwkView):
+(EwkView::~EwkView):
+(EwkView::displayTimerFired):
+(EwkView::createGLSurface):
+* UIProcess/API/efl/EwkView.h:
+
+Source/WTF:
+
+* wtf/efl/UniquePtrEfl.h:
+Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because
+it should not be included with official GL headers.
+
+git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+---
+ Source/WTF/wtf/efl/UniquePtrEfl.h | 2 --
+ Source/WebKit2/UIProcess/API/efl/EwkView.cpp | 24 ++++++++++++++++--------
+ Source/WebKit2/UIProcess/API/efl/EwkView.h | 3 ++-
+ 3 files changed, 18 insertions(+), 11 deletions(-)
+
+diff --git a/Source/WTF/wtf/efl/UniquePtrEfl.h b/Source/WTF/wtf/efl/UniquePtrEfl.h
+index ba0110a..038d3fb 100644
+--- a/Source/WTF/wtf/efl/UniquePtrEfl.h
++++ b/Source/WTF/wtf/efl/UniquePtrEfl.h
+@@ -33,7 +33,6 @@
+ #include <Ecore_IMF.h>
+ #include <Eina.h>
+ #include <Evas.h>
+-#include <Evas_GL.h>
+
+ namespace WTF {
+
+@@ -51,7 +50,6 @@ using EflUniquePtr = std::unique_ptr<T, EflPtrDeleter<T>>;
+ macro(Eina_Hash, eina_hash_free) \
+ macro(Eina_Module, eina_module_free) \
+ macro(Evas_Object, evas_object_del) \
+- macro(Evas_GL, evas_gl_free)
+
+ #define WTF_DEFINE_EFLPTR_DELETER(typeName, deleterFunc) \
+ template<> struct EflPtrDeleter<typeName> \
+diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
+index 50d34ed..6ff3394 100755
+--- a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
++++ b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
+@@ -299,9 +299,11 @@ EwkView::EwkView(WKViewRef view, Evas_Object* evasObject)
+
+ // FIXME: Remove when possible.
+ static_cast<WebViewEfl*>(webView())->setEwkView(this);
+- m_evasGL = EflUniquePtr<Evas_GL>(evas_gl_new(evas_object_evas_get(m_evasObject)));
++
++ // FIXME: Consider it to move into EvasGLContext.
++ m_evasGL = evas_gl_new(evas_object_evas_get(m_evasObject));
+ if (m_evasGL)
+- m_evasGLContext = EvasGLContext::create(m_evasGL.get());
++ m_evasGLContext = EvasGLContext::create(m_evasGL);
+
+ if (!m_evasGLContext) {
+ WARN("Failed to create Evas_GL, falling back to software mode.");
+@@ -333,6 +335,9 @@ EwkView::~EwkView()
+ {
+ ASSERT(wkPageToEvasObjectMap().get(wkPage()) == m_evasObject);
+ wkPageToEvasObjectMap().remove(wkPage());
++
++ if (m_evasGL)
++ evas_gl_free(m_evasGL);
+ }
+
+ EwkView* EwkView::create(WKViewRef webView, Evas* canvas, Evas_Smart* smart)
+@@ -587,7 +592,7 @@ void EwkView::displayTimerFired(Timer<EwkView>*)
+ return;
+ }
+
+- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context());
++ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context());
+
+ WKViewPaintToCurrentGLContext(wkView());
+
+@@ -828,21 +833,24 @@ bool EwkView::createGLSurface()
+ EVAS_GL_DEPTH_BIT_8,
+ EVAS_GL_STENCIL_NONE,
+ EVAS_GL_OPTIONS_NONE,
+- EVAS_GL_MULTISAMPLE_NONE
++ EVAS_GL_MULTISAMPLE_NONE,
++#if defined(EVAS_GL_API_VERSION) && EVAS_GL_API_VERSION >= 2
++ EVAS_GL_GLES_2_X
++#endif
+ };
+
+ // Recreate to current size: Replaces if non-null, and frees existing surface after (OwnPtr).
+- m_evasGLSurface = EvasGLSurface::create(m_evasGL.get(), &evasGLConfig, deviceSize());
++ m_evasGLSurface = EvasGLSurface::create(m_evasGL, &evasGLConfig, deviceSize());
+ if (!m_evasGLSurface)
+ return false;
+
+ Evas_Native_Surface nativeSurface;
+- evas_gl_native_surface_get(m_evasGL.get(), m_evasGLSurface->surface(), &nativeSurface);
++ evas_gl_native_surface_get(m_evasGL, m_evasGLSurface->surface(), &nativeSurface);
+ evas_object_image_native_surface_set(smartData()->image, &nativeSurface);
+
+- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context());
++ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context());
+
+- Evas_GL_API* gl = evas_gl_api_get(m_evasGL.get());
++ Evas_GL_API* gl = evas_gl_api_get(m_evasGL);
+
+ WKPoint boundsEnd = WKViewUserViewportToScene(wkView(), WKPointMake(deviceSize().width(), deviceSize().height()));
+ gl->glViewport(0, 0, boundsEnd.x, boundsEnd.y);
+diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.h b/Source/WebKit2/UIProcess/API/efl/EwkView.h
+index 1c482cf..68dab87 100644
+--- a/Source/WebKit2/UIProcess/API/efl/EwkView.h
++++ b/Source/WebKit2/UIProcess/API/efl/EwkView.h
+@@ -39,6 +39,7 @@
+ #endif
+
+ typedef struct _cairo_surface cairo_surface_t;
++typedef struct _Evas_GL Evas_GL;
+
+ namespace WebKit {
+ class ContextMenuClientEfl;
+@@ -241,7 +242,7 @@ private:
+ Evas_Object* m_evasObject;
+ RefPtr<EwkContext> m_context;
+ RefPtr<EwkPageGroup> m_pageGroup;
+- EflUniquePtr<Evas_GL> m_evasGL;
++ Evas_GL* m_evasGL;
+ std::unique_ptr<WebCore::EvasGLContext> m_evasGLContext;
+ std::unique_ptr<WebCore::EvasGLSurface> m_evasGLSurface;
+ bool m_pendingSurfaceResize;
+--
+2.1.3
+
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/CMakeLists.txt b/meta-efl/recipes-efl/webkit/webkit-efl/CMakeLists.txt
deleted file mode 100644
index 8071d61f97..0000000000
--- a/meta-efl/recipes-efl/webkit/webkit-efl/CMakeLists.txt
+++ /dev/null
@@ -1,166 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(WebKit)
-
-# Set a default build type if and only if user did not define one as command
-# line options and he did not give custom CFLAGS or CXXFLAGS. Otherwise, flags
-# from default build type would overwrite user-defined ones.
-IF (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_C_FLAGS AND NOT CMAKE_CXX_FLAGS)
- SET(CMAKE_BUILD_TYPE Release)
-ENDIF ()
-
-# -----------------------------------------------------------------------------
-# Default library type
-# -----------------------------------------------------------------------------
-SET(ENABLE_WEBCORE ON)
-
-IF (NOT ENABLE_WEBKIT AND NOT ENABLE_WEBKIT2)
- SET(ENABLE_WEBKIT ON)
-ENDIF ()
-
-SET(ENABLE_TOOLS ON)
-
-SET(WTF_DIR "${CMAKE_SOURCE_DIR}/Source/WTF")
-SET(JAVASCRIPTCORE_DIR "${CMAKE_SOURCE_DIR}/Source/JavaScriptCore")
-SET(WEBCORE_DIR "${CMAKE_SOURCE_DIR}/Source/WebCore")
-SET(WEBKIT_DIR "${CMAKE_SOURCE_DIR}/Source/WebKit")
-SET(WEBKIT2_DIR "${CMAKE_SOURCE_DIR}/Source/WebKit2")
-SET(THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/Source/ThirdParty")
-
-SET(TOOLS_DIR "${CMAKE_SOURCE_DIR}/Tools")
-
-SET(DERIVED_SOURCES_DIR "${CMAKE_BINARY_DIR}/DerivedSources")
-SET(DERIVED_SOURCES_JAVASCRIPTCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/JavaScriptCore")
-SET(DERIVED_SOURCES_WEBCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebCore")
-SET(DERIVED_SOURCES_WEBKIT_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit")
-SET(DERIVED_SOURCES_WEBKIT2_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit2")
-
-SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake")
-
-SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
-SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
-SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
-
-INCLUDE(WebKitMacros)
-INCLUDE(WebKitFS)
-INCLUDE(WebKitHelpers)
-INCLUDE(WebKitFeatures)
-
-# -----------------------------------------------------------------------------
-# Determine which port will be built
-# -----------------------------------------------------------------------------
-SET(ALL_PORTS Efl WinCE BlackBerry)
-SET(PORT "NOPORT" CACHE STRING "choose which WebKit port to build (one of ${ALL_PORTS})")
-
-LIST(FIND ALL_PORTS ${PORT} RET)
-IF (${RET} EQUAL -1)
- MESSAGE(FATAL_ERROR "Please choose which WebKit port to build (one of ${ALL_PORTS})")
-ENDIF ()
-
-STRING(TOLOWER ${PORT} WEBKIT_PORT_DIR)
-
-# -----------------------------------------------------------------------------
-# Find common packages (used by all ports)
-# -----------------------------------------------------------------------------
-FIND_PACKAGE(BISON REQUIRED)
-FIND_PACKAGE(FLEX REQUIRED)
-FIND_PACKAGE(Gperf REQUIRED)
-FIND_PACKAGE(Perl REQUIRED)
-FIND_PACKAGE(PythonInterp REQUIRED)
-
-# -----------------------------------------------------------------------------
-# Determine the target processor
-# -----------------------------------------------------------------------------
-STRING(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR)
-IF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
- SET(WTF_CPU_ARM 1)
-ELSEIF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
- SET(WTF_CPU_MIPS 1)
-ELSEIF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)")
- SET(WTF_CPU_X86_64 1)
-ELSEIF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|x86)")
- SET(WTF_CPU_X86 1)
-ELSE ()
- MESSAGE(FATAL_ERROR "Unknown CPU '${CMAKE_SYSTEM_PROCESSOR}'")
-ENDIF ()
-
-# -----------------------------------------------------------------------------
-# Determine the operating system
-# -----------------------------------------------------------------------------
-IF (UNIX)
- IF (APPLE)
- SET(WTF_OS_MAC_OS_X 1)
- ELSE ()
- SET(WTF_OS_UNIX 1)
- ENDIF ()
-ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
- SET(WTF_OS_WINDOWS 1)
-ELSEIF (CMAKE_SYSTEM_NAME MATCHES "QNX")
- SET(WTF_OS_QNX 1)
- SET(WTF_OS_UNIX 1)
-ELSE ()
- MESSAGE(FATAL_ERROR "Unknown OS '${CMAKE_SYSTEM_NAME}'")
-ENDIF ()
-
-# -----------------------------------------------------------------------------
-# Default target names (can be overrriden in Options${PORT}.cmake file)
-# -----------------------------------------------------------------------------
-SET(JSC_EXECUTABLE_NAME JSC)
-SET(WTF_LIBRARY_NAME WTF)
-SET(JavaScriptCore_LIBRARY_NAME JavaScriptCore)
-SET(WebCore_LIBRARY_NAME WebCore)
-SET(WebKit_LIBRARY_NAME WebKit)
-SET(WebKit2_LIBRARY_NAME WebKit2)
-SET(WebCoreTestSupport_LIBRARY_NAME WebCoreTestSupport)
-
-# -----------------------------------------------------------------------------
-# Default library types
-# -----------------------------------------------------------------------------
-OPTION(SHARED_CORE "build JavaScriptCore and WebCore as shared libraries")
-
-IF (SHARED_CORE)
- SET(JavaScriptCore_LIBRARY_TYPE SHARED)
- SET(WebCore_LIBRARY_TYPE SHARED)
-ELSE ()
- SET(JavaScriptCore_LIBRARY_TYPE STATIC)
- SET(WebCore_LIBRARY_TYPE STATIC)
-ENDIF ()
-
-SET(WebKit_LIBRARY_TYPE SHARED)
-SET(WebKit2_LIBRARY_TYPE SHARED)
-SET(WebCoreTestSupport_LIBRARY_TYPE STATIC)
-
-# -----------------------------------------------------------------------------
-# Port-specific options
-# -----------------------------------------------------------------------------
-INCLUDE(OptionsCommon)
-INCLUDE(Options${PORT})
-
-# -----------------------------------------------------------------------------
-# Enable API unit tests and create a target for the test runner
-# -----------------------------------------------------------------------------
-IF (ENABLE_API_TESTS)
- ENABLE_TESTING()
-ENDIF ()
-
-# -----------------------------------------------------------------------------
-# Install JavaScript shell
-# -----------------------------------------------------------------------------
-OPTION(SHOULD_INSTALL_JS_SHELL "generate an installation rule to install the built JavaScript shell")
-
-# -----------------------------------------------------------------------------
-# Define packaging
-# -----------------------------------------------------------------------------
-INCLUDE(WebKitPackaging)
-
-# -----------------------------------------------------------------------------
-# Add module directories
-# -----------------------------------------------------------------------------
-ADD_SUBDIRECTORY(Source)
-
-# -----------------------------------------------------------------------------
-# Add tools
-# -----------------------------------------------------------------------------
-IF (ENABLE_TOOLS)
- ADD_SUBDIRECTORY(Tools)
-ENDIF ()
-
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb b/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb
new file mode 100644
index 0000000000..068c0d9778
--- /dev/null
+++ b/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb
@@ -0,0 +1,10 @@
+require ${BPN}.inc
+
+SRC_URI += "\
+ file://0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch \
+ file://0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch \
+ file://0003-FEBlendNEON.h-fix-missing-semicolon.patch \
+ file://0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch \
+"
+SRC_URI[md5sum] = "90fa970ebf8646319d292c2bb5bff5db"
+SRC_URI[sha256sum] = "d8d21e27f4a21cd77c41914548c184ddb98693ba23851aa66c8e51c0be4b90b7"
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl_2.3.4+svnr164189.bb b/meta-efl/recipes-efl/webkit/webkit-efl_2.3.4+svnr164189.bb
deleted file mode 100644
index 65418ca9a2..0000000000
--- a/meta-efl/recipes-efl/webkit/webkit-efl_2.3.4+svnr164189.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/webkit-efl/webkit-efl-164189.tar.xz \
- file://0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch \
- file://0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch \
- file://0003-Fix-linking-issue.patch \
-"
-SRC_URI[md5sum] = "731513fc042ec8e03840bc1ab6a66771"
-SRC_URI[sha256sum] = "660aefd65c0e5c6494eaec30539cda5f40fbdff17f28e7e83d341b245227cccd"
-
-S = "${WORKDIR}/efl-webkit"
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb b/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb
deleted file mode 100644
index e50139c8de..0000000000
--- a/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require ${BPN}.inc
-
-SRCREV = "164189"
-PV = "2.3.4+svnr${SRCPV}"
-
-SRCREV_FORMAT = "source"
-
-SRC_URI = "\
- svn://svn.webkit.org/repository/webkit/trunk;module=Source;name=source;protocol=http;subdir=src \
- svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitLibraries;protocol=http;subdir=src \
- svn://svn.webkit.org/repository/webkit/trunk/;module=Tools;protocol=http;subdir=src \
- file://CMakeLists.txt \
- file://0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch \
- file://0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch \
- file://0003-Fix-linking-issue.patch \
-"
-
-S = "${WORKDIR}/src"
-
-do_configure_prepend() {
- cp ${WORKDIR}/CMakeLists.txt ${S};
-}
diff --git a/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb b/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb
index d07b1435f3..9ad5d4ff01 100644
--- a/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb
+++ b/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb
@@ -2,7 +2,7 @@ SUMMARY = "Free GPS navigation for car and outdoor with OpenStreetMap maps"
HOMEPAGE = "http://www.gps-routes.info/index.php?name=Content&pa=showpage&pid=1"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-DEPENDS = "ecore evas imlib2 gpsd edje edje-native mysql5"
+DEPENDS = "ecore evas imlib2 gpsd edje edje-native mysql5 intltool-native"
SRC_URI = "http://www.gps-routes.info/debian/pool/main/m/mcnavi/mcnavi_${PV}.tar.gz"
SRC_URI[md5sum] = "6860cde5c02a9f93c829da4b10e5a226"
diff --git a/meta-filesystems/conf/layer.conf b/meta-filesystems/conf/layer.conf
index c0bbd78216..9ed6d1b739 100644
--- a/meta-filesystems/conf/layer.conf
+++ b/meta-filesystems/conf/layer.conf
@@ -8,3 +8,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "filesystems-layer"
BBFILE_PATTERN_filesystems-layer = "^${LAYERDIR}/"
BBFILE_PRIORITY_filesystems-layer = "6"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_filesystems-layer = "1"
+
+LAYERDEPENDS_filesystems-layer = "core openembedded-layer"
diff --git a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.0.1.bb b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.1.0.bb
index f984c4bb77..6a83ab25bb 100644
--- a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.0.1.bb
+++ b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.1.0.bb
@@ -1,12 +1,12 @@
SUMMARY = "read and write exFAT driver for FUSE"
DESCRIPTION = "fuse-exfat is a read and write driver implementing the \
extended file allocation table as a filesystem in userspace. A mounthelper \
-is provided unter the name mount.exfat-fuse. \
+is provided under the name mount.exfat-fuse. \
"
HOMEPAGE = "http://code.google.com/p/exfat/"
SECTION = "universe/otherosfs"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "${DEBIAN_MIRROR}/main/f/fuse-exfat/fuse-exfat_${PV}.orig.tar.gz \
"
DEPENDS = "fuse virtual/libc"
@@ -14,11 +14,11 @@ RRECOMMENDS_${PN} = "util-linux-mount"
inherit scons
-SRC_URI[md5sum] = "7988a5111841593231f20af22153362d"
-SRC_URI[sha256sum] = "12ac1ba1b7d4343bef64e7898176705a41cfe3b5a7a179e28549d242e2854758"
+SRC_URI[md5sum] = "b2a23c032661cb1c1da4514e7af33916"
+SRC_URI[sha256sum] = "198c520e417e955dc5c08687c278e63eefa56719da4452aa4a605be0327f953e"
EXTRA_OESCONS = " \
- DESTDIR=${D}/${base_sbindir} \
+ CCFLAGS='${CCFLAGS} -std=c99' DESTDIR=${D}/${base_sbindir} \
"
do_install_prepend() {
diff --git a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb
index 9a26642bb1..42f4c872bd 100644
--- a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb
+++ b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb
@@ -3,7 +3,7 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7"
HOMEPAGE ="http://www.libimobiledevice.org/"
-PNBLACKLIST[ifuse] = "depends on blacklisted libimobiledevice"
+PNBLACKLIST[ifuse] ?= "depends on blacklisted libimobiledevice"
DEPENDS = "fuse libimobiledevice"
SRC_URI = " \
diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
new file mode 100644
index 0000000000..32ebec83d6
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "LogFS Programs: used to create LogFS file system"
+DESCRIPTION = "\
+LogFS is a Linux log-structured and scalable flash file system, intended \
+for use on large devices of flash memory. It is written by Jörn Engel and \
+in part sponsored by the CE Linux Forum. \
+LogFS is included in the mainline Linux kernel and was introduced in \
+version 2.6.34, released on May 16, 2010."
+HOMEPAGE = "https://github.com/prasad-joshi/logfsprogs"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://fsck.c;md5=3859dc73da97909ff1d0125e88a27e02"
+DEPENDS = "zlib"
+
+SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git"
+SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "CC="${CC}" LD="${LD}" AR="${AR}""
+
+do_install () {
+ mkdir -p ${D}${bindir}
+ install -m 0755 ${S}/mklogfs ${D}${bindir}/mklogfs
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb
index 2e7a6166ba..6957ea92bd 100644
--- a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb
+++ b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb
@@ -12,7 +12,7 @@ S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}"
SRC_URI[md5sum] = "2d6fb47ddf62b51733227126fe9227fe"
SRC_URI[sha256sum] = "4b383f0074a3ab7683339d1f18222b107aaeb4983db119292c43c2b275cefb27"
-inherit autotools
+inherit autotools pkgconfig
PACKAGECONFIG ??= ""
PACKAGECONFIG[uuid] = "--with-uuid,--without-uuid,util-linux"
diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb b/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb
index b46940e9bc..21fd7e93e2 100644
--- a/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb
+++ b/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb
@@ -15,15 +15,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/owfs/owfs-${PV}.tar.gz \
SRC_URI[md5sum] = "56ba145be208002e58775a7203369851"
SRC_URI[sha256sum] = "9d22dbff72d235476688c02669f7171b23e21dffadf40bbdd3b8263908218424"
-inherit autotools update-rc.d
+inherit autotools-brokensep update-rc.d
EXTRA_OECONF = " \
--with-fuseinclude=${STAGING_INCDIR} \
--with-fuselib=${STAGING_LIBDIR} \
--enable-owfs \
--enable-owhttpd \
- --enable-cache \
- --enable-mt \
--enable-w1 \
--disable-swig \
--disable-owtcl \
diff --git a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
new file mode 100644
index 0000000000..c80fed1879
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
@@ -0,0 +1,11 @@
+Index: git/configure.in
+===================================================================
+--- git.orig/configure.in 2014-06-18 16:06:16.040721349 +0000
++++ git/configure.in 2014-07-18 07:49:17.085552256 +0000
+@@ -1,5 +1,5 @@
+ AC_INIT([SMBNetFS],[0.5.3а])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_HEADERS([src/config.h])
+ AC_PROG_CC
+
diff --git a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
index 350dad5be6..a0eddbc790 100644
--- a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
+++ b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
@@ -10,13 +10,14 @@ HOMEPAGE ="http://sourceforge.net/projects/smbnetfs"
DEPENDS = "fuse samba"
-inherit autotools gitpkgv
+inherit autotools gitpkgv pkgconfig
PKGV = "${GITPKGVTAG}"
SRCREV = "ace1c519d45fe488b9b7e6cc77a2bcadb6c83464"
-SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master"
+SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master \
+ file://configure.patch"
PACKAGECONFIG ??= ""
PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring=yes,--with-gnome-keyring=no,libgnome-keyring"
diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb
index 722d0ede98..459d1575e7 100644
--- a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb
+++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb
@@ -6,10 +6,10 @@ LICENSE = "GPLv2"
DEPENDS = "glib-2.0 fuse"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/${P}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/${BP}.tar.gz"
S = "${WORKDIR}/${P}"
-inherit autotools
+inherit autotools pkgconfig
FILES_${PN} += "${libdir}/sshnodelay.so"
diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
new file mode 100644
index 0000000000..38ded9f68a
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A FUSE based implemention of unionfs"
+HOMEPAGE = "http://podgorny.cz/moin/UnionFsFuse"
+SECTION = "console/network"
+LICENSE = "BSD-3-Clause"
+DEPENDS = "fuse"
+LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32"
+
+SRC_URI = "http://podgorny.cz/unionfs-fuse/releases/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "689c636484756f6f7a728ef354cbeac2"
+SRC_URI[sha256sum] = "8d5c9dcb51ecb9a9b03890e16d17e37d602b0c1f23ed6a9ddec2b0f719c9f662"
+
+do_install() {
+ oe_runmake install DESTDIR=${D} PREFIX=${exec_prefix}
+}
diff --git a/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb
index a76193263e..60fea873b5 100644
--- a/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb
+++ b/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb
@@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "0beb83eaf2c5e50730fc553406ef124d77bc02c64854631bdfc86bfd64
inherit autotools pkgconfig
-EXTRA_OECONF = "--disable-kernel-module"
+DEPENDS = "gettext-native"
PACKAGES =+ "fuse-utils-dbg fuse-utils libulockmgr libulockmgr-dev libulockmgr-dbg"
diff --git a/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb b/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
index 9ad7fabfbd..5618f28a68 100644
--- a/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
+++ b/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
@@ -6,6 +6,6 @@ DEPENDS = "readline zlib"
inherit cmake
-SRC_URI = "http://icculus.org/${PN}/downloads/${PN}-${PV}.tar.bz2"
+SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2"
SRC_URI[md5sum] = "c2c727a8a8deb623b521b52d0080f613"
SRC_URI[sha256sum] = "ca862097c0fb451f2cacd286194d071289342c107b6fe69079c079883ff66b69"
diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch
new file mode 100644
index 0000000000..5c35586899
--- /dev/null
+++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch
@@ -0,0 +1,29 @@
+Subject: [PATCH] aufs-util: add tool concept to Makefile for cross compiling
+ purpose
+
+In a cross compilation environment, c2sh, c2tmac and ver need to be created first.
+Add a tools target to Makefile to allow for this.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 2f905ad..49c3cd5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -85,7 +85,7 @@ aufs.5: aufs.in.5 c2tmac
+ chmod a-w $@
+
+ c2sh c2tmac ver: CC = ${HOSTCC}
+-.INTERMEDIATE: c2sh c2tmac ver
++tools: c2sh c2tmac ver
+
+ Install = install -o root -g root -p
+ install_sbin: File = auibusy auplink mount.aufs umount.aufs
+--
+1.7.9.5
+
diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch
new file mode 100644
index 0000000000..48727e6e22
--- /dev/null
+++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch
@@ -0,0 +1,37 @@
+From 244863eca77fcaa1187884836c3e28d6b6d1504a Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <bruce.ashfield@windriver.com>
+Date: Tue, 9 Apr 2013 18:50:34 -0700
+Subject: [PATCH] aufs-util: don't strip executables
+
+By default, aufs-util strips its binaries. This produces QA warnings
+as follows:
+
+ WARNING: File '/sbin/mount.aufs' from aufs-util was already stripped, this will prevent future debugging!
+ WARNING: File '/sbin/auplink' from aufs-util was already stripped, this will prevent future debugging!
+ WARNING: File '/sbin/umount.aufs' from aufs-util was already stripped, this will prevent future debugging!
+ WARNING: File '/sbin/auibusy' from aufs-util was already stripped, this will prevent future debugging!
+ WARNING: File '/usr/lib/libau.so.2.6' from aufs-util was already stripped, this will prevent future debugging!
+
+To prevent this, we remove -s from LDFLAGS.
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 2f905ad..e0c6dcd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -56,7 +56,7 @@ all: ver_test ${Man} ${Bin} ${Etc}
+ ver_test: ver
+ ./ver
+
+-${Bin}: LDFLAGS += -static -s
++${Bin}: LDFLAGS += -static
+ ${Bin}: LDLIBS = -L. -lautil
+ ${BinObj}: %.o: %.c ${LibUtilHdr} ${LibUtil}
+
+--
+1.7.10.4
+
diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h
new file mode 100644
index 0000000000..cb439baa4c
--- /dev/null
+++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h
@@ -0,0 +1,210 @@
+/*
+ * Copyright (C) 2005-2013 Junjiro R. Okajima
+ *
+ * This program, aufs is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __AUFS_TYPE_H__
+#define __AUFS_TYPE_H__
+
+#define AUFS_NAME "aufs"
+
+#include <stdint.h>
+#include <sys/types.h>
+
+#include <linux/limits.h>
+
+#define AUFS_VERSION "3.8-20130325"
+
+/* todo? move this to linux-2.6.19/include/magic.h */
+#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
+
+/* ---------------------------------------------------------------------- */
+
+#ifdef CONFIG_AUFS_BRANCH_MAX_127
+typedef int8_t aufs_bindex_t;
+#define AUFS_BRANCH_MAX 127
+#else
+typedef int16_t aufs_bindex_t;
+#ifdef CONFIG_AUFS_BRANCH_MAX_511
+#define AUFS_BRANCH_MAX 511
+#elif defined(CONFIG_AUFS_BRANCH_MAX_1023)
+#define AUFS_BRANCH_MAX 1023
+#elif defined(CONFIG_AUFS_BRANCH_MAX_32767)
+#define AUFS_BRANCH_MAX 32767
+#endif
+#endif
+
+
+/* ---------------------------------------------------------------------- */
+
+#define AUFS_FSTYPE AUFS_NAME
+
+#define AUFS_ROOT_INO 2
+#define AUFS_FIRST_INO 11
+
+#define AUFS_WH_PFX ".wh."
+#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1)
+#define AUFS_WH_TMP_LEN 4
+/* a limit for rmdir/rename a dir */
+#define AUFS_MAX_NAMELEN (NAME_MAX \
+ - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\
+ - 1 /* dot */\
+ - AUFS_WH_TMP_LEN) /* hex */
+#define AUFS_XINO_FNAME "." AUFS_NAME ".xino"
+#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME
+#define AUFS_XINO_TRUNC_INIT 64 /* blocks */
+#define AUFS_XINO_TRUNC_STEP 4 /* blocks */
+#define AUFS_DIRWH_DEF 3
+#define AUFS_RDCACHE_DEF 10 /* seconds */
+#define AUFS_RDCACHE_MAX 3600 /* seconds */
+#define AUFS_RDBLK_DEF 512 /* bytes */
+#define AUFS_RDHASH_DEF 32
+#define AUFS_WKQ_NAME AUFS_NAME "d"
+#define AUFS_MFS_DEF_SEC 30 /* seconds */
+#define AUFS_MFS_MAX_SEC 3600 /* seconds */
+#define AUFS_PLINK_WARN 100 /* number of plinks */
+
+/* pseudo-link maintenace under /proc */
+#define AUFS_PLINK_MAINT_NAME "plink_maint"
+#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME
+#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME
+
+#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */
+#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME
+
+#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME
+#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk"
+#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph"
+
+/* doubly whiteouted */
+#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME
+#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME
+#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME
+
+/* branch permissions and attributes */
+#define AUFS_BRPERM_RW "rw"
+#define AUFS_BRPERM_RO "ro"
+#define AUFS_BRPERM_RR "rr"
+#define AUFS_BRRATTR_WH "wh"
+#define AUFS_BRWATTR_NLWH "nolwh"
+
+/* ---------------------------------------------------------------------- */
+
+/* ioctl */
+enum {
+ /* readdir in userspace */
+ AuCtl_RDU,
+ AuCtl_RDU_INO,
+
+ /* pathconf wrapper */
+ AuCtl_WBR_FD,
+
+ /* busy inode */
+ AuCtl_IBUSY
+};
+
+/* borrowed from linux/include/linux/kernel.h */
+#ifndef ALIGN
+#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1)
+#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask))
+#endif
+
+/* borrowed from linux/include/linux/compiler-gcc3.h */
+#ifndef __aligned
+#define __aligned(x) __attribute__((aligned(x)))
+#endif
+
+
+struct au_rdu_cookie {
+ uint64_t h_pos;
+ int16_t bindex;
+ uint8_t flags;
+ uint8_t pad;
+ uint32_t generation;
+} __aligned(8);
+
+struct au_rdu_ent {
+ uint64_t ino;
+ int16_t bindex;
+ uint8_t type;
+ uint8_t nlen;
+ uint8_t wh;
+ char name[0];
+} __aligned(8);
+
+static __inline__ int au_rdu_len(int nlen)
+{
+ /* include the terminating NULL */
+ return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1,
+ sizeof(uint64_t));
+}
+
+union au_rdu_ent_ul {
+ struct au_rdu_ent *e;
+ uint64_t ul;
+};
+
+enum {
+ AufsCtlRduV_SZ,
+ AufsCtlRduV_End
+};
+
+struct aufs_rdu {
+ /* input */
+ union {
+ uint64_t sz; /* AuCtl_RDU */
+ uint64_t nent; /* AuCtl_RDU_INO */
+ };
+ union au_rdu_ent_ul ent;
+ uint16_t verify[AufsCtlRduV_End];
+
+ /* input/output */
+ uint32_t blk;
+
+ /* output */
+ union au_rdu_ent_ul tail;
+ /* number of entries which were added in a single call */
+ uint64_t rent;
+ uint8_t full;
+ uint8_t shwh;
+
+ struct au_rdu_cookie cookie;
+} __aligned(8);
+
+/* ---------------------------------------------------------------------- */
+
+struct aufs_wbr_fd {
+ uint32_t oflags;
+ int16_t brid;
+} __aligned(8);
+
+/* ---------------------------------------------------------------------- */
+
+struct aufs_ibusy {
+ uint64_t ino, h_ino;
+ int16_t bindex;
+} __aligned(8);
+
+/* ---------------------------------------------------------------------- */
+
+#define AuCtlType 'A'
+#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu)
+#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu)
+#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \
+ struct aufs_wbr_fd)
+#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy)
+
+#endif /* __AUFS_TYPE_H__ */
diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
new file mode 100644
index 0000000000..48c545660d
--- /dev/null
+++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
@@ -0,0 +1,53 @@
+SUMMARY = "Tools for managing AUFS mounts"
+SECTION = "base"
+HOMEPAGE = "http://aufs.sourceforge.net/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
+
+DEPENDS = "aufs-util-native"
+DEPENDS_class-native = ""
+
+SRCREV = "f29056fe396d56fc2a06a96312feabaebbe14c59"
+SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.9 \
+ file://aufs-util-don-t-strip-executables.patch \
+ file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \
+ file://aufs_type.h \
+"
+
+PV = "3.9+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+do_configure_append () {
+ install -d ${S}/include/linux/
+ cp ${WORKDIR}/aufs_type.h ${S}/include/linux/
+}
+
+do_configure_append_class-target () {
+ for i in ver c2sh c2tmac; do
+ cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ./
+ done
+}
+
+do_compile () {
+ oe_runmake CPPFLAGS="-I${S}/include -I${S}/libau"
+}
+
+do_compile_class-native () {
+ oe_runmake tools CPPFLAGS="-I${S}/include -I${S}/libau"
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install_sbin install_ubin install_etc
+}
+
+do_install_class-native () {
+ install -d ${D}${bindir}/aufs-util-${PV}
+ for i in ver c2sh c2tmac; do
+ install -m 755 $i ${D}${bindir}/aufs-util-${PV}/$i
+ done
+}
+
+RRECOMMENDS_${PN} += "kernel-module-aufs"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch
new file mode 100644
index 0000000000..cf844bf878
--- /dev/null
+++ b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch
@@ -0,0 +1,32 @@
+From 3b3c6e6376babcd9a0b0db312b0e1e3bb3ab833e Mon Sep 17 00:00:00 2001
+From: Sven Ebenfeld <sven.ebenfeld@vaillant.de>
+Date: Wed, 26 Nov 2014 10:36:44 +0100
+Subject: [PATCH] Remove AC_CHECK_FILE for cross compilation
+
+---
+ configure.ac | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0111e72..8c286d4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,14 +20,9 @@ AC_DEFINE([F2FS_MINOR_VERSION], m4_bpatsubst(f2fs_tools_version,
+ [\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]),
+ [Minor version for f2fs-tools])
+
+-AC_CHECK_FILE(.git,
+- AC_DEFINE([F2FS_TOOLS_DATE],
+- "m4_bpatsubst(f2fs_tools_gitdate,
+- [\([0-9-]*\)\(\w\|\W\)*], [\1])",
+- [f2fs-tools date based on Git commits]),
+ AC_DEFINE([F2FS_TOOLS_DATE],
+ "f2fs_tools_date",
+- [f2fs-tools date based on Source releases]))
++ [f2fs-tools date based on Source releases])
+
+ AC_CONFIG_SRCDIR([config.h.in])
+ AC_CONFIG_HEADER([config.h])
+--
+1.8.1.rc3
+
diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.1.0.bb b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.1.0.bb
deleted file mode 100644
index 267aef0563..0000000000
--- a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.1.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
-HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=15667d9b3cb737b57471c148b7c50734"
-
-# to provide libuuid
-DEPENDS = "util-linux"
-
-SRCREV = "da59f6146c37e727bb83ae4922ca56d42958e61c"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git"
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
-
-do_configure_prepend() {
- # workaround for endless do_configure loop:
- # make: Warning: File `Makefile.am' has modification time 5.3e+04 s in the future
- touch ${S}/*
-}
diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb
new file mode 100644
index 0000000000..1a558e715b
--- /dev/null
+++ b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
+HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3"
+
+# to provide libuuid
+DEPENDS = "util-linux"
+
+SRCREV = "baac4b4e6f41ceb02511da49dd3707674f3fea21"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \
+ file://0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch"
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+
+BBCLASSEXTEND = "native"
diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.1.11.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.1.11.bb
index 4c3f8fabee..fcf8f12bb2 100644
--- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.1.11.bb
+++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.1.11.bb
@@ -6,7 +6,7 @@ LICENSE_libhandle = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://doc/COPYING;md5=dbdb5f4329b7e7145de650e9ecd4ac2a"
DEPENDS = "util-linux"
-SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${P}.tar.gz \
+SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BP}.tar.gz \
file://remove-install-as-user.patch \
file://drop-configure-check-for-aio.patch \
"
diff --git a/meta-gnome/conf/layer.conf b/meta-gnome/conf/layer.conf
index 902ab8f85f..58e12a9cda 100644
--- a/meta-gnome/conf/layer.conf
+++ b/meta-gnome/conf/layer.conf
@@ -7,3 +7,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "gnome-layer"
BBFILE_PATTERN_gnome-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_gnome-layer = "7"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_gnome-layer = "1"
+
+LAYERDEPENDS_gnome-layer = "core openembedded-layer"
diff --git a/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb b/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb
index 611e83e84d..a54a3a220b 100644
--- a/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb
+++ b/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb
@@ -2,7 +2,7 @@ SUMMARY = "Take photos and videos with your webcam, with fun graphical effects"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf"
-DEPENDS = "gtk+ gstreamer gst-plugins-base libcanberra udev librsvg gnome-desktop evolution-data-server"
+DEPENDS = "gtk+ gstreamer gst-plugins-base libcanberra udev librsvg gnome-desktop evolution-data-server intltool-native"
PR = "r2"
diff --git a/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb b/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb
index 6dc5159bee..d455f1447b 100644
--- a/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb
+++ b/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb
@@ -5,9 +5,9 @@ SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "gtk+ alsa-lib glib-2.0 virtual/libx11"
+DEPENDS = "gtk+ alsa-lib glib-2.0 virtual/libx11 intltool-native pulseaudio gtk+3"
-SRC_URI = "http://${PN}.googlecode.com/files/${P}.tar.gz"
+SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz"
SRC_URI[md5sum] = "e06e9ca8d61d74910343bb3ef4348f7f"
SRC_URI[sha256sum] = "a07130d62719e8c1244f8405dd97445798df5204fc0f3f2f2b669b125114b468"
diff --git a/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb b/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb
index 4be94c5582..ef460f13df 100644
--- a/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb
+++ b/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb
@@ -5,12 +5,12 @@ SECTION = "multimedia"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-PNBLACKLIST[gnome-mplayer] = "rdepends on blacklisted mplayer"
+PNBLACKLIST[gnome-mplayer] ?= "rdepends on blacklisted mplayer"
PR = "r2"
DEPENDS = "gmtk gtk+ alsa-lib libnotify glib-2.0 dbus-glib virtual/libx11 libxscrnsaver"
-SRC_URI = "http://${PN}.googlecode.com/files/${P}.tar.gz"
+SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz"
SRC_URI[md5sum] = "1d3ab24c5501b5528e357931ca4dc6da"
SRC_URI[sha256sum] = "ac3c179345baecb4ca5237782aa33e83253a87bf8b42ce6eb3a9207a340f61b2"
diff --git a/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb b/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb
index 7dc09dac50..2b85ff4367 100644
--- a/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb
+++ b/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
DEPENDS = "gnome-common glib-2.0 gdk-pixbuf cogl-1.0 clutter-1.0 clutter-gst-1.0"
-inherit autotools gettext
+inherit autotools gettext pkgconfig
SRC_URI = "git://git.gnome.org/pinpoint"
diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/0001-remove-classes-and-properties-which-are-not-supporte.patch b/meta-gnome/recipes-connectivity/network-manager-applet/files/0001-remove-classes-and-properties-which-are-not-supporte.patch
index b8ba181f57..4bd0e4ffa3 100644
--- a/meta-gnome/recipes-connectivity/network-manager-applet/files/0001-remove-classes-and-properties-which-are-not-supporte.patch
+++ b/meta-gnome/recipes-connectivity/network-manager-applet/files/0001-remove-classes-and-properties-which-are-not-supporte.patch
@@ -1,8 +1,7 @@
-From 023b17f53d888dfb45981b141ce4dc151ab140f0 Mon Sep 17 00:00:00 2001
+From c7d75ce38fa392c04c39a75e7b7e068666a7b1e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 4 Apr 2013 20:23:00 +0200
-Subject: [PATCH] remove classes and properties which are not supported by
- gtk+
+Date: Tue, 8 Apr 2014 15:22:54 +0200
+Subject: [PATCH] remove classes and properties which are not supported by gtk+
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -13,12 +12,11 @@ Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
- src/connection-editor/ce-page-general.ui | 7 +------
- src/connection-editor/nm-connection-editor.ui | 2 +-
- 2 files changed, 2 insertions(+), 7 deletions(-)
+ src/connection-editor/ce-page-general.ui | 3 ---
+ 1 file changed, 3 deletions(-)
diff --git a/src/connection-editor/ce-page-general.ui b/src/connection-editor/ce-page-general.ui
-index f505c14..a3e8d2b 100644
+index b05f0df..049432b 100644
--- a/src/connection-editor/ce-page-general.ui
+++ b/src/connection-editor/ce-page-general.ui
@@ -37,8 +37,6 @@
@@ -38,32 +36,6 @@ index f505c14..a3e8d2b 100644
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
-@@ -86,11 +83,9 @@
- </packing>
- </child>
- <child>
-- <object class="GtkBox" id="box2">
-+ <object class="GtkVBox" id="box2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
-- <property name="valign">start</property>
-- <property name="vexpand">True</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="firewall_zone_label">
-diff --git a/src/connection-editor/nm-connection-editor.ui b/src/connection-editor/nm-connection-editor.ui
-index 74ee266..6f1e166 100644
---- a/src/connection-editor/nm-connection-editor.ui
-+++ b/src/connection-editor/nm-connection-editor.ui
-@@ -11,7 +11,7 @@
- <property name="icon_name">preferences-system-network</property>
- <property name="type_hint">dialog</property>
- <child internal-child="vbox">
-- <object class="GtkBox" id="dialog-vbox2">
-+ <object class="GtkVBox" id="dialog-vbox2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
--
-1.7.6.5
+1.8.3.1
diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/0002-Add-support-for-AP-mode-setting-for-wifi-sharing.patch b/meta-gnome/recipes-connectivity/network-manager-applet/files/0002-Add-support-for-AP-mode-setting-for-wifi-sharing.patch
new file mode 100644
index 0000000000..d0506b2e8e
--- /dev/null
+++ b/meta-gnome/recipes-connectivity/network-manager-applet/files/0002-Add-support-for-AP-mode-setting-for-wifi-sharing.patch
@@ -0,0 +1,128 @@
+From d789ef88a8806887bf1160bfa5d3d9eb47b6216c Mon Sep 17 00:00:00 2001
+From: "Marius B. Kotsbak" <marius@kotsbak.com>
+Date: Mon, 11 Aug 2014 22:11:52 +0200
+Subject: [PATCH] Add support for AP mode setting for wifi sharing.
+
+Upstream-Status: Pending [1]
+
+[1] https://bugzilla.gnome.org/show_bug.cgi?id=734589
+---
+ src/connection-editor/ce-page-wifi.ui | 3 +++
+ src/connection-editor/page-wifi.c | 46 ++++++++++++++++++++---------------
+ 2 files changed, 30 insertions(+), 19 deletions(-)
+
+diff --git a/src/connection-editor/ce-page-wifi.ui b/src/connection-editor/ce-page-wifi.ui
+index e2e544b..b8b27c1 100644
+--- a/src/connection-editor/ce-page-wifi.ui
++++ b/src/connection-editor/ce-page-wifi.ui
+@@ -50,6 +50,9 @@
+ <row>
+ <col id="0" translatable="yes">Ad-hoc</col>
+ </row>
++ <row>
++ <col id="0" translatable="yes">Shared AP</col>
++ </row>
+ </data>
+ </object>
+ <object class="GtkTable" id="WifiPage">
+diff --git a/src/connection-editor/page-wifi.c b/src/connection-editor/page-wifi.c
+index d0a5617..17db2fa 100644
+--- a/src/connection-editor/page-wifi.c
++++ b/src/connection-editor/page-wifi.c
+@@ -59,6 +59,12 @@ typedef struct {
+ gboolean disposed;
+ } CEPageWifiPrivate;
+
++enum {
++ WIFI_MODE_INFRASTRUCTURE,
++ WIFI_MODE_ADHOC,
++ WIFI_MODE_AP
++};
++
+ static void
+ wifi_private_init (CEPageWifi *self)
+ {
+@@ -244,22 +250,16 @@ mode_combo_changed_cb (GtkComboBox *combo,
+ CEPageWifiPrivate *priv = CE_PAGE_WIFI_GET_PRIVATE (self);
+ CEPage *parent = CE_PAGE (self);
+ GtkWidget *widget_band_label, *widget_chan_label, *widget_bssid_label;
+- gboolean adhoc;
++ gint wifi_mode;
++ gboolean shared_wifi;
+
+- switch (gtk_combo_box_get_active (GTK_COMBO_BOX (combo))) {
+- case 1: /* adhoc */
+- adhoc = TRUE;
+- break;
+- default: /* infrastructure */
+- adhoc = FALSE;
+- break;
+- }
++ wifi_mode = gtk_combo_box_get_active (GTK_COMBO_BOX (combo));
+
+ widget_band_label = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wifi_band_label"));
+ widget_chan_label = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wifi_channel_label"));
+ widget_bssid_label = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wifi_bssid_label"));
+
+- if (adhoc) {
++ if (WIFI_MODE_ADHOC == wifi_mode || WIFI_MODE_AP == wifi_mode) {
+ /* For Ad-Hoc show Band and Channel */
+ gtk_widget_show (widget_band_label);
+ gtk_widget_show (GTK_WIDGET (priv->band));
+@@ -283,12 +283,13 @@ mode_combo_changed_cb (GtkComboBox *combo,
+ gtk_widget_show (GTK_WIDGET (priv->bssid));
+ }
+
+- gtk_widget_set_sensitive (widget_band_label, adhoc);
+- gtk_widget_set_sensitive (GTK_WIDGET (priv->band), adhoc);
+- gtk_widget_set_sensitive (widget_chan_label, adhoc);
+- gtk_widget_set_sensitive (GTK_WIDGET (priv->channel), adhoc);
+- gtk_widget_set_sensitive (widget_bssid_label, !adhoc);
+- gtk_widget_set_sensitive (GTK_WIDGET (priv->bssid), !adhoc);
++ shared_wifi = wifi_mode != WIFI_MODE_INFRASTRUCTURE;
++ gtk_widget_set_sensitive (widget_band_label, shared_wifi);
++ gtk_widget_set_sensitive (GTK_WIDGET (priv->band), shared_wifi);
++ gtk_widget_set_sensitive (widget_chan_label, shared_wifi);
++ gtk_widget_set_sensitive (GTK_WIDGET (priv->channel), shared_wifi);
++ gtk_widget_set_sensitive (widget_bssid_label, !shared_wifi);
++ gtk_widget_set_sensitive (GTK_WIDGET (priv->bssid), !shared_wifi);
+
+ ce_page_changed (CE_PAGE (self));
+ }
+@@ -348,9 +349,12 @@ populate_ui (CEPageWifi *self)
+ g_byte_array_free (ssid, TRUE);
+
+ /* Default to Infrastructure */
+- gtk_combo_box_set_active (priv->mode, 0);
++ gtk_combo_box_set_active (priv->mode, WIFI_MODE_INFRASTRUCTURE);
+ if (mode && !strcmp (mode, "adhoc"))
+- gtk_combo_box_set_active (priv->mode, 1);
++ gtk_combo_box_set_active (priv->mode, WIFI_MODE_ADHOC);
++ else if (mode && !strcmp (mode, "ap"))
++ gtk_combo_box_set_active (priv->mode, WIFI_MODE_AP);
++
+ mode_combo_changed_cb (priv->mode, self);
+ g_signal_connect (priv->mode, "changed", G_CALLBACK (mode_combo_changed_cb), self);
+ g_free (mode);
+@@ -510,14 +514,18 @@ ui_to_setting (CEPageWifi *self)
+ GByteArray *bssid = NULL;
+ GByteArray *device_mac = NULL;
+ GByteArray *cloned_mac = NULL;
++ gint wifi_mode;
+ const char *mode;
+ const char *band;
+ GtkWidget *entry;
+
+ ssid = ce_page_wifi_get_ssid (self);
+
+- if (gtk_combo_box_get_active (priv->mode) == 1)
++ wifi_mode = gtk_combo_box_get_active (priv->mode);
++ if (WIFI_MODE_ADHOC == wifi_mode)
+ mode = "adhoc";
++ else if (WIFI_MODE_AP == wifi_mode)
++ mode = "ap";
+ else
+ mode = "infrastructure";
+
+--
+1.9.1
diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/0003-Use-AP-mode-for-network-sharing-if-device-supports-it.patch b/meta-gnome/recipes-connectivity/network-manager-applet/files/0003-Use-AP-mode-for-network-sharing-if-device-supports-it.patch
new file mode 100644
index 0000000000..e2156463dd
--- /dev/null
+++ b/meta-gnome/recipes-connectivity/network-manager-applet/files/0003-Use-AP-mode-for-network-sharing-if-device-supports-it.patch
@@ -0,0 +1,48 @@
+From 7343b16113e378d04e40012abfe5bd96ca776968 Mon Sep 17 00:00:00 2001
+From: "Marius B. Kotsbak" <marius@kotsbak.com>
+Date: Tue, 12 Aug 2014 11:15:20 +0200
+Subject: [PATCH 2/2] Use AP mode for network sharing if device supports it.
+
+Logic taken from similar functionality in gnome-control-center.
+
+Upstream-Status: Backport [1]
+
+[1] https://bug734589.bugzilla-attachments.gnome.org/attachment.cgi?id=283165
+---
+ src/libnm-gtk/nm-wifi-dialog.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/src/libnm-gtk/nm-wifi-dialog.c b/src/libnm-gtk/nm-wifi-dialog.c
+index 3532caa..ca72c96 100644
+--- a/src/libnm-gtk/nm-wifi-dialog.c
++++ b/src/libnm-gtk/nm-wifi-dialog.c
+@@ -1226,10 +1226,26 @@ nma_wifi_dialog_get_connection (NMAWifiDialog *self,
+ s_wireless = (NMSettingWireless *) nm_setting_wireless_new ();
+ g_object_set (s_wireless, NM_SETTING_WIRELESS_SSID, validate_dialog_ssid (self), NULL);
+
++ /* Fill device */
++ if (device) {
++ combo = GTK_WIDGET (gtk_builder_get_object (priv->builder, "device_combo"));
++ gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo), &iter);
++ gtk_tree_model_get (priv->device_model, &iter, D_DEV_COLUMN, device, -1);
++ g_object_unref (*device);
++ }
++
+ if (priv->adhoc_create) {
+ NMSettingIP4Config *s_ip4;
+
+- g_object_set (s_wireless, NM_SETTING_WIRELESS_MODE, "adhoc", NULL);
++ const char *mode;
++
++ /* Use real AP mode if the device supports it */
++ if (device && nm_device_wifi_get_capabilities (NM_DEVICE_WIFI (*device)) & NM_WIFI_DEVICE_CAP_AP)
++ mode = NM_SETTING_WIRELESS_MODE_AP;
++ else
++ mode = NM_SETTING_WIRELESS_MODE_ADHOC;
++
++ g_object_set (s_wireless, NM_SETTING_WIRELESS_MODE, mode, NULL);
+
+ s_ip4 = (NMSettingIP4Config *) nm_setting_ip4_config_new ();
+ g_object_set (s_ip4, NM_SETTING_IP4_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_SHARED, NULL);
+--
+1.8.3.1
diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-00.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-00.png
deleted file mode 100644
index 836e723a2f..0000000000
--- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-00.png
+++ /dev/null
Binary files differ
diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-100.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-100.png
deleted file mode 100644
index def2da969f..0000000000
--- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-100.png
+++ /dev/null
Binary files differ
diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-25.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-25.png
deleted file mode 100644
index 362960b8e7..0000000000
--- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-25.png
+++ /dev/null
Binary files differ
diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-50.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-50.png
deleted file mode 100644
index 1add41dcbd..0000000000
--- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-50.png
+++ /dev/null
Binary files differ
diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-75.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-75.png
deleted file mode 100644
index 6b509e804f..0000000000
--- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-75.png
+++ /dev/null
Binary files differ
diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.0.bb b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb
index 6c0028322e..545b2cfd19 100644
--- a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.0.bb
+++ b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb
@@ -2,39 +2,37 @@ SUMMARY = "GTK+ applet for NetworkManager"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "gnome-bluetooth polkit-gnome libnotify networkmanager dbus-glib libglade gconf gnome-keyring libgnome-keyring iso-codes"
+DEPENDS = "libnotify libsecret networkmanager dbus-glib gconf gnome-keyring libgnome-keyring iso-codes"
-inherit gnome gtk-icon-cache
+inherit gnomebase gtk-icon-cache
GNOME_COMPRESS_TYPE = "xz"
SRC_URI += " \
file://0001-remove-classes-and-properties-which-are-not-supporte.patch \
- file://images/* \
+ file://0002-Add-support-for-AP-mode-setting-for-wifi-sharing.patch \
+ file://0003-Use-AP-mode-for-network-sharing-if-device-supports-it.patch \
"
-SRC_URI[archive.md5sum] = "531ce56c51ec86c5d2dc4cbe58649583"
-SRC_URI[archive.sha256sum] = "1afb6e736870ba95132bf0d211c46849e02a820ba3902a059a616be888053590"
+SRC_URI[archive.md5sum] = "5148348c139229c6a753f815f3f11e1c"
+SRC_URI[archive.sha256sum] = "46fee9a1e667d1826e6a94bb6bd2e6bdbde535fc995e534542f5f7e8b8dae0cb"
# GTK2.x mode
EXTRA_OECONF += " \
--with-gtkver=2 \
- --with-bluetooth=yes \
"
+PACKAGECONFIG[bluetooth] = "--with-bluetooth,--without-bluetooth,gnome-bluetooth,gnome-bluetooth"
+PACKAGECONFIG ??= ""
+
do_configure_append() {
- rm config.log
# Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
- for i in $(find ${S} -name "Makefile") ; do
+ for i in $(find ${B} -name "Makefile") ; do
sed -i -e s:-Werror::g $i
done
}
-do_install_append() {
- install -m 0644 ${WORKDIR}/icons/* ${D}/usr/share/icons/hicolor/22x22/apps/
-}
-
RDEPENDS_${PN} =+ "networkmanager"
-RRECOMMENDS_${PN} =+ "gnome-bluetooth gnome-keyring"
+RRECOMMENDS_${PN} =+ "gnome-keyring"
FILES_${PN} += " \
${datadir}/nm-applet/ \
@@ -45,4 +43,3 @@ FILES_${PN} += "${libdir}/gnome-bluetooth/plugins/*.so"
FILES_${PN}-dev += "${libdir}/gnome-bluetooth/plugins/libnma.la"
FILES_${PN}-staticdev += "${libdir}/gnome-bluetooth/plugins/libnma.a"
FILES_${PN}-dbg += "${libdir}/gnome-bluetooth/plugins/.debug/"
-
diff --git a/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb b/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb
index e7bff3f6f0..f28f77b8cb 100644
--- a/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb
+++ b/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb
@@ -1,5 +1,7 @@
SUMMARY = "OBEX Server and Client"
+# obexd was integrated into bluez5
DEPENDS = "glib-2.0 dbus bluez4 libical"
+RCONFLICTS_${PN} = "bluez5"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
@@ -11,7 +13,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/obexd-${PV}.tar.gz \
SRC_URI[md5sum] = "d03cf9bad2983243837f4f6d76ef14a6"
SRC_URI[sha256sum] = "eaa9d8d9542700e6750918d72a3ce00f8cf3a2771d3e2516efd1be5a05f78582"
-inherit autotools-brokensep
+inherit autotools-brokensep pkgconfig
PACKAGES =+ "obex-client obex-plugins"
diff --git a/meta-gnome/recipes-devtools/glade/glade3_%.bbappend b/meta-gnome/recipes-devtools/glade/glade3_%.bbappend
new file mode 100644
index 0000000000..3abacfb866
--- /dev/null
+++ b/meta-gnome/recipes-devtools/glade/glade3_%.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG ??= "gnome"
diff --git a/meta-gnome/recipes-extended/gparted/gparted/0001-configure.ac-use-pkg-config-to-check-for-version-of-.patch b/meta-gnome/recipes-extended/gparted/gparted/0001-configure.ac-use-pkg-config-to-check-for-version-of-.patch
new file mode 100644
index 0000000000..1c99ff5129
--- /dev/null
+++ b/meta-gnome/recipes-extended/gparted/gparted/0001-configure.ac-use-pkg-config-to-check-for-version-of-.patch
@@ -0,0 +1,68 @@
+From a39d205ec3c6db6fe98aa2c7f8352db767557f60 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Wed, 12 Nov 2014 11:26:19 +0100
+Subject: [PATCH] configure.ac: use pkg-config to check for version of gparted
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+running test programs causes headaches when cross-compiling
+
+Upstream-Status: submitted [1]
+
+[1] https://bugzilla.gnome.org/show_bug.cgi?id=740004
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 34 ++++++----------------------------
+ 1 file changed, 6 insertions(+), 28 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 37025b0..17bb686 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -48,35 +48,13 @@ LIBPARTED_REQUIRED_VERSION='1.7.1'
+ AC_MSG_CHECKING([for libparted >= $LIBPARTED_REQUIRED_VERSION])
+ LIBPARTED_REQUIRED_INT=`echo "$LIBPARTED_REQUIRED_VERSION" |
+ $AWK -F. '{print $1 * 10000 + $2 * 100 + $3}'`
+-AC_RUN_IFELSE(
+- [AC_LANG_SOURCE(
+- [[
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <parted/parted.h>
+-
+-int main()
+-{
+- const char *version = ped_get_version();
+- if (version == NULL)
+- {
+- fprintf(stderr, "ERROR: ped_get_version() returned NULL\n");
+- return EXIT_FAILURE;
+- }
+- printf("%s\n", version);
+- return EXIT_SUCCESS;
+-}
+- ]]
+- )],
+- dnl Run test program again to cache libparted version.
+- [LIBPARTED_FOUND_VERSION=`./conftest$EXEEXT`
+- LIBPARTED_FOUND_INT=`echo "$LIBPARTED_FOUND_VERSION" |
+- $AWK -F. '{print $1 * 10000 + $2 * 100 + $3}'`
+- test "$LIBPARTED_FOUND_INT" -ge "$LIBPARTED_REQUIRED_INT" ||
++
++LIBPARTED_FOUND_VERSION="`pkg-config libparted --modversion`"
++LIBPARTED_FOUND_INT=`echo "$LIBPARTED_FOUND_VERSION" |
++ $AWK -F. '{print $1 * 10000 + $2 * 100 + $3}'`
++
++test "$LIBPARTED_FOUND_INT" -ge "$LIBPARTED_REQUIRED_INT" ||
+ AC_MSG_ERROR([*** libparted too old. Require libparted >= $LIBPARTED_REQUIRED_VERSION but only found libparted $LIBPARTED_FOUND_VERSION.])
+- ],
+- [AC_MSG_ERROR([*** Error querying libparted version. Check config.log for details.])]
+-)
+
+
+ dnl Check for libparted >= 2.2 for improved informing the kernel to
+--
+1.8.3.1
+
diff --git a/meta-gnome/recipes-extended/gparted/gparted_0.20.0.bb b/meta-gnome/recipes-extended/gparted/gparted_0.20.0.bb
new file mode 100644
index 0000000000..30eac8e55a
--- /dev/null
+++ b/meta-gnome/recipes-extended/gparted/gparted_0.20.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A partition editor to graphically manage disk partitions "
+HOMEPAGE = "http://gparted.org/index.php"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit autotools pkgconfig
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \
+ file://0001-configure.ac-use-pkg-config-to-check-for-version-of-.patch \
+"
+SRC_URI[md5sum] = "d9df57f9d4b4dbd148644774f8bbccfb"
+SRC_URI[sha256sum] = "9b34d73d4519352a7e7344c8403ef61253be1b4db3ff332c397b0b1eb5c1ddc2"
+
+DEPENDS = "glib-2.0 gtkmm parted"
+
+EXTRA_OECONF = "--disable-scrollkeeper --disable-doc"
+
+FILES_${PN} += "${datadir}/icons ${datadir}/appdata"
+
+RDEPENDS_${PN} = "dosfstools mtools e2fsprogs"
diff --git a/meta-gnome/recipes-gnome/abiword/abiword_3.0.0.bb b/meta-gnome/recipes-gnome/abiword/abiword_3.0.0.bb
index 39780bb3d6..eb4bba2175 100644
--- a/meta-gnome/recipes-gnome/abiword/abiword_3.0.0.bb
+++ b/meta-gnome/recipes-gnome/abiword/abiword_3.0.0.bb
@@ -24,7 +24,7 @@ SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]
inherit autotools-brokensep pkgconfig
-PACKAGECONFIG ??= "collab-backend-xmpp collab-backend-tcp collab-backend-service"
+PACKAGECONFIG ??= "collab-backend-xmpp collab-backend-tcp"
PACKAGECONFIG[spell] = "--enable-spell,--disable-spell,enchant"
PACKAGECONFIG[collab-backend-xmpp] = "--enable-collab-backend-xmpp,--disable-collab-backend-xmpp,libgsf libxml2 loudmouth"
PACKAGECONFIG[collab-backend-tcp] = "--enable-collab-backend-tcp,--disable-collab-backend-tcp,libgsf libxml2"
diff --git a/meta-gnome/recipes-gnome/bonobo/libbonobo.inc b/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
index b876db4b3d..8b6007e86e 100644
--- a/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
+++ b/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
@@ -5,11 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
SECTION = "x11/gnome/libs"
DEPENDS = "glib-2.0 orbit2 intltool-native libxml2 dbus dbus-glib"
-inherit gnomebase
-
-SRC_URI += "file://gtk-doc.m4 \
- file://gtk-doc.make \
-"
+inherit gnomebase gtk-doc
ORBIT_IDL_SRC = "${STAGING_BINDIR_NATIVE}/orbit-idl-2"
@@ -23,12 +19,6 @@ LEAD_SONAME = "libbonobo-2.so"
PARALLEL_MAKE = ""
-do_configure_prepend() {
- install -d m4
- install ${WORKDIR}/gtk-doc.m4 m4/
- install ${WORKDIR}/gtk-doc.make ./
-}
-
do_compile() {
oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}"
}
diff --git a/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb b/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb
index 74dd90886e..6c2d67aa6a 100644
--- a/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb
+++ b/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb
@@ -7,7 +7,7 @@ inherit gnomebase pkgconfig gtk-doc
SRC_URI[archive.md5sum] = "853be8e28aaa4ce48ba60be7d9046bf4"
SRC_URI[archive.sha256sum] = "fab5f2ac6c842d949861c07cb520afe5bee3dce55805151ce9cd01be0ec46fcd"
-DEPENDS = "libgnomecanvas libbonobo libgnome glib-2.0 gconf libxml2 libglade"
+DEPENDS = "libgnomecanvas libbonobo libgnome glib-2.0 gconf libxml2 libglade gnome-common intltool-native"
FILES_${PN} += "${libdir}/libglade/2.0/*.so"
FILES_${PN}-dev += "${libdir}/libglade/2.0/*.la ${datadir}/gnome-2.0/ui \
diff --git a/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb b/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
index 38b2789c7c..2b6f15e82f 100644
--- a/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
+++ b/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
@@ -9,7 +9,7 @@ SRC_URI[archive.md5sum] = "69a12ed68893f2e1e81ac4e531bc1515"
SRC_URI[archive.sha256sum] = "109b1bc6078690af1ed88cb144ef5c5aee7304769d8bdc82ed48c3696f10c955"
GNOME_COMPRESS_TYPE = "xz"
-DEPENDS = "glib-2.0 gtk+3"
+DEPENDS = "glib-2.0 gtk+3 libxml2"
inherit vala gtk-doc
diff --git a/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb b/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb
index ddd388cb78..57a8720f21 100644
--- a/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb
+++ b/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb
@@ -11,7 +11,7 @@ SRC_URI = "http://www.freedesktop.org/software/desktop-file-utils/releases/deskt
SRC_URI[md5sum] = "d966b743eb394650f98d5dd56b9aece1"
SRC_URI[sha256sum] = "d9449956c1c8caa75281a3322b2bb433db42610942f0ceeaa65ccd9636c04231"
-inherit autotools
+inherit autotools pkgconfig
CACHED_CONFIGUREVARS += "ac_cv_prog_EMACS=no"
diff --git a/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb b/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb
index 162471b005..7c935a3d59 100644
--- a/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb
+++ b/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb
@@ -41,10 +41,9 @@ do_configure_append () {
cp ${WORKDIR}/iconv-detect.h ${S}
}
-EXTRA_OECONF = "--without-openldap --with-dbus --without-bug-buddy \
- --with-soup --with-libdb=${STAGING_DIR_HOST}${prefix} \
- --disable-nntp --without-weather --disable-goa --disable-uoa --disable-weather"
-# --disable-ssl --disable-smime --disable-ssl
+EXTRA_OECONF = "--without-openldap \
+ --with-libdb=${STAGING_DIR_HOST}${prefix} \
+ --disable-nntp --disable-goa --disable-weather"
PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
diff --git a/meta-gnome/recipes-gnome/epiphany/epiphany_2.30.6.bb b/meta-gnome/recipes-gnome/epiphany/epiphany_2.30.6.bb
index 3d7fc18a57..9e1a0dc7de 100644
--- a/meta-gnome/recipes-gnome/epiphany/epiphany_2.30.6.bb
+++ b/meta-gnome/recipes-gnome/epiphany/epiphany_2.30.6.bb
@@ -2,7 +2,7 @@ SUMMARY = "GNOME default webbrowser"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "gnome-doc-utils libsoup-2.4 webkit-gtk gtk+ gconf iso-codes startup-notification ca-certificates libgnome-keyring"
+DEPENDS = "gnome-doc-utils libsoup-2.4 webkit-gtk gtk+ gconf iso-codes startup-notification ca-certificates libgnome-keyring avahi libnotify"
inherit gnome
SRC_URI[archive.md5sum] = "0c566b3ffd428d2135e3c8cb65352d64"
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
new file mode 100644
index 0000000000..dbaae649e8
--- /dev/null
+++ b/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "An icon theme for Gnome"
+SECTION = "x11/wm"
+LICENSE = "GPLv3"
+HOMEPAGE = "http://code.google.com/p/faenza-icon-theme/"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit allarch gtk-icon-cache
+
+S = "${WORKDIR}"
+
+SRC_URI = "http://faenza-icon-theme.googlecode.com/files/${PN}_${PV}.zip"
+SRC_URI[md5sum] = "e9bd6106d13017ce06d24b586259ae9c"
+SRC_URI[sha256sum] = "d4486fda0413f8a81a87e0dd2329f50f2a8a7cb4147b48cf147f0160add8174a"
+
+do_install() {
+ install -d ${D}${datadir}/icons
+ for theme in `find -name 'Faenza*.tar.gz'`; do
+ tar -xf ${theme} -C ${D}${datadir}/icons
+ done
+ tar -xf emesene-faenza-theme.tar.gz -C ${D}${datadir}
+ mv -f ${D}${datadir}/emesene/themes ${D}${datadir}/themes
+ rm -rf ${D}${datadir}/emesene
+}
+
+FILES_${PN} += "${datadir}/icons ${datadir}/themes"
diff --git a/meta-gnome/recipes-gnome/gcr/gcr_3.8.2.bb b/meta-gnome/recipes-gnome/gcr/gcr_3.8.2.bb
index f30fcf1e32..e9a837bb95 100644
--- a/meta-gnome/recipes-gnome/gcr/gcr_3.8.2.bb
+++ b/meta-gnome/recipes-gnome/gcr/gcr_3.8.2.bb
@@ -7,6 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
DEPENDS = "gtk+3 p11-kit glib-2.0 libgcrypt"
+PNBLACKLIST[gcr] ?= "CONFLICT: 4 files conflict with gnome-keyring"
+# e.g. sysroots/qemux86-64/usr/share/glib-2.0/schemas/org.gnome.crypto.pgp.gschema.xml
+# sysroots/qemux86-64/usr/share/GConf/gsettings/org.gnome.crypto.pgp.convert
+
inherit autotools gnomebase gtk-icon-cache gtk-doc
GNOME_COMPRESS_TYPE="xz"
diff --git a/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb b/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
index d8f015064a..b2ae9ac073 100644
--- a/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
+++ b/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
@@ -6,6 +6,8 @@ DEPENDS = "xinput gnome-panel tcp-wrappers libcanberra libxklavier grep consolek
PR = "r18"
+PNBLACKLIST[gdm] ?= "Depends on broken polkit-gnome"
+
inherit gnome update-rc.d systemd useradd
SRC_URI += " \
diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb
index 94bfa3bbf1..b9b73551d6 100644
--- a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb
+++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb
@@ -6,8 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
PR = "r1"
+PNBLACKLIST[gnome-bluetooth] ?= "dbus-binding-tool fails with: Unable to load gnome-bluetooth-2.32.0/lib/bluetooth-client.xml": "manager" is not a valid D-Bus interface name"
+
SECTION = "x11/gnome"
-DEPENDS = "obexd gnome-doc-utils-native gnome-doc-utils gconf gtk+ dbus-glib libunique libnotify bluez4 gnome-keyring virtual/libx11 libxi"
+DEPENDS = "obexd gnome-doc-utils-native gnome-doc-utils gconf gtk+ dbus-glib libunique libnotify bluez4 gnome-keyring virtual/libx11 libxi intltool-native"
inherit gnomebase gtk-icon-cache
diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
index bd5d945b13..2c526c8ede 100644
--- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
+++ b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
@@ -3,7 +3,7 @@ SUMMARY = "GNOME disk utility"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=e9115d11797a5e6b746b4e9b90194564"
-DEPENDS = "glib-2.0 gtk+ libnotify libunique udisks avahi-ui virtual/libx11 libatasmart gnome-doc-utils"
+DEPENDS = "glib-2.0 gtk+ libnotify libunique udisks avahi-ui virtual/libx11 libatasmart gnome-doc-utils intltool-native libgnome-keyring"
PR = "r4"
diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb
index 64308ddba2..860851d983 100644
--- a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb
+++ b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb
@@ -17,7 +17,7 @@ inherit autotools gnome gtk-doc pkgconfig gsettings
SRC_URI += "file://egg-asn1x.patch"
-DEPENDS = "gtk+ libgcrypt libtasn1 libtasn1-native gconf ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+DEPENDS = "gtk+ libgcrypt libtasn1 libtasn1-native gconf ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} intltool-native"
RDEPENDS_${PN} = "libgnome-keyring glib-2.0-utils"
EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)}"
diff --git a/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb b/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
new file mode 100644
index 0000000000..611499affc
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "GNOME menus"
+SECTION = "x11/gnome"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+PNBLACKLIST[gnome-menus3] ?= "CONFLICT: 24 files are conflicting with gnome-menus"
+# e.g. sysroots/qemux86-64/usr/share/desktop-directories/X-GNOME-Other.directory
+
+DEPENDS = "python libxml2 gconf popt gtk+3"
+
+inherit gnomebase pkgconfig python-dir pythonnative
+
+BPN = "gnome-menus"
+
+SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BPN}-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "6db025e79e2b69f39fc7aa0753f43081"
+SRC_URI[sha256sum] = "46950aba274c1ad58234374fa9b235258650737307f3bc396af48eb983668a71"
+
+PACKAGES += "${PN}-python"
+FILES_${PN} += "${datadir}/desktop-directories/"
+FILES_${PN}-python = "${libdir}/python*"
+FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug \
+ ${PYTHON_SITEPACKAGES_DIR}/.debug"
diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
index 8802dba1be..972a4d4db0 100644
--- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
+++ b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
@@ -4,6 +4,8 @@ LICENSE = "GPLv2 & LGPLv2 & GFDLv1.1"
BPN = "gnome-panel"
PR = "r1"
+PNBLACKLIST[gnome-panel3] ?= "CONFLICT: depends on libgweather3 which conflicts with libgweather"
+
# conflicts with gnome-panel, because they provide the same package
# http://patches.openembedded.org/patch/43105/
EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb b/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb
index ddc436ea99..2c55cf1577 100644
--- a/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb
+++ b/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb
@@ -21,18 +21,16 @@ EXTRA_OECONF = " --disable-scrollkeeper \
--disable-applets \
--x-includes=${STAGING_INCDIR} \
--x-libraries=${STAGING_LIBDIR} \
- --with-dpms-ext=${STAGING_INCDIR}/.. \
--enable-compile-warnings=no \
ac_cv_header_X11_extensions_dpms_h=yes \
"
do_configure_append() {
- rm config.log
# Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
- for i in $(find ${S} -name "Makefile") ; do
+ for i in $(find ${B} -name "Makefile") ; do
sed -i -e s:-Werror::g $i
done
- sed -e "s/libtool --/${TARGET_SYS}-libtool --/" -i ${S}/src/Makefile
+ sed -e "s/libtool --/${TARGET_SYS}-libtool --/" -i ${B}/src/Makefile
}
PACKAGES =+ "${PN}-applets"
diff --git a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb
index 34c919733c..729d750bf5 100644
--- a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb
+++ b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
PR = "r7"
-DEPENDS = "libxxf86misc libsndfile1 libxtst glib-2.0 polkit gtk+ gconf dbus-glib libnotify libgnomekbd libxklavier gnome-doc-utils gnome-desktop"
+DEPENDS = "intltool libxxf86misc libsndfile1 libxtst glib-2.0 polkit gtk+ gconf dbus-glib libnotify libgnomekbd libxklavier gnome-doc-utils gnome-desktop"
inherit gnome
@@ -16,14 +16,14 @@ S = "${WORKDIR}/git"
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio glib-2.0 libcanberra"
-EXTRA_OECONF = "--disable-esd \
- --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
- --enable-polkit \
+EXTRA_OECONF = " \
+ --x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR} \
+ --enable-polkit \
"
do_configure_prepend() {
- sed -i -e 's:-L$libdir::g' -e 's:-I$includedir::g' configure.ac
+ sed -i -e 's:-L$libdir::g' -e 's:-I$includedir::g' ${S}/configure.ac
}
FILES_${PN} += "${libdir}/gnome-settings-daemon-2.0/*.so ${libdir}/gnome-settings-daemon-2.0/*plugin \
diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb
index 1c149520fb..ce4b64e977 100644
--- a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb
+++ b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SECTION = "x11/gnome"
PR = "r2"
-DEPENDS = "libgtop gtkmm glibmm gnome-doc-utils gnome-icon-theme libwnck gtk+ dbus-glib librsvg"
+DEPENDS = "libgtop gtkmm glibmm gnome-doc-utils gnome-icon-theme libwnck gtk+ dbus-glib librsvg intltool-native"
inherit gnome
SRC_URI[archive.md5sum] = "3f0bca9b0ebc7a365466851cd580d167"
diff --git a/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb b/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb
index 7823cec3be..6988b3a5e5 100644
--- a/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb
+++ b/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://daemon/vfs-daemon.c;endline=21;md5=5f2c61553fb16abb07fc9498ca03fe1f \
file://modules/cdda-cddb.h;endline=22;md5=20ed324ca64907c366ecd7f22b8e0c54"
-DEPENDS = "libxml2 gconf dbus bzip2 gnome-mime-data zlib"
+DEPENDS = "libxml2 gconf dbus bzip2 gnome-mime-data zlib intltool-native"
RRECOMMENDS_${PN} = "gnome-vfs-plugin-file shared-mime-info"
# Some legacy packages will require gnome-mime-data to be installed, but use of
# it is deprecated.
diff --git a/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb b/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
index ce4dd9052d..26fbeb2d99 100644
--- a/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
+++ b/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
@@ -1,7 +1,7 @@
SUMMARY = "GNOME Terminal"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=5b51eba4ba4cafe64073227530c061ed"
-DEPENDS = "gtk+ glib-2.0 startup-notification dbus-glib vte gnome-doc-utils"
+DEPENDS = "gtk+ glib-2.0 startup-notification dbus-glib vte gnome-doc-utils intltool-native"
PR = "r1"
inherit gnome
diff --git a/meta-gnome/recipes-gnome/gnome/libgnomekbd_2.26.0.bb b/meta-gnome/recipes-gnome/gnome/libgnomekbd_2.26.0.bb
deleted file mode 100644
index 5f72399ba3..0000000000
--- a/meta-gnome/recipes-gnome/gnome/libgnomekbd_2.26.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "GNOME keyboard library"
-LICENSE = "LGPL"
-
-DEPENDS = "gconf-dbus dbus libxklavier gtk+"
-
-inherit gnome
-
-do_configure_append() {
- find ${S} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
- find ${S} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
-}
-
-
-
diff --git a/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch b/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch
new file mode 100644
index 0000000000..174985a7eb
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch
@@ -0,0 +1,37 @@
+From ed31fd89f4c77d89390774d29427898a85b25ab1 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Fri, 1 Aug 2014 13:58:36 +0200
+Subject: [PATCH] configure: use pkgconfig for freetype
+
+Upstream-status: Pending
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ configure.in | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 729278d..e569429 100644
+--- a/configure.in
++++ b/configure.in
+@@ -164,13 +164,11 @@ dnl Checking for freetype2
+ dnl =================================
+ FREETYPE_LIBS=
+ FREETYPE_CFLAGS=
+-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+-if test "x$FREETYPE_CONFIG" = "xno" ; then
+- AC_MSG_ERROR(You need FreeType2 (freetype-devel v 2.x package) for this version of libgnomeprint)
+-else
+- FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
+- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
+-fi
++PKG_CHECK_MODULES(FREETYPE2, freetype2,
++ FREETYPE_CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
++ FREETYPE_LIBS="$LIBS $FREETYPE2_LIBS",
++ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
++)
+
+ libgnomeprint_save_ldflags=$LDFLAGS
+ LDFLAGS="$LDFLAGS $FREETYPE_LIBS"
+--
+1.9.0
+
diff --git a/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb b/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
index c224d864f6..15e513a78d 100644
--- a/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
+++ b/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
@@ -9,6 +9,7 @@ inherit pkgconfig gnomebase
SRC_URI += "file://fix.includes.patch \
file://freetype.patch \
+ file://0001-configure-use-pkgconfig-for-freetype.patch \
"
SRC_URI[archive.md5sum] = "63b05ffb5386e131487c6af30f4c56ac"
SRC_URI[archive.sha256sum] = "1034ec8651051f84d2424e7a1da61c530422cc20ce5b2d9e107e1e46778d9691"
diff --git a/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb b/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
index 3c7d92fa06..71f99cafbd 100644
--- a/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
+++ b/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
@@ -31,7 +31,7 @@ FILES_gnumeric-goffice = "${libdir}/goffice/*/plugins/gnumeric/*"
# This hack works around the problem mentioned here:
# https://mail.gnome.org/archives/gnumeric-list/2010-February/msg00006.html
do_install_prepend() {
- sed -i ${S}/doc/C/Makefile -e 's/\tfor file in $(omffile); do/\t-for file in $(omffile); do/'
+ sed -i ${B}/doc/C/Makefile -e 's/\tfor file in $(omffile); do/\t-for file in $(omffile); do/'
}
python populate_packages_prepend () {
diff --git a/meta-gnome/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.14.1.bb b/meta-gnome/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.14.1.bb
new file mode 100644
index 0000000000..e6d1d1ac0f
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.14.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "GNOME desktop-wide GSettings schemas"
+HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "glib-2.0 intltool-native gobject-introspection-stub-native"
+
+inherit gnomebase gsettings gettext
+
+GNOME_COMPRESS_TYPE = "xz"
+
+SRC_URI[archive.md5sum] = "92d41934212fc7da48648afa3927f4b0"
+SRC_URI[archive.sha256sum] = "217eba09f0fb263dcb8ce6efa21c9afaf0504ac1d937732d1af1c6724c05f065"
diff --git a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
index df4d472f88..c745e345a8 100644
--- a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
+++ b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+"
+DEPENDS = "gtk+ libxml2"
PNAME = "gtksourceview"
diff --git a/meta-gnome/recipes-gnome/gvfs/files/0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch b/meta-gnome/recipes-gnome/gvfs/files/0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch
new file mode 100644
index 0000000000..c55a99db4f
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gvfs/files/0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch
@@ -0,0 +1,36 @@
+From de7b06dea740900fa63e2e011c9f862fe4b9405c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 27 Oct 2014 10:43:40 +0100
+Subject: [PATCH] client/gdaemonfile.c: replace g_memmove by memmove
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+g_memmove was deprecated in glib 2.40 [1]
+
+Upstream-Status: pending [2]
+
+[1] https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html#g-memmove
+[2] https://bugzilla.gnome.org/show_bug.cgi?id=739233
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ client/gdaemonfile.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/client/gdaemonfile.c b/client/gdaemonfile.c
+index 15c368c..593ce7a 100644
+--- a/client/gdaemonfile.c
++++ b/client/gdaemonfile.c
+@@ -256,7 +256,7 @@ g_daemon_file_get_parent (GFile *file)
+ len = (guint) 1 + base - path;
+
+ parent_path = g_new (gchar, len + 1);
+- g_memmove (parent_path, path, len);
++ memmove (parent_path, path, len);
+ parent_path[len] = 0;
+
+ parent = new_file_for_new_path (daemon_file, parent_path);
+--
+1.8.3.1
+
diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs-gdu-volume-monitor_1.10.1.bb b/meta-gnome/recipes-gnome/gvfs/gvfs-gdu-volume-monitor_1.10.1.bb
index cf0ab0c968..5c0e07c0ca 100644
--- a/meta-gnome/recipes-gnome/gvfs/gvfs-gdu-volume-monitor_1.10.1.bb
+++ b/meta-gnome/recipes-gnome/gvfs/gvfs-gdu-volume-monitor_1.10.1.bb
@@ -2,7 +2,7 @@ require gvfs.inc
BPN = "gvfs"
-DEPENDS = "gvfs gnome-disk-utility libgnome-keyring"
+DEPENDS = "gvfs gnome-disk-utility libgnome-keyring intltool-native"
PR = "${INC_PR}.0"
# we need gdu files only: reduce files to delete in libexecdir
diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs.inc b/meta-gnome/recipes-gnome/gvfs/gvfs.inc
index 288b205da4..c516a40f10 100644
--- a/meta-gnome/recipes-gnome/gvfs/gvfs.inc
+++ b/meta-gnome/recipes-gnome/gvfs/gvfs.inc
@@ -15,6 +15,7 @@ SRC_URI += " \
file://0002-Adapt-to-GLib-2.31-deprecations-and-thread-API-chang.patch \
file://0003-Adapt-to-glib-mutex-API-changes.patch \
file://0004-Adapt-to-glib-thread-API-changes.patch \
+ file://0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch \
"
EXTRA_OECONF = "--with-archive-includes=${STAGING_INCDIR} \
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 d6373999cb..131c849480 100644
--- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb
+++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb
@@ -1,6 +1,6 @@
require gvfs.inc
-DEPENDS = "libsoup-2.4 gnome-keyring glib-2.0 avahi gconf libgphoto2"
+DEPENDS = "libsoup-2.4 gnome-keyring glib-2.0 avahi gconf libgphoto2 intltool-native"
# optional: obexftp libcdio libimobiledevice
PR = "${INC_PR}.0"
diff --git a/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb b/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb
index 5d6467f9aa..6e1997f775 100644
--- a/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb
+++ b/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb
@@ -4,6 +4,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "x11/gnome/libs"
DEPENDS = "libxml2 gconf libsoup-2.4 gtk+3"
+PNBLACKLIST[libgweather3] ?= "CONFLICT: 876 files are conflicting with libgweather"
+# e.g. sysroots/qemux86-64/usr/share/libgweather/locations.dtd
+# sysroots/qemux86-64/usr/share/libgweather/Locations.zh_TW.xml
+
BPN = "libgweather"
inherit gnome
diff --git a/meta-gnome/recipes-gnome/libgdata/libgdata_0.7.1.bb b/meta-gnome/recipes-gnome/libgdata/libgdata_0.7.1.bb
index 2affaccc13..5b367de7b1 100644
--- a/meta-gnome/recipes-gnome/libgdata/libgdata_0.7.1.bb
+++ b/meta-gnome/recipes-gnome/libgdata/libgdata_0.7.1.bb
@@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \
file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef"
-DEPENDS = "libxml2 glib-2.0 libsoup-2.4"
+DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native"
-inherit gnomebase pkgconfig autotools-brokensep gettext
+inherit gnomebase pkgconfig autotools-brokensep gettext gtk-doc
SRC_URI[archive.md5sum] = "ec5262cbcb07b63b58d45aa3ac636096"
SRC_URI[archive.sha256sum] = "fb244138276a5ce98510b0e2408bbf6f9ce0fd8cdcf86f07cd4be38afbb7c2bc"
diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb b/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb
index b33fc850ff..fd8f6898e3 100644
--- a/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb
+++ b/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb
@@ -3,7 +3,7 @@ LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
SECTION = "x11/gnome/libs"
-inherit gnome
+inherit gnomebase gtk-doc
# intltool to provide IT_PROG_INTLTOOL
# configure: line 12654: syntax error near unexpected token `0.35.0'
@@ -13,13 +13,7 @@ DEPENDS = "gtk+ libglade libart-lgpl xineramaproto intltool-native"
SRC_URI[archive.md5sum] = "ffcbb719c671ff5cd86e59aeba8d0b92"
SRC_URI[archive.sha256sum] = "859b78e08489fce4d5c15c676fec1cd79782f115f516e8ad8bed6abcb8dedd40"
-EXTRA_OECONF = "--disable-gtk-doc"
-
FILES_${PN} += "${libdir}/libglade/*/libcanvas.so"
FILES_${PN}-dbg += "${libdir}/libglade/*/.debug/"
FILES_${PN}-dev += "${libdir}/libglade/*/libcanvas*.la"
FILES_${PN}-staticdev += "${libdir}/libglade/*/libcanvas*.a"
-
-do_configure_prepend() {
- sed -i -e s:docs::g ${S}/Makefile.am
-}
diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
index 48ec450592..d14806215c 100644
--- a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
+++ b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
@@ -12,11 +12,7 @@ SRC_URI[archive.md5sum] = "de32a6e3e3464b566eecdc4332bf34bd"
SRC_URI[archive.sha256sum] = "ddd52c4cc7d83ad7ef964a1bcb4db87407e65b00ffc3e70c088ca4ee7383d256"
do_configure_append() {
- find ${S} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
- find ${S} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
+ find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
+ find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
}
-
-
-
-
diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc b/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc
index b000d72498..26997b851d 100644
--- a/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc
+++ b/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc
@@ -3,7 +3,7 @@ LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
SECTION = "x11/gnome/libs"
-DEPENDS = "libgnome libgnomecanvas libbonoboui libgnome-keyring"
+DEPENDS = "libgnome libgnomecanvas libbonoboui libgnome-keyring intltool-native"
inherit gnome
diff --git a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.26.bb b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
index d08552ab7b..d7bbd3bafd 100644
--- a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.26.bb
+++ b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
@@ -9,8 +9,8 @@ DEPENDS= "libxml2 bzip2 glib-2.0 zlib"
inherit autotools pkgconfig gnome gconf
-SRC_URI[archive.md5sum] = "3c5a4fbd16a727c36974078e6d0e9575"
-SRC_URI[archive.sha256sum] = "8919e725aadd785380350c8dec7427d82cf33164bc9a9a549df9440a0c3da6d5"
+SRC_URI[archive.md5sum] = "3056b94bb3281dbc8311371bfc23cf72"
+SRC_URI[archive.sha256sum] = "4d8bca33424eb711acdb6a060cb488b132063d699c4fa201db24c2c89c62529c"
GNOME_COMPRESS_TYPE = "xz"
@@ -18,9 +18,6 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf"
EXTRA_OECONF = "\
- --without-python \
- --without-gnome-vfs \
- --without-bonobo \
--disable-gtk-doc \
--with-bz2 \
"
diff --git a/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb b/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
index 46ab1a052d..3cd7910769 100644
--- a/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
+++ b/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
@@ -5,9 +5,9 @@ LICENSE = "LGPL-2.0+"
LIC_FILES_CHKSUM = "file://tap.c;beginline=1;endline=20;md5=71756eeb144e9eeb177c69aa672b1635"
PR = "r4"
-inherit autotools
+inherit autotools pkgconfig
-SRC_URI = "http://burtonini.com/temp/${PN}-${PV}.tar.gz \
+SRC_URI = "http://burtonini.com/temp/${BP}.tar.gz \
file://gtkstylus.sh"
SRC_URI[md5sum] = "fa1c82cd9fd2fafd7ff10d78eb5781c5"
SRC_URI[sha256sum] = "383e0a22a537f653b8d41688277560f95678a042967198085ec7caa1a5cc2f4c"
diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop_2.28.2.bb b/meta-gnome/recipes-gnome/libgtop/libgtop_2.28.2.bb
index d2fedfc18b..69a0f5c035 100644
--- a/meta-gnome/recipes-gnome/libgtop/libgtop_2.28.2.bb
+++ b/meta-gnome/recipes-gnome/libgtop/libgtop_2.28.2.bb
@@ -2,7 +2,7 @@ SUMMARY = "LibGTop2"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://copyright.txt;md5=dbc839bf158d19a20e661db14db7a58c"
-inherit gnomebase lib_package
+inherit gnomebase lib_package gtk-doc
SRC_URI[archive.md5sum] = "ed44d736efd97d062b77621de6aff439"
SRC_URI[archive.sha256sum] = "49958d7da1f76b257bfd0d557d8ed2b218a5ab0d31b59fed1c32ddf2a1529f5d"
diff --git a/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.13.bb b/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.13.bb
deleted file mode 100644
index 834f4af426..0000000000
--- a/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.13.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SECTION = "libs"
-require libidl_${PV}.bb
-inherit native
-
-PR = "r1"
-
-DEPENDS = "bison-native glib-2.0-native"
-
-SRC_URI[md5sum] = "b43b289a859eb38a710f70622c46e571"
-SRC_URI[sha256sum] = "bccc7e10dae979518ff012f8464e47ec4b3558a5456a94c8679653aa0b262b71"
diff --git a/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb b/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb
new file mode 100644
index 0000000000..a27da5e8d4
--- /dev/null
+++ b/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb
@@ -0,0 +1,10 @@
+SECTION = "libs"
+require libidl_${PV}.bb
+inherit native
+
+PR = "r1"
+
+DEPENDS = "bison-native glib-2.0-native"
+
+SRC_URI[md5sum] = "bb8e10a218fac793a52d404d14adedcb"
+SRC_URI[sha256sum] = "c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220"
diff --git a/meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb b/meta-gnome/recipes-gnome/libidl/libidl_0.8.14.bb
index d658cf8c71..86dfcf2f09 100644
--- a/meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb
+++ b/meta-gnome/recipes-gnome/libidl/libidl_0.8.14.bb
@@ -9,5 +9,5 @@ PR = "r1"
BINCONFIG_GLOB = "*-config-2"
inherit autotools pkgconfig binconfig
-SRC_URI[md5sum] = "b43b289a859eb38a710f70622c46e571"
-SRC_URI[sha256sum] = "bccc7e10dae979518ff012f8464e47ec4b3558a5456a94c8679653aa0b262b71"
+SRC_URI[md5sum] = "bb8e10a218fac793a52d404d14adedcb"
+SRC_URI[sha256sum] = "c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220"
diff --git a/meta-gnome/recipes-gnome/libsecret/libsecret_0.18.bb b/meta-gnome/recipes-gnome/libsecret/libsecret_0.18.bb
new file mode 100644
index 0000000000..dca3350033
--- /dev/null
+++ b/meta-gnome/recipes-gnome/libsecret/libsecret_0.18.bb
@@ -0,0 +1,14 @@
+SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
+
+inherit gnomebase gtk-doc
+
+DEPENDS = "glib-2.0 libgcrypt"
+
+GNOME_COMPRESS_TYPE = "xz"
+
+EXTRA_OECONF += "--disable-manpages"
+
+SRC_URI[archive.md5sum] = "279d723cd005e80d1d304f74a3488acc"
+SRC_URI[archive.sha256sum] = "0c73aa762dbd1e38ba7b03de350e23ce818cb810b0784375e95ef61e004b02e3"
diff --git a/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb b/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb
index 3eff298daa..e93c378ab9 100644
--- a/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb
+++ b/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb
@@ -2,7 +2,7 @@ SUMMARY = "Helper lib for keyboard management"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
-DEPENDS = "xkbcomp gtk+ iso-codes libxi"
+DEPENDS = "xkbcomp gtk+ iso-codes libxi libxml2"
GNOME_COMPRESS_TYPE = "xz"
diff --git a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb
index e0b8b93fba..9c48238ffb 100644
--- a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb
+++ b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb
@@ -4,7 +4,7 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://src/include/main.h;endline=24;md5=c2242df552c880280315989bab626b90"
-DEPENDS = "gsettings-desktop-schemas startup-notification gtk+ gconf gdk-pixbuf-native libcanberra gnome-doc-utils libgtop"
+DEPENDS = "gsettings-desktop-schemas startup-notification gtk+ gconf gdk-pixbuf-native libcanberra gnome-doc-utils libgtop intltool-native"
PR = "r1"
inherit gnomebase update-alternatives
@@ -19,8 +19,7 @@ ALTERNATIVE_${PN} = "x-window-manager"
ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/metacity"
ALTERNATIVE_PRIORITY = "10"
-EXTRA_OECONF += "--disable-verbose \
- --disable-xinerama"
+EXTRA_OECONF += "--disable-xinerama"
do_configure_prepend() {
sed -i -e 's:$ZENITY:$NOZENITY:g' -e 's:-Werror::g' ${S}/configure.in
diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb
index 0714815f3a..4be3f084e5 100644
--- a/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb
+++ b/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb
@@ -26,10 +26,10 @@ EXTRA_OECONF = " --disable-gtk-doc --disable-update-mimedb "
export SYSROOT = "${STAGING_DIR_HOST}"
do_configure() {
- sed -i -e /docs/d Makefile.am
+ sed -i -e /docs/d ${S}/Makefile.am
autotools_do_configure
# We need native orbit-idl with target idl files. No way to say it in a clean way:
- find -name Makefile -exec sed -i '/\/usr\/bin\/orbit-idl-2/{s:/usr/bin:${STAGING_BINDIR_NATIVE}:;s:/usr/share:${STAGING_DATADIR}:g}' {} \;
+ find ${B} -name Makefile -exec sed -i '/\/usr\/bin\/orbit-idl-2/{s:/usr/bin:${STAGING_BINDIR_NATIVE}:;s:/usr/share:${STAGING_DATADIR}:g}' {} \;
}
RDEPENDS_${PN} = "gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash glib-networking"
diff --git a/meta-gnome/recipes-gnome/nonworking/gcalctool/gcalctool_5.32.0.bb b/meta-gnome/recipes-gnome/nonworking/gcalctool/gcalctool_5.32.0.bb
index f16551f84a..4812fe3876 100644
--- a/meta-gnome/recipes-gnome/nonworking/gcalctool/gcalctool_5.32.0.bb
+++ b/meta-gnome/recipes-gnome/nonworking/gcalctool/gcalctool_5.32.0.bb
@@ -6,7 +6,7 @@ LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
-SRC_URI = "http://download.gnome.org/sources/${PN}/${SHRT_VER}/${PN}-${PV}.tar.gz"
+SRC_URI = "http://download.gnome.org/sources/${BPN}/${SHRT_VER}/${BP}.tar.gz"
SRC_URI[md5sum] = "48db927c6e7ee1d5395f953a8c184c98"
SRC_URI[sha256sum] = "346f645c0fdef900642f6e9a2c18e7ba9a7ca9bc62fe2b08eb418f065a425c89"
diff --git a/meta-gnome/recipes-gnome/pimlico/contacts.inc b/meta-gnome/recipes-gnome/pimlico/contacts.inc
index 665efa37e2..6535bbf548 100644
--- a/meta-gnome/recipes-gnome/pimlico/contacts.inc
+++ b/meta-gnome/recipes-gnome/pimlico/contacts.inc
@@ -4,7 +4,7 @@ BUGTRACKER = "https://bugzilla.gnome.org/"
LICENSE = "GPLv2 & GPLv2+ & GPLv3+ "
SECTION = "x11"
-DEPENDS = "glib-2.0 gtk+ evolution-data-server"
+DEPENDS = "glib-2.0 gtk+ evolution-data-server intltool-native"
RDEPENDS_${PN} = "libedata-book"
inherit autotools pkgconfig
diff --git a/meta-gnome/recipes-gnome/pimlico/dates.inc b/meta-gnome/recipes-gnome/pimlico/dates.inc
index 9b078e13c0..12d2f83f94 100644
--- a/meta-gnome/recipes-gnome/pimlico/dates.inc
+++ b/meta-gnome/recipes-gnome/pimlico/dates.inc
@@ -5,7 +5,7 @@ BUGTRACKER = "https://bugzilla.gnome.org/"
LICENSE = "GPLv2 & GPLv2+ & LGPLv2+"
SECTION = "x11"
-DEPENDS = "glib-2.0 gtk+ libglade evolution-data-server"
+DEPENDS = "glib-2.0 gtk+ libglade evolution-data-server intltool-native"
RDEPENDS_${PN} = "libedata-cal"
inherit autotools gettext pkgconfig gtk-icon-cache
diff --git a/meta-gnome/recipes-gnome/pimlico/tasks.inc b/meta-gnome/recipes-gnome/pimlico/tasks.inc
index 44f036dd95..f8217dc3a1 100644
--- a/meta-gnome/recipes-gnome/pimlico/tasks.inc
+++ b/meta-gnome/recipes-gnome/pimlico/tasks.inc
@@ -5,6 +5,6 @@ BUGTRACKER = "https://bugzilla.gnome.org/"
LICENSE = "GPLv2 & GPLv2+"
SECTION = "x11"
-DEPENDS = "glib-2.0 gtk+ evolution-data-server"
+DEPENDS = "glib-2.0 gtk+ evolution-data-server intltool-native"
inherit autotools pkgconfig gtk-icon-cache
diff --git a/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb b/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb
index 6664bfa2bc..a2b7e0c6a4 100644
--- a/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb
+++ b/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb
@@ -8,7 +8,7 @@ SECTION = "x11/gnome"
DEPENDS = "gtk-engines icon-naming-utils icon-naming-utils-native glib-2.0 intltool-native libxml-simple-perl-native"
RDEPENDS_${PN} = "gnome-icon-theme"
-EXTRA_OECONF += "--enable-all-themes --disable-hicolor-check \
+EXTRA_OECONF += "--enable-all-themes \
--with-iconmap=${STAGING_LIBDIR_NATIVE}/icon-naming-utils/icon-name-mapping \
"
diff --git a/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch b/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch
new file mode 100644
index 0000000000..a8c5bc7968
--- /dev/null
+++ b/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch
@@ -0,0 +1,29 @@
+From eebe1f27f4b27b05eb4b9b55f9df1124acf4d092 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Fri, 1 Aug 2014 12:25:24 +0200
+Subject: [PATCH] configure: use 'foreign' mode to avoid errors with missing
+ NEWS/AUTHORS/etc
+
+Upstream-status: Pending
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3d7eef6..1784bdd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -41,7 +41,7 @@ VERSION=$WV_VERSION
+ PACKAGE=wv
+
+ dnl Initialize automake stuff
+-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
++AM_INIT_AUTOMAKE([foreign])
+
+ # Specify a configuration file
+ AM_CONFIG_HEADER(config.h)
+--
+1.9.0
+
diff --git a/meta-gnome/recipes-gnome/wv/wv-1.2.0/pkgconfig.patch b/meta-gnome/recipes-gnome/wv/wv-1.2.4/pkgconfig.patch
index 136d89341f..136d89341f 100644
--- a/meta-gnome/recipes-gnome/wv/wv-1.2.0/pkgconfig.patch
+++ b/meta-gnome/recipes-gnome/wv/wv-1.2.4/pkgconfig.patch
diff --git a/meta-gnome/recipes-gnome/wv/wv_1.2.0.bb b/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
index 1e385d3135..6489c6f19f 100644
--- a/meta-gnome/recipes-gnome/wv/wv_1.2.0.bb
+++ b/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
@@ -4,12 +4,14 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=6cbca01f1c9178aca280e8ff64d85b2f"
DEPENDS = "libgsf glib-2.0 libpng"
-PR = "r5"
SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/wv-${PV}.tar.gz \
- file://pkgconfig.patch"
-SRC_URI[md5sum] = "b6319d5e75611fe2210453b5feb82c0c"
-SRC_URI[sha256sum] = "a76f44468e78591e6d510d326702e7c3999d2b9dd3ab8ab8c1c9811fd5b111e4"
+ file://pkgconfig.patch \
+ file://0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch \
+ "
+
+SRC_URI[md5sum] = "c1861c560491f121e12917fa76970ac5"
+SRC_URI[sha256sum] = "673109910e22d4cf94cc8be4dcb9a0c41b5fbdb1736d4b7bdc7778894d57c2d6"
inherit autotools pkgconfig
diff --git a/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb b/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb
index fb15900cf9..4e01c5c938 100644
--- a/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb
+++ b/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb
@@ -4,6 +4,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
PR = "r2"
+PNBLACKLIST[zenity] ?= "BROKEN: doesn't build with B!=S"
+
DEPENDS = "gtk+ glib-2.0 libnotify gnome-doc-utils"
inherit gnomebase
diff --git a/meta-gnome/recipes-support/florence/florence_0.5.1.bb b/meta-gnome/recipes-support/florence/florence_0.5.1.bb
index 56d8914651..9eab38575a 100644
--- a/meta-gnome/recipes-support/florence/florence_0.5.1.bb
+++ b/meta-gnome/recipes-support/florence/florence_0.5.1.bb
@@ -15,6 +15,6 @@ SRC_URI = "http://switch.dl.sourceforge.net/project/florence/florence/0.5.1/flor
SRC_URI[md5sum] = "56d12e5b47c100d9df172aa5ddc0f609"
SRC_URI[sha256sum] = "7b06ed84ef2b7b22d8d2cf0c7d013a05409bd82028240ac8719a68b192d5bc62"
-inherit gettext autotools gconf
+inherit gettext autotools gconf pkgconfig
EXTRA_OECONF = "--disable-scrollkeeper --without-docs --without-at-spi --without-panelapplet"
diff --git a/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb b/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb
index 24c4d0ff6f..1e9ec4cfd7 100644
--- a/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb
+++ b/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb
@@ -3,7 +3,7 @@ DESCRIPTION="Gnome Office Library"
LICENSE="GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=6dc33ff21e1ba1ac1a2a1069d361e29e"
-DEPENDS = "libxml-parser-perl-native glib-2.0 gtk+3 pango cairo libgsf libpcre libxml2 libart-lgpl librsvg"
+DEPENDS = "libxml-parser-perl-native glib-2.0 gtk+3 pango cairo libgsf libpcre libxml2 libart-lgpl librsvg intltool"
inherit gnomebase pkgconfig perlnative
diff --git a/meta-oe/recipes-support/tracker/files/90tracker b/meta-gnome/recipes-support/tracker/files/90tracker
index 9594b91689..9594b91689 100644
--- a/meta-oe/recipes-support/tracker/files/90tracker
+++ b/meta-gnome/recipes-support/tracker/files/90tracker
diff --git a/meta-oe/recipes-support/tracker/files/tracker-dbus.service b/meta-gnome/recipes-support/tracker/files/tracker-dbus.service
index c97f49a89d..c97f49a89d 100644
--- a/meta-oe/recipes-support/tracker/files/tracker-dbus.service
+++ b/meta-gnome/recipes-support/tracker/files/tracker-dbus.service
diff --git a/meta-oe/recipes-support/tracker/files/tracker-miner-fs.service b/meta-gnome/recipes-support/tracker/files/tracker-miner-fs.service
index 34d9a1e686..34d9a1e686 100644
--- a/meta-oe/recipes-support/tracker/files/tracker-miner-fs.service
+++ b/meta-gnome/recipes-support/tracker/files/tracker-miner-fs.service
diff --git a/meta-oe/recipes-support/tracker/files/tracker-store.service b/meta-gnome/recipes-support/tracker/files/tracker-store.service
index c5037f3ab9..c5037f3ab9 100644
--- a/meta-oe/recipes-support/tracker/files/tracker-store.service
+++ b/meta-gnome/recipes-support/tracker/files/tracker-store.service
diff --git a/meta-oe/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch b/meta-gnome/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch
index 8701f58547..8701f58547 100644
--- a/meta-oe/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch
+++ b/meta-gnome/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch
diff --git a/meta-oe/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch b/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch
index 5dadda2a29..5dadda2a29 100644
--- a/meta-oe/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch
+++ b/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch
diff --git a/meta-oe/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch b/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch
index 6c3d9de107..6c3d9de107 100644
--- a/meta-oe/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch
+++ b/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch
diff --git a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
index eea8edc9b3..104e490a3a 100644
--- a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb
+++ b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
@@ -1,7 +1,8 @@
DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly."
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ee31012bf90e7b8c108c69f197f3e3a4"
-DEPENDS = "file gstreamer gamin dbus libexif gettext sqlite3 icu"
+DEPENDS = "file gstreamer gamin dbus libexif gettext sqlite3 icu gst-plugins-base libgnome-keyring poppler tiff enca libgsf libunistring giflib taglib bzip2 upower gtk+3 libgee networkmanager"
+
RDEPENDS_${PN} += " gvfs gsettings-desktop-schemas"
HOMEPAGE = "http://projects.gnome.org/tracker/"
@@ -25,6 +26,9 @@ SYSTEMD_AUTO_ENABLE = "disable"
EXTRA_OECONF += " tracker_cv_have_ioprio=yes"
+PACKAGECONFIG ?= "nautilus"
+PACKAGECONFIG[nautilus] = "--enable-nautilus-extension,--disable-nautilus-extension,nautilus"
+
# Disable the desktop-centric miners
EXTRA_OECONF += "--disable-miner-thunderbird --disable-miner-firefox \
--disable-miner-evolution --disable-miner-flickr"
diff --git a/meta-gpe/conf/layer.conf b/meta-gpe/conf/layer.conf
index 6c018b1e6e..00f3929f8f 100644
--- a/meta-gpe/conf/layer.conf
+++ b/meta-gpe/conf/layer.conf
@@ -7,3 +7,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "gpe-layer"
BBFILE_PATTERN_gpe-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_gpe-layer = "7"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_gpe-layer = "1"
+
+LAYERDEPENDS_gpe-layer = "core openembedded-layer"
diff --git a/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb b/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb
index f51f616ddf..3f1e27e872 100644
--- a/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb
+++ b/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "762778421fae7c62d5ec6a9d27986166c0dbbe2ff51fc10bb9b8baff5c
GPE_TARBALL_SUFFIX = "bz2"
-inherit gpe autotools
+inherit gpe autotools pkgconfig
SRC_URI += "file://0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch \
file://use.libsoup-2.4.patch \
diff --git a/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb b/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb
index 81095beea8..90960a2b05 100644
--- a/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb
+++ b/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb
@@ -8,7 +8,7 @@ DEPENDS = "libgpewidget"
inherit gpe
-SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.gz \
+SRC_URI = "${GPE_MIRROR}/${BP}.tar.gz \
file://makefile-fix.patch"
SRC_URI[md5sum] = "d81cecf269ad7bab0da960e6e7228332"
SRC_URI[sha256sum] = "2b299425203246090a4949e034f1d0efb3ff99cd1591d0e16c57370a530b361e"
diff --git a/meta-initramfs/classes/klibc.bbclass b/meta-initramfs/classes/klibc.bbclass
index ca741cd8b7..f864104cfb 100644
--- a/meta-initramfs/classes/klibc.bbclass
+++ b/meta-initramfs/classes/klibc.bbclass
@@ -4,8 +4,8 @@ DEPENDS =+ "klcc-cross"
# Default for klcc is to build static binaries.
# Set CC = "${TARGET_PREFIX}klcc -shared" to build the dynamic version.
-export CC = "${TARGET_PREFIX}klcc"
-export CC_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc -march=armv4 -mthumb-interwork"
+export CC = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS}"
+export CC_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS} -march=armv4 -mthumb-interwork"
export CPP = "${CC} -E"
diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch
new file mode 100644
index 0000000000..6d3270f891
--- /dev/null
+++ b/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch
@@ -0,0 +1,61 @@
+From 8519d61a7097498b0ee93fb8dc8262286825f3e5 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Thu, 1 May 2014 23:58:51 +0200
+Subject: [PATCH 1/4] kexecboot: fix build when S != B
+
+* fatal error: ../config.h: No such file or directory
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ machine/zaurus.c | 2 +-
+ res/theme-gui.h | 2 +-
+ res/theme-tui.h | 4 ++--
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/machine/zaurus.c b/machine/zaurus.c
+index ea21047..83be13b 100644
+--- a/machine/zaurus.c
++++ b/machine/zaurus.c
+@@ -25,7 +25,7 @@
+ *
+ */
+
+-#include "../config.h"
++#include "config.h"
+
+ #ifdef USE_ZAURUS
+
+diff --git a/res/theme-gui.h b/res/theme-gui.h
+index f8fef7f..79bed39 100644
+--- a/res/theme-gui.h
++++ b/res/theme-gui.h
+@@ -15,7 +15,7 @@
+ *
+ */
+
+-#include "../config.h"
++#include "config.h"
+
+ #ifdef USE_ICONS
+ /** Icons **/
+diff --git a/res/theme-tui.h b/res/theme-tui.h
+index 94e7693..909be56 100644
+--- a/res/theme-tui.h
++++ b/res/theme-tui.h
+@@ -15,11 +15,11 @@
+ *
+ */
+
+-#include "../config.h"
++#include "config.h"
+
+ #ifdef USE_TEXTUI
+ /** TEXT UI colors **/
+-#include "../termseq.h"
++#include "termseq.h"
+
+ /* Background color pair */
+ #define TUI_CLR_BG TERM_CSI TERM_BG_BLACK ";" TERM_FG_WHITE TERM_SGR
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch
new file mode 100644
index 0000000000..ecf422b72d
--- /dev/null
+++ b/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch
@@ -0,0 +1,33 @@
+From b8938acc3f1ab35273fa9a2fa7728050ef72ff65 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Fri, 2 May 2014 00:19:24 +0200
+Subject: [PATCH 2/4] kexecboot: fix configure warnings
+
+Makefile.am:5: warning: source file 'fstype/fstype.c' is in a subdirectory,
+Makefile.am:5: but option 'subdir-objects' is disabled
+automake: warning: possible forward-incompatibility.
+...
+Makefile.am:5: warning: source file 'machine/zaurus.c' is in a subdirectory,
+...
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0ca4b81..66ec54e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,7 +1,7 @@
+ AC_PREREQ(2.53)
+ AC_INIT([kexecboot], [0.6], [kexecboot-devel@linuxtogo.org])
+ AC_CANONICAL_HOST
+-AM_INIT_AUTOMAKE([-Wall foreign])
++AM_INIT_AUTOMAKE([-Wall foreign] [subdir-objects])
+ AC_CONFIG_SRCDIR(kexecboot.c)
+ AC_CONFIG_HEADERS(config.h)
+ AM_MAINTAINER_MODE
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch
new file mode 100644
index 0000000000..4caa0d5f02
--- /dev/null
+++ b/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch
@@ -0,0 +1,97 @@
+From 800dae0d34f8629a34c638a612166b76dda03e27 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sat, 2 Aug 2014 01:13:08 +0200
+Subject: [PATCH 3/4] kexecboot: do not hardcode MOUNTPOINT
+
+Avoid to hardcode it: could be requested as a new configure option.
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ cfgparser.c | 6 +++---
+ kexecboot.c | 18 ++++++++++--------
+ 2 files changed, 13 insertions(+), 11 deletions(-)
+
+diff --git a/cfgparser.c b/cfgparser.c
+index 8f6688c..dec27b1 100644
+--- a/cfgparser.c
++++ b/cfgparser.c
+@@ -141,7 +141,7 @@ static int set_kernel(struct cfgdata_t *cfgdata, char *value)
+ return -1;
+ }
+
+- strcpy(sc->kernelpath, "/mnt");
++ strcpy(sc->kernelpath, MOUNTPOINT);
+ strcat(sc->kernelpath, value);
+ return 0;
+ }
+@@ -155,7 +155,7 @@ static int set_icon(struct cfgdata_t *cfgdata, char *value)
+
+ dispose(sc->iconpath);
+ /* Add our mountpoint, since the enduser won't know it */
+- sc->iconpath = malloc(sizeof(MOUNTPOINT)+strlen(value));
++ sc->iconpath = malloc(strlen(MOUNTPOINT)+strlen(value)+1);
+ if (NULL == sc->iconpath) {
+ DPRINTF("Can't allocate memory to store iconpath '%s'", value);
+ return -1;
+@@ -194,7 +194,7 @@ static int set_initrd(struct cfgdata_t *cfgdata, char *value)
+ return -1;
+ }
+
+- strcpy(sc->initrd, "/mnt");
++ strcpy(sc->initrd, MOUNTPOINT);
+ strcat(sc->initrd, value);
+ return 0;
+ }
+diff --git a/kexecboot.c b/kexecboot.c
+index d6657a0..7268d6b 100644
+--- a/kexecboot.c
++++ b/kexecboot.c
+@@ -57,20 +57,22 @@
+ #endif
+
+ #ifdef USE_MACHINE_KERNEL
+-/* Machine-dependent kernel patch */
++/* Machine-dependent kernel path */
+ char *machine_kernel = NULL;
+ #endif
+
++#define PREPEND_MOUNTPATH(string) MOUNTPOINT""string
++
+ /* NULL-terminated array of kernel search paths
+ * First item should be filled with machine-dependent path */
+ char *default_kernels[] = {
+ #ifdef USE_ZIMAGE
+- "/mnt/boot/zImage",
+- "/mnt/zImage",
++ PREPEND_MOUNTPATH("/boot/zImage"),
++ PREPEND_MOUNTPATH("/zImage"),
+ #endif
+ #ifdef USE_UIMAGE
+- "/mnt/boot/uImage",
+- "/mnt/uImage",
++ PREPEND_MOUNTPATH("/boot/uImage"),
++ PREPEND_MOUNTPATH("/uImage"),
+ #endif
+ NULL
+ };
+@@ -149,14 +151,14 @@ char *get_machine_kernelpath() {
+ ++tmp;
+ }
+
+- /* Prepend "/mnt/boot/zImage-" to hw */
+- tmp = malloc(strlen(hw) + 17 + 1); /* strlen("/mnt/boot/zImage-") */
++ /* Prepend MOUNTPOINT"/boot/zImage-" to hw */
++ tmp = malloc(strlen(PREPEND_MOUNTPATH("/boot/zImage-")) + strlen(hw) + 1);
+ if (NULL == tmp) {
+ DPRINTF("Can't allocate memory for machine-specific kernel path");
+ return NULL;
+ }
+
+- strcpy(tmp, "/mnt/boot/zImage-");
++ strcpy(tmp, PREPEND_MOUNTPATH("/boot/zImage-"));
+ strcat(tmp, hw);
+
+ return tmp;
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch
new file mode 100644
index 0000000000..6d81d83578
--- /dev/null
+++ b/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch
@@ -0,0 +1,135 @@
+From de9a6284df8add6ec03e1d9981d0b6d0595bbc69 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Mon, 10 Nov 2014 23:37:23 +0100
+Subject: [PATCH 4/4] kexecboot.c: workaround for absolute kernel and initrd
+ symlinks
+
+Add MOUNTPOINT prefix if the kernel/initrd symlinks start with '/'.
+Do nothing if the path is a relative symbolic link or not a symlink.
+
+Fix following situation:
+
+root@mizar:/var/tmp# ls -al boot/
+total 2076
+drwxr-xr-x 2 root root 4096 lug 5 01:38 .
+drwxrwxrwt 4 root root 4096 lug 5 12:26 ..
+-rw-r--r-- 1 root root 831 lug 5 01:24 boot.cfg
+-rw-r--r-- 1 root root 1322 lug 5 01:24 icon.xpm
+lrwxrwxrwx 1 root root 34 lug 5 12:26 zImage ->
+/boot/zImage-3.14.5-yocto-standard
+-rw-r--r-- 1 root root 2106832 lug 5 01:20 zImage-3.14.5-yocto-standard
+
+Cannot open `/mnt/boot/zImage': No such file or directory
+Nothing has been loaded!
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ kexecboot.c | 53 ++++++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 44 insertions(+), 9 deletions(-)
+
+diff --git a/kexecboot.c b/kexecboot.c
+index 7268d6b..8a7a7d2 100644
+--- a/kexecboot.c
++++ b/kexecboot.c
+@@ -208,11 +208,16 @@ void start_kernel(struct params_t *params, int choice)
+ const char *load_argv[] = { NULL, "-l", NULL, NULL, NULL, NULL };
+ const char *exec_argv[] = { NULL, "-e", NULL, NULL};
+
+- char *cmdline_arg = NULL, *initrd_arg = NULL;
++ char *cmdline_arg = NULL, *initrd_arg = NULL, *kernel_arg = NULL;
+ int n, idx, u;
+ struct stat sinfo;
+ struct boot_item_t *item;
+
++ /* buffer for readlink (could be truncated) */
++ char buf[512];
++ int len;
++
++
+ item = params->bootcfg->list[choice];
+
+ exec_argv[0] = kexec_path;
+@@ -306,10 +311,17 @@ void start_kernel(struct params_t *params, int choice)
+ }
+ }
+
++ /* Mount boot device */
++ if ( -1 == mount(mount_dev, mount_point, mount_fstype,
++ MS_RDONLY, NULL) ) {
++ perror("Can't mount boot device");
++ exit(-1);
++ }
++
+ /* fill '--initrd' option */
+ if (item->initrd) {
+ /* allocate space */
+- n = sizeof(str_initrd_start) + strlen(item->initrd);
++ n = sizeof(str_initrd_start) + strlen(item->initrd) + 1 + sizeof(mount_point) + sizeof(buf);
+
+ initrd_arg = (char *)malloc(n);
+ if (NULL == initrd_arg) {
+@@ -317,24 +329,46 @@ void start_kernel(struct params_t *params, int choice)
+ } else {
+ strcpy(initrd_arg, str_initrd_start); /* --initrd= */
+ strcat(initrd_arg, item->initrd);
++
++ if ((len = readlink(item->initrd, buf, sizeof(buf)-1)) != -1) {
++ buf[len] = '\0';
++ /* Fix absolute symlinks: prepend MOUNTPOINT */
++ if (buf[0] == '/') {
++ strcpy(initrd_arg, str_initrd_start); /* --initrd= */
++ strcat(initrd_arg, mount_point);
++ strcat(initrd_arg, buf);
++ }
++ }
+ load_argv[idx] = initrd_arg;
+ ++idx;
+ }
+ }
+
+ /* Append kernelpath as last arg of kexec */
+- load_argv[idx] = item->kernelpath;
++ /* allocate space */
++ n = strlen(item->kernelpath) + 1 + sizeof(mount_point) + sizeof(buf);
++
++ kernel_arg = (char *)malloc(n);
++ if (NULL == kernel_arg) {
++ perror("Can't allocate memory for kernel_arg");
++ } else {
++ strcpy(kernel_arg, item->kernelpath);
++
++ if ((len = readlink(item->kernelpath, buf, sizeof(buf)-1)) != -1) {
++ buf[len] = '\0';
++ /* Fix absolute symlinks: prepend MOUNTPOINT */
++ if (buf[0] == '/') {
++ strcpy(kernel_arg, mount_point);
++ strcat(kernel_arg, buf);
++ }
++ }
++ load_argv[idx] = kernel_arg;
++ }
+
+ DPRINTF("load_argv: %s, %s, %s, %s, %s", load_argv[0],
+ load_argv[1], load_argv[2],
+ load_argv[3], load_argv[4]);
+
+- /* Mount boot device */
+- if ( -1 == mount(mount_dev, mount_point, mount_fstype,
+- MS_RDONLY, NULL) ) {
+- perror("Can't mount boot device");
+- exit(-1);
+- }
+
+ /* Load kernel */
+ n = fexecw(kexec_path, (char *const *)load_argv, envp);
+@@ -347,6 +381,7 @@ void start_kernel(struct params_t *params, int choice)
+
+ dispose(cmdline_arg);
+ dispose(initrd_arg);
++ dispose(kernel_arg);
+
+ /* Check /proc/sys/net presence */
+ if ( -1 == stat("/proc/sys/net", &sinfo) ) {
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb
index d0176c53d4..9061c272fc 100644
--- a/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb
+++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb
@@ -42,13 +42,20 @@ SRC_URI = "https://github.com/kexecboot/kexecboot/archive/v${PV}.tar.gz"
SRC_URI[md5sum] = "46b7c1a6f20531be56445ebb8669a2b8"
SRC_URI[sha256sum] = "6b360b8aa59bc5d68a96705349a0dd416f8ed704e931fa0ac7849298258f0f15"
-inherit autotools-brokensep
+SRC_URI += "\
+ file://0001-kexecboot-fix-build-when-S-B.patch \
+ file://0002-kexecboot-fix-configure-warnings.patch \
+ file://0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch \
+ file://0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch \
+ "
+
+inherit autotools
EXTRA_OECONF = "--enable-delay=2 --enable-evdev-rate=1000,250"
do_install () {
install -d ${D}${bindir}
- install -m 0755 kexecboot ${D}${bindir}/
+ install -m 0755 kexecboot ${D}${bindir}
install -d ${D}/proc
install -d ${D}/mnt
install -d ${D}/dev
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
index 945ba0f21c..ea55a4dfbd 100644
--- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
+++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
@@ -5,10 +5,10 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PE = "1"
-PV = "036"
+PV = "038"
-# v036 tag
-SRCREV = "d50a99c5ceeb7107f624c5d3238d37509b2217a8"
+# v038 tag
+SRCREV = "267a109a81715c8957f14659593deb7b6255d40e"
SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git"
S = "${WORKDIR}/git"
@@ -33,7 +33,8 @@ FILES_${PN} += "${datadir}/bash-completion \
${libdir}/kernel \
"
-RDEPENDS_${PN} = "systemd findutils cpio util-linux-blkid bash ldd"
+# 'getopt' is in the util-linux main package
+RDEPENDS_${PN} = "systemd findutils cpio util-linux-blkid util-linux bash ldd"
# This could be optimized a bit, but let's avoid non-booting systems :)
RRECOMMENDS_${PN} = " \
kernel-modules \
diff --git a/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.3.bb b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
index 2f4afce063..2f4afce063 100644
--- a/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.3.bb
+++ b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/armv4-fix-v4bx.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
index 6bb384bb0b..6bb384bb0b 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/armv4-fix-v4bx.patch
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch
new file mode 100644
index 0000000000..9bc4835dcd
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch
@@ -0,0 +1,14 @@
+diff --git a/klcc/klcc.in b/klcc/klcc.in
+index 43d0984..61e9385 100644
+--- a/klcc/klcc.in
++++ b/klcc/klcc.in
+@@ -204,6 +204,9 @@ while ( defined($a = shift(@ARGV)) ) {
+ # Libraries
+ push(@libs, $a);
+ push(@libs, shift(@ARGV)) if ( $2 eq '' );
++ } elsif ( $a =~ /^--([sysroot=])(.*)$/ ) {
++ # Override gcc encoded sysroot
++ push(@ccopt, $a);
+ } else {
+ die "$0: unknown option: $a\n";
+ }
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-config-eabi.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
index 316c80a926..316c80a926 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-config-eabi.patch
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-linux-libc-dev.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
index 204306475f..204306475f 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-linux-libc-dev.patch
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/staging.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
index 400864bb2f..400864bb2f 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/staging.patch
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/use-env-for-perl.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch
index eac128cc09..eac128cc09 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/use-env-for-perl.patch
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.3.bb b/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
index c835fd647a..c835fd647a 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.3.bb
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.3.bb b/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb
index fc53bece0e..06e71cb7b8 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.3.bb
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb
@@ -10,3 +10,5 @@ KLIBC_UTILS_PKGNAME = "klibc-utils"
require klibc-utils.inc
require klibc.inc
+
+DEPENDS = "klibc"
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc
index b4f0cab8c7..9f445e1cb2 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -5,7 +5,7 @@ SECTION = "libs"
LICENSE = "BSD-3-Clause & GPL-2.0 & MIT & Zlib"
LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8b"
DEPENDS = "linux-libc-headers perl-native"
-SRCREV = "f0440baf7f2dc1d9a25863c184d0a8fb73c4ee6c"
+SRCREV = "7763dd33e5b8eed4b9e3c583c02c10176fd550d3"
SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git"
SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch \
@@ -16,6 +16,7 @@ SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch \
"
SRC_URI += "file://klibc-linux-libc-dev.patch \
file://staging.patch \
+ file://klcc-consider-sysroot.patch \
"
S = "${WORKDIR}/git"
@@ -23,6 +24,7 @@ S = "${WORKDIR}/git"
EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'CROSS_COMPILE=${TARGET_PREFIX}' \
'KLIBCKERNELSRC=${STAGING_DIR_TARGET}${exec_prefix}' \
+ 'KLIBCLIBGCC=${STAGING_DIR_TARGET}${libdir}/${TARGET_SYS}/*/libgcc.a' \
'prefix=${exec_prefix}' \
'INSTALLROOT=${D}' \
'SHLIBDIR=${libdir}' \
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc_2.0.3.bb b/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb
index bc80f382fe..bc80f382fe 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc_2.0.3.bb
+++ b/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch
new file mode 100644
index 0000000000..9d5e4ebf07
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch
@@ -0,0 +1,87 @@
+From c4e6bd9378645d577e9d9f85da85f1438afe7c50 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:32:29 +0200
+Subject: [PATCH 1/6] Makefile: build ubi-utils only
+
+We build all the static ubi-utils but actually only ubiattach is needed in
+a minimalistic initramfs for the mount of ubi volumes.
+
+More fixes are needed in order to build the full mtd-utils.
+The first issue is:
+
+| mkfs.jffs2.c:64:20: fatal error: libgen.h: No such file or directory
+| #include <libgen.h>
+
+Removing the include then the second error is:
+
+| mkfs.jffs2.c:1570:22: error: '_SC_PAGESIZE' undeclared
+| (first use in this function)
+| page_size = sysconf(_SC_PAGESIZE);
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ Makefile | 24 ++----------------------
+ 1 file changed, 2 insertions(+), 22 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index eade234..2275865 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,28 +16,13 @@ endif
+
+ TESTS = tests
+
+-MTD_BINS = \
+- ftl_format flash_erase nanddump doc_loadbios \
+- ftl_check mkfs.jffs2 flash_lock flash_unlock \
+- flash_otp_info flash_otp_dump flash_otp_lock flash_otp_write \
+- mtd_debug flashcp nandwrite nandtest \
+- jffs2dump \
+- nftldump nftl_format docfdisk \
+- rfddump rfdformat \
+- serve_image recv_image \
+- sumtool jffs2reader
+ UBI_BINS = \
+ ubiupdatevol ubimkvol ubirmvol ubicrc32 ubinfo ubiattach \
+ ubidetach ubinize ubiformat ubirename mtdinfo ubirsvol ubiblock
+
+-BINS = $(MTD_BINS)
+-BINS += mkfs.ubifs/mkfs.ubifs
+-BINS += $(addprefix ubi-utils/,$(UBI_BINS))
+-SCRIPTS = flash_eraseall
++BINS = $(addprefix ubi-utils/,$(UBI_BINS))
+
+ TARGETS = $(BINS)
+-TARGETS += lib/libmtd.a
+-TARGETS += ubi-utils/libubi.a
+
+ OBJDEPS = $(BUILDDIR)/include/version.h
+
+@@ -61,12 +46,9 @@ endif
+ rm -f $(BUILDDIR)/include/version.h
+ $(MAKE) -C $(TESTS) clean
+
+-install:: $(addprefix $(BUILDDIR)/,${BINS}) ${SCRIPTS}
++install:: $(addprefix $(BUILDDIR)/,${BINS})
+ mkdir -p ${DESTDIR}/${SBINDIR}
+ install -m 0755 $^ ${DESTDIR}/${SBINDIR}/
+- mkdir -p ${DESTDIR}/${MANDIR}/man1
+- install -m 0644 mkfs.jffs2.1 ${DESTDIR}/${MANDIR}/man1/
+- -gzip -9f ${DESTDIR}/${MANDIR}/man1/*.1
+
+ tests::
+ $(MAKE) -C $(TESTS)
+@@ -91,8 +73,6 @@ LDLIBS_mkfs.jffs2 = -lz $(LZOLDLIBS)
+ LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
+ LDLIBS_jffs2reader = -lz $(LZOLDLIBS)
+
+-$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v))))
+-
+ #
+ # Common libmtd
+ #
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch
new file mode 100644
index 0000000000..f46824b5cd
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch
@@ -0,0 +1,27 @@
+From f3609c7c0450b4c31e1d4603fcf2cfb1ba46f994 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:37:28 +0200
+Subject: [PATCH 2/6] common.mk: for klibc $(CC) is klcc
+
+Do not hardcode: assign the value to the variable if it is not already defined.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ common.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/common.mk b/common.mk
+index ba87377..59c56df 100644
+--- a/common.mk
++++ b/common.mk
+@@ -1,4 +1,4 @@
+-CC := $(CROSS)gcc
++CC ?= $(CROSS)gcc
+ AR := $(CROSS)ar
+ RANLIB := $(CROSS)ranlib
+
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch
new file mode 100644
index 0000000000..962b3685f3
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch
@@ -0,0 +1,76 @@
+From 72a39bb3290a79e76b0dbf59eef83ea2d9b577a1 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:40:15 +0200
+Subject: [PATCH 3/6] libubi.c: add klibc specific fixes for ioctl
+
+First issue is that ioctl() in klibc doesn't expect a constant as arg3.
+Second issue is that arg3 in klibc ioctl() implementation is not optional.
+
+Fixes:
+
+| ubi-utils/libubi.c: In function 'do_attach':
+| ubi-utils/libubi.c:698:8: warning: passing argument 3 of 'ioctl' discards
+| 'const' qualifier from pointer target type
+| ret = ioctl(fd, UBI_IOCATT, r);
+| ^
+| In file included from ubi-utils/libubi.c:32:0:
+| .../lib/klibc/include/sys/ioctl.h:15:14: note: expected 'void *' but argument
+| is of type 'const struct ubi_attach_req *'
+| __extern int ioctl(int, int, void *);
+| ^
+
+| ubi-utils/libubi.c: In function 'ubi_vol_block_create':
+| ubi-utils/libubi.c:1118:9: error: too few arguments to function 'ioctl'
+| return ioctl(fd, UBI_IOCVOLCRBLK);
+| ^
+| In file included from ubi-utils/libubi.c:32:0:
+| .../lib/klibc/include/sys/ioctl.h:15:14: note: declared here
+| __extern int ioctl(int, int, void *);
+| ^
+| ubi-utils/libubi.c: In function 'ubi_vol_block_remove':
+| ubi-utils/libubi.c:1123:9: error: too few arguments to function 'ioctl'
+| return ioctl(fd, UBI_IOCVOLRMBLK);
+| ^
+| In file included from ubi-utils/libubi.c:32:0:
+| .../usr/lib/klibc/include/sys/ioctl.h:15:14: note: declared here
+| __extern int ioctl(int, int, void *);
+| ^
+
+Upstream-Status: Inappropriate [klibc specific]
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ ubi-utils/libubi.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ubi-utils/libubi.c b/ubi-utils/libubi.c
+index 1e08b7d..491e525 100644
+--- a/ubi-utils/libubi.c
++++ b/ubi-utils/libubi.c
+@@ -687,7 +687,7 @@ void libubi_close(libubi_t desc)
+ * success and %-1 in case of failure. @r->ubi_num contains newly created UBI
+ * device number.
+ */
+-static int do_attach(const char *node, const struct ubi_attach_req *r)
++static int do_attach(const char *node, struct ubi_attach_req *r)
+ {
+ int fd, ret;
+
+@@ -1115,12 +1115,12 @@ int ubi_rsvol(libubi_t desc, const char *node, int vol_id, long long bytes)
+
+ int ubi_vol_block_create(int fd)
+ {
+- return ioctl(fd, UBI_IOCVOLCRBLK);
++ return ioctl(fd, UBI_IOCVOLCRBLK, NULL);
+ }
+
+ int ubi_vol_block_remove(int fd)
+ {
+- return ioctl(fd, UBI_IOCVOLRMBLK);
++ return ioctl(fd, UBI_IOCVOLRMBLK, NULL);
+ }
+
+ int ubi_update_start(libubi_t desc, int fd, long long bytes)
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch
new file mode 100644
index 0000000000..fee1cbcf90
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch
@@ -0,0 +1,84 @@
+From e56767b9caa02e7c41803499c77dc939d5a7f64a Mon Sep 17 00:00:00 2001
+From: Thorsten Glaser <tg@mirbsd.org>
+Date: Fri, 20 Jun 2014 10:56:27 +0000
+Subject: [PATCH 4/6] Restore compatibility to dietlibc, klibc, musl libc after commit 4f1b108
+
+Each C library has their own way to define off_t, and the <features.h>
+header is nonstandard and specific to the GNU libc and those that clone
+it (uClibc). Fefe’s dietlibc uses different flags, and klibc always uses
+a 64-bit off_t (like the BSDs); musl libc cannot be recognised using cpp
+instructions, so we assume 64 bit there (and on unknown C libraries) and
+leave it to the user to submit a follow-up fix if we guess wrong. I also
+added a static assertion to verify the 64 bit guess is correct.
+
+It would be really better using a configure script for this instead.
+
+Fixes:
+| CC lib/libmtd.o
+| In file included from ubi-utils/ubiutils-common.c:35:0:
+| ./include/common.h:29:22: fatal error: features.h: No such file or directory
+| #include <features.h>
+| ^
+| compilation terminated.
+
+Upstream-Status: Pending
+
+Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ include/common.h | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/include/common.h b/include/common.h
+index 6895e5c..77f3f7d 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -26,7 +26,9 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <errno.h>
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ #include <features.h>
++#endif
+ #include <inttypes.h>
+ #include "version.h"
+
+@@ -52,6 +54,21 @@ extern "C" {
+ #endif
+
+ /* define a print format specifier for off_t */
++#if defined(__KLIBC__)
++/* always 64 bit on klibc */
++#define PRIxoff_t PRIx64
++#define PRIdoff_t PRId64
++#elif defined(__dietlibc__)
++/* depends on compiler flags on dietlibc */
++#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
++#define PRIxoff_t PRIx64
++#define PRIdoff_t PRId64
++#else
++#define PRIxoff_t "l"PRIx32
++#define PRIdoff_t "l"PRId32
++#endif
++#elif defined(__GLIBC__) || defined(__UCLIBC__)
++/* depends on compiler flags on glibc and uClibc */
+ #ifdef __USE_FILE_OFFSET64
+ #define PRIxoff_t PRIx64
+ #define PRIdoff_t PRId64
+@@ -59,6 +76,13 @@ extern "C" {
+ #define PRIxoff_t "l"PRIx32
+ #define PRIdoff_t "l"PRId32
+ #endif
++#else
++/* unknown libc or musl */
++#define PRIxoff_t PRIx64
++#define PRIdoff_t PRId64
++/* verify our guess of 64 bit is correct */
++static char __PRIxoff_t_static_assert[sizeof(off_t) == 8 ? 1 : -1];
++#endif
+
+ /* Verbose messages */
+ #define bareverbose(verbose, fmt, ...) do { \
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch
new file mode 100644
index 0000000000..2e43d5d974
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch
@@ -0,0 +1,61 @@
+From 8318852ef4f768bed31072aa7b57e11adc1f639c Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:44:03 +0200
+Subject: [PATCH 5/6] common.h: more workarounds for klibc compatibility
+
+Patch is addressing two issues:
+* First, Klibc doesn't have rpmatch().
+* Second, Klibc lacks getline()
+
+Fixes:
+| LD ubi-utils/ubiformat
+| .../git/ubi-utils/ubiformat.o: In function `prompt':
+| .../git/./include/common.h:157: undefined reference to `getline'
+| .../git/./include/common.h:164: undefined reference to `rpmatch'
+| .../git/./include/common.h:157: undefined reference to `getline'
+| .../git/./include/common.h:164: undefined reference to `rpmatch'
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ include/common.h | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/include/common.h b/include/common.h
+index 77f3f7d..2cbee0f 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -126,7 +126,7 @@ static char __PRIxoff_t_static_assert[sizeof(off_t) == 8 ? 1 : -1];
+ fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \
+ } while(0)
+
+-#if defined(__UCLIBC__)
++#if defined(__UCLIBC__) || defined(__KLIBC__)
+ /* uClibc versions before 0.9.34 don't have rpmatch() */
+ #if __UCLIBC_MAJOR__ == 0 && \
+ (__UCLIBC_MINOR__ < 9 || \
+@@ -146,15 +146,17 @@ static inline int __rpmatch(const char *resp)
+ */
+ static inline bool prompt(const char *msg, bool def)
+ {
+- char *line = NULL;
+- size_t len;
++ char *line;
+ bool ret = def;
+
++ const int sizeof_line = 2;
++ line = malloc(sizeof_line);
++
+ do {
+ normsg_cont("%s (%c/%c) ", msg, def ? 'Y' : 'y', def ? 'n' : 'N');
+ fflush(stdout);
+
+- while (getline(&line, &len, stdin) == -1) {
++ while (fgets(line, sizeof_line, stdin) == NULL) {
+ printf("failed to read prompt; assuming '%s'\n",
+ def ? "yes" : "no");
+ break;
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch
new file mode 100644
index 0000000000..043a89d67e
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch
@@ -0,0 +1,85 @@
+From 72a04a9b9ed33c889d2e2b86f306c5be9f6cde35 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:44:57 +0200
+Subject: [PATCH 6/6] libiniparser: remove unused function needing float
+
+Fixes:
+| LD ubi-utils/ubiformat
+| .../git/ubi-utils/libiniparser.a(libiniparser.o): In function
+| ` LD ubi-utils/ubirename
+| iniparser_getdouble':
+| .../git/ubi-utils/libiniparser.c:336: undefined reference to `atof'
+
+Grep doesn't reveal any occurrence of iniparser_getdouble(), using atof() so
+remove it: floating-point is not supported in klibc
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ ubi-utils/include/libiniparser.h | 15 ---------------
+ ubi-utils/libiniparser.c | 22 ----------------------
+ 2 files changed, 37 deletions(-)
+
+diff --git a/ubi-utils/include/libiniparser.h b/ubi-utils/include/libiniparser.h
+index be3c667..abd77aa 100644
+--- a/ubi-utils/include/libiniparser.h
++++ b/ubi-utils/include/libiniparser.h
+@@ -158,21 +158,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound);
+
+ /*-------------------------------------------------------------------------*/
+ /**
+- @brief Get the string associated to a key, convert to a double
+- @param d Dictionary to search
+- @param key Key string to look for
+- @param notfound Value to return in case of error
+- @return double
+-
+- This function queries a dictionary for a key. A key as read from an
+- ini file is given as "section:key". If the key cannot be found,
+- the notfound value is returned.
+- */
+-/*--------------------------------------------------------------------------*/
+-double iniparser_getdouble(dictionary * d, char * key, double notfound);
+-
+-/*-------------------------------------------------------------------------*/
+-/**
+ @brief Get the string associated to a key, convert to a boolean
+ @param d Dictionary to search
+ @param key Key string to look for
+diff --git a/ubi-utils/libiniparser.c b/ubi-utils/libiniparser.c
+index 898f57f..ba70c08 100644
+--- a/ubi-utils/libiniparser.c
++++ b/ubi-utils/libiniparser.c
+@@ -316,28 +316,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound)
+
+ /*-------------------------------------------------------------------------*/
+ /**
+- @brief Get the string associated to a key, convert to a double
+- @param d Dictionary to search
+- @param key Key string to look for
+- @param notfound Value to return in case of error
+- @return double
+-
+- This function queries a dictionary for a key. A key as read from an
+- ini file is given as "section:key". If the key cannot be found,
+- the notfound value is returned.
+- */
+-/*--------------------------------------------------------------------------*/
+-double iniparser_getdouble(dictionary * d, char * key, double notfound)
+-{
+- char * str ;
+-
+- str = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (str==INI_INVALID_KEY) return notfound ;
+- return atof(str);
+-}
+-
+-/*-------------------------------------------------------------------------*/
+-/**
+ @brief Get the string associated to a key, convert to a boolean
+ @param d Dictionary to search
+ @param key Key string to look for
+--
+1.9.1
+
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch
deleted file mode 100644
index b7dad878bd..0000000000
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch
+++ /dev/null
@@ -1,53 +0,0 @@
---- a/Makefile 2012-05-01 19:46:47.000000000 +0200
-+++ b/Makefile 2012-05-01 19:48:01.000000000 +0200
-@@ -16,27 +16,13 @@
-
- TESTS = tests
-
--MTD_BINS = \
-- ftl_format flash_erase nanddump doc_loadbios \
-- ftl_check mkfs.jffs2 flash_lock flash_unlock \
-- flash_otp_info flash_otp_dump mtd_debug flashcp nandwrite nandtest \
-- jffs2dump \
-- nftldump nftl_format docfdisk \
-- rfddump rfdformat \
-- serve_image recv_image \
-- sumtool jffs2reader
- UBI_BINS = \
- ubiupdatevol ubimkvol ubirmvol ubicrc32 ubinfo ubiattach \
- ubidetach ubinize ubiformat ubirename mtdinfo ubirsvol
-
--BINS = $(MTD_BINS)
--BINS += mkfs.ubifs/mkfs.ubifs
--BINS += $(addprefix ubi-utils/,$(UBI_BINS))
--SCRIPTS = flash_eraseall
-+BINS = $(addprefix ubi-utils/,$(UBI_BINS))
-
- TARGETS = $(BINS)
--TARGETS += lib/libmtd.a
--TARGETS += ubi-utils/libubi.a
-
- OBJDEPS = $(BUILDDIR)/include/version.h
-
-@@ -58,12 +44,9 @@
- rm -f $(BUILDDIR)/include/version.h
- $(MAKE) -C $(TESTS) clean
-
--install:: $(addprefix $(BUILDDIR)/,${BINS}) ${SCRIPTS}
-+install:: $(addprefix $(BUILDDIR)/,${BINS})
- mkdir -p ${DESTDIR}/${SBINDIR}
- install -m 0755 $^ ${DESTDIR}/${SBINDIR}/
-- mkdir -p ${DESTDIR}/${MANDIR}/man1
-- install -m 0644 mkfs.jffs2.1 ${DESTDIR}/${MANDIR}/man1/
-- -gzip -9f ${DESTDIR}/${MANDIR}/man1/*.1
-
- tests::
- $(MAKE) -C $(TESTS)
-@@ -88,7 +71,6 @@
- LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
- LDLIBS_jffs2reader = -lz $(LZOLDLIBS)
-
--$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v))))
-
- #
- # Common libmtd
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch
deleted file mode 100644
index 0a48416c06..0000000000
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/common.mk 2012-04-29 18:15:30.000000000 +0200
-+++ b/common.mk 2012-04-29 00:51:53.000000000 +0200
-@@ -1,4 +1,4 @@
--CC := $(CROSS)gcc
-+CC := $(CROSS)klcc
- AR := $(CROSS)ar
- RANLIB := $(CROSS)ranlib
-
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch
deleted file mode 100644
index 45f2439c8a..0000000000
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/ubi-utils/libiniparser.c 2012-05-29 23:46:08.000000000 +0200
-+++ b/ubi-utils/libiniparser.c 2012-05-29 23:45:01.000000000 +0200
-@@ -327,6 +327,8 @@
- the notfound value is returned.
- */
- /*--------------------------------------------------------------------------*/
-+/* Floating-point is not supported in klibc */
-+/*
- double iniparser_getdouble(dictionary * d, char * key, double notfound)
- {
- char * str ;
-@@ -335,6 +337,7 @@
- if (str==INI_INVALID_KEY) return notfound ;
- return atof(str);
- }
-+*/
-
- /*-------------------------------------------------------------------------*/
- /**
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch
deleted file mode 100644
index b52e207898..0000000000
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/ubi-utils/libubi.c 2012-05-01 01:57:51.000000000 +0200
-+++ b/ubi-utils/libubi.c 2012-05-01 01:55:14.000000000 +0200
-@@ -686,7 +706,7 @@
- * success and %-1 in case of failure. @r->ubi_num contains newly created UBI
- * device number.
- */
--static int do_attach(const char *node, const struct ubi_attach_req *r)
-+static int do_attach(const char *node, struct ubi_attach_req *r)
- {
- int fd, ret;
-
-@@ -1346,13 +1346,13 @@
-
- int ubi_set_property(int fd, uint8_t property, uint64_t value)
- {
-- struct ubi_set_prop_req r;
-+ struct ubi_set_vol_prop_req r;
-
-- memset(&r, 0, sizeof(struct ubi_set_prop_req));
-+ memset(&r, 0, sizeof(struct ubi_set_vol_prop_req));
- r.property = property;
- r.value = value;
-
-- return ioctl(fd, UBI_IOCSETPROP, &r);
-+ return ioctl(fd, UBI_IOCSETVOLPROP, &r);
- }
-
- int ubi_leb_unmap(int fd, int lnum)
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch
deleted file mode 100644
index d21ed577b1..0000000000
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/ubi-utils/ubiformat.c 2012-05-03 01:14:39.000000000 +0200
-+++ b/ubi-utils/ubiformat.c 2012-05-20 23:11:57.000000000 +0200
-@@ -246,7 +246,7 @@
-
- while (1) {
- normsg_cont("continue? (yes/no) ");
-- if (scanf("%3s", buf) == EOF) {
-+ if (fgets(buf,4,stdin) == NULL) {
- sys_errmsg("scanf returned unexpected EOF, assume \"yes\"");
- return 1;
- }
-@@ -262,7 +262,7 @@
- char buf[4];
-
- while (1) {
-- if (scanf("%3s", buf) == EOF) {
-+ if (fgets(buf,4,stdin) == NULL) {
- sys_errmsg("scanf returned unexpected EOF, assume \"no\"");
- return 0;
- }
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.0.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb
index 134dd80f07..8ca1ca727d 100644
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.0.bb
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb
@@ -7,16 +7,16 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
-
inherit klibc
-SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=ca39eb1d98e736109c64ff9c1aa2a6ecca222d8f \
- file://Makefile.patch \
- file://common.mk.patch \
- file://libubi.c.patch \
- file://libiniparser.c.patch \
- file://ubiformat.c.patch \
-"
+SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=b7455d847ab4f9eeeb6a729efc306bfda7bddc99 \
+ file://0001-Makefile-only-build-ubi-utils.patch \
+ file://0002-common.mk-for-klibc-CC-is-klcc.patch \
+ file://0003-libubi.c-add-klibc-specific-fixes.patch \
+ file://0004-common.h-klibc-fixes-1.patch \
+ file://0005-common.h-klibc-fixes-2.patch \
+ file://0006-libiniparser-remove-unused-function-needing-float.patch \
+ "
S = "${WORKDIR}/git/"
@@ -31,19 +31,20 @@ do_install () {
PACKAGES = "ubi-utils-klibc-dbg"
-PACKAGES =+ "ubinfo-klibc ubiattach-klibc ubidetach-klibc mtdinfo-klibc ubiupdatevol-klibc \
- ubimkvol-klibc ubirename-klibc ubirmvol-klibc ubirsvol-klibc \
- ubinize-klibc ubiformat-klibc ubicrc32-klibc"
+PACKAGES =+ "mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubidetach-klibc \
+ ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \
+ ubirmvol-klibc ubirsvol-klibc ubiupdatevol-klibc"
-FILES_ubinfo-klibc = "${sbindir}/ubinfo"
+FILES_mtdinfo-klibc = "${sbindir}/mtdinfo"
FILES_ubiattach-klibc = "${sbindir}/ubiattach"
+FILES_ubiblock-klibc = "${sbindir}/ubiblock"
+FILES_ubicrc32-klibc = "${sbindir}/ubicrc32"
FILES_ubidetach-klibc = "${sbindir}/ubidetach"
-FILES_mtdinfo-klibc = "${sbindir}/mtdinfo"
-FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol"
+FILES_ubiformat-klibc = "${sbindir}/ubiformat"
FILES_ubimkvol-klibc = "${sbindir}/ubimkvol"
+FILES_ubinfo-klibc = "${sbindir}/ubinfo"
+FILES_ubinize-klibc = "${sbindir}/ubinize"
FILES_ubirename-klibc = "${sbindir}/ubirename"
FILES_ubirmvol-klibc = "${sbindir}/ubirmvol"
FILES_ubirsvol-klibc = "${sbindir}/ubirsvol"
-FILES_ubinize-klibc = "${sbindir}/ubinize"
-FILES_ubiformat-klibc = "${sbindir}/ubiformat"
-FILES_ubicrc32-klibc = "${sbindir}/ubicrc32"
+FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol"
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch
new file mode 100644
index 0000000000..ccbb24d0db
--- /dev/null
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch
@@ -0,0 +1,54 @@
+From 37737527725e465833be649101c4a6f8352c5d5e Mon Sep 17 00:00:00 2001
+From: Tyler Hall <tylerwhall@gmail.com>
+Date: Tue, 7 Feb 2012 18:50:05 -0500
+Subject: Fix out-of-tree build
+
+Use automatic variables for prerequisites when copying man pages and
+include a makefile relative to $(srcdir).
+
+Backported to 2.0.2-klibc
+
+Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
+Signed-off-by: Simon Horman <horms@verge.net.au>
+
+diff --git a/kdump/Makefile b/kdump/Makefile
+index 1e2b72c..5dfa928 100644
+--- a/kdump/Makefile
++++ b/kdump/Makefile
+@@ -22,7 +22,7 @@ $(KDUMP): $(KDUMP_OBJS)
+
+ $(KDUMP_MANPAGE): kdump/kdump.8
+ $(MKDIR) -p $(MANDIR)/man8
+- cp kdump/kdump.8 $(KDUMP_MANPAGE)
++ cp $^ $(KDUMP_MANPAGE)
+ echo::
+ @echo "KDUMP_SRCS $(KDUMP_SRCS)"
+ @echo "KDUMP_DEPS $(KDUMP_DEPS)"
+diff --git a/kexec/Makefile b/kexec/Makefile
+index 2137cab..8c815b5 100644
+--- a/kexec/Makefile
++++ b/kexec/Makefile
+@@ -82,7 +82,7 @@ $(KEXEC): CPPFLAGS+=-I$(srcdir)/kexec/arch/$(ARCH)/include
+
+ $(KEXEC_MANPAGE): kexec/kexec.8
+ @$(MKDIR) -p $(MANDIR)/man8
+- cp kexec/kexec.8 $(KEXEC_MANPAGE)
++ cp $^ $(KEXEC_MANPAGE)
+ echo::
+ @echo "KEXEC_SRCS $(KEXEC_SRCS)"
+ @echo "KEXEC_DEPS $(KEXEC_DEPS)"
+diff --git a/kexec/arch/ppc/Makefile b/kexec/arch/ppc/Makefile
+index 3dba7cf..41242a5 100644
+--- a/kexec/arch/ppc/Makefile
++++ b/kexec/arch/ppc/Makefile
+@@ -1,7 +1,7 @@
+ #
+ # kexec ppc (linux booting linux)
+ #
+-include kexec/arch/ppc/libfdt/Makefile.libfdt
++include $(srcdir)/kexec/arch/ppc/libfdt/Makefile.libfdt
+
+ ppc_KEXEC_SRCS = kexec/arch/ppc/kexec-ppc.c
+ ppc_KEXEC_SRCS += kexec/arch/ppc/kexec-elf-ppc.c
+
+
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch
index 200fb1dd9e..77a1c01a1c 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch
@@ -11,4 +11,4 @@
+ "entry: %s\n", strrchr(sysfs_name,'/') + 1);
return -1;
}
- \ No newline at end of file
+
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch
index 14f4d2ada9..cad6951547 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch
@@ -16,7 +16,7 @@
- retno = vfscanf(fp, scanf_line, argptr);
+
+ line = xmalloc(sizeof(line) * line_size);
-+ while(fgets(line, sizeof(line), fp) != 0 ) {
++ while(fgets(line, sizeof(line), fp) != NULL ) {
+ line_size += MAX_LINE;
+ line = xrealloc(line,line_size);
+ }
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 b1b6ffca49..d5b7bbe9c7 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
@@ -17,6 +17,7 @@ SRC_URI += " \
file://purgatory_string.patch \
file://sha256.patch \
file://sysconf_nrprocessors.patch \
+ file://fix-out-of-tree-build.patch \
"
SRC_URI_append_arm = " file://arm_crashdump.patch"
diff --git a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb
index 8c7f7177e9..a823e0fb31 100644
--- a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb
+++ b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb
@@ -13,6 +13,7 @@ INITRAMFS_TASK = "${INITRAMFS_IMAGE}:do_rootfs"
# disable unneeded tasks
do_install[noexec] = "1"
do_package[noexec] = "1"
+do_package_qa[noexec] = "1"
do_packagedata[noexec] = "1"
do_package_deb[noexec] = "1"
do_package_ipk[noexec] = "1"
diff --git a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb
new file mode 100644
index 0000000000..f3296c7e86
--- /dev/null
+++ b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb
@@ -0,0 +1,26 @@
+require recipes-kernel/linux/linux-yocto-tiny_3.17.bb
+SUMMARY = "Yocto tiny kernel embedding a minimalistic kexecboot initramfs"
+
+PACKAGES = ""
+PROVIDES = ""
+
+KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-yocto-tiny-kexecboot-${PV}-${MACHINE}"
+KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-yocto-tiny-kexecboot-${MACHINE}"
+
+INITRAMFS_IMAGE = "initramfs-kexecboot-klibc-image"
+INITRAMFS_TASK = "${INITRAMFS_IMAGE}:do_rootfs"
+
+# disable unneeded tasks
+do_install[noexec] = "1"
+do_package[noexec] = "1"
+do_package_qa[noexec] = "1"
+do_packagedata[noexec] = "1"
+do_package_deb[noexec] = "1"
+do_package_ipk[noexec] = "1"
+do_package_rpm[noexec] = "1"
+do_package_tar[noexec] = "1"
+do_package_write_deb[noexec] = "1"
+do_package_write_ipk[noexec] = "1"
+do_package_write_rpm[noexec] = "1"
+do_package_write_tar[noexec] = "1"
+do_populate_sysroot[noexec] = "1"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.12.2.1.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.12.2.1.bb
deleted file mode 100644
index 29cc721c55..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.12.2.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require gssdp.inc
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.12/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "8ac3a544ef0dcf8caaf7c249d2a50dc2"
-SRC_URI[sha256sum] = "928aa257815d044fdbfc740f5799530d41897947b5d7854173f636b36d728414"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.13.2.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.13.2.bb
deleted file mode 100644
index c308fa01a9..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.13.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require gssdp.inc
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.13/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "758ed423cdd258a9a22d59c321b535ed"
-SRC_URI[sha256sum] = "8f663f8a72b66254f5c20a3610ff853ac8d00bf6f253828e37e51579caa34dce"
-
-# This is a development release so don't prefer it
-DEFAULT_PREFERENCE = "-1"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb
new file mode 100644
index 0000000000..9457abc5c2
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb
@@ -0,0 +1,9 @@
+require gssdp.inc
+
+inherit gtk-doc
+
+PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3"
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/0.14/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "b8658e480d047caf2d92baa4a51b9ae7"
+SRC_URI[sha256sum] = "4c3ffa01435e84dc31c954e669e1ca0749b962f76a333e74f5c2cb0de5803a13"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.10.3.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.10.3.bb
deleted file mode 100644
index 5f8e73a076..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.10.3.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require gupnp-av.inc
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.10/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "2c57e56b201765b2297946d8d99bd01c"
-SRC_URI[sha256sum] = "d0dbb727d87bc9f2dc834455d14a30700b16b41a57e9dcde2e822b378ca8f1e2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=d344132a8766641fcb11213ff5982086"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.11.6.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.11.6.bb
deleted file mode 100644
index b402dd84d5..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.11.6.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require gupnp-av.inc
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.11/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "ee200393207323f0b594f11d6184556c"
-SRC_URI[sha256sum] = "401991336babb18c4ebed16e75e0b4d3e5848cff7bb878bbfd54a5d15203c4cc"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820"
-
-DEFAULT_PREFERENCE = "-1"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb
new file mode 100644
index 0000000000..b8cfa27d4a
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb
@@ -0,0 +1,8 @@
+require gupnp-av.inc
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/0.12/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "f56cdb269376a9e6cb062eb9960ccf57"
+SRC_URI[sha256sum] = "e0553d60dd7c7277c65c02a68a270c4dcb9036a4c7075c902fc8111c6a5e6a44"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc b/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc
index b63f2232dd..e23ba684a5 100644
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc
@@ -13,6 +13,8 @@ inherit autotools pkgconfig
FILES_${PN} = "${libdir}/*.so.*"
FILES_${PN}-dev += "${bindir}/gupnp-binding-tool"
+RRECOMMENDS_${PN}-dev = "python"
+
SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess"
gupnp_sysroot_preprocess () {
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.18.4.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.18.4.bb
deleted file mode 100644
index 4fb1d05e29..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.18.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require gupnp.inc
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.18/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "0e15fa26be7b1a0255e6dec07c285527"
-SRC_URI[sha256sum] = "6b437d5711b212292c6080626b97480268310da636a6cf937ad6119291af78a1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp/gupnp.h;beginline=1;endline=20;md5=28c49b17d623afc3335efc2e511879e1"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.19.3.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.19.3.bb
deleted file mode 100644
index bab74b8578..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.19.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require gupnp.inc
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.19/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "8165c3ad3d16576a0a99250b75df23f8"
-SRC_URI[sha256sum] = "0d3097c419e1f8af0ff8ee91318d75e8896b3b92924cb1a5cf93010795a7118b"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520"
-
-DEFAULT_PREFERENCE = "-1"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb
new file mode 100644
index 0000000000..c8c6164c3b
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb
@@ -0,0 +1,8 @@
+require gupnp.inc
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/0.20/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "c01aa6d3a78792b3a24591f036dd91f4"
+SRC_URI[sha256sum] = "205d47b950a1b7190df1115f454cb38a44d71aacfec75d4287299e400e139b69"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520"
diff --git a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
index ab74cc4262..c4a4d99a46 100644
--- a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
+++ b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.streamboard.tv/oscam/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "libusb1 openssl"
+DEPENDS = "libusb1 openssl pcsc-lite"
SRC_URI = "svn://www.streamboard.tv/svn/oscam;module=trunk;protocol=http"
SRCREV = "9164"
@@ -14,5 +14,5 @@ S = "${WORKDIR}/trunk"
inherit cmake
-EXTRA_OECMAKE = "-DDEFAULT_CS_CONFDIR=${sysconfdir}"
+EXTRA_OECMAKE = "-DDEFAULT_CS_CONFDIR=${sysconfdir} -DCMAKE_BUILD_TYPE=Debug"
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
index 4b65152db5..17db7b51e8 100644
--- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
+++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
@@ -10,7 +10,7 @@ DEPENDS = "libusb1 libcec libplist expat yajl gperf-native libxmu fribidi mpeg2d
SRCREV = "82388d55dae79cbb2e486e307e23202e76a43efa"
# multiple issues
-PNBLACKLIST[xbmc] = "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared"
+PNBLACKLIST[xbmc] ?= "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared"
PV = "11.0+gitr${SRCPV}"
PR = "r14"
diff --git a/meta-multimedia/recipes-mkv/libebml/libebml_1.2.2.bb b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
index eafbdb333f..877e176b86 100644
--- a/meta-multimedia/recipes-mkv/libebml/libebml_1.2.2.bb
+++ b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
@@ -3,8 +3,8 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=f14599a2f089f6ff8c97e2baa4e3d575"
SRC_URI = "http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2"
-SRC_URI[md5sum] = "726cc2bd1a525929ff35ff9854c0ebab"
-SRC_URI[sha256sum] = "476b08c6436a96c024a53e788e7c945ce9b41cd8654165763444aa7e5245b7a5"
+SRC_URI[md5sum] = "efec729bf5a51e649e1d9d1f61c0ae7a"
+SRC_URI[sha256sum] = "83b074d6b62715aa0080406ea84d33df2e44b5d874096640233a4db49b8096de"
do_compile() {
cd ${S}/make/linux
diff --git a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.3.0.bb b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
index cedd283b13..95ea93dbe6 100644
--- a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.3.0.bb
+++ b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
@@ -1,12 +1,12 @@
SUMMARY = "libmatroska is a C++ libary to parse Matroska files (.mkv and .mka)"
LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=f14599a2f089f6ff8c97e2baa4e3d575"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "libebml"
SRC_URI = "http://dl.matroska.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "f4a8c411f09d39c754eb726efd616043"
-SRC_URI[sha256sum] = "5231ec958571365e719a6fd3c220227af6cf0f14e0bd1bcf766ddbc068d18e69"
+SRC_URI[md5sum] = "f61b2e5086f4bb9d24a43cc8af43a719"
+SRC_URI[sha256sum] = "086f21873e925679babdabf793c3bb85c353d0cd79423543a3355e08e8a4efb7"
do_compile() {
cd ${S}/make/linux
diff --git a/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_5.9.0.bb b/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb
index 3b8eb3252b..dd613b31f0 100644
--- a/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_5.9.0.bb
+++ b/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb
@@ -6,11 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "curl boost expat zlib libebml libmatroska libogg libvorbis bzip2 lzo file ruby-native"
-SRC_URI = "http://www.bunkus.org/videotools/mkvtoolnix/sources/mkvtoolnix-${PV}.tar.bz2"
-SRC_URI[md5sum] = "033621461ef8eb922fc1366e0a9a6f16"
-SRC_URI[sha256sum] = "d913f531331c3332d2fb334c872ea19bfea7293dfedc4bf33ae7162e4efcbde1"
+PV = "7.1.0+git${SRCPV}"
+SRCREV = "0c89ff941bfdd9f3378312f293a84f13cf3e2a96"
+SRC_URI = "git://github.com/mbunkus/mkvtoolnix.git"
-inherit autotools gettext
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep gettext
# make sure rb files are used from sysroot, not from host
# ruby-1.9.3-always-use-i386.patch is doing target_cpu=`echo $target_cpu | sed s/i.86/i386/`
@@ -26,14 +28,14 @@ EXTRA_OECONF = " --with-boost-libdir=${STAGING_LIBDIR} \
# remove some hardcoded searchpaths
do_configure_prepend() {
- sed -i -e s:/usr/local/lib:${STAGING_LIBDIR}:g -e s:/usr/local/include:${STAGING_INCDIR}:g ac/ebml.m4
+ sed -i -e s:/usr/local/lib:${STAGING_LIBDIR}:g -e s:/usr/local/include:${STAGING_INCDIR}:g ${S}/ac/ebml.m4
}
# Yeah, no makefile
do_compile() {
- ./drake
+ ${S}/drake ${PARALLEL_MAKE}
}
do_install() {
- ./drake install DESTDIR=${D}
+ ${S}/drake install DESTDIR=${D}
}
diff --git a/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb b/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb
index 0311551ef2..a9f52cadb6 100755
--- a/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb
+++ b/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb
@@ -5,7 +5,9 @@ LICENSE = "GPL-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "gtk+ libgnomeui libraw1394 libdc1394 libxv tiff"
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${PN}/coriander-2/${PV}/${P}.tar.gz \
+PNBLACKLIST[coriander] ?= "BROKEN: fails to use SDL probably because libsdl-config was removed, error: unknown type name 'SDL_Overlay'"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/coriander-2/${PV}/${BP}.tar.gz \
file://cross-compile.patch \
"
diff --git a/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb b/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb
index fb0194bc2b..871eb6a9ab 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb
@@ -11,7 +11,7 @@ SRC_URI = "git://github.com/01org/${BPN}.git"
SRCREV = "1996ecbe4a06c95d22f7d958e32e3d28f7a4a2e9"
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools pkgconfig
do_install_append() {
install -d ${D}${bindir}
diff --git a/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb b/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb
index 478b1c7d06..68d59faca9 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb
@@ -5,13 +5,15 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://src/renderer-service-upnp.c;beginline=1;endline=21;md5=c25c3082684eb4ca87474b7528c6dc15"
+PNBLACKLIST[renderer-service-upnp] ?= "BROKEN: doesn't build with B!=S (trying to install rendererconsole.py from ${B} instead of ${S})"
+
DEPENDS = "dbus glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4"
SRC_URI = "git://github.com/01org/${BPN}.git"
SRCREV = "4a0b1d7cd8e22d3cb0e09c77c344ceccbcbbd34f"
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools pkgconfig
do_install_append() {
install -d ${D}${bindir}
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
index 6358613986..b0bc824c5e 100644
--- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
+++ b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
@@ -6,14 +6,18 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e198e9aac94943d0ec29a7dae8c29416"
DEPENDS = "alsa-lib ncurses glib-2.0"
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${PN}/${PN}-${PV}/${PN}-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}/${BP}.tar.gz"
SRC_URI[md5sum] = "ae5aca6de824b4173667cbd3a310b263"
SRC_URI[sha256sum] = "50853391d9ebeda9b4db787efb23f98b1e26b7296dd2bb5d0d96b5bccee2171c"
-inherit autotools pkgconfig lib_package
+inherit autotools-brokensep pkgconfig lib_package
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
PACKAGECONFIG[sndfile] = "--enable-libsndfile-support,--disable-libsndfile-support,libsndfile1"
PACKAGECONFIG[jack] = "--enable-jack-support,--disable-jack-support,jack"
PACKAGECONFIG[pulseaudio] = "--enable-pulse-support,--disable-pulse-support,pulseaudio"
PACKAGECONFIG[portaudio] = "--enable-portaudio-support,--disable-portaudio-support,portaudio"
+
+do_configure_prepend () {
+ rm -f ${S}/m4/*
+}
diff --git a/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
index 5bc77f235c..0ea5cb90ae 100755
--- a/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
+++ b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
@@ -17,6 +17,6 @@ SRC_URI = "git://git.code.sf.net/p/libdc1394/code;branch=master;protocol=git \
S = "${WORKDIR}/git/${PN}"
-inherit autotools pkgconfig
+inherit autotools-brokensep pkgconfig
EXTRA_OECONF += "--disable-doxygen-doc --disable-examples"
diff --git a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.19.0.bb b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb
index dd5c3a44c6..4efdeab6ef 100644
--- a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.19.0.bb
+++ b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb
@@ -6,6 +6,8 @@ HOMEPAGE = "http://mpg123.de/"
BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/"
SECTION = "multimedia"
+DEPENDS = "tslib audiofile"
+
# The options should be mutually exclusive for configuration script.
# If both alsa and pulseaudio are specified (as in the default distro features)
# pulseaudio takes precedence.
@@ -13,19 +15,35 @@ PACKAGECONFIG_ALSA = "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}"
PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio"
PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib"
+PACKAGECONFIG[sdl] = ",,libsdl"
+PACKAGECONFIG[openal] = ",,openal-soft"
+PACKAGECONFIG[jack] = ",,jack"
+PACKAGECONFIG[portaudio] = ",,portaudio-v19"
+PACKAGECONFIG[esd] = ",,esound"
+
+# Following are possible sound output modules
+#alsa tinyalsa oss coreaudio sndio sun win32 win32_wasapi os2 esd jack portaudio pulse sdl nas arts openal dummy
+AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'alsa', 'alsa', '', d)}"
+AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}"
+AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'sdl', 'sdl', '', d)}"
+AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'openal', 'openal', '', d)}"
+AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'jack', 'jack', '', d)}"
+AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'portaudio', 'portaudio', '', d)}"
+AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'esd', 'esd', '', d)}"
LICENSE = "LGPLv2.1"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3"
SRC_URI = "${SOURCEFORGE_MIRROR}/mpg123/mpg123/${PV}/${BP}.tar.bz2"
-SRC_URI[md5sum] = "87731f1437cfd8c50537a606d81130e4"
-SRC_URI[sha256sum] = "869024e01d7cb4dae1aea2f2a10420d4be7e1ac02a9c434d06d727599169b01b"
+SRC_URI[md5sum] = "13a9df5d4e7aa110e4ae27cf30128ce9"
+SRC_URI[sha256sum] = "3ad197f77c9ffdf3601e1c3183ae0709ccb3c3de68309527ce9375fcfb15dcba"
inherit autotools pkgconfig
EXTRA_OECONF = " \
--enable-shared \
+ --with-audio='${AUDIOMODS}' \
--with-module-suffix=.so \
${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch b/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch
new file mode 100644
index 0000000000..4a2b25cdd9
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch
@@ -0,0 +1,10 @@
+--- libmpd-11.8.17/src/libmpd-internal.h.orig 2014-09-30 04:08:50.963292427 +0200
++++ libmpd-11.8.17/src/libmpd-internal.h 2014-09-30 04:08:30.595292223 +0200
+@@ -21,6 +21,7 @@
+ #define __MPD_INTERNAL_LIB_
+
+ #include "libmpdclient.h"
++#include "config.h"
+ struct _MpdData_real;
+
+ typedef struct _MpdData_real {
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
index b340c5a3c4..54d79109df 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
@@ -4,8 +4,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
HOMEPAGE ="http://sourceforge.net/projects/musicpd"
DEPENDS = "glib-2.0"
-SRC_URI = "http://www.musicpd.org/download/${PN}/${PV}/${PN}-${PV}.tar.gz"
+SRC_URI = "http://www.musicpd.org/download/${BPN}/${PV}/${BP}.tar.gz \
+ file://glibc-2.20.patch \
+"
SRC_URI[md5sum] = "5ae3d87467d52aef3345407adb0a2488"
SRC_URI[sha256sum] = "fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83"
-inherit autotools
+inherit autotools pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.18.9.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb
index c3bb581e3d..feec985560 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.18.9.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb
@@ -3,15 +3,14 @@ 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"
+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"
SRC_URI = " \
- http://www.musicpd.org/download/${PN}/stable/${P}.tar.xz \
+ http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \
file://mpd.conf.in \
"
-
-SRC_URI[md5sum] = "0e5156a831d4302d2032998bcfd5c36f"
-SRC_URI[sha256sum] = "0d4d3e6977cb607419abbb14c63d1e2b982acb84cd2be5346f19de5f699a68de"
+SRC_URI[md5sum] = "d235f6e53e5442b6926c49946a303f8d"
+SRC_URI[sha256sum] = "8b3afcd440181c9bd18b229b5974e529d59648344dd371370d6f7d62ec2847c5"
inherit autotools useradd systemd
@@ -49,7 +48,7 @@ do_install_append() {
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "mpd.service"
+SYSTEMD_SERVICE_${PN} = "mpd.service mpd.socket"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = " \
diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
index b956b849ec..ab038a71b4 100644
--- a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
+++ b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
@@ -5,16 +5,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=facc3a8f452930083bbb95d82b989c35"
inherit cmake
-DEPENDS = "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \
- ${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
-"
-
-SRC_URI = "http://kcat.strangesoft.net/openal-releases/${PN}-${PV}.tar.bz2"
+SRC_URI = "http://kcat.strangesoft.net/openal-releases/${BP}.tar.bz2"
SRC_URI[md5sum] = "ea83dec3b9655a27d28e7bc7cae9cd71"
SRC_URI[sha256sum] = "0e29a162f0841ccb4135ce76e92e8a704589b680a85eddf76f898de5236eb056"
-EXTRA_OECMAKE = "-DALSA=${@base_contains('DISTRO_FEATURES', 'alsa', 'TRUE', 'FALSE', d)} \
- -DPULSEAUDIO=${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'TRUE', 'FALSE', d)} \
+PACKAGECONFIG ?= "\
+ ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
+ ${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
"
+PACKAGECONFIG[alsa] = "-DALSA=TRUE, -DALSA=FALSE, alsa-lib"
+PACKAGECONFIG[pulseaudio] = "-DPULSEAUDIO=TRUE, -DPULSEAUDIO=FALSE, pulseaudio"
+# currently doesn't work with libav-9
+# PKG_CHECK_MODULES(FFMPEG libavcodec>=53.61.100 libavformat>=53.32.100 libavutil>=51.35.100)
+# but alffmpeg.c:418:44: error: 'AV_CH_LAYOUT_MONO' undeclared (first use in this function)
+PACKAGECONFIG[examples] = "-DEXAMPLES=TRUE, -DEXAMPLES=FALSE, libav"
FILES_${PN} += "${datadir}/openal"
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch
new file mode 100644
index 0000000000..bb3d8b0efe
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch
@@ -0,0 +1,18 @@
+Make sure libdir (SODIR) is created when running parallel make.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+
+Index: git/librtmp/Makefile
+===================================================================
+--- git.orig/librtmp/Makefile
++++ git/librtmp/Makefile
+@@ -107,6 +107,7 @@ install_base: librtmp.a librtmp.pc
+ cp librtmp.3 $(MANDIR)/man3
+
+ install_so: librtmp.$(SO_EXT)
++ -mkdir -p $(SODIR)
+ cp librtmp.$(SO_EXT) $(SODIR)
+ cd $(SODIR); ln -sf librtmp.$(SO_EXT) librtmp.$(SOX)
+
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
new file mode 100644
index 0000000000..a1e650243f
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
@@ -0,0 +1,22 @@
+SUMMARY = "RTMP Dump"
+DESCRIPTION = "rtmpdump is a toolkit for RTMP streams. All forms of RTMP are \
+supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://."
+HOMEPAGE = "http://rtmpdump.mplayerhq.hu/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "openssl zlib"
+
+SRCREV = "3121324046e4ca1934e7e28293fc8326475d5053"
+SRC_URI = " \
+ git://git.ffmpeg.org/rtmpdump \
+ file://fix-racing-build-issue.patch"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+EXTRA_OEMAKE = " \
+ CC='${CC}' LD='${LD} ${STAGING_LIBDIR}' \
+ SYS=posix INC=-I=/usr/include DESTDIR=${D} \
+ prefix=${prefix} libdir=${libdir} incdir=${includedir}/librtmp bindir=${bindir} mandir=${mandir}"
diff --git a/meta-multimedia/recipes-multimedia/schroedinger/files/configure.ac.patch b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch
index 2ed8d22c6b..2ed8d22c6b 100644
--- a/meta-multimedia/recipes-multimedia/schroedinger/files/configure.ac.patch
+++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch
diff --git a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
index c338903f1e..d38eb94773 100644
--- a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
+++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
@@ -18,5 +18,5 @@ SRC_URI[sha256sum] = "1e572a0735b92aca5746c4528f9bebd35aa0ccf8619b22fa2756137a8c
EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE}"
-inherit autotools pkgconfig
+inherit autotools-brokensep pkgconfig
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 18d77bbdb9..758fec99b7 100644
--- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
+++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
@@ -4,7 +4,7 @@ and can apply different effects and filters to the audio data."
HOMEPAGE = "http://sox.sourceforge.net"
SECTION = "audio"
-DEPENDS = "libpng libav libsndfile1"
+DEPENDS = "libpng libav libsndfile1 libvorbis"
PR = "r2"
diff --git a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.2.13.bb b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb
index 1a316d3fb7..79e64aebda 100644
--- a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.2.13.bb
+++ b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb
@@ -8,5 +8,5 @@ inherit autotools
EXTRA_OECONF = " --disable-doc "
-SRC_URI[md5sum] = "53cfc52a60a156763c425572e5179273"
-SRC_URI[sha256sum] = "84f1bba6cfef1df87f774fceaefc8e73c4cda32e8f6700b224ad0acb5511ba2c"
+SRC_URI[md5sum] = "7f0fdb3ff91d638f5e45ed7536f7eb67"
+SRC_URI[sha256sum] = "7c414acd520c4e4dd7267952f72d738ff50321a7869af4d75c65aefad44f1395"
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/meta-multimedia/recipes-multimedia/vlc/vlc.inc
index 58f5648211..0362f3919d 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc.inc
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc.inc
@@ -5,17 +5,19 @@ SECTION = "multimedia"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "libfribidi libtool libgcrypt gst-plugins-bad virtual/libsdl \
- libsdl-image qt4-x11-free dbus dbus-glib libxml2 gnutls tremor \
- faad2 ffmpeg flac libxpm libxinerama fluidsynth alsa-lib libdvdcss \
- libdvdread lua-native lua libidn libnotify gtk+ gnome-vfs libdc1394 \
- libraw1394 avahi libjpeg-turbo xz libmodplug mpeg2dec \
- libmtp opencv libopus orc libusb1 schroedinger taglib \
+DEPENDS = "libfribidi libtool libgcrypt libgcrypt-native gst-plugins-bad \
+ virtual/libsdl libsdl-image qt4-x11-free dbus dbus-glib libxml2 gnutls \
+ tremor faad2 ffmpeg flac libxpm libxinerama fluidsynth alsa-lib \
+ libdvdcss libdvdread lua-native lua libidn libnotify gtk+ gnome-vfs \
+ libdc1394 libraw1394 avahi libjpeg-turbo xz libmodplug mpeg2dec \
+ libmtp libopus orc libusb1 schroedinger taglib \
tiff xcb-util-keysyms samba"
SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz"
-inherit autotools gettext
+inherit autotools gettext pkgconfig distro_features_check
+# depends on libxinerama libxpm xcb-util-keysyms
+REQUIRED_DISTRO_FEATURES = "x11"
ARM_INSTRUCTION_SET = "arm"
@@ -29,37 +31,37 @@ EXTRA_OECONF = "\
--enable-freetype \
--enable-sdl \
--enable-png \
- --enable-live555 --enable-tremor \
+ --enable-tremor \
--enable-v4l2 --disable-aa --disable-faad \
--enable-dbus \
--without-contrib \
--without-kde-solid \
--disable-glx \
--enable-realrtsp \
+ --disable-libtar \
ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}/moc4 \
ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}/rcc4 \
ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}/uic4 \
"
+PACKAGECONFIG ?= " live555"
PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
PACKAGECONFIG[live555] = "--enable-live555,--disable-live555,live555"
PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
PACKAGECONFIG[mkv] = "--enable-mkv,--disable-mkv,libmatroska libebml"
+PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
+PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
+PACKAGECONFIG[libva] = "--enable-libva --enable-avcodec,--disable-libva --disable-avcodec,libva libav"
-do_configure() {
- cp ${STAGING_DATADIR}/aclocal/libgcrypt.m4 ${S}/m4/
- ./bootstrap
- gnu-configize --force
- libtoolize --force
- #autoreconf --force -i
+do_configure_prepend() {
cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/ || true
- oe_runconf
- rm config.log
- #sed -i -e s:-L/usr/lib:-L${STAGING_LIBDIR}/:g ${S}/vlc-config
- sed -i -e s:'$(MOC) $(DEFS) $(CPPFLAGS)':'$(MOC) $(DEFS)'\ -I${S}/include\ -DSYS_LINUX:g ${S}/modules/gui/qt4/Makefile
- sed -i -e s:'${top_builddir_slash}libtool':${TARGET_SYS}-libtool:g ${S}/doltlibtool
+}
+
+do_configure_append() {
+ sed -i -e s:'$(MOC) $(DEFS) $(CPPFLAGS)':'$(MOC) $(DEFS)'\ -I${B}/include\ -DSYS_LINUX:g ${B}/modules/gui/qt4/Makefile
+ sed -i -e s:'${top_builddir_slash}libtool':${TARGET_SYS}-libtool:g ${B}/doltlibtool
}
# This recipe packages vlc as a library as well, so qt4 dependencies
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch
new file mode 100644
index 0000000000..ae80745d25
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch
@@ -0,0 +1,46 @@
+* The upstream tests for libgcrypt are awkward and not working.
+ - Requires libgcrypt-config, which seems broken?
+* AM_PATH_LIBGCRYPT exists for a reason, why not use it? KISS.
+* Upstream abandoned AM_PATH_LIBGCRYPT in the past...newer automake ok?
+
+Upstream status: Pending
+
+Index: vlc-2.1.4/configure.ac
+===================================================================
+--- vlc-2.1.4.orig/configure.ac
++++ vlc-2.1.4/configure.ac
+@@ -3940,25 +3940,19 @@ PKG_ENABLE_MODULES_VLC([LIBXML2], [xml],
+ dnl
+ dnl libgcrypt
+ dnl
++GCRYPT_LIBVER=1
++GCRYPT_REQ=1.1.94
+ AC_ARG_ENABLE(libgcrypt,
+ [ --disable-libgcrypt gcrypt support (default enabled)])
+ AS_IF([test "${enable_libgcrypt}" != "no"], [
+- AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
+- libgcrypt-config --version >/dev/null || \
+- AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
+- AC_CHECK_LIB(gcrypt, gcry_control, [
+- have_libgcrypt="yes"
+- GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
+- GCRYPT_LIBS="`libgcrypt-config --libs`"
+- ], [
+- AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
+- ], [`libgcrypt-config --libs`])
+- ], [
+- AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
+- ], [#include <gcrypt.h>]
+- )
++ AM_PATH_LIBGCRYPT($GCRYPT_LIBVER:$GCRYPT_REQ,
++ [
++ GCRYPT_CFLAGS="$LIBGCRYPT_CFLAGS"
++ GCRYPT_LIBS="$LIBGCRYPT_LIBS"
++ ],[
++ AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
++ ])
+ ])
+-
+ AC_SUBST(GCRYPT_CFLAGS)
+ AC_SUBST(GCRYPT_LIBS)
+ AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch
new file mode 100644
index 0000000000..3dadb237e4
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch
@@ -0,0 +1,17 @@
+* modules/gui/qt4/Modules.am not B!=S friendly
+* Simple solution to missing directories in ${B}
+
+Upstream status: Pending
+
+Index: vlc-2.1.4/modules/gui/qt4/Modules.am
+===================================================================
+--- vlc-2.1.4.orig/modules/gui/qt4/Modules.am
++++ vlc-2.1.4/modules/gui/qt4/Modules.am
+@@ -261,6 +261,7 @@ else
+ if HAVE_WIN32
+ $(moc_verbose)$(MOC) -D_WIN32 $(DEFS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) $(CPPFLAGS_qt4) -o $@ $<
+ else
++ [ -d $(dir $@) ] || mkdir -p $(dir $@)
+ $(moc_verbose)$(MOC) $(DEFS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) $(CPPFLAGS_qt4) -o $@ $<
+ endif
+ endif
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch
new file mode 100644
index 0000000000..2d84ffd2f4
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch
@@ -0,0 +1,17 @@
+* Also look for postprocess.h under libpostproc/
+
+Upstream-status: Pending
+
+Index: vlc-2.1.4/configure.ac
+===================================================================
+--- vlc-2.1.4.orig/configure.ac
++++ vlc-2.1.4/configure.ac
+@@ -2444,7 +2444,7 @@ then
+ VLC_SAVE_FLAGS
+ CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
+ CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
+- AC_CHECK_HEADERS(postproc/postprocess.h)
++ AC_CHECK_HEADERS(postproc/postprocess.h,[],[AC_CHECK_HEADERS(libpostproc/postprocess.h)])
+ VLC_ADD_PLUGIN([postproc])
+ VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
+ VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch
new file mode 100644
index 0000000000..950c09b8ae
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch
@@ -0,0 +1,29 @@
+Recent opencv API changes break upstream filter and example.
+Make opencv explicitly configurable.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Tim Orling <TicoTimo@gmail.com>
+
+Index: vlc-2.1.4/configure.ac
+===================================================================
+--- vlc-2.1.4.orig/configure.ac
++++ vlc-2.1.4/configure.ac
+@@ -1693,7 +1693,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu
+ dnl
+ dnl OpenCV wrapper and example filters
+ dnl
+-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
++AC_ARG_ENABLE(opencv,
++ [AS_HELP_STRING([--disable-opencv],
++ [disable OpenCV computer vision filter and example (default auto)])])
++if test "${enable_opencv}" != "no"
++then
++ PKG_ENABLE_MODULES_VLC([OPENCV],
++ [opencv_example opencv_wrapper],
++ [opencv > 2.0],
++ (OpenCV (computer vision) filter), [auto])
++fi
+
+
+ dnl
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb
index 46a27129cb..418f77cfcf 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb
@@ -5,6 +5,10 @@ EXTRA_OECONF += " --enable-libxml2=no"
SRC_URI += "file://0001-enable-subdir-objects.patch \
file://0002-glibc-does-not-provide-strlcpy.patch \
+ file://0003-use-am-path-libgcrypt.patch \
+ file://0004-modules-gui-qt4-out-of-tree-build.patch \
+ file://0005-libpostproc-header-check.patch \
+ file://0006-make-opencv-configurable.patch \
"
SRC_URI[md5sum] = "7ed67d22f7425011078772bfc62ac222"
diff --git a/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb b/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb
new file mode 100644
index 0000000000..ed7f0794c0
--- /dev/null
+++ b/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Library tasked with managing, extracting and handling media art caches"
+
+LICENSE = "LGPLv2+ & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
+ file://libmediaart/extract.c;endline=18;md5=dff2b6328ab067b5baadc135f9876c36 \
+ file://tests/mediaarttest.c;endline=18;md5=067106eaa1f7a9d918759a096667f18e"
+
+DEPENDS = "glib-2.0 gdk-pixbuf"
+
+GNOME_COMPRESS_TYPE = "xz"
+SRC_URI[archive.md5sum] = "1a44933d4cd0064e3c76d8d0ddacddc9"
+SRC_URI[archive.sha256sum] = "3a9dffcad862aed7c0921579b93080d694b8a66f3676bfee8037867f653a1cd3"
+
+inherit gnomebase gtk-doc
+
+EXTRA_OECONF = "--disable-introspection --disable-qt --enable-gdkpixbuf"
diff --git a/meta-networking/MAINTAINERS b/meta-networking/MAINTAINERS
index 953e6035a5..bbb2d1b5b2 100644
--- a/meta-networking/MAINTAINERS
+++ b/meta-networking/MAINTAINERS
@@ -26,6 +26,10 @@ Please keep this list in alphabetical order.
Maintainers List (try to look for most precise areas first)
COMMON
-M: Joe MacDonald <joe.macdonald@windriver.com>
+M: Joe MacDonald <joe_macdonald@mentor.com>
F: conf
F: recipes-*
+
+NETKIT
+M: Armin Kuster <akuster808@gmail.com>
+F: recipes-netkit
diff --git a/meta-networking/README b/meta-networking/README
index 872b013cc8..e1ba27d83b 100644
--- a/meta-networking/README
+++ b/meta-networking/README
@@ -17,7 +17,19 @@ Dependencies
This layer depends on:
-URI: git://github.com/openembedded/oe-core.git
+URI: git://github.com/openembedded/openembedded-core.git
+branch: master
+revision: HEAD
+
+For some recipes, the meta-oe layer is required:
+
+URI: git://github.com/openembedded/meta-openembedded.git
+subdirectory: meta-oe
+branch: master
+revision: HEAD
+
+URI: git://github.com/openembedded/meta-openembedded.git
+subdirectory: meta-python
branch: master
revision: HEAD
diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf
index 39c2cebf56..63bb07d5a8 100644
--- a/meta-networking/conf/layer.conf
+++ b/meta-networking/conf/layer.conf
@@ -14,5 +14,7 @@ BBFILE_PRIORITY_networking-layer = "5"
LAYERVERSION_networking-layer = "1"
LAYERDEPENDS_networking-layer = "core"
+LAYERDEPENDS_networking-layer += "openembedded-layer"
+LAYERDEPENDS_networking-layer += "meta-python"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-networking/licenses/DMTF b/meta-networking/licenses/DMTF
new file mode 100644
index 0000000000..54a28120ee
--- /dev/null
+++ b/meta-networking/licenses/DMTF
@@ -0,0 +1,34 @@
+// Copyright 1998-2008 Distributed Management Task Force, Inc. (DMTF).
+// All rights reserved.
+// DMTF is a not-for-profit association of industry members dedicated
+// to promoting enterprise and systems management and interoperability.
+// DMTF specifications and documents may be reproduced by
+// members and non-members, provided that correct attribution is given.
+// As DMTF specifications may be revised from time to time,
+// the particular version and release date should always be noted.
+//
+// Implementation of certain elements of this standard or proposed
+// standard may be subject to third party patent rights, including
+// provisional patent rights (herein "patent rights"). DMTF makes
+// no representations to users of the standard as to the existence
+// of such rights, and is not responsible to recognize, disclose, or
+// identify any or all such third party patent right, owners or
+// claimants, nor for any incomplete or inaccurate identification or
+// disclosure of such rights, owners or claimants. DMTF shall have no
+// liability to any party, in any manner or circumstance, under any
+// legal theory whatsoever, for failure to recognize, disclose, or
+// identify any such third party patent rights, or for such party's
+// reliance on the standard or incorporation thereof in its product,
+// protocols or testing procedures. DMTF shall have no liability to
+// any party implementing such standard, whether such implementation
+// is foreseeable or not, nor to any patent owner or claimant, and shall
+// have no liability or responsibility for costs or losses incurred if
+// a standard is withdrawn or modified after publication, and shall be
+// indemnified and held harmless by any party implementing the
+// standard from any and all claims of infringement by a patent owner
+// for such implementations.
+//
+// For information about patents held by third-parties which have
+// notified the DMTF that, in their opinion, such patent may relate to
+// or impact implementations of DMTF standards, visit
+// http://www.dmtf.org/about/policies/disclosures.php.
diff --git a/meta-networking/licenses/radvd b/meta-networking/licenses/radvd
new file mode 100644
index 0000000000..03db0b6ce0
--- /dev/null
+++ b/meta-networking/licenses/radvd
@@ -0,0 +1,37 @@
+The author(s) grant permission for redistribution and use in source and
+binary forms, with or without modification, of the software and documentation
+provided that the following conditions are met:
+
+0. If you receive a version of the software that is specifically labelled
+ as not being for redistribution (check the version message and/or README),
+ you are not permitted to redistribute that version of the software in any
+ way or form.
+1. All terms of all other applicable copyrights and licenses must be
+ followed.
+2. Redistributions of source code must retain the authors' copyright
+ notice(s), this list of conditions, and the following disclaimer.
+3. Redistributions in binary form must reproduce the authors' copyright
+ notice(s), this list of conditions, and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+4. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement with the name(s) of the
+ authors as specified in the copyright notice(s) substituted where
+ indicated:
+
+ This product includes software developed by the authors which are
+ mentioned at the start of the source files and other contributors.
+
+5. Neither the name(s) of the author(s) nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY ITS AUTHORS AND CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/meta-networking/recipes-connectivity/barnyard2/barnyard2-1.8/barnyard2-cross-fix.patch b/meta-networking/recipes-connectivity/barnyard2/barnyard2-1.8/barnyard2-cross-fix.patch
deleted file mode 100644
index 7b5a60c2c5..0000000000
--- a/meta-networking/recipes-connectivity/barnyard2/barnyard2-1.8/barnyard2-cross-fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream-Status: Pending
-
-Index: barnyard2-1.8/configure.in
-===================================================================
---- barnyard2-1.8.orig/configure.in 2010-08-03 15:12:06.000000000 +0400
-+++ barnyard2-1.8/configure.in 2010-08-03 15:13:46.000000000 +0400
-@@ -73,7 +73,7 @@
- # libpcap doesn't even LOOK at the timeout you give it under Linux
- AC_DEFINE([PCAP_TIMEOUT_IGNORED],[1],[Define if pcap timeout is ignored])
- AC_SUBST(extra_incl)
-- extra_incl="-I/usr/include/pcap"
-+ extra_incl="-I=/usr/include/pcap"
- ;;
- *-hpux10*|*-hpux11*)
- AC_DEFINE([HPUX],[1],[Define if HP-UX 10 or 11])
-@@ -230,7 +230,7 @@
- # In case INADDR_NONE is not defined (like on Solaris)
- have_inaddr_none="no"
- AC_MSG_CHECKING([for INADDR_NONE])
--AC_RUN_IFELSE(
-+AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
- #include <sys/types.h>
diff --git a/meta-networking/recipes-connectivity/barnyard2/barnyard2_1.8.bb b/meta-networking/recipes-connectivity/barnyard2/barnyard2_1.8.bb
deleted file mode 100644
index 14acdac66e..0000000000
--- a/meta-networking/recipes-connectivity/barnyard2/barnyard2_1.8.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "Barnyard2 is a fork of the original barnyard project, designed specifically for Snort's new unified2 file format"
-HOMEPAGE = "http://www.securixlive.com/barnyard2/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "libpcap"
-
-SRC_URI = " \
- http://www.securixlive.com/download/barnyard2/${BP}.tar.gz \
- file://barnyard2-cross-fix.patch \
- "
-SRC_URI[md5sum] = "72fc6c490db6ea6a0f46c27d24998067"
-SRC_URI[sha256sum] = "1abfe6530d721debd98921421722b02c844c289564730b1e85729e4915b2bb7a"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-prelude --enable-gre --without-mysql"
-
-CONFFILES_${PN} = "${sysconfdir}/barnyard2.conf"
diff --git a/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb b/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb
new file mode 100644
index 0000000000..b6f852dc2a
--- /dev/null
+++ b/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "CyaSSL Lightweight, Embedded SSL Library"
+DESCRIPTION = "CyaSSL is a lightweight SSL library written in C and \
+ optimized for embedded and RTOS environments. It can be \
+ Up to 20 times smaller than OpenSSL while still supporting \
+ a full TLS 1.2 client and server."
+HOMEPAGE = "http://www.yassl.com/yaSSL/Products-cyassl.html"
+BUGTRACKER = "http://github.com/cyassl/cyassl/issues"
+SECTION = "libs/network"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.yassl.com/${BP}.zip"
+
+SRC_URI[md5sum] = "0303eb0f2f9065a1207d9104ab0eba7c"
+SRC_URI[sha256sum] = "e51583ea1e4d64537553922d67a96360312811dffef58d4c05506aa98a296fe3"
+
+inherit autotools
+
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/disable-pre-ANSI-compilers.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/disable-pre-ANSI-compilers.patch
deleted file mode 100644
index a7fa61c798..0000000000
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/disable-pre-ANSI-compilers.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Upstream-Status: Pending
-
-disable pre-ANSI compilers
-
-Signed-off-by: Chunrong Guo <b40290@freescale.com>
---- inetutils-1.9.1/configure.ac 2012-01-06 22:05:05.000000000 +0800
-+++ inetutils-1.9.1/configure.ac 2012-11-12 14:05:30.756957063 +0800
-@@ -586,7 +586,7 @@
- #include <arpa/tftp.h>])
-
- ### Checks for compiler characteristics.
--AM_C_PROTOTYPES dnl FIXME: Does inetutils even compile on pre-ANSI compilers?
-+#AM_C_PROTOTYPES dnl FIXME: Does inetutils even compile on pre-ANSI compilers?
- AC_C_CONST
-
- dnl See if `weak refs' are possible; these make it possible (with shared
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/remove-gets.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/remove-gets.patch
deleted file mode 100644
index 61d16e3a74..0000000000
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/remove-gets.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Uptream-Status: Pending
-
-remove gets function
-
-Signed-off-by: Chunrong Guo <b40290@freescale.com>
---- inetutils-1.9.1.org/lib/stdio.in.h 2012-01-06 22:11:13.000000000 +0800
-+++ inetutils-1.9.1/lib/stdio.in.h 2012-11-12 14:30:49.044958001 +0800
-@@ -715,9 +715,13 @@
- /* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning. Assume it is
- always declared, since it is required by C89. */
-+#if defined gets
-+#undef gets
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
-
-+#endif
-+
-
- #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
- struct obstack;
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/fix-disable-ipv6.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/fix-disable-ipv6.patch
index bd3ae476bd..bd3ae476bd 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/fix-disable-ipv6.patch
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/fix-disable-ipv6.patch
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
index 3da4e9f55a..3da4e9f55a 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0003-wchar.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0003-wchar.patch
index b13bb9229f..b13bb9229f 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0003-wchar.patch
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0003-wchar.patch
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.9-PATH_PROCNET_DEV.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.9-PATH_PROCNET_DEV.patch
index 2592989a90..2592989a90 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.9-PATH_PROCNET_DEV.patch
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.9-PATH_PROCNET_DEV.patch
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rexec.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rexec.xinetd.inetutils
index 80aed36ffb..80aed36ffb 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rexec.xinetd.inetutils
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rexec.xinetd.inetutils
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rlogin.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rlogin.xinetd.inetutils
index 00dbf935bb..00dbf935bb 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rlogin.xinetd.inetutils
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rlogin.xinetd.inetutils
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rsh.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rsh.xinetd.inetutils
index ad59b62076..ad59b62076 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rsh.xinetd.inetutils
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rsh.xinetd.inetutils
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/telnet.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/telnet.xinetd.inetutils
index 2a2a12e3ad..2a2a12e3ad 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/telnet.xinetd.inetutils
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/telnet.xinetd.inetutils
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/tftpd.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/tftpd.xinetd.inetutils
index f549163394..f549163394 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/tftpd.xinetd.inetutils
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/tftpd.xinetd.inetutils
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/version.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/version.patch
index ac3181ddb2..1caa2d39d1 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/version.patch
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/version.patch
@@ -11,7 +11,7 @@ Signed-off-by: Chunrong Guo <b40290@freescale.com>
-AC_INIT([GNU inetutils],
- m4_esyscmd([build-aux/git-version-gen .tarball-version 's/inetutils-/v/;s/_/./g']),
-+AC_INIT([GNU inetutils],[1.9.1],
++AC_INIT([GNU inetutils],[1.9.2],
[bug-inetutils@gnu.org])
AC_CONFIG_SRCDIR([src/inetd.c])
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.1.bb b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb
index 0e47015c0e..e46133efb2 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.1.bb
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb
@@ -8,11 +8,8 @@ LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
-PR = "r1"
SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
- file://disable-pre-ANSI-compilers.patch \
file://version.patch \
- file://remove-gets.patch \
file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch \
file://inetutils-1.8-0003-wchar.patch \
file://rexec.xinetd.inetutils \
@@ -23,10 +20,10 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
file://inetutils-1.9-PATH_PROCNET_DEV.patch \
"
-SRC_URI[md5sum] = "944f7196a2b3dba2d400e9088576000c"
-SRC_URI[sha256sum] = "02a9ebde8a198cb85f87545b9d88fb103a183958139864a85fe9e027ad79ff2b"
+SRC_URI[md5sum] = "aa1a9a132259db83e66c1f3265065ba2"
+SRC_URI[sha256sum] = "0423ea40a160cd4630f817e247df5c08ecc625378d2bb56a0509117a36a89913"
-inherit autotools gettext update-alternatives
+inherit autotools gettext update-alternatives texinfo
SRC_URI += "${@base_contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}"
noipv6="${@base_contains('DISTRO_FEATURES', 'ipv6', '', '--disable-ipv6 gl_cv_socket_ipv6=no', d)}"
@@ -37,6 +34,7 @@ PACKAGECONFIG[uucpd] = "--enable-uucpd,--disable-uucpd,readline"
EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
${noipv6} \
+ inetutils_cv_path_login=${base_bindir}/login \
--with-libreadline-prefix=${STAGING_LIBDIR} \
--enable-rpath=no \
"
diff --git a/meta-networking/recipes-connectivity/polarssl/polarssl_1.3.8.bb b/meta-networking/recipes-connectivity/polarssl/polarssl_1.3.8.bb
new file mode 100644
index 0000000000..8adc0b1b30
--- /dev/null
+++ b/meta-networking/recipes-connectivity/polarssl/polarssl_1.3.8.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Lightweight crypto and SSL/TLS library"
+DESCRIPTION = "PolarSSL is a lean open source crypto library \
+for providing SSL and TLS support in your programs. It offers \
+an intuitive API and documented header files, so you can actually \
+understand what the code does. It features: \
+ \
+ - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \
+ Camellia and XTEA \
+ - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \
+ - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \
+ - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
+ ECDSA and ECDH \
+ - SSL v3 and TLS 1.0, 1.1 and 1.2 \
+ - Abstraction layers for ciphers, hashes, public key operations, \
+ platform abstraction and threading \
+"
+
+HOMEPAGE = "https://polarssl.org"
+BUGTRACKER = "https://github.com/polarssl/polarssl/issues"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+SECTION = "net"
+
+SRC_URI = "https://polarssl.org/download/polarssl-${PV}-gpl.tgz"
+
+SRC_URI[md5sum] = "d1a2b4f21727e888f143414d2e3144e6"
+SRC_URI[sha256sum] = "318171db41335cacbb5b0047c94f1faf91442ab70a223b5223436703c9406ff1"
+
+DEPENDS = "openssl"
+RDEPENDS_${PN} += "libcrypto"
+EXTRA_OECMAKE = "-DUSE_SHARED_POLARSSL_LIBRARY=on -DLIB_INSTALL_DIR=${baselib}"
+
+inherit cmake
diff --git a/meta-networking/recipes-connectivity/sethdlc/files/sethdlc-fix-host-contamination.patch b/meta-networking/recipes-connectivity/sethdlc/files/sethdlc-fix-host-contamination.patch
new file mode 100644
index 0000000000..f25a02cd88
--- /dev/null
+++ b/meta-networking/recipes-connectivity/sethdlc/files/sethdlc-fix-host-contamination.patch
@@ -0,0 +1,42 @@
+From 9a9137c3df5309ac359737d6ebd67fb4ff5f3cf2 Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Mon, 24 Nov 2014 22:05:18 -0500
+Subject: [PATCH] sethdlc: fix host contamination
+
+Clean INCLUDES to fix the host contamination errors:
+
+ In file included from /usr/src/linux/include/linux/posix_types.h:47:0,
+ from /usr/src/linux/include/linux/types.h:17,
+ from /usr/src/linux/include/linux/if.h:22,
+ from sethdlc.c:23:
+ /usr/src/linux/include/asm-generic/posix_types.h:91:3: \
+ error: conflicting types for '__kernel_fsid_t'
+ } __kernel_fsid_t;
+ ^
+ .../tmp/sysroots/qemumips/usr/include/asm/posix_types.h:26:3: \
+ note: previous declaration of '__kernel_fsid_t' was here
+ } __kernel_fsid_t;
+ ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 0492f2b..97dec22 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ CC = gcc
+ CFLAGS = -O2 -Wall -W -Wno-long-long -pipe
+-INCLUDES = -I/usr/src/linux/include -I/usr/src/linux-2.6/include
++INCLUDES =
+
+ all: sethdlc
+
+--
+1.7.9.5
+
diff --git a/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb b/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb
index 3a9692f86f..5e8d9d9bf9 100644
--- a/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb
+++ b/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb
@@ -1,10 +1,11 @@
DESCRIPTION = "set Linux HDLC packet radio modem driver port information"
HOMEPAGE = "https://www.kernel.org/pub/linux/utils/net/hdlc"
LICENSE = "GPLv2 & GPLv2+ "
-LIC_FILES_CHKSUM = "file://Makefile;md5=19aada31930b2be84bf7138420d77263"
+LIC_FILES_CHKSUM = "file://sethdlc.c;endline=10;md5=90f936879e9f8b755a138aeb348782eb"
SRC_URI = "https://www.kernel.org/pub/linux/utils/net/hdlc/${BPN}-1.18.tar.gz \
+ file://sethdlc-fix-host-contamination.patch \
"
SRC_URI[md5sum] = "9016878156a5eadb06c0bae71cc5c9ab"
SRC_URI[sha256sum] = "21b1e2e1cb0e288b0ec8fcfd9fed449914e0f8e6fc273706bd5b3d4f6ab6b04e"
@@ -12,7 +13,8 @@ SRC_URI[sha256sum] = "21b1e2e1cb0e288b0ec8fcfd9fed449914e0f8e6fc273706bd5b3d4f6a
S = "${WORKDIR}/${BPN}-1.18"
-DEPENDS="virtual/kernel"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+DEPENDS = "virtual/kernel"
EXTRA_OEMAKE="CROSS_COMPILE=${TARGET_PREFIX} CC='${CC} ${LDFLAGS}' \
KERNEL_DIR=${STAGING_KERNEL_DIR} "
diff --git a/meta-networking/recipes-connectivity/snort/files/0001-libpcap-search-sysroot-for-headers.patch b/meta-networking/recipes-connectivity/snort/snort/0001-libpcap-search-sysroot-for-headers.patch
index 54c2a9521b..54c2a9521b 100644
--- a/meta-networking/recipes-connectivity/snort/files/0001-libpcap-search-sysroot-for-headers.patch
+++ b/meta-networking/recipes-connectivity/snort/snort/0001-libpcap-search-sysroot-for-headers.patch
diff --git a/meta-networking/recipes-connectivity/snort/files/disable-dap-address-space-id.patch b/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch
index 39e5c9c03a..39e5c9c03a 100644
--- a/meta-networking/recipes-connectivity/snort/files/disable-dap-address-space-id.patch
+++ b/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch
diff --git a/meta-networking/recipes-connectivity/snort/files/disable-inaddr-none.patch b/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch
index 9dafe63459..9dafe63459 100644
--- a/meta-networking/recipes-connectivity/snort/files/disable-inaddr-none.patch
+++ b/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch
diff --git a/meta-networking/recipes-connectivity/snort/snort/not-hardcoded-libdir.patch b/meta-networking/recipes-connectivity/snort/snort/not-hardcoded-libdir.patch
new file mode 100644
index 0000000000..075ec138b1
--- /dev/null
+++ b/meta-networking/recipes-connectivity/snort/snort/not-hardcoded-libdir.patch
@@ -0,0 +1,279 @@
+[PATCH] do not hardcoded libdir
+
+Upstream-Status: Pending
+
+libdir is hardcoded to ${exec_prefix}/lib, but we want it to support multilib
+
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+---
+ src/dynamic-examples/dynamic-preprocessor/Makefile.am | 2 +-
+ src/dynamic-examples/dynamic-rule/Makefile.am | 2 +-
+ src/dynamic-plugins/sf_engine/Makefile.am | 2 +-
+ src/dynamic-preprocessors/dcerpc2/Makefile.am | 2 +-
+ src/dynamic-preprocessors/dnp3/Makefile.am | 2 +-
+ src/dynamic-preprocessors/dns/Makefile.am | 2 +-
+ src/dynamic-preprocessors/file/Makefile.am | 2 +-
+ src/dynamic-preprocessors/ftptelnet/Makefile.am | 2 +-
+ src/dynamic-preprocessors/gtp/Makefile.am | 2 +-
+ src/dynamic-preprocessors/imap/Makefile.am | 2 +-
+ src/dynamic-preprocessors/modbus/Makefile.am | 2 +-
+ src/dynamic-preprocessors/pop/Makefile.am | 2 +-
+ src/dynamic-preprocessors/reputation/Makefile.am | 2 +-
+ src/dynamic-preprocessors/rzb_saac/Makefile.am | 2 +-
+ src/dynamic-preprocessors/sdf/Makefile.am | 2 +-
+ src/dynamic-preprocessors/sip/Makefile.am | 2 +-
+ src/dynamic-preprocessors/smtp/Makefile.am | 2 +-
+ src/dynamic-preprocessors/ssh/Makefile.am | 2 +-
+ src/dynamic-preprocessors/ssl/Makefile.am | 2 +-
+ 19 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/src/dynamic-examples/dynamic-preprocessor/Makefile.am b/src/dynamic-examples/dynamic-preprocessor/Makefile.am
+index 255755e..1cafead 100644
+--- a/src/dynamic-examples/dynamic-preprocessor/Makefile.am
++++ b/src/dynamic-examples/dynamic-preprocessor/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include
+
+-noinst_libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++noinst_libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ noinst_lib_LTLIBRARIES = lib_sfdynamic_preprocessor_example.la
+
+diff --git a/src/dynamic-examples/dynamic-rule/Makefile.am b/src/dynamic-examples/dynamic-rule/Makefile.am
+index e5338d2..82eb212 100644
+--- a/src/dynamic-examples/dynamic-rule/Makefile.am
++++ b/src/dynamic-examples/dynamic-rule/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include
+
+-noinst_libdir = ${exec_prefix}/lib/snort_dynamicrules
++noinst_libdir = ${exec_prefix}${base_libdir}/snort_dynamicrules
+
+ noinst_lib_LTLIBRARIES = lib_sfdynamic_example_rule.la
+
+diff --git a/src/dynamic-plugins/sf_engine/Makefile.am b/src/dynamic-plugins/sf_engine/Makefile.am
+index d6a6200..3d270c3 100644
+--- a/src/dynamic-plugins/sf_engine/Makefile.am
++++ b/src/dynamic-plugins/sf_engine/Makefile.am
+@@ -5,7 +5,7 @@ INCLUDES = @INCLUDES@
+
+ lib_LTLIBRARIES = libsf_engine.la
+
+-libdir = ${exec_prefix}/lib/snort_dynamicengine
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicengine
+
+ libsf_engine_la_LDFLAGS = -export-dynamic -module @XCCFLAGS@
+
+diff --git a/src/dynamic-preprocessors/dcerpc2/Makefile.am b/src/dynamic-preprocessors/dcerpc2/Makefile.am
+index 9843073..8a0caa5 100644
+--- a/src/dynamic-preprocessors/dcerpc2/Makefile.am
++++ b/src/dynamic-preprocessors/dcerpc2/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_dce2_preproc.la
+
+diff --git a/src/dynamic-preprocessors/dnp3/Makefile.am b/src/dynamic-preprocessors/dnp3/Makefile.am
+index 1358862..18e2178 100644
+--- a/src/dynamic-preprocessors/dnp3/Makefile.am
++++ b/src/dynamic-preprocessors/dnp3/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_dnp3_preproc.la
+
+diff --git a/src/dynamic-preprocessors/dns/Makefile.am b/src/dynamic-preprocessors/dns/Makefile.am
+index f22d90e..49d2f55 100644
+--- a/src/dynamic-preprocessors/dns/Makefile.am
++++ b/src/dynamic-preprocessors/dns/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_dns_preproc.la
+
+diff --git a/src/dynamic-preprocessors/file/Makefile.am b/src/dynamic-preprocessors/file/Makefile.am
+index d71c0fd..834f7ac 100644
+--- a/src/dynamic-preprocessors/file/Makefile.am
++++ b/src/dynamic-preprocessors/file/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs -I./include
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_file_preproc.la
+
+diff --git a/src/dynamic-preprocessors/ftptelnet/Makefile.am b/src/dynamic-preprocessors/ftptelnet/Makefile.am
+index fe73835..3457231 100644
+--- a/src/dynamic-preprocessors/ftptelnet/Makefile.am
++++ b/src/dynamic-preprocessors/ftptelnet/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_ftptelnet_preproc.la
+
+diff --git a/src/dynamic-preprocessors/gtp/Makefile.am b/src/dynamic-preprocessors/gtp/Makefile.am
+index 51c961a..d7fb9b2 100644
+--- a/src/dynamic-preprocessors/gtp/Makefile.am
++++ b/src/dynamic-preprocessors/gtp/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_gtp_preproc.la
+
+diff --git a/src/dynamic-preprocessors/imap/Makefile.am b/src/dynamic-preprocessors/imap/Makefile.am
+index 533e43d..9efcbc4 100644
+--- a/src/dynamic-preprocessors/imap/Makefile.am
++++ b/src/dynamic-preprocessors/imap/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_imap_preproc.la
+
+diff --git a/src/dynamic-preprocessors/modbus/Makefile.am b/src/dynamic-preprocessors/modbus/Makefile.am
+index 05fc63e..e4f1415 100644
+--- a/src/dynamic-preprocessors/modbus/Makefile.am
++++ b/src/dynamic-preprocessors/modbus/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_modbus_preproc.la
+
+diff --git a/src/dynamic-preprocessors/pop/Makefile.am b/src/dynamic-preprocessors/pop/Makefile.am
+index d4b07b3..1345bc6 100644
+--- a/src/dynamic-preprocessors/pop/Makefile.am
++++ b/src/dynamic-preprocessors/pop/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_pop_preproc.la
+
+diff --git a/src/dynamic-preprocessors/reputation/Makefile.am b/src/dynamic-preprocessors/reputation/Makefile.am
+index 4e16142..14ba0cb 100644
+--- a/src/dynamic-preprocessors/reputation/Makefile.am
++++ b/src/dynamic-preprocessors/reputation/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_reputation_preproc.la
+
+diff --git a/src/dynamic-preprocessors/rzb_saac/Makefile.am b/src/dynamic-preprocessors/rzb_saac/Makefile.am
+index f0b0912..6ebe04e 100644
+--- a/src/dynamic-preprocessors/rzb_saac/Makefile.am
++++ b/src/dynamic-preprocessors/rzb_saac/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-pkglibdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++pkglibdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ pkglib_LTLIBRARIES = sf_rzb_saac_preproc.la
+
+diff --git a/src/dynamic-preprocessors/sdf/Makefile.am b/src/dynamic-preprocessors/sdf/Makefile.am
+index 97b416e..04b5ce5 100644
+--- a/src/dynamic-preprocessors/sdf/Makefile.am
++++ b/src/dynamic-preprocessors/sdf/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_sdf_preproc.la
+
+diff --git a/src/dynamic-preprocessors/sip/Makefile.am b/src/dynamic-preprocessors/sip/Makefile.am
+index 67ac1e1..b4f360f 100644
+--- a/src/dynamic-preprocessors/sip/Makefile.am
++++ b/src/dynamic-preprocessors/sip/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_sip_preproc.la
+
+diff --git a/src/dynamic-preprocessors/smtp/Makefile.am b/src/dynamic-preprocessors/smtp/Makefile.am
+index 3b5893f..96750df 100644
+--- a/src/dynamic-preprocessors/smtp/Makefile.am
++++ b/src/dynamic-preprocessors/smtp/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_smtp_preproc.la
+
+diff --git a/src/dynamic-preprocessors/ssh/Makefile.am b/src/dynamic-preprocessors/ssh/Makefile.am
+index 0eab645..5ae9b80 100644
+--- a/src/dynamic-preprocessors/ssh/Makefile.am
++++ b/src/dynamic-preprocessors/ssh/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_ssh_preproc.la
+
+diff --git a/src/dynamic-preprocessors/ssl/Makefile.am b/src/dynamic-preprocessors/ssl/Makefile.am
+index 4ac2943..8d3abe3 100644
+--- a/src/dynamic-preprocessors/ssl/Makefile.am
++++ b/src/dynamic-preprocessors/ssl/Makefile.am
+@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies
+
+ INCLUDES = -I../include -I${srcdir}/../libs
+
+-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor
+
+ lib_LTLIBRARIES = libsf_ssl_preproc.la
+
+--
+1.9.1
+
diff --git a/meta-networking/recipes-connectivity/snort/files/snort.init b/meta-networking/recipes-connectivity/snort/snort/snort.init
index d8a00c43fc..d8a00c43fc 100644
--- a/meta-networking/recipes-connectivity/snort/files/snort.init
+++ b/meta-networking/recipes-connectivity/snort/snort/snort.init
diff --git a/meta-networking/recipes-connectivity/snort/snort_2.9.4.6.bb b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb
index acb1b1a88d..8f5175e797 100644
--- a/meta-networking/recipes-connectivity/snort/snort_2.9.4.6.bb
+++ b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.snort.org/"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
-DEPENDS = "libpcap libpcre daq libdnet"
+DEPENDS = "libpcap libpcre daq libdnet util-linux"
SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \
@@ -11,12 +11,13 @@ SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \
file://disable-inaddr-none.patch \
file://disable-dap-address-space-id.patch \
file://0001-libpcap-search-sysroot-for-headers.patch \
+ file://not-hardcoded-libdir.patch \
"
-SRC_URI[tarball.md5sum] = "4111df01a4f21bd1d328a18b76d625bd"
-SRC_URI[tarball.sha256sum] = "cfaa5390b1840aaaa68a6c05a7077dd92cb916e6186a014baa451d43cdb0b3bc"
+SRC_URI[tarball.md5sum] = "18111f6de3989ca89add36077a7c2659"
+SRC_URI[tarball.sha256sum] = "3cc6c8a9b52f4c863a5736a73b4012aff340b50b5e002771b04d4877f47cd19e"
-inherit autotools gettext update-rc.d
+inherit autotools gettext update-rc.d pkgconfig
INITSCRIPT_NAME = "snort"
INITSCRIPT_PARAMS = "defaults"
@@ -28,8 +29,16 @@ EXTRA_OECONF = " \
--enable-reload-error-restart \
--enable-targetbased \
--disable-static-daq \
+ --with-dnet-includes=${STAGING_INCDIR} \
+ --with-dnet-libraries=${STAGING_LIBDIR} \
"
+# if you want to disable it, you need to patch configure.in first
+# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no")
+# is called even with --without-openssl-includes
+PACKAGECONFIG ?= "openssl"
+PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl,"
+
do_install_append() {
install -d ${D}/${sysconfdir}/snort/rules
install -d ${D}/${sysconfdir}/snort/preproc_rules
@@ -69,5 +78,3 @@ FILES_${PN}-dev += " \
${libdir}/snort_dynamicrules/*.so \
${prefix}/src/snort_dynamicsrc \
"
-
-RRECOMMENDS_${PN} += "barnyard2"
diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch b/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch
new file mode 100644
index 0000000000..a1e56b7cac
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch
@@ -0,0 +1,25 @@
+Author: Jamie Strandboge <jamie@canonical.com>
+Description: to improve boot speed when disabled, don't source all of
+ ufw-init-functions (which also sources in other files).
+
+Upstream-Status: Inappropriate [ not author ]
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+
+Index: ufw-0.31/src/ufw-init
+===================================================================
+--- ufw-0.31.orig/src/ufw-init 2012-03-09 17:07:11.000000000 -0600
++++ ufw-0.31/src/ufw-init 2012-03-17 09:37:51.000000000 -0500
+@@ -18,6 +18,12 @@
+ #
+ set -e
+
++# Debian/Ubuntu: small boot speed improvement
++. "#CONFIG_PREFIX#/ufw/ufw.conf"
++if [ "$1" = "start" ] && [ "$2" = "quiet" ] && [ "$ENABLED" = "no" ]; then
++ exit 0
++fi
++
+ if [ -s "#STATE_PREFIX#/ufw-init-functions" ]; then
+ . "#STATE_PREFIX#/ufw-init-functions"
+ else
diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch b/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch
new file mode 100644
index 0000000000..804c18bc9e
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch
@@ -0,0 +1,118 @@
+Origin: r795, r796
+Description: move netfilter capabilities checking into initcaps(), and call
+ initcaps() only when we need it.
+Bug-Ubuntu: https://launchpad.net/bugs/1044361
+
+Upstream-Status: Inappropriate [ not author ]
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+
+Index: ufw-0.33/src/backend_iptables.py
+===================================================================
+--- ufw-0.33.orig/src/backend_iptables.py 2012-09-23 09:58:34.000000000 -0500
++++ ufw-0.33/src/backend_iptables.py 2012-09-23 09:58:36.000000000 -0500
+@@ -160,6 +160,9 @@
+ out += "> " + _("Checking raw ip6tables\n")
+ return out
+
++ # Initialize the capabilities database
++ self.initcaps()
++
+ args = ['-n', '-v', '-x', '-L']
+ items = []
+ items6 = []
+@@ -470,6 +473,9 @@
+ if self.dryrun:
+ return False
+
++ # Initialize the capabilities database
++ self.initcaps()
++
+ prefix = "ufw"
+ exe = self.iptables
+ if v6:
+@@ -684,6 +690,9 @@
+ except Exception:
+ raise
+
++ # Initialize the capabilities database
++ self.initcaps()
++
+ chain_prefix = "ufw"
+ rules = self.rules
+ if v6:
+@@ -830,6 +839,10 @@
+ * updating user rules file
+ * reloading the user rules file if rule is modified
+ '''
++
++ # Initialize the capabilities database
++ self.initcaps()
++
+ rstr = ""
+
+ if rule.v6:
+@@ -1073,6 +1086,9 @@
+ if self.dryrun:
+ return
+
++ # Initialize the capabilities database
++ self.initcaps()
++
+ rules_t = []
+ try:
+ rules_t = self._get_logging_rules(level)
+Index: ufw-0.33/src/backend.py
+===================================================================
+--- ufw-0.33.orig/src/backend.py 2012-09-23 09:58:34.000000000 -0500
++++ ufw-0.33/src/backend.py 2012-09-23 09:59:03.000000000 -0500
+@@ -21,7 +21,7 @@
+ import stat
+ import sys
+ import ufw.util
+-from ufw.util import warn, debug
++from ufw.util import error, warn, debug
+ from ufw.common import UFWError, config_dir, iptables_dir, UFWRule
+ import ufw.applications
+
+@@ -68,6 +68,17 @@
+ err_msg = _("Couldn't determine iptables version")
+ raise UFWError(err_msg)
+
++ # Initialize via initcaps only when we need it (LP: #1044361)
++ self.caps = None
++
++ def initcaps(self):
++ '''Initialize the capabilities database. This needs to be called
++ before accessing the database.'''
++
++ # Only initialize if not initialized already
++ if self.caps != None:
++ return
++
+ self.caps = {}
+ self.caps['limit'] = {}
+
+@@ -78,14 +89,20 @@
+ # Try to get capabilities from the running system if root
+ if self.do_checks and os.getuid() == 0 and not self.dryrun:
+ # v4
+- nf_caps = ufw.util.get_netfilter_capabilities(self.iptables)
++ try:
++ nf_caps = ufw.util.get_netfilter_capabilities(self.iptables)
++ except OSError as e:
++ error("initcaps\n%s" % e)
+ if 'recent-set' in nf_caps and 'recent-update' in nf_caps:
+ self.caps['limit']['4'] = True
+ else:
+ self.caps['limit']['4'] = False
+
+ # v6
+- nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables)
++ try:
++ nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables)
++ except OSError as e:
++ error("initcaps\n%s" % e)
+ if 'recent-set' in nf_caps and 'recent-update' in nf_caps:
+ self.caps['limit']['6'] = True
+ else:
diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch b/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch
new file mode 100644
index 0000000000..b259fdf781
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch
@@ -0,0 +1,20 @@
+Origin: r797
+Description: src/backend_iptables.py: fix misplaced parenthesis
+
+Upstream-Status: Inappropriate [ not author ]
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+
+Index: ufw-0.33/src/backend_iptables.py
+===================================================================
+--- ufw-0.33.orig/src/backend_iptables.py 2012-09-24 08:51:13.000000000 -0500
++++ ufw-0.33/src/backend_iptables.py 2012-09-24 08:52:00.000000000 -0500
+@@ -1075,7 +1075,7 @@
+ exe = self.ip6tables
+ (rc, out) = cmd([exe] + args)
+ if rc != 0:
+- err_msg = _("Could not perform '%s'") % (args)
++ err_msg = _("Could not perform '%s'" % (args))
+ if fail_ok:
+ debug("FAILOK: " + err_msg)
+ else:
diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch b/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch
new file mode 100644
index 0000000000..695b265671
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch
@@ -0,0 +1,40 @@
+Origin: r803, r804
+Description: Don't call get_netfilter_capabilities() with ipv6 if ipv6 is
+ disabled.
+Bug-Ubuntu: https://launchpad.net/ufw/bugs/1039729
+
+Upstream-Status: Inappropriate [ not author ]
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+
+Index: ufw-0.33/src/backend.py
+===================================================================
+--- ufw-0.33.orig/src/backend.py 2012-12-04 09:21:57.000000000 -0600
++++ ufw-0.33/src/backend.py 2012-12-04 09:22:40.000000000 -0600
+@@ -98,15 +98,17 @@
+ else:
+ self.caps['limit']['4'] = False
+
+- # v6
+- try:
+- nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables)
+- except OSError as e:
+- error("initcaps\n%s" % e)
+- if 'recent-set' in nf_caps and 'recent-update' in nf_caps:
+- self.caps['limit']['6'] = True
+- else:
+- self.caps['limit']['6'] = False
++ # v6 (skip capabilities check for ipv6 if ipv6 is disabled in ufw
++ # because the system may not have ipv6 support (LP: #1039729)
++ if self.use_ipv6():
++ try:
++ nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables)
++ except OSError as e:
++ error("initcaps\n%s" % e)
++ if 'recent-set' in nf_caps and 'recent-update' in nf_caps:
++ self.caps['limit']['6'] = True
++ else:
++ self.caps['limit']['6'] = False
+
+ def is_enabled(self):
+ '''Is firewall configured as enabled'''
diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch b/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch
new file mode 100644
index 0000000000..b760d3fd33
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch
@@ -0,0 +1,32 @@
+Origin: r816
+Description: add check for -m rt --rt-type 0
+Bug-Ubuntu: https://launchpad.net/bugs/1191197
+Forwarded: yes
+
+Upstream-Status: Inappropriate [ not author ]
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+
+Index: ufw-0.33/tests/check-requirements
+===================================================================
+--- ufw-0.33.orig/tests/check-requirements 2012-08-17 16:12:49.000000000 -0500
++++ ufw-0.33/tests/check-requirements 2013-06-15 07:47:00.000000000 -0500
+@@ -3,7 +3,7 @@
+ # check-requirements: verify all the required iptables functionality is
+ # available
+ #
+-# Copyright 2008-2012 Canonical Ltd.
++# Copyright 2008-2013 Canonical Ltd.
+ #
+ # This program is free software: you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License version 3,
+@@ -218,6 +218,9 @@
+ echo -n "icmpv6 with hl ($j): "
+ runcmd $exe -A $c -p icmpv6 --icmpv6-type $j -m hl --hl-eq 255 -j ACCEPT
+ done
++
++ echo -n "ipv6 rt: "
++ runcmd $exe -A $c -m rt --rt-type 0 -j ACCEPT
+ fi
+
+ echo ""
diff --git a/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch b/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch
new file mode 100644
index 0000000000..5117423387
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch
@@ -0,0 +1,107 @@
+From c54d36d0582a60fd281cd9287077cea205fd849d Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Thu, 27 Nov 2014 15:20:34 -0500
+Subject: [PATCH] setup: add an option to specify iptables location
+
+When cross-compiling it isn't certain that the location of iptables on the
+target will be the same as on the host. It also doesn't make sense the
+test the version of the host during setup. We provide an option to
+specify an alternate iptables directory. This is assumed to be a
+cross-compile environment and therefore no attempt is made to verify the
+version of iptables to be used.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+---
+ setup.py | 69 ++++++++++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 39 insertions(+), 30 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 6fb3751..b13d11c 100644
+--- a/setup.py
++++ b/setup.py
+@@ -225,41 +225,50 @@ shutil.copytree('src', 'staging')
+ os.unlink(os.path.join('staging', 'ufw-init'))
+ os.unlink(os.path.join('staging', 'ufw-init-functions'))
+
++iptables_set = 0
+ iptables_exe = ''
+ iptables_dir = ''
+
+-for e in ['iptables']:
+- for dir in ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin', \
+- '/usr/local/bin']:
+- if e == "iptables":
+- if os.path.exists(os.path.join(dir, e)):
+- iptables_dir = dir
+- iptables_exe = os.path.join(iptables_dir, "iptables")
+- print("Found '%s'" % iptables_exe)
+- else:
+- continue
+-
+- if iptables_exe != "":
+- break
+-
+-
+-if iptables_exe == '':
+- print("ERROR: could not find required binary 'iptables'", file=sys.stderr)
+- sys.exit(1)
+-
+-for e in ['ip6tables', 'iptables-restore', 'ip6tables-restore']:
+- if not os.path.exists(os.path.join(iptables_dir, e)):
+- print("ERROR: could not find required binary '%s'" % (e), file=sys.stderr)
++if "--iptables-dir" in sys.argv:
++ iptables_dir = sys.argv[sys.argv.index("--iptables-dir") + 1]
++ iptables_exe = os.path.join(iptables_dir, "iptables")
++ iptables_set = 1
++ print("INFO: iptables manually set: '%s'" % (iptables_exe))
++ sys.argv.remove(iptables_dir)
++ sys.argv.remove("--iptables-dir")
++
++if not iptables_set:
++ for e in ['iptables']:
++ for dir in ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin', \
++ '/usr/local/bin']:
++ if e == "iptables":
++ if os.path.exists(os.path.join(dir, e)):
++ iptables_dir = dir
++ iptables_exe = os.path.join(iptables_dir, "iptables")
++ print("Found '%s'" % iptables_exe)
++ else:
++ continue
++
++ if iptables_exe != "":
++ break
++
++ if iptables_exe == '':
++ print("ERROR: could not find required binary 'iptables'", file=sys.stderr)
+ sys.exit(1)
+
+-(rc, out) = cmd([iptables_exe, '-V'])
+-if rc != 0:
+- raise OSError(errno.ENOENT, "Could not find version for '%s'" % \
+- (iptables_exe))
+-version = re.sub('^v', '', re.split('\s', str(out))[1])
+-print("Found '%s' version '%s'" % (iptables_exe, version))
+-if version < "1.4":
+- print("WARN: version '%s' has limited IPv6 support. See README for details." % (version), file=sys.stderr)
++ for e in ['ip6tables', 'iptables-restore', 'ip6tables-restore']:
++ if not os.path.exists(os.path.join(iptables_dir, e)):
++ print("ERROR: could not find required binary '%s'" % (e), file=sys.stderr)
++ sys.exit(1)
++
++ (rc, out) = cmd([iptables_exe, '-V'])
++ if rc != 0:
++ raise OSError(errno.ENOENT, "Could not find version for '%s'" % \
++ (iptables_exe))
++ version = re.sub('^v', '', re.split('\s', str(out))[1])
++ print("Found '%s' version '%s'" % (iptables_exe, version))
++ if version < "1.4":
++ print("WARN: version '%s' has limited IPv6 support. See README for details." % (version), file=sys.stderr)
+
+ setup (name='ufw',
+ version=ufw_version,
+--
+1.9.1
+
diff --git a/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch b/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch
new file mode 100644
index 0000000000..ff704b5a46
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch
@@ -0,0 +1,77 @@
+From be53eea06a5655fdc98f47a73be8277b65bb42ed Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Tue, 11 Nov 2014 21:41:14 -0500
+Subject: [PATCH] setup: only make one reference to env
+
+If sys.executable happens to be '/usr/bin/env python' or something
+similar, the setup script will result in 'ufw' getting /usr/bin/env
+repeated on the top line. This causes an error at runtime. Perform a
+quick sanity check on sys.executable before doing the substitution.
+
+While we're at it, change the default value of 'exe' to the one we either
+detected or specified on the build line.
+
+Upstream-Status: Inappropriate [ embedded specific ]
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+---
+ setup.py | 34 ++++++++++++++++++++++++++++------
+ 1 file changed, 28 insertions(+), 6 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index b13d11c..73acdef 100644
+--- a/setup.py
++++ b/setup.py
+@@ -64,7 +64,7 @@ class Install(_install, object):
+ real_sharedir = os.path.join(real_prefix, 'share', 'ufw')
+
+ # Update the modules' paths
+- for file in [ 'common.py' ]:
++ for file in [ 'common.py', 'util.py' ]:
+ print("Updating " + file)
+ subprocess.call(["sed",
+ "-i",
+@@ -91,6 +91,11 @@ class Install(_install, object):
+ "s%#SHARE_DIR#%" + real_sharedir + "%g",
+ os.path.join('staging', file)])
+
++ subprocess.call(["sed",
++ "-i.jjm",
++ "s%/sbin/iptables%" + iptables_exe + "%g",
++ os.path.join('staging', file)])
++
+ # Now byte-compile everything
+ super(Install, self).run()
+
+@@ -107,12 +112,23 @@ class Install(_install, object):
+ for f in [ script, manpage, manpage_f ]:
+ self.mkpath(os.path.dirname(f))
+
++ # if sys.executable == /usr/bin/env python* the result will be the top
++ # of ufw getting:
++ #
++ # #! /usr/bin/env /usr/bin/env python
++ #
++ # which is not ideal
++ #
+ # update the interpreter to that of the one the user specified for setup
+- print("Updating staging/ufw to use %s" % (sys.executable))
+- subprocess.call(["sed",
+- "-i",
+- "1s%^#.*python.*%#! /usr/bin/env " + sys.executable + "%g",
+- 'staging/ufw'])
++ print("Updating staging/ufw to use (%s)" % (sys.executable))
++
++ if re.search("(/usr/bin/env)", sys.executable):
++ print("found 'env' in sys.executable (%s)" % (sys.executable))
++ subprocess.call(["sed",
++ "-i.jjm",
++ "1s%^#.*python.*%#! " + sys.executable + "%g",
++ 'staging/ufw'])
++
+ self.copy_file('staging/ufw', script)
+ self.copy_file('doc/ufw.8', manpage)
+ self.copy_file('doc/ufw-framework.8', manpage_f)
+--
+1.9.1
+
diff --git a/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb b/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb
new file mode 100644
index 0000000000..467f2a81fb
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Uncomplicated Firewall"
+DESCRIPTION = "UFW stands for Uncomplicated Firewall, and is program for \
+managing a netfilter firewall. It provides a command line interface and aims \
+to be uncomplicated and easy to use."
+HOMEPAGE = "https://launchpad.net/ufw"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+
+SRC_URI = " \
+ https://launchpad.net/ufw/0.33/0.33/+download/ufw-0.33.tar.gz \
+ file://setup-add-an-option-to-specify-iptables-location.patch \
+ file://setup-only-make-one-reference-to-env.patch \
+ file://0001-optimize-boot.patch \
+ file://0002-lp1044361.patch \
+ file://0003-fix-typeerror-on-error.patch \
+ file://0004-lp1039729.patch \
+ file://0005-lp1191197.patch \
+"
+SRC_URI[md5sum] = "3747b453d76709e5a99da209fc0bb5f5"
+SRC_URI[sha256sum] = "5f85a8084ad3539b547bec097286948233188c971f498890316dec170bdd1da8"
+
+inherit setuptools distro_features_check
+
+RDEPENDS_${PN} = " \
+ iptables \
+ python \
+ python-modules \
+ "
+
+RRECOMMENDS_${PN} = " \
+ kernel-module-ipv6 \
+"
+
+FILES_${PN} += " \
+ ${sbindir}/* \
+ ${datadir}/ufw/* \
+ ${base_libdir}/ufw/* \
+ ${sysconfdir}/ufw/* \
+ ${sysconfdir}/default/ufw \
+"
+
+REQUIRED_DISTRO_FEATURES = "ipv6"
+
+DISTUTILS_BUILD_ARGS_append = " --iptables-dir /usr/sbin"
+DISTUTILS_INSTALL_ARGS_append = " --iptables-dir /usr/sbin"
diff --git a/meta-networking/recipes-connectivity/vlan/vlan-1.9/no-HOME-includes.patch b/meta-networking/recipes-connectivity/vlan/vlan-1.9/no-HOME-includes.patch
new file mode 100644
index 0000000000..b7ab7d97c8
--- /dev/null
+++ b/meta-networking/recipes-connectivity/vlan/vlan-1.9/no-HOME-includes.patch
@@ -0,0 +1,22 @@
+From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+Subject: vlan: do not include ${HOME}/linux/include dir
+
+~/linux/include dir may exist and so will be added to include path
+in front of sanitized kernel headers in OE chroot. Drop this include
+option.
+
+Upstream-Status: not-applicable
+
+Index: vlan/MakeInclude
+===================================================================
+--- vlan.orig/MakeInclude
++++ vlan/MakeInclude
+@@ -16,7 +16,7 @@ ifeq "${PLATFORM}" ""
+ endif
+
+ ## You may need to change this linux/include part.
+-CCFLAGS = -g -D_GNU_SOURCE -Wall -I${HOME}/linux/include
++CCFLAGS = -g -D_GNU_SOURCE -Wall
+ LDLIBS = # -lm #-lnsl # -lsocket
+
+ ARM_TC_BIN = ${HOME}/Intrinsyc/bin
diff --git a/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb b/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb
index 2c4f1577e8..d980a47f23 100644
--- a/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb
+++ b/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb
@@ -2,7 +2,8 @@ SUMMARY = "VLAN provides vconfig utility"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://vconfig.c;md5=293ef69c4e88434d37a5ee577a5288cb"
-SRC_URI = "http://${BPN}.sourcearchive.com/downloads/${PV}-3ubuntu9/${BPN}_${PV}.orig.tar.gz"
+SRC_URI = "http://${BPN}.sourcearchive.com/downloads/${PV}-3ubuntu9/${BPN}_${PV}.orig.tar.gz \
+ file://no-HOME-includes.patch"
SRC_URI[md5sum] = "5f0c6060b33956fb16e11a15467dd394"
SRC_URI[sha256sum] = "3b8f0a1bf0d3642764e5f646e1f3bbc8b1eeec474a77392d9aeb4868842b4cca"
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb b/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
index 986416ade2..4efc412a04 100644
--- a/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
@@ -7,9 +7,16 @@ LICENSE = "GPL-2.0+"
LIC_FILES_CHKSUM = "file://COPYING;md5=173b74cb8ac640a9992c03f3bce22a33"
DEPENDS = "libgcrypt"
+inherit perlnative
+
CFLAGS_append = ' -DVERSION=\\"${PV}\\"'
LDFLAGS_append = " -lgcrypt -lgpg-error"
+do_configure_append () {
+ # Make sure we use our nativeperl wrapper
+ sed -i "1s:#!.*:#!/usr/bin/env nativeperl:" ${S}/*.pl
+}
+
do_install () {
sed -i s:m600:m\ 600:g Makefile
oe_runmake 'DESTDIR=${D}' 'PREFIX=/usr' install
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-fix-recursive-mount-deadlock.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-fix-recursive-mount-deadlock.patch
deleted file mode 100644
index e6549a7c8f..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-fix-recursive-mount-deadlock.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-autofs-5.0.6 - fix recursive mount deadlock
-
-From: Ian Kent <raven@themaw.net>
-
-Prior to the vfs-automount changes that went into 2.6.38
-and were finalized in 3.1 it was not possible to block
-path walks into multi-mounts whose root was covered by
-another mount. To deal with that a write lock was used
-to ensure the mount tree construction was completed. This
-restricts the types of recursively defined mount maps that
-can be used and can lead to a deadlock during lookup.
-
-Now that we can prevent processes walking into multi-mounts
-that are under construction we no longer need to use a
-write lock.
-
-Also, in the patch below, a cache writelock is changed to
-a read lock because a write lock isn't needed since the
-map cache entry isn't being updated.
----
-
- CHANGELOG | 1 +
- daemon/direct.c | 14 ++++++++++++--
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 936c9ab..9cdad6e 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -12,6 +12,7 @@
- - configure.in: allow cross compilation.
- - README: update mailing list subscription info.
- - allow non root user to check status.
-+- fix recursive mount deadlock.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/daemon/direct.c b/daemon/direct.c
-index 7e2f0d7..3e09c5d 100644
---- a/daemon/direct.c
-+++ b/daemon/direct.c
-@@ -1285,6 +1285,8 @@ int handle_packet_missing_direct(struct autofs_point *ap, autofs_packet_missing_
- struct timespec wait;
- struct timeval now;
- int ioctlfd, len, state;
-+ unsigned int kver_major = get_kver_major();
-+ unsigned int kver_minor = get_kver_minor();
-
- pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &state);
-
-@@ -1297,8 +1299,16 @@ int handle_packet_missing_direct(struct autofs_point *ap, autofs_packet_missing_
- * cache entry we will not be able to find the mapent. So
- * we must take the source writelock to ensure the parent
- * has mount is complete before we look for the entry.
-+ *
-+ * Since the vfs-automount kernel changes we can now block
-+ * on covered mounts during mount tree construction so a
-+ * write lock is no longer needed. So we now can handle a
-+ * wider class of recursively define mount lookups.
- */
-- master_source_writelock(ap->entry);
-+ if (kver_major > 5 || (kver_major == 5 && kver_minor > 1))
-+ master_source_readlock(ap->entry);
-+ else
-+ master_source_writelock(ap->entry);
- map = ap->entry->maps;
- while (map) {
- /*
-@@ -1311,7 +1321,7 @@ int handle_packet_missing_direct(struct autofs_point *ap, autofs_packet_missing_
- }
-
- mc = map->mc;
-- cache_writelock(mc);
-+ cache_readlock(mc);
- me = cache_lookup_ino(mc, pkt->dev, pkt->ino);
- if (me)
- break;
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-increase-file-map-read-buffer-size.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-increase-file-map-read-buffer-size.patch
deleted file mode 100644
index 39b22212a7..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-increase-file-map-read-buffer-size.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-autofs-5.0.6 - increase file map read buffer size
-
-From: Ian Kent <raven@themaw.net>
-
-The file map entry read buffer can be too small for larger
-multi-mount map entries so increase it.
----
-
- CHANGELOG | 1 +
- include/automount.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 9cdad6e..3bdf8a4 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -13,6 +13,7 @@
- - README: update mailing list subscription info.
- - allow non root user to check status.
- - fix recursive mount deadlock.
-+- increase file map read buffer size.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/include/automount.h b/include/automount.h
-index 561fcc2..37541f5 100644
---- a/include/automount.h
-+++ b/include/automount.h
-@@ -233,7 +233,7 @@ int rmdir_path(struct autofs_point *ap, const char *path, dev_t dev);
- #define AUTOFS_LOOKUP_VERSION 5
-
- #define KEY_MAX_LEN NAME_MAX
--#define MAPENT_MAX_LEN 4095
-+#define MAPENT_MAX_LEN 16384
- #define PARSE_MAX_BUF KEY_MAX_LEN + MAPENT_MAX_LEN + 2
-
- int lookup_nss_read_master(struct master *master, time_t age);
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-README-update-mailing-list-subscription-info.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-README-update-mailing-list-subscription-info.patch
deleted file mode 100644
index 99b61818ca..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-README-update-mailing-list-subscription-info.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-autofs-5.0.7 - README: update mailing list subscription info
-
-From: Chris Packham <chris.packham@alliedtelesis.co.nz>
-
-Following the kernel.org compromise the mailing list was moved to
-vger.kernel.org. Update the subscription info and add URLs for the gmane
-mailing list archive.
-
-Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
----
-
- CHANGELOG | 1 +
- README | 17 ++++++++++++++---
- 2 files changed, 15 insertions(+), 3 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index fe801e8..44c9fb2 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -10,6 +10,7 @@
- - fix null map entry order handling.
- - make description of default MOUNT_WAIT setting clear.
- - configure.in: allow cross compilation.
-+- README: update mailing list subscription info.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/README b/README
-index cef16a9..9024e64 100644
---- a/README
-+++ b/README
-@@ -43,9 +43,20 @@ Fitzhardinge's <jeremy@goop.org> work on autofs 3. Further enhancements
- have been made by Ian Kent <raven@themaw.net>.
-
- If you use or want to help develop autofs, please join the autofs
--mailing list by visiting:
-+mailing list by sending an email to:
-
-- http://linux.kernel.org/mailman/listinfo/autofs
-+ majordomo@vger.kernel.org
-
--and folling the instructions there to subscribe to the autofs mailing list.
-+With the body text:
-+
-+ subscribe autofs
-+
-+Once subscribed you can send patches to:
-+
-+ autofs@vger.kernel.org
-+
-+The autofs mailing list archive can be viewed on gmane:
-+
-+ http://news.gmane.org/gmane.linux.kernel.autofs
-+ http://blog.gmane.org/gmane.linux.kernel.autofs
-
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-symlink-pseudo-option.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-symlink-pseudo-option.patch
deleted file mode 100644
index b0440f4a51..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-symlink-pseudo-option.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-autofs-5.0.7 - add symlink pseudo option
-
-From: Ian Kent <raven@themaw.net>
-
-Add a "symlink" pseudo option to tell the bind mount module to symlink
-instead of bind when mounting mounts other than direct mounts and
-non-root indirect mount offset mounts (aka. non-root multi-mount
-entries).
----
- CHANGELOG | 1 +
- include/automount.h | 3 +++
- lib/master_parse.y | 8 +++++++-
- lib/master_tok.l | 1 +
- man/auto.master.5.in | 8 ++++++++
- modules/mount_autofs.c | 5 +++++
- modules/mount_bind.c | 36 +++++++++++++++++++++++++++++++++++-
- 7 files changed, 60 insertions(+), 2 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index c189483..247d334 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -32,6 +32,7 @@
- - fix wildcard multi map regression.
- - fix file descriptor leak when reloading the daemon.
- - depricate nosymlink pseudo option.
-+- add symlink pseudo option.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/include/automount.h b/include/automount.h
-index 37541f5..e72fa0d 100644
---- a/include/automount.h
-+++ b/include/automount.h
-@@ -455,6 +455,9 @@ struct kernel_mod_version {
- /* Don't use bind mounts even when system supports them */
- #define MOUNT_FLAG_NOBIND 0x0020
-
-+/* Use symlinks instead of bind mounting local mounts */
-+#define MOUNT_FLAG_SYMLINK 0x0040
-+
- struct autofs_point {
- pthread_t thid;
- char *path; /* Mount point name */
-diff --git a/lib/master_parse.y b/lib/master_parse.y
-index f925b5a..11caf5b 100644
---- a/lib/master_parse.y
-+++ b/lib/master_parse.y
-@@ -57,6 +57,7 @@ static char *type;
- static char *format;
- static long timeout;
- static long negative_timeout;
-+static unsigned symlnk;
- static unsigned nobind;
- static unsigned ghost;
- extern unsigned global_selection_options;
-@@ -100,7 +101,7 @@ static int master_fprintf(FILE *, char *, ...);
- %token COMMENT
- %token MAP
- %token OPT_TIMEOUT OPT_NTIMEOUT OPT_NOBIND OPT_NOGHOST OPT_GHOST OPT_VERBOSE
--%token OPT_DEBUG OPT_RANDOM OPT_USE_WEIGHT
-+%token OPT_DEBUG OPT_RANDOM OPT_USE_WEIGHT OPT_SYMLINK
- %token COLON COMMA NL DDASH
- %type <strtype> map
- %type <strtype> options
-@@ -186,6 +187,7 @@ line:
- | PATH OPT_USE_WEIGHT { master_notify($1); YYABORT; }
- | PATH OPT_DEBUG { master_notify($1); YYABORT; }
- | PATH OPT_TIMEOUT { master_notify($1); YYABORT; }
-+ | PATH OPT_SYMLINK { master_notify($1); YYABORT; }
- | PATH OPT_NOBIND { master_notify($1); YYABORT; }
- | PATH OPT_GHOST { master_notify($1); YYABORT; }
- | PATH OPT_NOGHOST { master_notify($1); YYABORT; }
-@@ -557,6 +559,7 @@ option: daemon_option
-
- daemon_option: OPT_TIMEOUT NUMBER { timeout = $2; }
- | OPT_NTIMEOUT NUMBER { negative_timeout = $2; }
-+ | OPT_SYMLINK { symlnk = 1; }
- | OPT_NOBIND { nobind = 1; }
- | OPT_NOGHOST { ghost = 0; }
- | OPT_GHOST { ghost = 1; }
-@@ -627,6 +630,7 @@ static void local_init_vars(void)
- debug = 0;
- timeout = -1;
- negative_timeout = 0;
-+ symlnk = 0;
- nobind = 0;
- ghost = defaults_get_browse_mode();
- random_selection = global_selection_options & MOUNT_FLAG_RANDOM_SELECT;
-@@ -811,6 +815,8 @@ int master_parse_entry(const char *buffer, unsigned int default_timeout, unsigne
- entry->ap->flags |= MOUNT_FLAG_RANDOM_SELECT;
- if (use_weight)
- entry->ap->flags |= MOUNT_FLAG_USE_WEIGHT_ONLY;
-+ if (symlnk)
-+ entry->ap->flags |= MOUNT_FLAG_SYMLINK;
- if (negative_timeout)
- entry->ap->negative_timeout = negative_timeout;
-
-diff --git a/lib/master_tok.l b/lib/master_tok.l
-index 30abb15..f9b4e55 100644
---- a/lib/master_tok.l
-+++ b/lib/master_tok.l
-@@ -361,6 +361,7 @@ OPTNTOUT (-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo
- return(NUMBER);
- }
-
-+ -?symlink { return(OPT_SYMLINK); }
- -?nobind { return(OPT_NOBIND); }
- -?nobrowse { return(OPT_NOGHOST); }
- -g|--ghost|-?browse { return(OPT_GHOST); }
-diff --git a/man/auto.master.5.in b/man/auto.master.5.in
-index 8007542..bbea43a 100644
---- a/man/auto.master.5.in
-+++ b/man/auto.master.5.in
-@@ -159,6 +159,14 @@ on individual map entries of both types. Bind mounting of NFS file
- systems can also be prevented for specific map entrys by adding the
- "port=" mount option to the entries.
- .TP
-+.I "symlink"
-+This option makes bind mounting use a symlink instead of an actual bind
-+mount. It is an autofs specific option that is a pseudo mount option and
-+so is given without a leading dash. It may be used with indirect map
-+entries only, either in the master map (so it effects all map entries)
-+or with individual map entries. The option is ignored for direct mounts
-+and non-root offest mount entries.
-+.TP
- .I "\-r, \-\-random-multimount-selection"
- Enables the use of ramdom selection when choosing a host from a
- list of replicated servers. This option is applied to this mount
-diff --git a/modules/mount_autofs.c b/modules/mount_autofs.c
-index ef16020..8c1e600 100644
---- a/modules/mount_autofs.c
-+++ b/modules/mount_autofs.c
-@@ -51,6 +51,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name,
- int argc, status;
- int nobind = ap->flags & MOUNT_FLAG_NOBIND;
- int ghost = ap->flags & MOUNT_FLAG_GHOST;
-+ int symlnk = ap->flags & MOUNT_FLAG_SYMLINK;
- time_t timeout = ap->entry->maps->exp_timeout;
- unsigned logopt = ap->logopt;
- struct map_type_info *info;
-@@ -120,6 +121,8 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name,
- nobind = 1;
- else if (strncmp(cp, "browse", 6) == 0)
- ghost = 1;
-+ else if (strncmp(cp, "symlink", 7) == 0)
-+ symlnk = 1;
- else if (strncmp(cp, "timeout=", 8) == 0) {
- char *val = strchr(cp, '=');
- unsigned tout;
-@@ -158,6 +161,8 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name,
- }
- nap = entry->ap;
- nap->parent = ap;
-+ if (symlnk)
-+ nap->flags |= MOUNT_FLAG_SYMLINK;
-
- argc = 1;
-
-diff --git a/modules/mount_bind.c b/modules/mount_bind.c
-index 9bce686..4975294 100644
---- a/modules/mount_bind.c
-+++ b/modules/mount_bind.c
-@@ -73,10 +73,44 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
- char buf[MAX_ERR_BUF];
- int err;
- int i, len;
-+ int symlnk = (*name != '/' && (ap->flags & MOUNT_FLAG_SYMLINK));
-
- if (ap->flags & MOUNT_FLAG_REMOUNT)
- return 0;
-
-+ /* Extract "symlink" pseudo-option which forces local filesystems
-+ * to be symlinked instead of bound.
-+ */
-+ if (*name != '/' && !symlnk && options) {
-+ const char *comma;
-+ int o_len = strlen(options) + 1;
-+
-+ for (comma = options; *comma != '\0';) {
-+ const char *cp;
-+ const char *end;
-+
-+ while (*comma == ',')
-+ comma++;
-+
-+ /* Skip leading white space */
-+ while (*comma == ' ' || *comma == '\t')
-+ comma++;
-+
-+ cp = comma;
-+ while (*comma != '\0' && *comma != ',')
-+ comma++;
-+
-+ /* Skip trailing white space */
-+ end = comma - 1;
-+ while (*comma == ' ' || *comma == '\t')
-+ end--;
-+
-+ o_len = end - cp + 1;
-+ if (strncmp("symlink", cp, o_len) == 0)
-+ symlnk = 1;
-+ }
-+ }
-+
- /* Root offset of multi-mount */
- len = strlen(root);
- if (root[len - 1] == '/') {
-@@ -100,7 +134,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
- if (options == NULL || *options == '\0')
- options = "defaults";
-
-- if (bind_works) {
-+ if (!symlnk && bind_works) {
- int status, existed = 1;
-
- debug(ap->logopt, MODPREFIX "calling mkdir_path %s", fullpath);
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-timeout-option-description-to-man-page.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-timeout-option-description-to-man-page.patch
deleted file mode 100644
index ac598dd729..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-timeout-option-description-to-man-page.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-autofs-5.0.7 - add timeout option description to man page
-
-From: Ian Kent <ikent@redhat.com>
-
-The pseudo option used t set the timeout for map entries is one of
-the most most frequently used autofs options but is not mentioned
-in auto.master(5).
----
-
- CHANGELOG | 1 +
- man/auto.master.5.in | 5 +++++
- 2 files changed, 6 insertions(+), 0 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 93b9c26..7b8d185 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -6,6 +6,7 @@
- - fix parse buffer initialization.
- - fix typo in automount(8).
- - dont wait forever to restart.
-+- add timeout option description to man page.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/man/auto.master.5.in b/man/auto.master.5.in
-index 54269f8..21d7544 100644
---- a/man/auto.master.5.in
-+++ b/man/auto.master.5.in
-@@ -167,6 +167,11 @@ server is specified in the map entry. If no server weights are given
- then each available server will be tried in the order listed, within
- proximity.
- .TP
-+.I "\-t, \-\-timeout <seconds>"
-+Set the expire timeout for map entries. This option can be used to
-+override the global default given either on the command line
-+or in the configuration.
-+.TP
- .I "\-n, \-\-negative\-timeout <seconds>"
- Set the timeout for caching failed key lookups. This option can be
- used to override the global default given either on the command line
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-non-root-user-to-check-status.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-non-root-user-to-check-status.patch
deleted file mode 100644
index 6020c31e23..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-non-root-user-to-check-status.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-autofs-5.0.7 - allow non root user to check status
-
-From: Ian Kent <ikent@redhat.com>
-
-
----
-
- CHANGELOG | 1 +
- redhat/autofs.init.in | 20 +++++++++++++-------
- 2 files changed, 14 insertions(+), 7 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 44c9fb2..936c9ab 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -11,6 +11,7 @@
- - make description of default MOUNT_WAIT setting clear.
- - configure.in: allow cross compilation.
- - README: update mailing list subscription info.
-+- allow non root user to check status.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in
-index cd5cb34..fe18b3e 100644
---- a/redhat/autofs.init.in
-+++ b/redhat/autofs.init.in
-@@ -167,6 +167,19 @@ function usage_message() {
-
- RETVAL=0
-
-+# allow non-root users to read status / usage
-+
-+case "$1" in
-+ status)
-+ status -p @@autofspiddir@@/autofs.pid -l autofs $prog
-+ exit 0;
-+ ;;
-+ usage)
-+ usage_message
-+ exit 0;
-+ ;;
-+esac
-+
- # Only the root user may change the service status
- if [ `id -u` -ne 0 ] && [ "$1" != "status" ]; then
- echo "insufficient privilege to change service status"
-@@ -184,9 +197,6 @@ case "$1" in
- stop)
- stop
- ;;
-- status)
-- status -p @@autofspiddir@@/autofs.pid -l autofs $prog
-- ;;
- restart|force-reload)
- restart
- ;;
-@@ -202,10 +212,6 @@ case "$1" in
- restart
- fi
- ;;
-- usage)
-- usage_message
-- exit 0
-- ;;
- *)
- usage_message
- exit 2
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-nsswitch_conf-to-not-contain-automount-lines.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-nsswitch_conf-to-not-contain-automount-lines.patch
deleted file mode 100644
index c342d1072e..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-nsswitch_conf-to-not-contain-automount-lines.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-autofs-5.0.7 - Allow nsswitch.conf to not contain "automount:" lines
-
-From: Michael Tokarev <mjt@tls.msk.ru>
-
-Current code does not allow a case when nsswitch.conf
-does not mention automount map at all, like all new
-installations. It logs a rather unpleasant error
-message instead:
-
- syntax error in nsswitch config near [ syntax error ]
-
-this patch has a minimal fix, to allo "file" to be empty.
-
-Whole parser in C is about 25 lines of code, the "grammar"
-is trivial, and it is better to ditch all this yacc/lex
-stuff, but that will be much more intrusive change.
-
-Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
-Cc: 682266@bugs.debian.org
----
-
- CHANGELOG | 1 +
- lib/nss_parse.y | 1 +
- 2 files changed, 2 insertions(+), 0 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index bd0dd82..16ac2a0 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -16,6 +16,7 @@
- - increase file map read buffer size.
- - handle new location of systemd.
- - fix map entry duplicate offset detection.
-+- Allow nsswitch.conf to not contain "automount:" lines.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/lib/nss_parse.y b/lib/nss_parse.y
-index a39fda4..055e9d7 100644
---- a/lib/nss_parse.y
-+++ b/lib/nss_parse.y
-@@ -72,6 +72,7 @@ file: {
- nss_debug = YYDEBUG;
- #endif
- } sources NL
-+ | /* empty */
- ;
-
- sources: nss_source
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-allow-cross-compilation-update.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-allow-cross-compilation-update.patch
deleted file mode 100644
index a8bc3ce857..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-allow-cross-compilation-update.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-autofs-5.0.7 - configure: allow cross compilation update
-
-From: Chris Packham <chris.packham@alliedtelesis.co.nz>
-
-Run "make distclean" to update configure. This should have been included
-in 5936c738 when configure.in was updated but it was missed.
----
-
- configure | 5 +----
- 1 files changed, 1 insertions(+), 4 deletions(-)
-
-
-diff --git a/configure b/configure
-index bf62203..ba3bba6 100755
---- a/configure
-+++ b/configure
-@@ -5378,10 +5378,7 @@ DAEMON_LDFLAGS=
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc -fPIE works" >&5
- $as_echo_n "checking whether gcc -fPIE works... " >&6; }
- if test "$cross_compiling" = yes; then :
-- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
--$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
--as_fn_error $? "cannot run test program while cross compiling
--See \`config.log' for more details" "$LINENO" 5; }
-+ gcc_supports_pie=no
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-in-allow-cross-compilation.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-in-allow-cross-compilation.patch
deleted file mode 100644
index ac18bd94bd..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-in-allow-cross-compilation.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-autofs-5.0.7 - configure.in: allow cross compilation
-
-From: Chris Packham <chris.packham@alliedtelesis.co.nz>
-
-The default behaviour of AC_RUN_IFELSE is to stop with an error if cross
-compiling. Avoid this by providing the optional 4th argument to set
-gcc_supports_pie=no if support for PIE cannot be detected.
-
-Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
----
-
- CHANGELOG | 1 +
- configure.in | 2 +-
- 2 files changed, 2 insertions(+), 1 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 961e340..fe801e8 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -9,6 +9,7 @@
- - add timeout option description to man page.
- - fix null map entry order handling.
- - make description of default MOUNT_WAIT setting clear.
-+- configure.in: allow cross compilation.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/configure.in b/configure.in
-index 1a24e34..90bda62 100644
---- a/configure.in
-+++ b/configure.in
-@@ -307,7 +307,7 @@ DAEMON_CFLAGS=
- DAEMON_LDFLAGS=
- AC_MSG_CHECKING([whether gcc -fPIE works])
- AC_RUN_IFELSE([AC_LANG_PROGRAM([[]], [[int main(void) {return 0;}]])],
-- [gcc_supports_pie=yes], [gcc_supports_pie=no])
-+ [gcc_supports_pie=yes], [gcc_supports_pie=no], [gcc_supports_pie=no])
- AC_MSG_RESULT([$gcc_supports_pie])
- if test $gcc_supports_pie = yes ; then
- DAEMON_CFLAGS="-fPIE"
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-depricate-nosymlink-pseudo-option.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-depricate-nosymlink-pseudo-option.patch
deleted file mode 100644
index c784de7c92..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-depricate-nosymlink-pseudo-option.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-autofs-5.0.7 - depricate nosymlink pseudo option
-
-From: Ian Kent <raven@themaw.net>
-
-The undocumented "nosymlink" option was the only way to force local
-NFS mounting until the more descriptive "nobind" option was added.
-
-So depricate the "nosymlink" option in favour of the "nobind" option.
----
- CHANGELOG | 1 +
- modules/mount_nfs.c | 4 ++++
- 2 files changed, 5 insertions(+)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index a7ed212..c189483 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -31,6 +31,7 @@
- - dont fail on master map self include.
- - fix wildcard multi map regression.
- - fix file descriptor leak when reloading the daemon.
-+- depricate nosymlink pseudo option.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/modules/mount_nfs.c b/modules/mount_nfs.c
-index bbbb1de..e61320b 100644
---- a/modules/mount_nfs.c
-+++ b/modules/mount_nfs.c
-@@ -125,6 +125,10 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
-
- o_len = end - cp + 1;
- if (strncmp("nosymlink", cp, o_len) == 0) {
-+ warn(ap->logopt, MODPREFIX
-+ "the \"nosymlink\" option is depricated "
-+ "and will soon be removed, "
-+ "use the \"nobind\" option instead");
- nosymlink = 1;
- } else if (strncmp("nobind", cp, o_len) == 0) {
- nobind = 1;
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-document-browse-option-in-man-page.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-document-browse-option-in-man-page.patch
deleted file mode 100644
index 4641342d24..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-document-browse-option-in-man-page.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-autofs-5.0.7 - document browse option in man page
-
-From: Ian Kent <raven@themaw.net>
-
-The "browse" option has remained undocumented for a long time.
-Finally add a section for it to auto.master(5) making special
-note of the potential performance implications.
----
- CHANGELOG | 1 +
- man/auto.master.5.in | 11 +++++++++++
- 2 files changed, 12 insertions(+)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index ecdea0b..d8e4049 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -36,6 +36,7 @@
- - fix requires in spec file.
- - fix libtirpc build option to require libtirpc-devel if needed.
- - fix systemd unidir in spec file.
-+- document browse option in man page.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/man/auto.master.5.in b/man/auto.master.5.in
-index bbea43a..c552e56 100644
---- a/man/auto.master.5.in
-+++ b/man/auto.master.5.in
-@@ -147,6 +147,17 @@ multiple file systems should be mounted (`multimounts'). If this option
- is given, no file system is mounted at all if at least one file system
- can't be mounted.
- .TP
-+.I "[no]browse"
-+This is an autofs specific option that is a pseudo mount option and
-+so is given without a leading dash. Use of the browse option pre-creates
-+mount point directories for indirect mount maps so the map keys can be
-+seen in a directory listing without being mounted. Use of this option
-+can cause performance problem if the indirect map is large so it should
-+be used with caution. The internal program default is to enable browse
-+mode for indirect mounts but the default installed configuration overrides
-+this by setting BROWSE_MODE to "no" because of the potential performance
-+problem.
-+.TP
- .I "nobind"
- This is an autofs specific option that is a pseudo mount option and
- so is given without a leading dash. It may be used either in the master
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-fail-on-master-map-self-include.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-fail-on-master-map-self-include.patch
deleted file mode 100644
index afb908b9e4..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-fail-on-master-map-self-include.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-autofs-5.0.7 - dont fail on master map self include
-
-From: Ian Kent <raven@themaw.net>
-
-When reading the master map a self included file map should skip the source
-and proceed to the next so, in this case, return an nss status that will
-allow the map read to continue. In particular not NSS_STATUS_UNAVAIL which
-causes the lookup to record a failure or NSS_STATUS_SUCCESS which indicates
-a successful lookup and termintes the reading of sources.
----
- CHANGELOG | 1 +
- modules/lookup_file.c | 7 ++++---
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 39388a5..97d6f48 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -28,6 +28,7 @@
- - make yellow pages support optional.
- - modules/replicated.c: use sin6_addr.s6_addr32.
- - workaround missing GNU versionsort extension.
-+- dont fail on master map self include.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/modules/lookup_file.c b/modules/lookup_file.c
-index facb305..f37bed9 100644
---- a/modules/lookup_file.c
-+++ b/modules/lookup_file.c
-@@ -397,8 +397,9 @@ int lookup_read_master(struct master *master, time_t age, void *context)
- unsigned int path_len, ent_len;
- int entry, cur_state;
-
-+ /* Don't return fail on self include, skip source */
- if (master->recurse)
-- return NSS_STATUS_UNAVAIL;
-+ return NSS_STATUS_TRYAGAIN;
-
- if (master->depth > MAX_INCLUDE_DEPTH) {
- error(logopt, MODPREFIX
-@@ -443,7 +444,7 @@ int lookup_read_master(struct master *master, time_t age, void *context)
-
- inc = check_master_self_include(master, ctxt);
- if (inc)
-- master->recurse = 1;;
-+ master->recurse = 1;
- master->depth++;
- status = lookup_nss_read_master(master, age);
- if (!status) {
-@@ -645,7 +646,7 @@ int lookup_read_map(struct autofs_point *ap, time_t age, void *context)
- mc = source->mc;
-
- if (source->recurse)
-- return NSS_STATUS_UNAVAIL;
-+ return NSS_STATUS_TRYAGAIN;
-
- if (source->depth > MAX_INCLUDE_DEPTH) {
- error(ap->logopt,
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-schedule-new-alarms-after-readmap.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-schedule-new-alarms-after-readmap.patch
deleted file mode 100644
index 64446874cd..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-schedule-new-alarms-after-readmap.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-autofs-5.0.7 - don't schedule new alarms after readmap
-
-From: Leonardo Chiquitto <leonardo.lists@gmail.com>
-
-Currently, a new alarm is scheduled every time the daemon receives
-a SIGHUP (map re-read) or SIGUSR1 (forced expiration). Besides that,
-map re-reads started on demand when a map is found to be outdated
-also generate a new alarm.
-
-Once added, these alarms are never deleted and hence increase the
-number of times the daemon wakes up to run the expiration procedure.
-After a couple of months, in setups with many mount points, it's
-normal to see automount waking up every second to handle the
-expiration timer.
-
-This patch removes the alarm scheduling from the readmap cleanup
-routine and makes sure the alarm is re-added after the expiration
-process only when it was not triggered by SIGUSR1.
-
-I couldn't think of any use case to justify keeping these alarms:
-it's critical to have the alarm ticking every timeout/4 seconds,
-but more than one periodic alarm running doesn't seem to make
-sense.
----
-
- CHANGELOG | 1 +
- daemon/state.c | 6 +-----
- 2 files changed, 2 insertions(+), 5 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index c9be73e..4cf5621 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -22,6 +22,7 @@
- - fix init script status return.
- - fix use get_proximity() without libtirpc.
- - don't use dirent d_type to filter out files in scandir()
-+- don't schedule new alarms after readmap.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/daemon/state.c b/daemon/state.c
-index b451c56..6e23022 100644
---- a/daemon/state.c
-+++ b/daemon/state.c
-@@ -144,7 +144,7 @@ void expire_cleanup(void *arg)
- ap->submount = 2;
- }
-
-- if (!ap->submount)
-+ if (ap->state == ST_EXPIRE && !ap->submount)
- alarm_add(ap, ap->exp_runfreq);
-
- /* FALLTHROUGH */
-@@ -330,13 +330,9 @@ static void do_readmap_cleanup(void *arg)
- ap = ra->ap;
-
- st_mutex_lock();
--
- ap->readmap_thread = 0;
- st_set_done(ap);
-- if (!ap->submount)
-- alarm_add(ap, ap->exp_runfreq);
- st_ready(ap);
--
- st_mutex_unlock();
-
- free(ra);
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-use-dirent-d_type-to-filter-out-files-in-scandir.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-use-dirent-d_type-to-filter-out-files-in-scandir.patch
deleted file mode 100644
index 9c9d99b953..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-use-dirent-d_type-to-filter-out-files-in-scandir.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-autofs-5.0.7 - don't use dirent d_type to filter out files in scandir()
-
-From: Leonardo Chiquitto <leonardo.lists@gmail.com>
-
-The "d_type" field of a dirent structure is not filled in by all
-file systems (XFS being one example), so we can't rely on it to
-check file types.
----
-
- CHANGELOG | 1 +
- modules/lookup_dir.c | 4 ----
- 2 files changed, 1 insertions(+), 4 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 460bd27..c9be73e 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -21,6 +21,7 @@
- - fix submount offset delete.
- - fix init script status return.
- - fix use get_proximity() without libtirpc.
-+- don't use dirent d_type to filter out files in scandir()
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/modules/lookup_dir.c b/modules/lookup_dir.c
-index 658cc29..33901c0 100644
---- a/modules/lookup_dir.c
-+++ b/modules/lookup_dir.c
-@@ -103,10 +103,6 @@ static int acceptable_dirent_p(const struct dirent *e)
- {
- size_t namesz;
-
--
-- if (!(e->d_type == DT_REG || e->d_type == DT_LNK))
-- return 0;
--
- namesz = strlen(e->d_name);
- if (!namesz)
- return 0;
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-wait-forever-to-restart.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-wait-forever-to-restart.patch
deleted file mode 100644
index 9973b47faf..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-wait-forever-to-restart.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-autofs-5.0.7 - dont wait forever to restart
-
-From: Ian Kent <ikent@redhat.com>
-
-When restarting autofs the daemon must be stopped before it is started
-again if it is to function properly. At the moment the init script waits
-forever which is not ok if the daemon won't exit for some reason.
-
-So, if the daemon is still running after the stop, run stop() again, wait
-a bit longer and if it still hasn't stopped kill it with a SIGKILL to clear
-the way for the startup.
----
-
- CHANGELOG | 1 +
- redhat/autofs.init.in | 13 ++++++++++---
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 6051723..93b9c26 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -5,6 +5,7 @@
- - fix ipv6 proximity calculation.
- - fix parse buffer initialization.
- - fix typo in automount(8).
-+- dont wait forever to restart.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in
-index ec6d5d6..cd5cb34 100644
---- a/redhat/autofs.init.in
-+++ b/redhat/autofs.init.in
-@@ -129,9 +129,16 @@ function restart() {
- status autofs > /dev/null 2>&1
- if [ $? -eq 0 ]; then
- stop
-- while [ -n "`pidof $prog`" ] ; do
-- sleep 5
-- done
-+ if [ -n "`pidof $prog`" ]; then
-+ # If we failed to stop, try at least one more time
-+ # after waiting a little while
-+ sleep 20
-+ stop
-+ auto_pid=`pidof $prog`
-+ if [ -n "$auto_pid" ]; then
-+ kill -9 $auto_pid
-+ fi
-+ fi
- fi
- start
- }
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-automounter-support-on-parisc.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-automounter-support-on-parisc.patch
deleted file mode 100644
index e00fdc1901..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-automounter-support-on-parisc.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-autofs-5.0.7 - fix automounter support on parisc
-
-From: Helge Deller <deller@gmx.de>
-
-This patch fixes automounter support on the parisc architecture with
-64-bit kernel and 32-bit userspace.
-
-Signed-off-by: Helge Deller <deller@gmx.de>
----
- daemon/automount.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/daemon/automount.c b/daemon/automount.c
-index 4a3eb3d..4c651cf 100644
---- a/daemon/automount.c
-+++ b/daemon/automount.c
-@@ -610,6 +610,7 @@ static size_t get_kpkt_len(void)
- if (strcmp(un.machine, "alpha") == 0 ||
- strcmp(un.machine, "ia64") == 0 ||
- strcmp(un.machine, "x86_64") == 0 ||
-+ strcmp(un.machine, "parisc64") == 0 ||
- strcmp(un.machine, "ppc64") == 0)
- pkt_len += 4;
-
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-file-descriptor-leak-when-reloading-the-daemon.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-file-descriptor-leak-when-reloading-the-daemon.patch
deleted file mode 100644
index 8ce6c0f9e3..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-file-descriptor-leak-when-reloading-the-daemon.patch
+++ /dev/null
@@ -1,179 +0,0 @@
-autofs-5.0.7 - fix file descriptor leak when reloading the daemon
-
-From: Leonardo Chiquitto <leonardo.lists@gmail.com>
-
-A customer reported that AutoFS may leak file descriptors when some
-maps are modified and the daemon reloaded. I'm able to reproduce the
-problem on 5.0.7 by following these steps:
-
-1. Configure a simple direct mount:
-
-# cat /etc/auto.master
-/- /etc/auto.direct
-
-# cat /etc/auto.direct
-/nfs server:/nfs
-
-2. Start the automounter and do NOT trigger the mount
-
-3. Replace /etc/auto.direct with:
-
-# cat /etc/auto.direct
-/nfs/1 server:/nfs
-/nfs/2 server:/nfs
-
-4. Reload:
-
-# kill -HUP $(pidof automount)
-
->From now on, every reload will leak a file descriptor:
-
-# ls -la /proc/$(pidof automount)/fd | grep /nfs
-lr-x------ 1 root root 64 Aug 14 22:08 11 -> /nfs
-lr-x------ 1 root root 64 Aug 14 22:08 12 -> /nfs
-lr-x------ 1 root root 64 Aug 14 22:08 13 -> /nfs
-lr-x------ 1 root root 64 Aug 14 22:08 14 -> /nfs
-lr-x------ 1 root root 64 Aug 14 22:08 5 -> /nfs
-
-I've investigated the problem and discovered that the leak happens in
-do_umount_autofs_direct():
-
-- edit imk
-The same leak is present in umount_autofs_offset() also.
-Updated patch to cover that too.
-- end edit
-
-int do_umount_autofs_direct(struct autofs_point *ap, struct mnt_list
-*mnts, struct mapent *me)
-{
-(...)
- if (me->ioctlfd != -1) {
- if (tree_is_mounted(mnts, me->key, MNTS_REAL)) {
- error(ap->logopt,
- "attempt to umount busy direct mount %s",
- me->key);
- return 1;
- }
- ioctlfd = me->ioctlfd;
- } else // ioctlfd == -1
- ops->open(ap->logopt, &ioctlfd, me->dev, me->key); <= we open it here
-
- if (ioctlfd >= 0) {
- unsigned int status = 1;
-
- rv = ops->askumount(ap->logopt, ioctlfd, &status);
- /// at this point, rv == 0 and status == 0
- if (rv) {
- char *estr = strerror_r(errno, buf, MAX_ERR_BUF);
- error(ap->logopt, "ioctl failed: %s", estr);
- return 1;
- } else if (!status) {
- /// at this point, ap->state == ST_READMAP
- if (ap->state != ST_SHUTDOWN_FORCE) {
- error(ap->logopt,
- "ask umount returned busy for %s",
- me->key);
- return 1; <= we return here, without closing the fd
- } else {
- me->ioctlfd = -1;
- ops->catatonic(ap->logopt, ioctlfd);
- ops->close(ap->logopt, ioctlfd);
- goto force_umount;
- }
-(...)
----
- CHANGELOG | 1 +
- daemon/direct.c | 19 ++++++++++++++++---
- 2 files changed, 17 insertions(+), 3 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 46ef335..a7ed212 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -30,6 +30,7 @@
- - workaround missing GNU versionsort extension.
- - dont fail on master map self include.
- - fix wildcard multi map regression.
-+- fix file descriptor leak when reloading the daemon.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/daemon/direct.c b/daemon/direct.c
-index 3e09c5d..228a666 100644
---- a/daemon/direct.c
-+++ b/daemon/direct.c
-@@ -86,7 +86,8 @@ int do_umount_autofs_direct(struct autofs_point *ap, struct mnt_list *mnts, stru
- {
- struct ioctl_ops *ops = get_ioctl_ops();
- char buf[MAX_ERR_BUF];
-- int ioctlfd, rv, left, retries;
-+ int ioctlfd = -1, rv, left, retries;
-+ int opened = 0;
-
- left = umount_multi(ap, me->key, 0);
- if (left) {
-@@ -103,8 +104,10 @@ int do_umount_autofs_direct(struct autofs_point *ap, struct mnt_list *mnts, stru
- return 1;
- }
- ioctlfd = me->ioctlfd;
-- } else
-+ } else {
- ops->open(ap->logopt, &ioctlfd, me->dev, me->key);
-+ opened = 1;
-+ }
-
- if (ioctlfd >= 0) {
- unsigned int status = 1;
-@@ -113,12 +116,16 @@ int do_umount_autofs_direct(struct autofs_point *ap, struct mnt_list *mnts, stru
- if (rv) {
- char *estr = strerror_r(errno, buf, MAX_ERR_BUF);
- error(ap->logopt, "ioctl failed: %s", estr);
-+ if (opened && ioctlfd != -1)
-+ ops->close(ap->logopt, ioctlfd);
- return 1;
- } else if (!status) {
- if (ap->state != ST_SHUTDOWN_FORCE) {
- error(ap->logopt,
- "ask umount returned busy for %s",
- me->key);
-+ if (opened && ioctlfd != -1)
-+ ops->close(ap->logopt, ioctlfd);
- return 1;
- } else {
- me->ioctlfd = -1;
-@@ -536,7 +543,8 @@ int umount_autofs_offset(struct autofs_point *ap, struct mapent *me)
- {
- struct ioctl_ops *ops = get_ioctl_ops();
- char buf[MAX_ERR_BUF];
-- int ioctlfd, rv = 1, retries;
-+ int ioctlfd = -1, rv = 1, retries;
-+ int opened = 0;
-
- if (me->ioctlfd != -1) {
- if (is_mounted(_PATH_MOUNTED, me->key, MNTS_REAL)) {
-@@ -554,6 +562,7 @@ int umount_autofs_offset(struct autofs_point *ap, struct mapent *me)
- return 0;
- }
- ops->open(ap->logopt, &ioctlfd, me->dev, me->key);
-+ opened = 1;
- }
-
- if (ioctlfd >= 0) {
-@@ -563,6 +572,8 @@ int umount_autofs_offset(struct autofs_point *ap, struct mapent *me)
- if (rv) {
- char *estr = strerror_r(errno, buf, MAX_ERR_BUF);
- logerr("ioctl failed: %s", estr);
-+ if (opened && ioctlfd != -1)
-+ ops->close(ap->logopt, ioctlfd);
- return 1;
- } else if (!status) {
- if (ap->state != ST_SHUTDOWN_FORCE) {
-@@ -570,6 +581,8 @@ int umount_autofs_offset(struct autofs_point *ap, struct mapent *me)
- error(ap->logopt,
- "ask umount returned busy for %s",
- me->key);
-+ if (opened && ioctlfd != -1)
-+ ops->close(ap->logopt, ioctlfd);
- return 1;
- } else {
- me->ioctlfd = -1;
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-init-script-status-return.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-init-script-status-return.patch
deleted file mode 100644
index a08d62fc3e..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-init-script-status-return.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-autofs-5.0.7 - fix init script status return
-
-From: Ian Kent <ikent@redhat.com>
-
-The patch that added the piddir to configure to fix incorrect init
-script status() function returns failed to actually return the value
-to the user.
----
-
- CHANGELOG | 1 +
- redhat/autofs.init.in | 2 +-
- 2 files changed, 2 insertions(+), 1 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 76c1f73..5bcb1af 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -19,6 +19,7 @@
- - Allow nsswitch.conf to not contain "automount:" lines.
- - fix nobind man page description.
- - fix submount offset delete.
-+- fix init script status return.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in
-index fe18b3e..9d008ff 100644
---- a/redhat/autofs.init.in
-+++ b/redhat/autofs.init.in
-@@ -172,7 +172,7 @@ RETVAL=0
- case "$1" in
- status)
- status -p @@autofspiddir@@/autofs.pid -l autofs $prog
-- exit 0;
-+ exit $?;
- ;;
- usage)
- usage_message
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-ipv6-proximity-calculation.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-ipv6-proximity-calculation.patch
deleted file mode 100644
index b341ecdd50..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-ipv6-proximity-calculation.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-autofs-5.0.7 - fix ipv6 proximity calculation
-
-From: Ian Kent <ikent@redhat.com>
-
-The socket based ioctl used to get interface information only
-return IPv4 information. Change get_proximity() function to use
-getifaddrs(3) instead.
----
-
- CHANGELOG | 1
- modules/replicated.c | 149 ++++++++++++++------------------------------------
- 2 files changed, 42 insertions(+), 108 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index dc38580..34c70fa 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -2,6 +2,7 @@
- =======================
- - fix nobind sun escaped map entries.
- - fix use cache entry after free in lookup_prune_one_cache().
-+- fix ipv6 proximity calculation.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/modules/replicated.c b/modules/replicated.c
-index 78046c6..bd6003b 100644
---- a/modules/replicated.c
-+++ b/modules/replicated.c
-@@ -52,6 +52,7 @@
- #include <net/if.h>
- #include <netinet/in.h>
- #include <netdb.h>
-+#include <ifaddrs.h>
-
- #include "rpc_subs.h"
- #include "replicated.h"
-@@ -110,58 +111,18 @@ void seed_random(void)
- return;
- }
-
--static int alloc_ifreq(struct ifconf *ifc, int sock)
--{
-- int ret, lastlen = ifc_last_len, len = ifc_buf_len;
-- char err_buf[MAX_ERR_BUF], *buf;
--
-- while (1) {
-- buf = malloc(len);
-- if (!buf) {
-- char *estr = strerror_r(errno, err_buf, MAX_ERR_BUF);
-- logerr("malloc: %s", estr);
-- return 0;
-- }
--
-- ifc->ifc_len = len;
-- ifc->ifc_req = (struct ifreq *) buf;
--
-- ret = ioctl(sock, SIOCGIFCONF, ifc);
-- if (ret == -1) {
-- char *estr = strerror_r(errno, err_buf, MAX_ERR_BUF);
-- logerr("ioctl: %s", estr);
-- free(buf);
-- return 0;
-- }
--
-- if (ifc->ifc_len <= lastlen)
-- break;
--
-- lastlen = ifc->ifc_len;
-- len += MAX_IFC_BUF;
-- free(buf);
-- }
--
-- if (lastlen != ifc_last_len) {
-- ifc_last_len = lastlen;
-- ifc_buf_len = len;
-- }
--
-- return 1;
--}
--
- static unsigned int get_proximity(struct sockaddr *host_addr)
- {
-+ struct ifaddrs *ifa = NULL;
-+ struct ifaddrs *this;
- struct sockaddr_in *addr, *msk_addr, *if_addr;
- struct sockaddr_in6 *addr6, *msk6_addr, *if6_addr;
- struct in_addr *hst_addr;
- struct in6_addr *hst6_addr;
- int addr_len;
-- char buf[MAX_ERR_BUF], *ptr;
-- struct ifconf ifc;
-- struct ifreq *ifr, nmptr;
-- int sock, ret, i;
-+ char buf[MAX_ERR_BUF];
- uint32_t mask, ha, ia, *mask6, *ha6, *ia6;
-+ int ret;
-
- addr = NULL;
- addr6 = NULL;
-@@ -170,13 +131,14 @@ static unsigned int get_proximity(struct sockaddr *host_addr)
- mask6 = NULL;
- ha6 = NULL;
- ia6 = NULL;
-+ ha = 0;
-
- switch (host_addr->sa_family) {
- case AF_INET:
- addr = (struct sockaddr_in *) host_addr;
- hst_addr = (struct in_addr *) &addr->sin_addr;
- ha = ntohl((uint32_t) hst_addr->s_addr);
-- addr_len = sizeof(hst_addr);
-+ addr_len = sizeof(*hst_addr);
- break;
-
- case AF_INET6:
-@@ -186,7 +148,7 @@ static unsigned int get_proximity(struct sockaddr *host_addr)
- addr6 = (struct sockaddr_in6 *) host_addr;
- hst6_addr = (struct in6_addr *) &addr6->sin6_addr;
- ha6 = &hst6_addr->s6_addr32[0];
-- addr_len = sizeof(hst6_addr);
-+ addr_len = sizeof(*hst6_addr);
- break;
- #endif
-
-@@ -194,36 +156,29 @@ static unsigned int get_proximity(struct sockaddr *host_addr)
- return PROXIMITY_ERROR;
- }
-
-- sock = open_sock(AF_INET, SOCK_DGRAM, 0);
-- if (sock < 0) {
-+ ret = getifaddrs(&ifa);
-+ if (ret) {
- char *estr = strerror_r(errno, buf, MAX_ERR_BUF);
-- logerr("socket creation failed: %s", estr);
-+ logerr("getifaddrs: %s", estr);
- return PROXIMITY_ERROR;
- }
-
-- if (!alloc_ifreq(&ifc, sock)) {
-- close(sock);
-- return PROXIMITY_ERROR;
-- }
--
-- /* For each interface */
--
-- /* Is the address a local interface */
-- i = 0;
-- ptr = (char *) &ifc.ifc_buf[0];
--
-- while (ptr < (char *) ifc.ifc_req + ifc.ifc_len) {
-- ifr = (struct ifreq *) ptr;
-+ this = ifa;
-+ while (this) {
-+ if (this->ifa_flags & IFF_POINTOPOINT ||
-+ this->ifa_addr->sa_data == NULL) {
-+ this = this->ifa_next;
-+ continue;
-+ }
-
-- switch (ifr->ifr_addr.sa_family) {
-+ switch (this->ifa_addr->sa_family) {
- case AF_INET:
- if (host_addr->sa_family == AF_INET6)
- break;
-- if_addr = (struct sockaddr_in *) &ifr->ifr_addr;
-+ if_addr = (struct sockaddr_in *) this->ifa_addr;
- ret = memcmp(&if_addr->sin_addr, hst_addr, addr_len);
- if (!ret) {
-- close(sock);
-- free(ifc.ifc_req);
-+ freeifaddrs(ifa);
- return PROXIMITY_LOCAL;
- }
- break;
-@@ -234,55 +189,41 @@ static unsigned int get_proximity(struct sockaddr *host_addr)
- #else
- if (host_addr->sa_family == AF_INET)
- break;
--
-- if6_addr = (struct sockaddr_in6 *) &ifr->ifr_addr;
-+ if6_addr = (struct sockaddr_in6 *) this->ifa_addr;
- ret = memcmp(&if6_addr->sin6_addr, hst6_addr, addr_len);
- if (!ret) {
-- close(sock);
-- free(ifc.ifc_req);
-+ freeifaddrs(ifa);
- return PROXIMITY_LOCAL;
- }
- #endif
--
- default:
- break;
- }
--
-- i++;
-- ptr = (char *) &ifc.ifc_req[i];
-+ this = this->ifa_next;
- }
-
-- i = 0;
-- ptr = (char *) &ifc.ifc_buf[0];
--
-- while (ptr < (char *) ifc.ifc_req + ifc.ifc_len) {
-- ifr = (struct ifreq *) ptr;
--
-- nmptr = *ifr;
-- ret = ioctl(sock, SIOCGIFNETMASK, &nmptr);
-- if (ret == -1) {
-- char *estr = strerror_r(errno, buf, MAX_ERR_BUF);
-- logerr("ioctl: %s", estr);
-- close(sock);
-- free(ifc.ifc_req);
-- return PROXIMITY_ERROR;
-+ this = ifa;
-+ while (this) {
-+ if (this->ifa_flags & IFF_POINTOPOINT ||
-+ this->ifa_addr->sa_data == NULL) {
-+ this = this->ifa_next;
-+ continue;
- }
-
-- switch (ifr->ifr_addr.sa_family) {
-+ switch (this->ifa_addr->sa_family) {
- case AF_INET:
- if (host_addr->sa_family == AF_INET6)
- break;
-- if_addr = (struct sockaddr_in *) &ifr->ifr_addr;
-+ if_addr = (struct sockaddr_in *) this->ifa_addr;
- ia = ntohl((uint32_t) if_addr->sin_addr.s_addr);
-
-- /* Is the address within a localiy attached subnet */
-+ /* Is the address within a localy attached subnet */
-
-- msk_addr = (struct sockaddr_in *) &nmptr.ifr_netmask;
-+ msk_addr = (struct sockaddr_in *) this->ifa_netmask;
- mask = ntohl((uint32_t) msk_addr->sin_addr.s_addr);
-
- if ((ia & mask) == (ha & mask)) {
-- close(sock);
-- free(ifc.ifc_req);
-+ freeifaddrs(ifa);
- return PROXIMITY_SUBNET;
- }
-
-@@ -304,8 +245,7 @@ static unsigned int get_proximity(struct sockaddr *host_addr)
- break;
-
- if ((ia & mask) == (ha & mask)) {
-- close(sock);
-- free(ifc.ifc_req);
-+ freeifaddrs(ifa);
- return PROXIMITY_NET;
- }
- break;
-@@ -316,35 +256,28 @@ static unsigned int get_proximity(struct sockaddr *host_addr)
- #else
- if (host_addr->sa_family == AF_INET)
- break;
--
-- if6_addr = (struct sockaddr_in6 *) &ifr->ifr_addr;
-+ if6_addr = (struct sockaddr_in6 *) this->ifa_addr;
- ia6 = &if6_addr->sin6_addr.s6_addr32[0];
-
- /* Is the address within the network of the interface */
-
-- msk6_addr = (struct sockaddr_in6 *) &nmptr.ifr_netmask;
-+ msk6_addr = (struct sockaddr_in6 *) this->ifa_netmask;
- mask6 = &msk6_addr->sin6_addr.s6_addr32[0];
-
- if (ipv6_mask_cmp(ha6, ia6, mask6)) {
-- close(sock);
-- free(ifc.ifc_req);
-+ freeifaddrs(ifa);
- return PROXIMITY_SUBNET;
- }
-
- /* How do we define "local network" in ipv6? */
- #endif
-- break;
--
- default:
- break;
- }
--
-- i++;
-- ptr = (char *) &ifc.ifc_req[i];
-+ this = this->ifa_next;
- }
-
-- close(sock);
-- free(ifc.ifc_req);
-+ freeifaddrs(ifa);
-
- return PROXIMITY_OTHER;
- }
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-libtirpc-build-option.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-libtirpc-build-option.patch
deleted file mode 100644
index 8ad2afacff..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-libtirpc-build-option.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-autofs-5.0.7 - fix libtirpc build option
-
-From: Ian Kent <raven@themaw.net>
-
-
----
- CHANGELOG | 1 +
- autofs.spec | 17 ++++++++++++++++-
- 2 files changed, 17 insertions(+), 1 deletion(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index e848bcd..b6b2679 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -34,6 +34,7 @@
- - depricate nosymlink pseudo option.
- - add symlink pseudo option.
- - fix requires in spec file.
-+- fix libtirpc build option to require libtirpc-devel if needed.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/autofs.spec b/autofs.spec
-index 703f7a9..f77acc1 100644
---- a/autofs.spec
-+++ b/autofs.spec
-@@ -12,6 +12,10 @@
- # disable them.
- %define with_systemd %{?_without_systemd: 0} %{?!_without_systemd: 1}
-
-+# Use --without libtirpc in your rpmbuild command or force values to 0 to
-+# disable them.
-+%define with_libtirpc %{?_without_libtirpc: 0} %{?!_without_libtirpc: 1}
-+
- Summary: A tool from automatically mounting and umounting filesystems.
- Name: autofs
- %define version 5.0.7
-@@ -25,6 +29,9 @@ Buildroot: %{_tmppath}/%{name}-tmp
- %if %{with_systemd}
- BuildRequires: systemd-units
- %endif
-+%if %{with_libtirpc}
-+BuildRequires: libtirpc-devel
-+%endif
- BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, cyrus-sasl-devel
- Requires: chkconfig
- Requires: /bin/bash mktemp sed textutils sh-utils grep /bin/ps
-@@ -72,9 +79,17 @@ echo %{version}-%{release} > .version
- %define _unitdir %{?_unitdir:/lib/systemd/system}
- %define systemd_configure_arg --with-systemd
- %endif
-+%if %{with_libtirpc}
-+ %define libtirpc_configure_arg --with-libtirpc
-+%endif
-
- %build
--CFLAGS="$RPM_OPT_FLAGS -Wall" ./configure --libdir=%{_libdir} --disable-mount-locking --enable-ignore-busy --with-libtirpc %{?systemd_configure_arg:}
-+CFLAGS="$RPM_OPT_FLAGS -Wall" \
-+./configure --libdir=%{_libdir} \
-+ --disable-mount-locking \
-+ --enable-ignore-busy \
-+ %{?systemd_configure_arg:} \
-+ %{?libtirpc_configure_arg:}
- CFLAGS="$RPM_OPT_FLAGS -Wall" make initdir=/etc/rc.d/init.d DONTSTRIP=1
-
- %install
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-map-entry-duplicate-offset-detection.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-map-entry-duplicate-offset-detection.patch
deleted file mode 100644
index 126d9a25b0..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-map-entry-duplicate-offset-detection.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-autofs-5.0.7 - fix map entry duplicate offset detection
-
-From: Ian Kent <raven@themaw.net>
-
-Recent changes broke the detection of duplicate offsets in map entries.
----
-
- CHANGELOG | 1 +
- lib/cache.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 8f6bb3a..bd0dd82 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -15,6 +15,7 @@
- - fix recursive mount deadlock.
- - increase file map read buffer size.
- - handle new location of systemd.
-+- fix map entry duplicate offset detection.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/lib/cache.c b/lib/cache.c
-index 9179ad5..1e05a99 100644
---- a/lib/cache.c
-+++ b/lib/cache.c
-@@ -659,7 +659,7 @@ int cache_update_offset(struct mapent_cache *mc, const char *mkey, const char *k
-
- me = cache_lookup_distinct(mc, key);
- if (me && me->age == age) {
-- if (me->multi != owner)
-+ if (me->multi == owner)
- return CHE_DUPLICATE;
- }
-
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-man-page-description.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-man-page-description.patch
deleted file mode 100644
index 41328a0e49..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-man-page-description.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-autofs-5.0.7 - fix nobind man page description
-
-From: Ian Kent <raven@themaw.net>
-
-Update auto.master(5) to better describe the behavior of the "nobind"
-option when used with direct mounts maps.
----
-
- CHANGELOG | 1 +
- man/auto.master.5.in | 10 +++++++---
- 2 files changed, 8 insertions(+), 3 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 16ac2a0..7eb7235 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -17,6 +17,7 @@
- - handle new location of systemd.
- - fix map entry duplicate offset detection.
- - Allow nsswitch.conf to not contain "automount:" lines.
-+- fix nobind man page description.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/man/auto.master.5.in b/man/auto.master.5.in
-index 21d7544..8007542 100644
---- a/man/auto.master.5.in
-+++ b/man/auto.master.5.in
-@@ -151,9 +151,13 @@ can't be mounted.
- This is an autofs specific option that is a pseudo mount option and
- so is given without a leading dash. It may be used either in the master
- map entry (so it effects all the map entries) or with individual map
--entries to prevent bind mounting of local NFS filesystems. Bind mounting
--of NFS file systems can also be prevented for specific map entrys by
--adding the "port=" mount option to the entries.
-+entries to prevent bind mounting of local NFS filesystems. For direct
-+mount maps the option is only effective if specified on the first direct
-+map entry and is applied to all direct mount maps in the master map. It
-+is ignored if given on subsequent direct map entries. It may be used
-+on individual map entries of both types. Bind mounting of NFS file
-+systems can also be prevented for specific map entrys by adding the
-+"port=" mount option to the entries.
- .TP
- .I "\-r, \-\-random-multimount-selection"
- Enables the use of ramdom selection when choosing a host from a
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch
deleted file mode 100644
index b5d7ad26ca..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-autofs-5.0.7 - fix nobind sun escaped map entries
-
-From: Ian Kent <ikent@redhat.com>
-
-If a map contains a Sun colon escape to indicate the mount is a local
-file system and the "nobind" option is present there is no hostname in
-the mount location and the mount fails.
----
-
- CHANGELOG | 4 ++++
- modules/mount_nfs.c | 5 +++--
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 67fdcec..faf4c80 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -1,3 +1,7 @@
-+??/??/2012 autofs-5.0.8
-+=======================
-+- fix nobind sun escaped map entries.
-+
- 25/07/2012 autofs-5.0.7
- =======================
- - fix ipv6 name for lookup fix.
-diff --git a/modules/mount_nfs.c b/modules/mount_nfs.c
-index 9b8e5f1..bbbb1de 100644
---- a/modules/mount_nfs.c
-+++ b/modules/mount_nfs.c
-@@ -263,13 +263,14 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
- } else
- strcpy(loc, n_addr);
- } else {
-- loc = malloc(strlen(this->name) + strlen(this->path) + 2);
-+ char *host = this->name ? this->name : "localhost";
-+ loc = malloc(strlen(host) + strlen(this->path) + 2);
- if (!loc) {
- char *estr = strerror_r(errno, buf, MAX_ERR_BUF);
- error(ap->logopt, "malloc: %s", estr);
- goto forced_fail;
- }
-- strcpy(loc, this->name);
-+ strcpy(loc, host);
- }
- strcat(loc, ":");
- strcat(loc, this->path);
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-null-map-entry-order-handling.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-null-map-entry-order-handling.patch
deleted file mode 100644
index 610afaaa7a..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-null-map-entry-order-handling.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-autofs-5.0.7 - fix null map entry order handling
-
-From: Ian Kent <ikent@redhat.com>
-
-If a null map entry appears after a corresponding indirect map entry
-autofs doesn't handle it properly.
-
-Since it appears after the map entry it should'nt affect it but autofs
-doesn't account for this case and assumes the map entry is already
-mounted and tries to shut it down causing attempted access to facilities
-that don't exist.
----
-
- CHANGELOG | 1 +
- lib/master.c | 32 +++++++++++++++++++++++++++++---
- 2 files changed, 30 insertions(+), 3 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 7b8d185..79cf673 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -7,6 +7,7 @@
- - fix typo in automount(8).
- - dont wait forever to restart.
- - add timeout option description to man page.
-+- fix null map entry order handling.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/lib/master.c b/lib/master.c
-index 904b13d..a0e62f2 100644
---- a/lib/master.c
-+++ b/lib/master.c
-@@ -1179,9 +1179,35 @@ int master_mount_mounts(struct master *master, time_t age, int readall)
-
- cache_readlock(nc);
- ne = cache_lookup_distinct(nc, this->path);
-- if (ne && this->age > ne->age) {
-+ /*
-+ * If this path matched a nulled entry the master map entry
-+ * must be an indirect mount so the master map entry line
-+ * number may be obtained from this->maps.
-+ */
-+ if (ne) {
-+ int lineno = ne->age;
- cache_unlock(nc);
-- st_add_task(ap, ST_SHUTDOWN_PENDING);
-+
-+ /* null entry appears after map entry */
-+ if (this->maps->master_line < lineno) {
-+ warn(ap->logopt,
-+ "ignoring null entry that appears after "
-+ "existing entry for %s", this->path);
-+ goto cont;
-+ }
-+ if (ap->state != ST_INIT) {
-+ st_add_task(ap, ST_SHUTDOWN_PENDING);
-+ continue;
-+ }
-+ /*
-+ * The map entry hasn't been started yet and we've
-+ * seen a preceeding null map entry for it so just
-+ * delete it from the master map entry list so it
-+ * doesn't get in the road.
-+ */
-+ list_del_init(&this->list);
-+ master_free_mapent_sources(ap->entry, 1);
-+ master_free_mapent(ap->entry);
- continue;
- }
- nested = cache_partial_match(nc, this->path);
-@@ -1194,7 +1220,7 @@ int master_mount_mounts(struct master *master, time_t age, int readall)
- cache_delete(nc, nested->key);
- }
- cache_unlock(nc);
--
-+cont:
- st_mutex_lock();
-
- state_pipe = this->ap->state_pipe[1];
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-parse-buffer-initialization.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-parse-buffer-initialization.patch
deleted file mode 100644
index 22bd5da25d..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-parse-buffer-initialization.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-autofs-5.0.7 - fix parse buffer initialization
-
-From: Ian Kent <ikent@redhat.com>
-
-When parsing a master map entry, if the mount point path is longer than
-the following map string the lexical analyzer buffer may not have a null
-terminator where it is expected. If the map name string also contains a
-string that is the same as a map type at the end the map name the map
-name is not constructed correctly because of this lack of a string
-terminator in the buffer.
----
-
- CHANGELOG | 1 +
- lib/master_tok.l | 4 +++-
- 2 files changed, 4 insertions(+), 1 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 34c70fa..276d6ba 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -3,6 +3,7 @@
- - fix nobind sun escaped map entries.
- - fix use cache entry after free in lookup_prune_one_cache().
- - fix ipv6 proximity calculation.
-+- fix parse buffer initialization.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/lib/master_tok.l b/lib/master_tok.l
-index 0d6edb7..30abb15 100644
---- a/lib/master_tok.l
-+++ b/lib/master_tok.l
-@@ -74,7 +74,8 @@ int my_yyinput(char *, int);
- #define unput(c) (*(char *) --line = c)
- #endif
-
--char buff[1024];
-+#define BUFF_LEN 1024
-+char buff[BUFF_LEN];
- char *bptr;
- char *optr = buff;
- unsigned int tlen;
-@@ -174,6 +175,7 @@ OPTNTOUT (-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo
- *bptr = '\0';
- strcpy(master_lval.strtype, buff);
- bptr = buff;
-+ memset(buff, 0, BUFF_LEN);
- return(PATH);
- }
-
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-requires-in-spec-file.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-requires-in-spec-file.patch
deleted file mode 100644
index 404c84854f..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-requires-in-spec-file.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-autofs-5.0.7 - fix requires in spec file
-
-From: Ian Kent <raven@themaw.net>
-
-Fix the use of depricated reqires in tar spec file.
----
- CHANGELOG | 1 +
- autofs.spec | 4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 247d334..e848bcd 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -33,6 +33,7 @@
- - fix file descriptor leak when reloading the daemon.
- - depricate nosymlink pseudo option.
- - add symlink pseudo option.
-+- fix requires in spec file.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/autofs.spec b/autofs.spec
-index b8a3b7a..703f7a9 100644
---- a/autofs.spec
-+++ b/autofs.spec
-@@ -25,8 +25,8 @@ Buildroot: %{_tmppath}/%{name}-tmp
- %if %{with_systemd}
- BuildRequires: systemd-units
- %endif
--BuildPrereq: autoconf, hesiod-devel, openldap-devel, bison, flex, cyrus-sasl-devel
--Prereq: chkconfig
-+BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, cyrus-sasl-devel
-+Requires: chkconfig
- Requires: /bin/bash mktemp sed textutils sh-utils grep /bin/ps
- %if %{with_systemd}
- Requires(post): systemd-sysv
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-submount-offset-delete.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-submount-offset-delete.patch
deleted file mode 100644
index b38e21433c..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-submount-offset-delete.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-autofs-5.0.7 - fix submount offset delete
-
-From: Ian Kent <ikent@redhat.com>
-
-As part of the implementation to allow for limited update of
-the internal hosts map by using a HUP signal some code that
-deleted any offset entries from the cache on lookup was removed
-as it appeared to not be needed.
-
-There is however a case where it is needed to avoid a duplicate
-cache entry failure on lookup.
----
-
- CHANGELOG | 1 +
- daemon/automount.c | 4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 7eb7235..76c1f73 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -18,6 +18,7 @@
- - fix map entry duplicate offset detection.
- - Allow nsswitch.conf to not contain "automount:" lines.
- - fix nobind man page description.
-+- fix submount offset delete.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/daemon/automount.c b/daemon/automount.c
-index e56f9e1..4a3eb3d 100644
---- a/daemon/automount.c
-+++ b/daemon/automount.c
-@@ -544,8 +544,8 @@ int umount_multi(struct autofs_point *ap, const char *path, int incl)
- * If we are a submount we need to umount any offsets our
- * parent may have mounted over top of us.
- */
-- /*if (ap->submount)
-- left += umount_subtree_mounts(ap->parent, path, is_autofs_fs);*/
-+ if (ap->submount)
-+ left += umount_subtree_mounts(ap->parent, path, is_autofs_fs);
-
- left += umount_subtree_mounts(ap, path, is_autofs_fs);
-
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-systemd-unidir-in-spec-file.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-systemd-unidir-in-spec-file.patch
deleted file mode 100644
index d856faf429..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-systemd-unidir-in-spec-file.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-autofs-5.0.7 - fix systemd unidir in spec file
-
-From: Ian Kent <raven@themaw.net>
-
-
----
- CHANGELOG | 1 +
- autofs.spec | 16 ++++++++--------
- 2 files changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index b6b2679..ecdea0b 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -35,6 +35,7 @@
- - add symlink pseudo option.
- - fix requires in spec file.
- - fix libtirpc build option to require libtirpc-devel if needed.
-+- fix systemd unidir in spec file.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/autofs.spec b/autofs.spec
-index f77acc1..a768e44 100644
---- a/autofs.spec
-+++ b/autofs.spec
-@@ -76,7 +76,7 @@ inkludera n
- %setup -q
- echo %{version}-%{release} > .version
- %if %{with_systemd}
-- %define _unitdir %{?_unitdir:/lib/systemd/system}
-+ %define unitdir %{?_unitdir:/lib/systemd/system}
- %define systemd_configure_arg --with-systemd
- %endif
- %if %{with_libtirpc}
-@@ -95,7 +95,7 @@ CFLAGS="$RPM_OPT_FLAGS -Wall" make initdir=/etc/rc.d/init.d DONTSTRIP=1
- %install
- rm -rf $RPM_BUILD_ROOT
- %if %{with_systemd}
--install -d -m 755 $RPM_BUILD_ROOT%{_unitdir}
-+install -d -m 755 $RPM_BUILD_ROOT%{unitdir}
- %else
- mkdir -p -m755 $RPM_BUILD_ROOT/etc/rc.d/init.d
- %endif
-@@ -109,9 +109,13 @@ make install mandir=%{_mandir} initdir=/etc/rc.d/init.d INSTALLROOT=$RPM_BUILD_R
- echo make -C redhat
- make -C redhat
- %if %{with_systemd}
--install -m 644 redhat/autofs.service $RPM_BUILD_ROOT%{_unitdir}/autofs.service
-+# Configure can get this wrong when the unit files appear under /lib and /usr/lib
-+find $RPM_BUILD_ROOT -type f -name autofs.service -exec rm -f {} \;
-+install -m 644 redhat/autofs.service $RPM_BUILD_ROOT%{unitdir}/autofs.service
-+%define init_file_name %{unitdir}/autofs.service
- %else
- install -m 755 redhat/autofs.init $RPM_BUILD_ROOT/etc/rc.d/init.d/autofs
-+%define init_file_name /etc/rc.d/init.d/autofs
- %endif
- install -m 644 redhat/autofs.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/autofs
-
-@@ -170,11 +174,7 @@ fi
- %files
- %defattr(-,root,root)
- %doc CREDITS CHANGELOG INSTALL COPY* README* samples/ldap* samples/autofs.schema samples/autofs_ldap_auth.conf
--%if %{with_systemd}
--%{_unitdir}/autofs.service
--%else
--%config /etc/rc.d/init.d/autofs
--%endif
-+%config %{init_file_name}
- %config(noreplace) /etc/auto.master
- %config(noreplace,missingok) /etc/auto.misc
- %config(noreplace,missingok) /etc/auto.net
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-typo-in-automount-8.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-typo-in-automount-8.patch
deleted file mode 100644
index 6d88ce0cbd..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-typo-in-automount-8.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-autofs-5.0.7 - fix typo in automount(8)
-
-From: Ian Kent <ikent@redhat.com>
-
-
----
-
- CHANGELOG | 1 +
- man/automount.8 | 2 +-
- 2 files changed, 2 insertions(+), 1 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 276d6ba..6051723 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -4,6 +4,7 @@
- - fix use cache entry after free in lookup_prune_one_cache().
- - fix ipv6 proximity calculation.
- - fix parse buffer initialization.
-+- fix typo in automount(8).
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/man/automount.8 b/man/automount.8
-index 0186984..dddebce 100644
---- a/man/automount.8
-+++ b/man/automount.8
-@@ -51,7 +51,7 @@ are over-ridden macro definitions of the same name specified in
- mount entries.
- .TP
- .I "\-f, \-\-foreground"
--Run the daemon in the forground and log to stderr instead of syslog."
-+Run the daemon in the foreground and log to stderr instead of syslog."
- .TP
- .I "\-r, \-\-random-multimount-selection"
- Enables the use of ramdom selection when choosing a host from a
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch
deleted file mode 100644
index a469c16868..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-autofs-5.0.7 - fix use cache entry after free mistake
-
-From: Ian Kent <ikent@redhat.com>
-
-Fix an obvious use after free mistake in lookup_prune_one_cache().
----
-
- CHANGELOG | 1 +
- daemon/lookup.c | 7 +++++--
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index faf4c80..dc38580 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -1,6 +1,7 @@
- ??/??/2012 autofs-5.0.8
- =======================
- - fix nobind sun escaped map entries.
-+- fix use cache entry after free in lookup_prune_one_cache().
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/daemon/lookup.c b/daemon/lookup.c
-index 7909536..e3d9536 100644
---- a/daemon/lookup.c
-+++ b/daemon/lookup.c
-@@ -1103,15 +1103,18 @@ void lookup_prune_one_cache(struct autofs_point *ap, struct mapent_cache *mc, ti
- if (valid)
- cache_delete(mc, key);
- else if (!is_mounted(_PROC_MOUNTS, path, MNTS_AUTOFS)) {
-+ dev_t devid = ap->dev;
- status = CHE_FAIL;
-+ if (ap->type == LKP_DIRECT)
-+ devid = this->dev;
- if (this->ioctlfd == -1)
- status = cache_delete(mc, key);
- if (status != CHE_FAIL) {
- if (ap->type == LKP_INDIRECT) {
- if (ap->flags & MOUNT_FLAG_GHOST)
-- rmdir_path(ap, path, ap->dev);
-+ rmdir_path(ap, path, devid);
- } else
-- rmdir_path(ap, path, this->dev);
-+ rmdir_path(ap, path, devid);
- }
- }
- cache_unlock(mc);
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-get_proximity-without-libtirpc.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-get_proximity-without-libtirpc.patch
deleted file mode 100644
index 74ed8fa642..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-get_proximity-without-libtirpc.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-autofs-5.0.7 - fix use get_proximity() without libtirpc
-
-From: Ian Kent <raven@themaw.net>
-
-If autofs is not using libtirpc and there are any configured IPv6
-interfaces then get_proximity() will fail with PROXIMITY_UNSUPPORTED.
-
-In this case when checking interfaces the IPv6 interfaces need to be
-ignored.
----
-
- CHANGELOG | 1 +
- modules/replicated.c | 8 ++------
- 2 files changed, 3 insertions(+), 6 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 5bcb1af..460bd27 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -20,6 +20,7 @@
- - fix nobind man page description.
- - fix submount offset delete.
- - fix init script status return.
-+- fix use get_proximity() without libtirpc.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/modules/replicated.c b/modules/replicated.c
-index bd6003b..6b96320 100644
---- a/modules/replicated.c
-+++ b/modules/replicated.c
-@@ -184,9 +184,7 @@ static unsigned int get_proximity(struct sockaddr *host_addr)
- break;
-
- case AF_INET6:
--#ifndef WITH_LIBTIRPC
-- return PROXIMITY_UNSUPPORTED;
--#else
-+#ifdef WITH_LIBTIRPC
- if (host_addr->sa_family == AF_INET)
- break;
- if6_addr = (struct sockaddr_in6 *) this->ifa_addr;
-@@ -251,9 +249,7 @@ static unsigned int get_proximity(struct sockaddr *host_addr)
- break;
-
- case AF_INET6:
--#ifndef WITH_LIBTIRPC
-- return PROXIMITY_UNSUPPORTED;
--#else
-+#ifdef WITH_LIBTIRPC
- if (host_addr->sa_family == AF_INET)
- break;
- if6_addr = (struct sockaddr_in6 *) this->ifa_addr;
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-wildcard-multi-map-regression.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-wildcard-multi-map-regression.patch
deleted file mode 100644
index 44e4a18e32..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-wildcard-multi-map-regression.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-autofs-5.0.7 - fix wildcard multi map regression
-
-From: Ian Kent <raven@themaw.net>
-
-A recent patch that removed code to add the current map entry when
-being parsed if it didn't already exist cause wildcard indirect
-multi-mount map entries to fail to mount.
-
-Indirect multi-mount map entries need the entry matched by a wildcard
-lookup to be added to the map entry cache because subsequent operations
-expect a distinct map entry to be present or they will fail. This is
-what the code that was removed did but it did so in the wrong place
-which caused a deadlock situation.
----
- CHANGELOG | 1 +
- modules/lookup_file.c | 23 ++++++++++++++++-------
- modules/lookup_ldap.c | 19 +++++++++++++++----
- modules/lookup_nisplus.c | 21 ++++++++++++++++-----
- modules/lookup_sss.c | 17 ++++++++++++++---
- modules/lookup_yp.c | 21 ++++++++++++++++-----
- 6 files changed, 78 insertions(+), 24 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 97d6f48..46ef335 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -29,6 +29,7 @@
- - modules/replicated.c: use sin6_addr.s6_addr32.
- - workaround missing GNU versionsort extension.
- - dont fail on master map self include.
-+- fix wildcard multi map regression.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/modules/lookup_file.c b/modules/lookup_file.c
-index f37bed9..65e5ee6 100644
---- a/modules/lookup_file.c
-+++ b/modules/lookup_file.c
-@@ -1040,7 +1040,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
- return NSS_STATUS_UNAVAIL;
- }
-
-- cache_readlock(mc);
-+ cache_writelock(mc);
- me = cache_lookup_first(mc);
- if (me && st.st_mtime <= me->age) {
- /*
-@@ -1082,7 +1082,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
- }
- }
-
-- cache_readlock(mc);
-+ cache_writelock(mc);
- do_cache_lookup:
- me = cache_lookup(mc, key);
- /*
-@@ -1098,11 +1098,20 @@ do_cache_lookup:
- if (!me)
- me = cache_lookup_distinct(mc, "*");
- }
-- if (me && me->mapent && (me->source == source || *me->key == '/')) {
-- pthread_cleanup_push(cache_lock_cleanup, mc);
-- strcpy(mapent_buf, me->mapent);
-- mapent = mapent_buf;
-- pthread_cleanup_pop(0);
-+ if (me && me->mapent) {
-+ /*
-+ * Add wildcard match for later validation checks and
-+ * negative cache lookups.
-+ */
-+ if (ap->type == LKP_INDIRECT && *me->key == '*') {
-+ ret = cache_update(mc, source, key, me->mapent, me->age);
-+ if (!(ret & (CHE_OK | CHE_UPDATED)))
-+ me = NULL;
-+ }
-+ if (me && (me->source == source || *me->key == '/')) {
-+ strcpy(mapent_buf, me->mapent);
-+ mapent = mapent_buf;
-+ }
- }
- cache_unlock(mc);
-
-diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c
-index 431e50d..83e3215 100644
---- a/modules/lookup_ldap.c
-+++ b/modules/lookup_ldap.c
-@@ -2969,7 +2969,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
- return status;
- }
-
-- cache_readlock(mc);
-+ cache_writelock(mc);
- me = cache_lookup(mc, key);
- /* Stale mapent => check for entry in alternate source or wildcard */
- if (me && !me->mapent) {
-@@ -2979,9 +2979,20 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
- if (!me)
- me = cache_lookup_distinct(mc, "*");
- }
-- if (me && me->mapent && (me->source == source || *me->key == '/')) {
-- strcpy(mapent_buf, me->mapent);
-- mapent = mapent_buf;
-+ if (me && me->mapent) {
-+ /*
-+ * Add wildcard match for later validation checks and
-+ * negative cache lookups.
-+ */
-+ if (ap->type == LKP_INDIRECT && *me->key == '*') {
-+ ret = cache_update(mc, source, key, me->mapent, me->age);
-+ if (!(ret & (CHE_OK | CHE_UPDATED)))
-+ me = NULL;
-+ }
-+ if (me && (me->source == source || *me->key == '/')) {
-+ strcpy(mapent_buf, me->mapent);
-+ mapent = mapent_buf;
-+ }
- }
- cache_unlock(mc);
-
-diff --git a/modules/lookup_nisplus.c b/modules/lookup_nisplus.c
-index 9fced96..8237a1e 100644
---- a/modules/lookup_nisplus.c
-+++ b/modules/lookup_nisplus.c
-@@ -561,7 +561,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
- return status;
- }
-
-- cache_readlock(mc);
-+ cache_writelock(mc);
- me = cache_lookup(mc, key);
- /* Stale mapent => check for entry in alternate source or wildcard */
- if (me && !me->mapent) {
-@@ -571,10 +571,21 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
- if (!me)
- me = cache_lookup_distinct(mc, "*");
- }
-- if (me && me->mapent && (me->source == source || *me->key == '/')) {
-- mapent_len = strlen(me->mapent);
-- mapent = malloc(mapent_len + 1);
-- strcpy(mapent, me->mapent);
-+ if (me && me->mapent) {
-+ /*
-+ * Add wildcard match for later validation checks and
-+ * negative cache lookups.
-+ */
-+ if (ap->type == LKP_INDIRECT && *me->key == '*') {
-+ ret = cache_update(mc, source, key, me->mapent, me->age);
-+ if (!(ret & (CHE_OK | CHE_UPDATED)))
-+ me = NULL;
-+ }
-+ if (me && (me->source == source || *me->key == '/')) {
-+ mapent_len = strlen(me->mapent);
-+ mapent = malloc(mapent_len + 1);
-+ strcpy(mapent, me->mapent);
-+ }
- }
- cache_unlock(mc);
-
-diff --git a/modules/lookup_sss.c b/modules/lookup_sss.c
-index e0b84cc..5c2ed0a 100644
---- a/modules/lookup_sss.c
-+++ b/modules/lookup_sss.c
-@@ -645,9 +645,20 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
- if (!me)
- me = cache_lookup_distinct(mc, "*");
- }
-- if (me && me->mapent && (me->source == source || *me->key == '/')) {
-- strcpy(mapent_buf, me->mapent);
-- mapent = mapent_buf;
-+ if (me && me->mapent) {
-+ /*
-+ * Add wildcard match for later validation checks and
-+ * negative cache lookups.
-+ */
-+ if (ap->type == LKP_INDIRECT && *me->key == '*') {
-+ ret = cache_update(mc, source, key, me->mapent, me->age);
-+ if (!(ret & (CHE_OK | CHE_UPDATED)))
-+ me = NULL;
-+ }
-+ if (me && (me->source == source || *me->key == '/')) {
-+ strcpy(mapent_buf, me->mapent);
-+ mapent = mapent_buf;
-+ }
- }
- cache_unlock(mc);
-
-diff --git a/modules/lookup_yp.c b/modules/lookup_yp.c
-index 720df2e..a716e1f 100644
---- a/modules/lookup_yp.c
-+++ b/modules/lookup_yp.c
-@@ -662,7 +662,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
- return status;
- }
-
-- cache_readlock(mc);
-+ cache_writelock(mc);
- me = cache_lookup(mc, key);
- /* Stale mapent => check for entry in alternate source or wildcard */
- if (me && !me->mapent) {
-@@ -672,10 +672,21 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
- if (!me)
- me = cache_lookup_distinct(mc, "*");
- }
-- if (me && me->mapent && (me->source == source || *me->key == '/')) {
-- mapent_len = strlen(me->mapent);
-- mapent = alloca(mapent_len + 1);
-- strcpy(mapent, me->mapent);
-+ if (me && me->mapent) {
-+ /*
-+ * Add wildcard match for later validation checks and
-+ * negative cache lookups.
-+ */
-+ if (ap->type == LKP_INDIRECT && *me->key == '*') {
-+ ret = cache_update(mc, source, key, me->mapent, me->age);
-+ if (!(ret & (CHE_OK | CHE_UPDATED)))
-+ me = NULL;
-+ }
-+ if (me && (me->source == source || *me->key == '/')) {
-+ mapent_len = strlen(me->mapent);
-+ mapent = alloca(mapent_len + 1);
-+ strcpy(mapent, me->mapent);
-+ }
- }
- cache_unlock(mc);
-
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-handle-new-location-of-systemd.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-handle-new-location-of-systemd.patch
deleted file mode 100644
index 1c26794f50..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-handle-new-location-of-systemd.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-autofs-5.0.7 - Handle new location of systemd
-
-From: Frederic Crozat <fcrozat@suse.com>
-
-Some distributions are moving systemd unit files from /lib to
-/usr/lib, so we need to test both directories.
-
-edit: imk
-It occurs to me I've forgotten to check for the 64 bit variants
-of the directories, so add them as well.
-end edit: imk
----
-
- CHANGELOG | 1 +
- aclocal.m4 | 2 +-
- configure | 2 +-
- 3 files changed, 3 insertions(+), 2 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 3bdf8a4..8f6bb3a 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -14,6 +14,7 @@
- - allow non root user to check status.
- - fix recursive mount deadlock.
- - increase file map read buffer size.
-+- handle new location of systemd.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/aclocal.m4 b/aclocal.m4
-index 1798c8b..47bca0c 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -234,7 +234,7 @@ AC_DEFUN([AF_WITH_SYSTEMD],
- [if test "$withval" = yes; then
- if test -z "$systemddir"; then
- AC_MSG_CHECKING([location of the systemd unit files directory])
-- for systemd_d in /lib/systemd/system; do
-+ for systemd_d in /usr/lib/systemd/system /usr/lib64/systemd/system /lib/systemd/system /lib64/systemd/system; do
- if test -z "$systemddir"; then
- if test -d "$systemd_d"; then
- systemddir="$systemd_d"
-diff --git a/configure b/configure
-index ba3bba6..3722a46 100755
---- a/configure
-+++ b/configure
-@@ -2157,7 +2157,7 @@ if test "${with_systemd+set}" = set; then :
- if test -z "$systemddir"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of the systemd unit files directory" >&5
- $as_echo_n "checking location of the systemd unit files directory... " >&6; }
-- for systemd_d in /lib/systemd/system; do
-+ for systemd_d in /usr/lib/systemd/system /usr/lib64/systemd/system /lib/systemd/system /lib64/systemd/system; do
- if test -z "$systemddir"; then
- if test -d "$systemd_d"; then
- systemddir="$systemd_d"
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-usage-in-usage-message.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-usage-in-usage-message.patch
deleted file mode 100644
index 1c8a565a29..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-usage-in-usage-message.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-autofs-5.0.7 - include usage in usage message
-
-From: Ian Kent <ikent@redhat.com>
-
-Since usage is a case entry we should also nclude it in the usage
-message.
----
-
- redhat/autofs.init.in | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-
-diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in
-index 8e355da..ec6d5d6 100644
---- a/redhat/autofs.init.in
-+++ b/redhat/autofs.init.in
-@@ -155,7 +155,7 @@ function reload() {
- }
-
- function usage_message() {
-- echo $"Usage: $0 {start|forcestart|stop|status|restart|force-reload|forcerestart|reload|condrestart|try-restart}"
-+ echo $"Usage: $0 {start|forcestart|stop|status|restart|force-reload|forcerestart|reload|condrestart|try-restart|usage}"
- }
-
- RETVAL=0
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-lib-defaults-use-WITH_LDAP-conditional-around-LDAP-types.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-lib-defaults-use-WITH_LDAP-conditional-around-LDAP-types.patch
deleted file mode 100644
index 22e0418e54..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-lib-defaults-use-WITH_LDAP-conditional-around-LDAP-types.patch
+++ /dev/null
@@ -1,448 +0,0 @@
-autofs-5.0.7 - lib/defaults.c: use WITH_LDAP conditional around LDAP types
-
-From: Chris Packham <chris.packham@alliedtelesis.co.nz>
-
-Wrap the inclusion of lookup_ldap.h and functions that use ldap_uri or
-ldap_schema with the WITH_LDAP conditional. WITH_LDAP is set by the
-configure step when LDAP support is not desired. This also allows
-compilation on a system that doesn't have any LDAP libraries.
----
-
- CHANGELOG | 1
- include/defaults.h | 14 +-
- include/lookup_ldap.h | 1
- lib/defaults.c | 325 +++++++++++++++++++++++++------------------------
- modules/lookup_ldap.c | 1
- 5 files changed, 175 insertions(+), 167 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index ba1d65b..1130db6 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -24,6 +24,7 @@
- - don't use dirent d_type to filter out files in scandir()
- - don't schedule new alarms after readmap.
- - use numeric protocol ids instead of protoent structs.
-+- lib/defaults.c: use WITH_LDAP conditional around LDAP types.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/include/defaults.h b/include/defaults.h
-index cda2174..871e14b 100644
---- a/include/defaults.h
-+++ b/include/defaults.h
-@@ -44,8 +44,16 @@
-
- #define DEFAULT_MAP_HASH_TABLE_SIZE 1024
-
-+#ifdef WITH_LDAP
- struct ldap_schema;
- struct ldap_searchdn;
-+void defaults_free_uris(struct list_head *);
-+struct list_head *defaults_get_uris(void);
-+struct ldap_schema *defaults_get_default_schema(void);
-+void defaults_free_searchdns(struct ldap_searchdn *);
-+struct ldap_searchdn *defaults_get_searchdns(void);
-+struct ldap_schema *defaults_get_schema(void);
-+#endif
-
- unsigned int defaults_read_config(unsigned int);
- const char *defaults_get_master_map(void);
-@@ -57,12 +65,6 @@ unsigned int defaults_get_logging(void);
- const char *defaults_get_ldap_server(void);
- unsigned int defaults_get_ldap_timeout(void);
- unsigned int defaults_get_ldap_network_timeout(void);
--struct list_head *defaults_get_uris(void);
--void defaults_free_uris(struct list_head *);
--struct ldap_schema *defaults_get_default_schema(void);
--struct ldap_schema *defaults_get_schema(void);
--struct ldap_searchdn *defaults_get_searchdns(void);
--void defaults_free_searchdns(struct ldap_searchdn *);
- unsigned int defaults_get_mount_nfs_default_proto(void);
- unsigned int defaults_get_append_options(void);
- unsigned int defaults_get_mount_wait(void);
-diff --git a/include/lookup_ldap.h b/include/lookup_ldap.h
-index e441a61..9a4ce73 100644
---- a/include/lookup_ldap.h
-+++ b/include/lookup_ldap.h
-@@ -8,7 +8,6 @@
- #include <openssl/evp.h>
- #include <openssl/err.h>
- #include <sasl/sasl.h>
--#include <libxml/tree.h>
- #include <krb5.h>
- #endif
-
-diff --git a/lib/defaults.c b/lib/defaults.c
-index 5ce71b7..ae1162f 100644
---- a/lib/defaults.c
-+++ b/lib/defaults.c
-@@ -17,9 +17,12 @@
- #include <ctype.h>
- #include <string.h>
-
-+#include "config.h"
- #include "list.h"
- #include "defaults.h"
-+#ifdef WITH_LDAP
- #include "lookup_ldap.h"
-+#endif
- #include "log.h"
- #include "automount.h"
-
-@@ -197,6 +200,7 @@ static int parse_line(char *line, char **res, char **value)
- return 1;
- }
-
-+#ifdef WITH_LDAP
- void defaults_free_uris(struct list_head *list)
- {
- struct list_head *next;
-@@ -290,166 +294,6 @@ struct list_head *defaults_get_uris(void)
- return list;
- }
-
--/*
-- * Read config env variables and check they have been set.
-- *
-- * This simple minded routine assumes the config file
-- * is valid bourne shell script without spaces around "="
-- * and that it has valid values.
-- */
--unsigned int defaults_read_config(unsigned int to_syslog)
--{
-- FILE *f;
-- char buf[MAX_LINE_LEN];
-- char *res;
--
-- f = open_fopen_r(DEFAULTS_CONFIG_FILE);
-- if (!f)
-- return 0;
--
-- while ((res = fgets(buf, MAX_LINE_LEN, f))) {
-- char *key, *value;
--
-- if (!parse_line(res, &key, &value))
-- continue;
--
-- if (check_set_config_value(key, ENV_NAME_MASTER_MAP, value, to_syslog) ||
-- check_set_config_value(key, ENV_NAME_TIMEOUT, value, to_syslog) ||
-- check_set_config_value(key, ENV_NAME_NEGATIVE_TIMEOUT, value, to_syslog) ||
-- check_set_config_value(key, ENV_NAME_BROWSE_MODE, value, to_syslog) ||
-- check_set_config_value(key, ENV_NAME_LOGGING, value, to_syslog) ||
-- check_set_config_value(key, ENV_LDAP_TIMEOUT, value, to_syslog) ||
-- check_set_config_value(key, ENV_LDAP_NETWORK_TIMEOUT, value, to_syslog) ||
-- check_set_config_value(key, ENV_NAME_MAP_OBJ_CLASS, value, to_syslog) ||
-- check_set_config_value(key, ENV_NAME_ENTRY_OBJ_CLASS, value, to_syslog) ||
-- check_set_config_value(key, ENV_NAME_MAP_ATTR, value, to_syslog) ||
-- check_set_config_value(key, ENV_NAME_ENTRY_ATTR, value, to_syslog) ||
-- check_set_config_value(key, ENV_NAME_VALUE_ATTR, value, to_syslog) ||
-- check_set_config_value(key, ENV_APPEND_OPTIONS, value, to_syslog) ||
-- check_set_config_value(key, ENV_MOUNT_WAIT, value, to_syslog) ||
-- check_set_config_value(key, ENV_UMOUNT_WAIT, value, to_syslog) ||
-- check_set_config_value(key, ENV_AUTH_CONF_FILE, value, to_syslog) ||
-- check_set_config_value(key, ENV_MAP_HASH_TABLE_SIZE, value, to_syslog) ||
-- check_set_config_value(key, ENV_MOUNT_NFS_DEFAULT_PROTOCOL, value, to_syslog))
-- ;
-- }
--
-- if (!feof(f) || ferror(f)) {
-- if (!to_syslog) {
-- fprintf(stderr,
-- "fgets returned error %d while reading %s\n",
-- ferror(f), DEFAULTS_CONFIG_FILE);
-- } else {
-- logmsg("fgets returned error %d while reading %s",
-- ferror(f), DEFAULTS_CONFIG_FILE);
-- }
-- fclose(f);
-- return 0;
-- }
--
-- fclose(f);
-- return 1;
--}
--
--const char *defaults_get_master_map(void)
--{
-- char *master;
--
-- master = get_env_string(ENV_NAME_MASTER_MAP);
-- if (!master)
-- return strdup(default_master_map_name);
--
-- return (const char *) master;
--}
--
--int defaults_master_set(void)
--{
-- char *val = getenv(ENV_NAME_MASTER_MAP);
-- if (!val)
-- return 0;
--
-- return 1;
--}
--
--unsigned int defaults_get_timeout(void)
--{
-- long timeout;
--
-- timeout = get_env_number(ENV_NAME_TIMEOUT);
-- if (timeout < 0)
-- timeout = DEFAULT_TIMEOUT;
--
-- return (unsigned int) timeout;
--}
--
--unsigned int defaults_get_negative_timeout(void)
--{
-- long n_timeout;
--
-- n_timeout = get_env_number(ENV_NAME_NEGATIVE_TIMEOUT);
-- if (n_timeout <= 0)
-- n_timeout = DEFAULT_NEGATIVE_TIMEOUT;
--
-- return (unsigned int) n_timeout;
--}
--
--unsigned int defaults_get_browse_mode(void)
--{
-- int res;
--
-- res = get_env_yesno(ENV_NAME_BROWSE_MODE);
-- if (res < 0)
-- res = DEFAULT_BROWSE_MODE;
--
-- return res;
--}
--
--unsigned int defaults_get_logging(void)
--{
-- char *res;
-- unsigned int logging = DEFAULT_LOGGING;
--
-- res = get_env_string(ENV_NAME_LOGGING);
-- if (!res)
-- return logging;
--
-- if (!strcasecmp(res, "none"))
-- logging = DEFAULT_LOGGING;
-- else {
-- if (!strcasecmp(res, "verbose"))
-- logging |= LOGOPT_VERBOSE;
--
-- if (!strcasecmp(res, "debug"))
-- logging |= LOGOPT_DEBUG;
-- }
--
-- free(res);
--
-- return logging;
--}
--
--unsigned int defaults_get_ldap_timeout(void)
--{
-- int res;
--
-- res = get_env_number(ENV_LDAP_TIMEOUT);
-- if (res < 0)
-- res = DEFAULT_LDAP_TIMEOUT;
--
-- return res;
--}
--
--unsigned int defaults_get_ldap_network_timeout(void)
--{
-- int res;
--
-- res = get_env_number(ENV_LDAP_NETWORK_TIMEOUT);
-- if (res < 0)
-- res = DEFAULT_LDAP_NETWORK_TIMEOUT;
--
-- return res;
--}
--
- struct ldap_schema *defaults_get_default_schema(void)
- {
- struct ldap_schema *schema;
-@@ -645,6 +489,167 @@ struct ldap_schema *defaults_get_schema(void)
-
- return schema;
- }
-+#endif
-+
-+/*
-+ * Read config env variables and check they have been set.
-+ *
-+ * This simple minded routine assumes the config file
-+ * is valid bourne shell script without spaces around "="
-+ * and that it has valid values.
-+ */
-+unsigned int defaults_read_config(unsigned int to_syslog)
-+{
-+ FILE *f;
-+ char buf[MAX_LINE_LEN];
-+ char *res;
-+
-+ f = open_fopen_r(DEFAULTS_CONFIG_FILE);
-+ if (!f)
-+ return 0;
-+
-+ while ((res = fgets(buf, MAX_LINE_LEN, f))) {
-+ char *key, *value;
-+
-+ if (!parse_line(res, &key, &value))
-+ continue;
-+
-+ if (check_set_config_value(key, ENV_NAME_MASTER_MAP, value, to_syslog) ||
-+ check_set_config_value(key, ENV_NAME_TIMEOUT, value, to_syslog) ||
-+ check_set_config_value(key, ENV_NAME_NEGATIVE_TIMEOUT, value, to_syslog) ||
-+ check_set_config_value(key, ENV_NAME_BROWSE_MODE, value, to_syslog) ||
-+ check_set_config_value(key, ENV_NAME_LOGGING, value, to_syslog) ||
-+ check_set_config_value(key, ENV_LDAP_TIMEOUT, value, to_syslog) ||
-+ check_set_config_value(key, ENV_LDAP_NETWORK_TIMEOUT, value, to_syslog) ||
-+ check_set_config_value(key, ENV_NAME_MAP_OBJ_CLASS, value, to_syslog) ||
-+ check_set_config_value(key, ENV_NAME_ENTRY_OBJ_CLASS, value, to_syslog) ||
-+ check_set_config_value(key, ENV_NAME_MAP_ATTR, value, to_syslog) ||
-+ check_set_config_value(key, ENV_NAME_ENTRY_ATTR, value, to_syslog) ||
-+ check_set_config_value(key, ENV_NAME_VALUE_ATTR, value, to_syslog) ||
-+ check_set_config_value(key, ENV_APPEND_OPTIONS, value, to_syslog) ||
-+ check_set_config_value(key, ENV_MOUNT_WAIT, value, to_syslog) ||
-+ check_set_config_value(key, ENV_UMOUNT_WAIT, value, to_syslog) ||
-+ check_set_config_value(key, ENV_AUTH_CONF_FILE, value, to_syslog) ||
-+ check_set_config_value(key, ENV_MAP_HASH_TABLE_SIZE, value, to_syslog) ||
-+ check_set_config_value(key, ENV_MOUNT_NFS_DEFAULT_PROTOCOL, value, to_syslog))
-+ ;
-+ }
-+
-+ if (!feof(f) || ferror(f)) {
-+ if (!to_syslog) {
-+ fprintf(stderr,
-+ "fgets returned error %d while reading %s\n",
-+ ferror(f), DEFAULTS_CONFIG_FILE);
-+ } else {
-+ logmsg("fgets returned error %d while reading %s",
-+ ferror(f), DEFAULTS_CONFIG_FILE);
-+ }
-+ fclose(f);
-+ return 0;
-+ }
-+
-+ fclose(f);
-+ return 1;
-+}
-+
-+const char *defaults_get_master_map(void)
-+{
-+ char *master;
-+
-+ master = get_env_string(ENV_NAME_MASTER_MAP);
-+ if (!master)
-+ return strdup(default_master_map_name);
-+
-+ return (const char *) master;
-+}
-+
-+int defaults_master_set(void)
-+{
-+ char *val = getenv(ENV_NAME_MASTER_MAP);
-+ if (!val)
-+ return 0;
-+
-+ return 1;
-+}
-+
-+unsigned int defaults_get_timeout(void)
-+{
-+ long timeout;
-+
-+ timeout = get_env_number(ENV_NAME_TIMEOUT);
-+ if (timeout < 0)
-+ timeout = DEFAULT_TIMEOUT;
-+
-+ return (unsigned int) timeout;
-+}
-+
-+unsigned int defaults_get_negative_timeout(void)
-+{
-+ long n_timeout;
-+
-+ n_timeout = get_env_number(ENV_NAME_NEGATIVE_TIMEOUT);
-+ if (n_timeout <= 0)
-+ n_timeout = DEFAULT_NEGATIVE_TIMEOUT;
-+
-+ return (unsigned int) n_timeout;
-+}
-+
-+unsigned int defaults_get_browse_mode(void)
-+{
-+ int res;
-+
-+ res = get_env_yesno(ENV_NAME_BROWSE_MODE);
-+ if (res < 0)
-+ res = DEFAULT_BROWSE_MODE;
-+
-+ return res;
-+}
-+
-+unsigned int defaults_get_logging(void)
-+{
-+ char *res;
-+ unsigned int logging = DEFAULT_LOGGING;
-+
-+ res = get_env_string(ENV_NAME_LOGGING);
-+ if (!res)
-+ return logging;
-+
-+ if (!strcasecmp(res, "none"))
-+ logging = DEFAULT_LOGGING;
-+ else {
-+ if (!strcasecmp(res, "verbose"))
-+ logging |= LOGOPT_VERBOSE;
-+
-+ if (!strcasecmp(res, "debug"))
-+ logging |= LOGOPT_DEBUG;
-+ }
-+
-+ free(res);
-+
-+ return logging;
-+}
-+
-+unsigned int defaults_get_ldap_timeout(void)
-+{
-+ int res;
-+
-+ res = get_env_number(ENV_LDAP_TIMEOUT);
-+ if (res < 0)
-+ res = DEFAULT_LDAP_TIMEOUT;
-+
-+ return res;
-+}
-+
-+unsigned int defaults_get_ldap_network_timeout(void)
-+{
-+ int res;
-+
-+ res = get_env_number(ENV_LDAP_NETWORK_TIMEOUT);
-+ if (res < 0)
-+ res = DEFAULT_LDAP_NETWORK_TIMEOUT;
-+
-+ return res;
-+}
-
- unsigned int defaults_get_mount_nfs_default_proto(void)
- {
-diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c
-index 3bc4dc5..431e50d 100644
---- a/modules/lookup_ldap.c
-+++ b/modules/lookup_ldap.c
-@@ -28,6 +28,7 @@
- #include <arpa/nameser.h>
- #include <resolv.h>
- #include <lber.h>
-+#include <libxml/tree.h>
-
- #define MODULE_LOOKUP
- #include "automount.h"
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-description-of-default-MOUNT_WAIT-setting-clear.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-description-of-default-MOUNT_WAIT-setting-clear.patch
deleted file mode 100644
index a3dd3fb691..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-description-of-default-MOUNT_WAIT-setting-clear.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-autofs-5.0.7 - make description of default MOUNT_WAIT setting clear
-
-From: Ian Kent <ikent@redhat.com>
-
-
----
-
- CHANGELOG | 1 +
- redhat/autofs.sysconfig.in | 5 +++--
- samples/autofs.conf.default.in | 5 +++--
- 3 files changed, 7 insertions(+), 4 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 79cf673..961e340 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -8,6 +8,7 @@
- - dont wait forever to restart.
- - add timeout option description to man page.
- - fix null map entry order handling.
-+- make description of default MOUNT_WAIT setting clear.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/redhat/autofs.sysconfig.in b/redhat/autofs.sysconfig.in
-index 36b924d..a8992c4 100644
---- a/redhat/autofs.sysconfig.in
-+++ b/redhat/autofs.sysconfig.in
-@@ -18,8 +18,9 @@ TIMEOUT=300
- # Setting this timeout can cause problems when
- # mount would otherwise wait for a server that
- # is temporarily unavailable, such as when it's
--# restarting. The defailt of waiting for mount(8)
--# usually results in a wait of around 3 minutes.
-+# restarting. The default setting (-1) of waiting
-+# for mount(8) usually results in a wait of around
-+# 3 minutes.
- #
- #MOUNT_WAIT=-1
- #
-diff --git a/samples/autofs.conf.default.in b/samples/autofs.conf.default.in
-index ac2f63b..1da89cf 100644
---- a/samples/autofs.conf.default.in
-+++ b/samples/autofs.conf.default.in
-@@ -18,8 +18,9 @@ TIMEOUT=300
- # Setting this timeout can cause problems when
- # mount would otherwise wait for a server that
- # is temporarily unavailable, such as when it's
--# restarting. The defailt of waiting for mount(8)
--# usually results in a wait of around 3 minutes.
-+# restarting. The default setting (-1) of waiting
-+# for mount(8) usually results in a wait of around
-+# 3 minutes.
- #
- #MOUNT_WAIT=-1
- #
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-yellow-pages-support-optional.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-yellow-pages-support-optional.patch
deleted file mode 100644
index 41996906c1..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-yellow-pages-support-optional.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-autofs-5.0.7 - make yellow pages support optional
-
-From: Chris Packham <chris.packham@alliedtelesis.co.nz>
-
-If rpcsvc/ypclnt.h is not available don't compile in Yellow Pages
-support.
----
-
- CHANGELOG | 1 +
- Makefile.conf.in | 3 +++
- configure | 16 ++++++++++++++++
- configure.in | 9 +++++++++
- include/config.h.in | 3 +++
- lib/rpc_subs.c | 1 -
- modules/Makefile | 9 +++++++--
- 7 files changed, 39 insertions(+), 3 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 1130db6..ed17163 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -25,6 +25,7 @@
- - don't schedule new alarms after readmap.
- - use numeric protocol ids instead of protoent structs.
- - lib/defaults.c: use WITH_LDAP conditional around LDAP types.
-+- make yellow pages support optional.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/Makefile.conf.in b/Makefile.conf.in
-index 802318b..3766d45 100644
---- a/Makefile.conf.in
-+++ b/Makefile.conf.in
-@@ -43,6 +43,9 @@ NISPLUS = @HAVE_NISPLUS@
- # SMBFS support: yes (1) no (0)
- SMBFS = @HAVE_SMBMOUNT@
-
-+# YellowPages support: yes (1) no (0)
-+YPCLNT = @HAVE_YPCLNT@
-+
- # Support for calling e2fsck when mounting ext2 filesystems
- EXT2FS = @HAVE_E2FSCK@
-
-diff --git a/configure b/configure
-index 3722a46..cf6428c 100755
---- a/configure
-+++ b/configure
-@@ -614,6 +614,7 @@ XML_FLAGS
- LIBLDAP
- HAVE_LDAP
- LDAP_FLAGS
-+HAVE_YPCLNT
- HAVE_NISPLUS
- EGREP
- GREP
-@@ -4575,6 +4576,21 @@ fi
-
-
-
-+# YellowPages support?
-+HAVE_YPCLNT=0
-+ac_fn_c_check_header_mongrel "$LINENO" "rpcsvc/ypclnt.h" "ac_cv_header_rpcsvc_ypclnt_h" "$ac_includes_default"
-+if test "x$ac_cv_header_rpcsvc_ypclnt_h" = xyes; then :
-+ HAVE_YPCLNT=1
-+fi
-+
-+
-+
-+if test "$HAVE_YPCLNT" = "1"; then
-+
-+$as_echo "#define HAVE_YPCLNT 1" >>confdefs.h
-+
-+fi
-+
- #
- # OpenLDAP support? Expect that this may have a special directory...
- #
-diff --git a/configure.in b/configure.in
-index 90bda62..363c376 100644
---- a/configure.in
-+++ b/configure.in
-@@ -213,6 +213,15 @@ HAVE_NISPLUS=0
- AC_CHECK_HEADER(rpcsvc/nis.h, HAVE_NISPLUS=1)
- AC_SUBST(HAVE_NISPLUS)
-
-+# YellowPages support?
-+HAVE_YPCLNT=0
-+AC_CHECK_HEADER([rpcsvc/ypclnt.h], HAVE_YPCLNT=1)
-+AC_SUBST(HAVE_YPCLNT)
-+if test "$HAVE_YPCLNT" = "1"; then
-+ AC_DEFINE(HAVE_YPCLNT, 1,
-+ [Define if using YellowPages])
-+fi
-+
- #
- # OpenLDAP support? Expect that this may have a special directory...
- #
-diff --git a/include/config.h.in b/include/config.h.in
-index 9bdf98a..7f1c5b5 100644
---- a/include/config.h.in
-+++ b/include/config.h.in
-@@ -72,6 +72,9 @@
- /* Define to 1 if you have the <unistd.h> header file. */
- #undef HAVE_UNISTD_H
-
-+/* Define if using YellowPages */
-+#undef HAVE_YPCLNT
-+
- /* Use libxml2 tsd usage workaround */
- #undef LIBXML2_WORKAROUND
-
-diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c
-index ad1d557..718caf9 100644
---- a/lib/rpc_subs.c
-+++ b/lib/rpc_subs.c
-@@ -27,7 +27,6 @@
- #include <net/if.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
--#include <rpcsvc/ypclnt.h>
- #include <errno.h>
- #include <sys/ioctl.h>
- #include <ctype.h>
-diff --git a/modules/Makefile b/modules/Makefile
-index 939da7c..c5deb24 100644
---- a/modules/Makefile
-+++ b/modules/Makefile
-@@ -5,13 +5,13 @@
- -include ../Makefile.conf
- include ../Makefile.rules
-
--SRCS := lookup_yp.c lookup_file.c lookup_program.c lookup_userhome.c \
-+SRCS := lookup_file.c lookup_program.c lookup_userhome.c \
- lookup_multi.c lookup_hosts.c lookup_dir.c \
- parse_sun.c \
- mount_generic.c mount_nfs.c mount_afs.c mount_autofs.c \
- mount_changer.c mount_bind.c
-
--MODS := lookup_yp.so lookup_file.so lookup_program.so lookup_userhome.so \
-+MODS := lookup_file.so lookup_program.so lookup_userhome.so \
- lookup_multi.so lookup_hosts.so lookup_dir.so \
- parse_sun.so \
- mount_generic.so mount_nfs.so mount_afs.so mount_autofs.so \
-@@ -37,6 +37,11 @@ ifeq ($(NISPLUS), 1)
- MODS += lookup_nisplus.so
- endif
-
-+ifeq ($(YPCLNT), 1)
-+ SRCS += lookup_yp.c
-+ MODS += lookup_yp.so
-+endif
-+
- ifeq ($(LDAP), 1)
- SRCS += lookup_ldap.c
- MODS += lookup_ldap.so
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-modules-replicated-use-sin6.addr-s6_addr32.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-modules-replicated-use-sin6.addr-s6_addr32.patch
deleted file mode 100644
index 4516bc5f25..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-modules-replicated-use-sin6.addr-s6_addr32.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-autofs-5.0.7 - modules/replicated.c: use sin6_addr.s6_addr32
-
-From: Chris Packham <chris.packham@alliedtelesis.co.nz>
-
-The exported in6.h kernel header provides a convenience macro s6_addr32
-for accessing the 32bit words of an ipv6 address. Use this instead of
-__in6_u.__u6_addr32.
----
-
- CHANGELOG | 1 +
- modules/replicated.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index ed17163..4eaa9f9 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -26,6 +26,7 @@
- - use numeric protocol ids instead of protoent structs.
- - lib/defaults.c: use WITH_LDAP conditional around LDAP types.
- - make yellow pages support optional.
-+- modules/replicated.c: use sin6_addr.s6_addr32.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/modules/replicated.c b/modules/replicated.c
-index dbd5513..26f64b8 100644
---- a/modules/replicated.c
-+++ b/modules/replicated.c
-@@ -1146,7 +1146,7 @@ try_name:
- rr4++;
- } else if (this->ai_family == AF_INET6) {
- struct sockaddr_in6 *addr = (struct sockaddr_in6 *) this->ai_addr;
-- if (!IN6_IS_ADDR_LOOPBACK(addr->sin6_addr.__in6_u.__u6_addr32))
-+ if (!IN6_IS_ADDR_LOOPBACK(addr->sin6_addr.s6_addr32))
- rr6++;
- }
- this = this->ai_next;
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-update-kernel-include-files.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-update-kernel-include-files.patch
deleted file mode 100644
index 3b6bb926ab..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-update-kernel-include-files.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-autofs-5.0.7 - update kernel include files
-
-From: Ian Kent <raven@themaw.net>
-
-Update autofs include files to include the latest changes.
----
- include/linux/auto_fs.h | 33 ++++++++++-----------------------
- include/linux/auto_fs4.h | 3 ++-
- 2 files changed, 12 insertions(+), 24 deletions(-)
-
-diff --git a/include/linux/auto_fs.h b/include/linux/auto_fs.h
-index 91d414f..64df1a6 100644
---- a/include/linux/auto_fs.h
-+++ b/include/linux/auto_fs.h
-@@ -14,13 +14,8 @@
- #ifndef _LINUX_AUTO_FS_H
- #define _LINUX_AUTO_FS_H
-
--#ifdef __KERNEL__
--#include <linux/fs.h>
--#include <linux/limits.h>
- #include <linux/types.h>
--#include <linux/ioctl.h>
--#else
--#include <asm/types.h>
-+#ifndef __KERNEL__
- #include <sys/ioctl.h>
- #endif /* __KERNEL__ */
-
-@@ -32,25 +27,16 @@
- #define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION
-
- /*
-- * Architectures where both 32- and 64-bit binaries can be executed
-- * on 64-bit kernels need this. This keeps the structure format
-- * uniform, and makes sure the wait_queue_token isn't too big to be
-- * passed back down to the kernel.
-- *
-- * This assumes that on these architectures:
-- * mode 32 bit 64 bit
-- * -------------------------
-- * int 32 bit 32 bit
-- * long 32 bit 64 bit
-- *
-- * If so, 32-bit user-space code should be backwards compatible.
-+ * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
-+ * back to the kernel via ioctl from userspace. On architectures where 32- and
-+ * 64-bit userspace binaries can be executed it's important that the size of
-+ * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we
-+ * do not break the binary ABI interface by changing the structure size.
- */
--
--#if defined(__sparc__) || defined(__mips__) || defined(__x86_64__) \
-- || defined(__powerpc__) || defined(__s390__)
--typedef unsigned int autofs_wqt_t;
--#else
-+#if defined(__ia64__) || defined(__alpha__) /* pure 64bit architectures */
- typedef unsigned long autofs_wqt_t;
-+#else
-+typedef unsigned int autofs_wqt_t;
- #endif
-
- /* Packet types */
-@@ -81,6 +67,7 @@ struct autofs_packet_expire {
- #define AUTOFS_IOC_FAIL _IO(0x93,0x61)
- #define AUTOFS_IOC_CATATONIC _IO(0x93,0x62)
- #define AUTOFS_IOC_PROTOVER _IOR(0x93,0x63,int)
-+#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(0x93,0x64,compat_ulong_t)
- #define AUTOFS_IOC_SETTIMEOUT _IOWR(0x93,0x64,unsigned long)
- #define AUTOFS_IOC_EXPIRE _IOR(0x93,0x65,struct autofs_packet_expire)
-
-diff --git a/include/linux/auto_fs4.h b/include/linux/auto_fs4.h
-index 55fa478..e02982f 100644
---- a/include/linux/auto_fs4.h
-+++ b/include/linux/auto_fs4.h
-@@ -12,6 +12,7 @@
- #define _LINUX_AUTO_FS4_H
-
- /* Include common v3 definitions */
-+#include <linux/types.h>
- #include <linux/auto_fs.h>
-
- /* autofs v4 definitions */
-@@ -23,7 +24,7 @@
- #define AUTOFS_MIN_PROTO_VERSION 3
- #define AUTOFS_MAX_PROTO_VERSION 5
-
--#define AUTOFS_PROTO_SUBVERSION 1
-+#define AUTOFS_PROTO_SUBVERSION 2
-
- /* Mask for expire behaviour */
- #define AUTOFS_EXP_IMMEDIATE 1
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-use-numeric-protocol-ids-instead-of-protoent-structs.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-use-numeric-protocol-ids-instead-of-protoent-structs.patch
deleted file mode 100644
index 113b0a06ef..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-use-numeric-protocol-ids-instead-of-protoent-structs.patch
+++ /dev/null
@@ -1,471 +0,0 @@
-autofs-5.0.7 - use numeric protocol ids instead of protoent structs
-
-From: Leonardo Chiquitto <leonardo.lists@gmail.com>
-
-The function getprotobyname() is not reentrant, so we can't call
-it simultaneously from multiple threads. Instead of switching to
-the reentrant version which adds more complexity to the code,
-lets use numeric protocol IDs instead of protoent structures.
----
-
- CHANGELOG | 1 +
- include/rpc_subs.h | 4 +--
- lib/rpc_subs.c | 80 ++++++++++++++++++--------------------------------
- modules/replicated.c | 42 +++++++++++---------------
- 4 files changed, 50 insertions(+), 77 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 4cf5621..ba1d65b 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -23,6 +23,7 @@
- - fix use get_proximity() without libtirpc.
- - don't use dirent d_type to filter out files in scandir()
- - don't schedule new alarms after readmap.
-+- use numeric protocol ids instead of protoent structs.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/include/rpc_subs.h b/include/rpc_subs.h
-index ca474d9..b6d59f9 100644
---- a/include/rpc_subs.h
-+++ b/include/rpc_subs.h
-@@ -54,7 +54,7 @@ struct conn_info {
- unsigned short port;
- unsigned long program;
- unsigned long version;
-- struct protoent *proto;
-+ int proto;
- unsigned int send_sz;
- unsigned int recv_sz;
- struct timeval timeout;
-@@ -66,7 +66,7 @@ int rpc_udp_getclient(struct conn_info *, unsigned int, unsigned int);
- void rpc_destroy_udp_client(struct conn_info *);
- int rpc_tcp_getclient(struct conn_info *, unsigned int, unsigned int);
- void rpc_destroy_tcp_client(struct conn_info *);
--int rpc_portmap_getclient(struct conn_info *, const char *, struct sockaddr *, size_t, const char *, unsigned int);
-+int rpc_portmap_getclient(struct conn_info *, const char *, struct sockaddr *, size_t, int, unsigned int);
- int rpc_portmap_getport(struct conn_info *, struct pmap *, unsigned short *);
- int rpc_ping_proto(struct conn_info *);
- int rpc_ping(const char *, long, long, unsigned int);
-diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c
-index d33a3c4..ad1d557 100644
---- a/lib/rpc_subs.c
-+++ b/lib/rpc_subs.c
-@@ -170,7 +170,7 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i
-
- *client = NULL;
-
-- proto = info->proto->p_proto;
-+ proto = info->proto;
- if (proto == IPPROTO_UDP)
- type = SOCK_DGRAM;
- else
-@@ -201,7 +201,7 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i
- in4_raddr = (struct sockaddr_in *) addr;
- in4_raddr->sin_port = htons(info->port);
-
-- switch (info->proto->p_proto) {
-+ switch (info->proto) {
- case IPPROTO_UDP:
- clnt = clntudp_bufcreate(in4_raddr,
- info->program, info->version,
-@@ -241,7 +241,7 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i
-
- *client = NULL;
-
-- proto = info->proto->p_proto;
-+ proto = info->proto;
- if (proto == IPPROTO_UDP)
- type = SOCK_DGRAM;
- else
-@@ -292,11 +292,11 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i
- nb_addr.maxlen = nb_addr.len = slen;
- nb_addr.buf = addr;
-
-- if (info->proto->p_proto == IPPROTO_UDP)
-+ if (info->proto == IPPROTO_UDP)
- clnt = clnt_dg_create(*fd, &nb_addr,
- info->program, info->version,
- info->send_sz, info->recv_sz);
-- else if (info->proto->p_proto == IPPROTO_TCP) {
-+ else if (info->proto == IPPROTO_TCP) {
- ret = connect_nb(*fd, addr, slen, &info->timeout);
- if (ret < 0)
- return ret;
-@@ -355,7 +355,7 @@ static int create_client(struct conn_info *info, CLIENT **client)
- memset(&hints, 0, sizeof(hints));
- hints.ai_flags = AI_ADDRCONFIG;
- hints.ai_family = AF_UNSPEC;
-- if (info->proto->p_proto == IPPROTO_UDP)
-+ if (info->proto == IPPROTO_UDP)
- hints.ai_socktype = SOCK_DGRAM;
- else
- hints.ai_socktype = SOCK_STREAM;
-@@ -370,7 +370,7 @@ static int create_client(struct conn_info *info, CLIENT **client)
-
- haddr = ai;
- while (haddr) {
-- if (haddr->ai_protocol != info->proto->p_proto) {
-+ if (haddr->ai_protocol != info->proto) {
- haddr = haddr->ai_next;
- continue;
- }
-@@ -417,16 +417,11 @@ out_close:
- int rpc_udp_getclient(struct conn_info *info,
- unsigned int program, unsigned int version)
- {
-- struct protoent *pe_proto;
- CLIENT *client;
- int ret;
-
- if (!info->client) {
-- pe_proto = getprotobyname("udp");
-- if (!pe_proto)
-- return -ENOENT;
--
-- info->proto = pe_proto;
-+ info->proto = IPPROTO_UDP;
- info->timeout.tv_sec = RPC_TOUT_UDP;
- info->timeout.tv_usec = 0;
- info->send_sz = UDPMSGSIZE;
-@@ -458,16 +453,11 @@ void rpc_destroy_udp_client(struct conn_info *info)
- int rpc_tcp_getclient(struct conn_info *info,
- unsigned int program, unsigned int version)
- {
-- struct protoent *pe_proto;
- CLIENT *client;
- int ret;
-
- if (!info->client) {
-- pe_proto = getprotobyname("tcp");
-- if (!pe_proto)
-- return -ENOENT;
--
-- info->proto = pe_proto;
-+ info->proto = IPPROTO_TCP;
- info->timeout.tv_sec = RPC_TOUT_TCP;
- info->timeout.tv_usec = 0;
- info->send_sz = 0;
-@@ -513,23 +503,18 @@ void rpc_destroy_tcp_client(struct conn_info *info)
-
- int rpc_portmap_getclient(struct conn_info *info,
- const char *host, struct sockaddr *addr, size_t addr_len,
-- const char *proto, unsigned int option)
-+ int proto, unsigned int option)
- {
-- struct protoent *pe_proto;
- CLIENT *client;
- int ret;
-
-- pe_proto = getprotobyname(proto);
-- if (!pe_proto)
-- return -ENOENT;
--
- info->host = host;
- info->addr = addr;
- info->addr_len = addr_len;
- info->program = PMAPPROG;
- info->port = PMAPPORT;
- info->version = PMAPVERS;
-- info->proto = pe_proto;
-+ info->proto = proto;
- info->send_sz = RPCSMALLMSGSIZE;
- info->recv_sz = RPCSMALLMSGSIZE;
- info->timeout.tv_sec = PMAP_TOUT_UDP;
-@@ -537,7 +522,7 @@ int rpc_portmap_getclient(struct conn_info *info,
- info->close_option = option;
- info->client = NULL;
-
-- if (pe_proto->p_proto == IPPROTO_TCP)
-+ if (info->proto == IPPROTO_TCP)
- info->timeout.tv_sec = PMAP_TOUT_TCP;
-
- ret = create_client(info, &client);
-@@ -555,7 +540,7 @@ int rpc_portmap_getport(struct conn_info *info,
- struct conn_info pmap_info;
- CLIENT *client;
- enum clnt_stat status;
-- int proto = info->proto->p_proto;
-+ int proto = info->proto;
- int ret;
-
- memset(&pmap_info, 0, sizeof(struct conn_info));
-@@ -633,13 +618,13 @@ int rpc_ping_proto(struct conn_info *info)
- {
- CLIENT *client;
- enum clnt_stat status;
-- int proto = info->proto->p_proto;
-+ int proto = info->proto;
- int ret;
-
- if (info->client)
- client = info->client;
- else {
-- if (info->proto->p_proto == IPPROTO_UDP) {
-+ if (info->proto == IPPROTO_UDP) {
- info->send_sz = UDPMSGSIZE;
- info->recv_sz = UDPMSGSIZE;
- }
-@@ -688,7 +673,7 @@ int rpc_ping_proto(struct conn_info *info)
-
- static unsigned int __rpc_ping(const char *host,
- unsigned long version,
-- char *proto,
-+ int proto,
- long seconds, long micros,
- unsigned int option)
- {
-@@ -696,6 +681,7 @@ static unsigned int __rpc_ping(const char *host,
- struct conn_info info;
- struct pmap parms;
-
-+ info.proto = proto;
- info.host = host;
- info.addr = NULL;
- info.addr_len = 0;
-@@ -710,13 +696,9 @@ static unsigned int __rpc_ping(const char *host,
-
- status = RPC_PING_FAIL;
-
-- info.proto = getprotobyname(proto);
-- if (!info.proto)
-- return status;
--
- parms.pm_prog = NFS_PROGRAM;
- parms.pm_vers = version;
-- parms.pm_prot = info.proto->p_proto;
-+ parms.pm_prot = info.proto;
- parms.pm_port = 0;
-
- status = rpc_portmap_getport(&info, &parms, &info.port);
-@@ -734,19 +716,19 @@ int rpc_ping(const char *host, long seconds, long micros, unsigned int option)
- unsigned long vers2 = NFS2_VERSION;
- unsigned int status;
-
-- status = __rpc_ping(host, vers2, "udp", seconds, micros, option);
-+ status = __rpc_ping(host, vers2, IPPROTO_UDP, seconds, micros, option);
- if (status > 0)
- return RPC_PING_V2 | RPC_PING_UDP;
-
-- status = __rpc_ping(host, vers3, "udp", seconds, micros, option);
-+ status = __rpc_ping(host, vers3, IPPROTO_UDP, seconds, micros, option);
- if (status > 0)
- return RPC_PING_V3 | RPC_PING_UDP;
-
-- status = __rpc_ping(host, vers2, "tcp", seconds, micros, option);
-+ status = __rpc_ping(host, vers2, IPPROTO_TCP, seconds, micros, option);
- if (status > 0)
- return RPC_PING_V2 | RPC_PING_TCP;
-
-- status = __rpc_ping(host, vers3, "tcp", seconds, micros, option);
-+ status = __rpc_ping(host, vers3, IPPROTO_TCP, seconds, micros, option);
- if (status > 0)
- return RPC_PING_V3 | RPC_PING_TCP;
-
-@@ -769,7 +751,7 @@ int rpc_time(const char *host,
- double taken;
- struct timeval start, end;
- struct timezone tz;
-- char *proto = (ping_proto & RPC_PING_UDP) ? "udp" : "tcp";
-+ int proto = (ping_proto & RPC_PING_UDP) ? IPPROTO_UDP : IPPROTO_TCP;
- unsigned long vers = ping_vers;
-
- gettimeofday(&start, &tz);
-@@ -791,12 +773,12 @@ static int rpc_get_exports_proto(struct conn_info *info, exports *exp)
- {
- CLIENT *client;
- enum clnt_stat status;
-- int proto = info->proto->p_proto;
-+ int proto = info->proto;
- unsigned int option = info->close_option;
- int vers_entry;
- int ret;
-
-- if (info->proto->p_proto == IPPROTO_UDP) {
-+ if (info->proto == IPPROTO_UDP) {
- info->send_sz = UDPMSGSIZE;
- info->recv_sz = UDPMSGSIZE;
- }
-@@ -903,11 +885,9 @@ exports rpc_get_exports(const char *host, long seconds, long micros, unsigned in
- parms.pm_port = 0;
-
- /* Try UDP first */
-- info.proto = getprotobyname("udp");
-- if (!info.proto)
-- goto try_tcp;
-+ info.proto = IPPROTO_UDP;
-
-- parms.pm_prot = info.proto->p_proto;
-+ parms.pm_prot = info.proto;
-
- status = rpc_portmap_getport(&info, &parms, &info.port);
- if (status < 0)
-@@ -920,11 +900,9 @@ exports rpc_get_exports(const char *host, long seconds, long micros, unsigned in
- return exportlist;
-
- try_tcp:
-- info.proto = getprotobyname("tcp");
-- if (!info.proto)
-- return NULL;
-+ info.proto = IPPROTO_TCP;
-
-- parms.pm_prot = info.proto->p_proto;
-+ parms.pm_prot = info.proto;
-
- status = rpc_portmap_getport(&info, &parms, &info.port);
- if (status < 0)
-diff --git a/modules/replicated.c b/modules/replicated.c
-index 6b96320..dbd5513 100644
---- a/modules/replicated.c
-+++ b/modules/replicated.c
-@@ -419,7 +419,7 @@ void free_host_list(struct host **list)
-
- static unsigned int get_nfs_info(unsigned logopt, struct host *host,
- struct conn_info *pm_info, struct conn_info *rpc_info,
-- const char *proto, unsigned int version, int port)
-+ int proto, unsigned int version, int port)
- {
- unsigned int random_selection = host->options & MOUNT_FLAG_RANDOM_SELECT;
- unsigned int use_weight_only = host->options & MOUNT_FLAG_USE_WEIGHT_ONLY;
-@@ -433,22 +433,18 @@ static unsigned int get_nfs_info(unsigned logopt, struct host *host,
- int status, count = 0;
-
- if (host->addr)
-- debug(logopt, "called with host %s(%s) proto %s version 0x%x",
-+ debug(logopt, "called with host %s(%s) proto %d version 0x%x",
- host->name, get_addr_string(host->addr, buf, len),
- proto, version);
- else
- debug(logopt,
-- "called for host %s proto %s version 0x%x",
-+ "called for host %s proto %d version 0x%x",
- host->name, proto, version);
-
-- rpc_info->proto = getprotobyname(proto);
-- if (!rpc_info->proto)
-- return 0;
--
-+ rpc_info->proto = proto;
- memset(&parms, 0, sizeof(struct pmap));
--
- parms.pm_prog = NFS_PROGRAM;
-- parms.pm_prot = rpc_info->proto->p_proto;
-+ parms.pm_prot = proto;
-
- if (!(version & NFS4_REQUESTED))
- goto v3_ver;
-@@ -479,7 +475,7 @@ static unsigned int get_nfs_info(unsigned logopt, struct host *host,
- }
- }
-
-- if (rpc_info->proto->p_proto == IPPROTO_UDP)
-+ if (rpc_info->proto == IPPROTO_UDP)
- status = rpc_udp_getclient(rpc_info, NFS_PROGRAM, NFS4_VERSION);
- else
- status = rpc_tcp_getclient(rpc_info, NFS_PROGRAM, NFS4_VERSION);
-@@ -540,7 +536,7 @@ v3_ver:
- goto v2_ver;
- }
-
-- if (rpc_info->proto->p_proto == IPPROTO_UDP)
-+ if (rpc_info->proto == IPPROTO_UDP)
- status = rpc_udp_getclient(rpc_info, NFS_PROGRAM, NFS3_VERSION);
- else
- status = rpc_tcp_getclient(rpc_info, NFS_PROGRAM, NFS3_VERSION);
-@@ -587,7 +583,7 @@ v2_ver:
- goto done_ver;
- }
-
-- if (rpc_info->proto->p_proto == IPPROTO_UDP)
-+ if (rpc_info->proto == IPPROTO_UDP)
- status = rpc_udp_getclient(rpc_info, NFS_PROGRAM, NFS2_VERSION);
- else
- status = rpc_tcp_getclient(rpc_info, NFS_PROGRAM, NFS2_VERSION);
-@@ -618,7 +614,7 @@ v2_ver:
- }
-
- done_ver:
-- if (rpc_info->proto->p_proto == IPPROTO_UDP) {
-+ if (rpc_info->proto == IPPROTO_UDP) {
- rpc_destroy_udp_client(rpc_info);
- rpc_destroy_udp_client(pm_info);
- } else {
-@@ -675,7 +671,7 @@ static int get_vers_and_cost(unsigned logopt, struct host *host,
-
- if (version & TCP_REQUESTED) {
- supported = get_nfs_info(logopt, host,
-- &pm_info, &rpc_info, "tcp", vers, port);
-+ &pm_info, &rpc_info, IPPROTO_TCP, vers, port);
- if (IS_ERR(supported)) {
- if (ERR(supported) == EHOSTUNREACH ||
- ERR(supported) == ETIMEDOUT)
-@@ -688,7 +684,7 @@ static int get_vers_and_cost(unsigned logopt, struct host *host,
-
- if (version & UDP_REQUESTED) {
- supported = get_nfs_info(logopt, host,
-- &pm_info, &rpc_info, "udp", vers, port);
-+ &pm_info, &rpc_info, IPPROTO_UDP, vers, port);
- if (IS_ERR(supported)) {
- if (!ret && ERR(supported) == ETIMEDOUT)
- return ret;
-@@ -709,7 +705,7 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host,
- socklen_t len = INET6_ADDRSTRLEN;
- char buf[len + 1];
- struct conn_info pm_info, rpc_info;
-- const char *proto;
-+ int proto;
- unsigned int vers;
- struct timeval start, end;
- struct timezone tz;
-@@ -748,10 +744,10 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host,
- * So, we do the conversion here.
- */
- if (version & UDP_SELECTED_MASK) {
-- proto = "udp";
-+ proto = IPPROTO_UDP;
- version >>= 8;
- } else
-- proto = "tcp";
-+ proto = IPPROTO_TCP;
-
- switch (version) {
- case NFS2_SUPPORTED:
-@@ -768,9 +764,7 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host,
- return 0;
- }
-
-- rpc_info.proto = getprotobyname(proto);
-- if (!rpc_info.proto)
-- return 0;
-+ rpc_info.proto = proto;
-
- if (port > 0)
- rpc_info.port = port;
-@@ -786,14 +780,14 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host,
-
- memset(&parms, 0, sizeof(struct pmap));
- parms.pm_prog = NFS_PROGRAM;
-- parms.pm_prot = rpc_info.proto->p_proto;
-+ parms.pm_prot = rpc_info.proto;
- parms.pm_vers = vers;
- ret = rpc_portmap_getport(&pm_info, &parms, &rpc_info.port);
- if (ret < 0)
- goto done;
- }
-
-- if (rpc_info.proto->p_proto == IPPROTO_UDP)
-+ if (rpc_info.proto == IPPROTO_UDP)
- status = rpc_udp_getclient(&rpc_info, NFS_PROGRAM, vers);
- else
- status = rpc_tcp_getclient(&rpc_info, NFS_PROGRAM, vers);
-@@ -815,7 +809,7 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host,
- }
- }
- done:
-- if (rpc_info.proto->p_proto == IPPROTO_UDP) {
-+ if (rpc_info.proto == IPPROTO_UDP) {
- rpc_destroy_udp_client(&rpc_info);
- rpc_destroy_udp_client(&pm_info);
- } else {
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-workaround-missing-GNU-versionsort-extension.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-workaround-missing-GNU-versionsort-extension.patch
deleted file mode 100644
index 6a1a49e62c..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-workaround-missing-GNU-versionsort-extension.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-autofs-5.0.7 - workaround missing GNU versionsort extension
-
-From: Chris Packham <chris.packham@alliedtelesis.co.nz>
-
-alphasort() and scandir() are specified in POSIX.1-2008, versionsort()
-is a GNU extension. When versionsort isn't available fallback to using
-alphasort.
----
-
- CHANGELOG | 1 +
- configure | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++
- configure.in | 6 +++++
- include/config.h.in | 3 ++
- modules/lookup_dir.c | 5 ++++
- 5 files changed, 77 insertions(+), 0 deletions(-)
-
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 4eaa9f9..39388a5 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -27,6 +27,7 @@
- - lib/defaults.c: use WITH_LDAP conditional around LDAP types.
- - make yellow pages support optional.
- - modules/replicated.c: use sin6_addr.s6_addr32.
-+- workaround missing GNU versionsort extension.
-
- 25/07/2012 autofs-5.0.7
- =======================
-diff --git a/configure b/configure
-index cf6428c..c1423d8 100755
---- a/configure
-+++ b/configure
-@@ -4010,6 +4010,68 @@ $as_echo "yes" >&6; }
- KRB5_FLAGS=`$KRB5_CONFIG --cflags`
- fi
-
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing versionsort" >&5
-+$as_echo_n "checking for library containing versionsort... " >&6; }
-+if ${ac_cv_search_versionsort+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_func_search_save_LIBS=$LIBS
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+char versionsort ();
-+int
-+main ()
-+{
-+return versionsort ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+for ac_lib in '' ; do
-+ if test -z "$ac_lib"; then
-+ ac_res="none required"
-+ else
-+ ac_res=-l$ac_lib
-+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
-+ fi
-+ if ac_fn_c_try_link "$LINENO"; then :
-+ ac_cv_search_versionsort=$ac_res
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext
-+ if ${ac_cv_search_versionsort+:} false; then :
-+ break
-+fi
-+done
-+if ${ac_cv_search_versionsort+:} false; then :
-+
-+else
-+ ac_cv_search_versionsort=no
-+fi
-+rm conftest.$ac_ext
-+LIBS=$ac_func_search_save_LIBS
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_versionsort" >&5
-+$as_echo "$ac_cv_search_versionsort" >&6; }
-+ac_res=$ac_cv_search_versionsort
-+if test "$ac_res" != no; then :
-+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-+
-+fi
-+
-+if test "$ac_cv_search_versionsort" = "no"; then
-+
-+$as_echo "#define WITHOUT_VERSIONSORT 1" >>confdefs.h
-+
-+fi
-+
- #
- # glibc/libc 6 new libraries
- #
-diff --git a/configure.in b/configure.in
-index 363c376..4029375 100644
---- a/configure.in
-+++ b/configure.in
-@@ -163,6 +163,12 @@ AF_SLOPPY_MOUNT()
- AF_CHECK_LIBXML()
- AF_CHECK_KRB5()
-
-+AC_SEARCH_LIBS([versionsort],[])
-+if test "$ac_cv_search_versionsort" = "no"; then
-+ AC_DEFINE(WITHOUT_VERSIONSORT, 1,
-+ [Define if your C library does not provide versionsort])
-+fi
-+
- #
- # glibc/libc 6 new libraries
- #
-diff --git a/include/config.h.in b/include/config.h.in
-index 7f1c5b5..a2a05a8 100644
---- a/include/config.h.in
-+++ b/include/config.h.in
-@@ -135,6 +135,9 @@
- /* Define to 1 to use the libtirpc tsd usage workaround */
- #undef TIRPC_WORKAROUND
-
-+/* Define if your C library does not provide versionsort */
-+#undef WITHOUT_VERSIONSORT
-+
- /* Define if using the dmalloc debugging malloc package */
- #undef WITH_DMALLOC
-
-diff --git a/modules/lookup_dir.c b/modules/lookup_dir.c
-index 33901c0..07471b7 100644
---- a/modules/lookup_dir.c
-+++ b/modules/lookup_dir.c
-@@ -39,6 +39,11 @@
- #define AUTOFS_DIR_EXT ".autofs"
- #define AUTOFS_DIR_EXTSIZ (sizeof(AUTOFS_DIR_EXT) - 1)
-
-+/* Work around non-GNU systems that don't provide versionsort */
-+#ifdef WITHOUT_VERSIONSORT
-+#define versionsort alphasort
-+#endif
-+
- struct lookup_context {
- const char *mapname;
- };
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch
index 742f25de19..742f25de19 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/Makefile.rules-cross.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/Makefile.rules-cross.patch
index 7dc7096c2e..7dc7096c2e 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/Makefile.rules-cross.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/Makefile.rules-cross.patch
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.1.0/add-the-needed-stdarg.h.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/add-the-needed-stdarg.h.patch
new file mode 100644
index 0000000000..fdb906b22b
--- /dev/null
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/add-the-needed-stdarg.h.patch
@@ -0,0 +1,24 @@
+[PATCH] add the needed stdarg.h
+
+Upstream-status: Pending
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ lib/defaults.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/defaults.c b/lib/defaults.c
+index 2b03ea2..5728e67 100644
+--- a/lib/defaults.c
++++ b/lib/defaults.c
+@@ -16,6 +16,7 @@
+
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <stdarg.h>
+ #include <ctype.h>
+ #include <string.h>
+ #include <sys/utsname.h>
+--
+1.7.10.4
+
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-do-not-check-for-modprobe.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-do-not-check-for-modprobe.patch
index af5be6a830..af5be6a830 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-do-not-check-for-modprobe.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-do-not-check-for-modprobe.patch
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-lib-deps.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-fix-lib-deps.patch
index 09fea495df..09fea495df 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-lib-deps.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-fix-lib-deps.patch
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
index 3a878980a4..3a878980a4 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-additional-distros.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-additional-distros.patch
index 6a35843cea..6a35843cea 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-additional-distros.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-additional-distros.patch
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/cross.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/cross.patch
index 8f1af625f0..8f1af625f0 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/cross.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/cross.patch
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/fix_disable_ldap.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/fix_disable_ldap.patch
index 31c8510a69..31c8510a69 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/fix_disable_ldap.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/fix_disable_ldap.patch
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.1.0/force-STRIP-to-emtpy.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/force-STRIP-to-emtpy.patch
new file mode 100644
index 0000000000..634005bd27
--- /dev/null
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/force-STRIP-to-emtpy.patch
@@ -0,0 +1,25 @@
+[PATCH] force STRIP to emtpy
+
+otherwise the generate file will be stripped
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ Makefile.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.rules b/Makefile.rules
+index 710a2c9..e4334db 100644
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -31,7 +31,7 @@ LDFLAGS ?= -s
+ endif
+
+ ifdef DONTSTRIP
+-STRIP ?= :
++STRIP = :
+ else
+ STRIP ?= strip --strip-debug
+ endif
+--
+1.7.10.4
+
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc-name-clash-backout.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc-name-clash-backout.patch
index 104724014d..e93021d567 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc-name-clash-backout.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc-name-clash-backout.patch
@@ -1,12 +1,15 @@
-Index: autofs-5.0.7/lib/rpc_subs.c
-===================================================================
---- autofs-5.0.7.orig/lib/rpc_subs.c 2012-07-24 23:05:26.000000000 -0700
-+++ autofs-5.0.7/lib/rpc_subs.c 2012-10-28 14:47:49.008382116 -0700
+---
+ lib/rpc_subs.c | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c
+index 5d6ead0..c7177f2 100644
+--- a/lib/rpc_subs.c
++++ b/lib/rpc_subs.c
@@ -34,16 +34,6 @@
- #include <pthread.h>
#include <poll.h>
--#ifdef WITH_LIBTIRPC
+ #ifdef WITH_LIBTIRPC
-#undef auth_destroy
-#define auth_destroy(auth) \
- do { \
@@ -16,6 +19,10 @@ Index: autofs-5.0.7/lib/rpc_subs.c
- } while (0)
-#endif
-
- #include "mount.h"
- #include "rpc_subs.h"
- #include "automount.h"
+-#ifdef WITH_LIBTIRPC
+ const rpcprog_t rpcb_prog = RPCBPROG;
+ const rpcvers_t rpcb_version = RPCBVERS;
+ #else
+--
+1.7.10.4
+
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc.patch
index 04f52c6f0e..d68944b459 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc.patch
@@ -16,11 +16,11 @@ Index: autofs-5.0.7/Makefile.rules
--- autofs-5.0.7.orig/Makefile.rules 2012-10-28 13:17:45.308237022 -0700
+++ autofs-5.0.7/Makefile.rules 2012-10-28 13:21:25.720242803 -0700
@@ -48,7 +48,7 @@
- LDFLAGS += -lpthread
+ LIBS += -lpthread
ifdef TIRPCLIB
-CFLAGS += -I/usr/include/tirpc
+CFLAGS += -I=/usr/include/tirpc
- LDFLAGS += $(TIRPCLIB)
+ LIBS += $(TIRPCLIB)
endif
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/no-bash.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/no-bash.patch
index cf03635270..cf03635270 100644
--- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/no-bash.patch
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/no-bash.patch
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.1.0/remove-bashism.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/remove-bashism.patch
new file mode 100644
index 0000000000..282d6f0ad2
--- /dev/null
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/remove-bashism.patch
@@ -0,0 +1,120 @@
+From 79034f969bbd12215d65b4337dfd38a13d02d4ef Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Sat, 13 Sep 2014 20:19:28 -0700
+Subject: [PATCH] autofs.init.in: remove bashism
+
+It can work without the bashism.
+
+Upstream-Status: Pending
+
+Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ redhat/autofs.init.in | 12 ++++++------
+ samples/rc.autofs.in | 10 +++++-----
+ 2 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in
+index 9d008ff..4f1c0d8 100644
+--- a/redhat/autofs.init.in
++++ b/redhat/autofs.init.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # rc file for automount using a Sun-style "master map".
+ #
+@@ -42,7 +42,7 @@ if [ -r $confdir/autofs ]; then
+ . $confdir/autofs
+ fi
+
+-function start() {
++start() {
+ # Make sure autofs4 module is loaded
+ if ! grep -q autofs /proc/filesystems
+ then
+@@ -102,7 +102,7 @@ function start() {
+ return $RETVAL
+ }
+
+-function stop() {
++stop() {
+ echo -n $"Stopping $prog: "
+ count=0
+ while [ -n "`pidof $prog`" -a $count -lt 15 ] ; do
+@@ -125,7 +125,7 @@ function stop() {
+ return $RETVAL
+ }
+
+-function restart() {
++restart() {
+ status autofs > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ stop
+@@ -143,7 +143,7 @@ function restart() {
+ start
+ }
+
+-function reload() {
++reload() {
+ if [ ! -f /var/lock/subsys/autofs ]; then
+ echo $"$prog not running"
+ RETVAL=1
+@@ -161,7 +161,7 @@ function reload() {
+ return $RETVAL
+ }
+
+-function usage_message() {
++usage_message() {
+ echo $"Usage: $0 {start|forcestart|stop|status|restart|force-reload|forcerestart|reload|condrestart|try-restart|usage}"
+ }
+
+diff --git a/samples/rc.autofs.in b/samples/rc.autofs.in
+index 487669f..e96cde1 100644
+--- a/samples/rc.autofs.in
++++ b/samples/rc.autofs.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # rc file for automount using a Sun-style "master map".
+ #
+@@ -36,7 +36,7 @@ if [ -r $confdir/autofs ]; then
+ . $confdir/autofs
+ fi
+
+-function start() {
++start() {
+ echo -n "Starting $prog: "
+
+ # Make sure autofs4 module is loaded
+@@ -85,7 +85,7 @@ function start() {
+ return $RETVAL
+ }
+
+-function stop() {
++stop() {
+ echo -n $"Stopping $prog: "
+ count=0
+ while [ -n "`pidof $prog`" -a $count -lt 15 ] ; do
+@@ -102,7 +102,7 @@ function stop() {
+ return $RETVAL
+ }
+
+-function restart() {
++restart() {
+ stop
+ while [ -n "`pidof $prog`" ] ; do
+ sleep 5
+@@ -110,7 +110,7 @@ function restart() {
+ start
+ }
+
+-function reload() {
++reload() {
+ pid=`pidof $prog`
+ if [ -z $pid ]; then
+ echo $"$prog not running"
+--
+1.7.9.5
+
diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.1.0/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
new file mode 100644
index 0000000000..93b76bd66e
--- /dev/null
+++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
@@ -0,0 +1,39 @@
+using pkg-config to detect libxml-2.0 and krb5
+
+Upstream-status: Pending
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ configure.in | 16 ++++++++++++++--
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 392d122..a3028aa 100644
+--- a/configure.in
++++ b/configure.in
+@@ -162,8 +162,20 @@ if test x$enable_sloppy_mount = xyes; then
+ fi
+
+ # LDAP SASL auth needs libxml and Kerberos
+-AF_CHECK_LIBXML()
+-AF_CHECK_KRB5()
++PKG_CHECK_MODULES(XML, [libxml-2.0],HAVE_LIBXML=1,HAVE_LIBXML=0)
++AC_SUBST([HAVE_LIBXML])
++XML_FLAGS=$XML_CFLAGS
++
++PKG_CHECK_MODULES(KRB5, [krb5],HAVE_KRB5=1,HAVE_KRB5=0)
++AC_SUBST([HAVE_KRB5])
++if test "x$HAVE_KRB5" = "x1"; then
++ SAVE_CFLAGS=$CFLAGS
++ SAVE_LIBS=$LIBS
++ CFLAGS="$CFLAGS $KRB5_FLAGS"
++ LIBS="$LIBS $KRB5_LIBS"
++
++ AC_CHECK_FUNCS([krb5_principal_get_realm])
++fi
+
+ AC_SEARCH_LIBS([versionsort],[])
+ if test "$ac_cv_search_versionsort" = "no"; then
+--
+1.7.10.4
+
diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.0.7.bb b/meta-networking/recipes-daemons/autofs/autofs_5.0.7.bb
deleted file mode 100644
index 501e40acdd..0000000000
--- a/meta-networking/recipes-daemons/autofs/autofs_5.0.7.bb
+++ /dev/null
@@ -1,112 +0,0 @@
-SUMMARY = "Kernel based automounter for linux"
-SECTION = "base"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-PR = "r6"
-
-DEPENDS += "libtirpc flex-native bison-native"
-
-inherit autotools systemd
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.bz2 \
- file://autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch \
- file://autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch \
- file://autofs-5.0.7-fix-ipv6-proximity-calculation.patch \
- file://autofs-5.0.7-fix-parse-buffer-initialization.patch \
- file://autofs-5.0.7-fix-typo-in-automount-8.patch \
- file://autofs-5.0.7-include-usage-in-usage-message.patch \
- file://autofs-5.0.7-dont-wait-forever-to-restart.patch \
- file://autofs-5.0.7-add-timeout-option-description-to-man-page.patch \
- file://autofs-5.0.7-fix-null-map-entry-order-handling.patch \
- file://autofs-5.0.7-make-description-of-default-MOUNT_WAIT-setting-clear.patch \
- file://autofs-5.0.7-configure-in-allow-cross-compilation.patch \
- file://autofs-5.0.7-README-update-mailing-list-subscription-info.patch \
- file://autofs-5.0.7-allow-non-root-user-to-check-status.patch \
- file://autofs-5.0.7-configure-allow-cross-compilation-update.patch \
- file://autofs-5.0.6-fix-recursive-mount-deadlock.patch \
- file://autofs-5.0.6-increase-file-map-read-buffer-size.patch \
- file://autofs-5.0.7-handle-new-location-of-systemd.patch \
- file://autofs-5.0.7-fix-map-entry-duplicate-offset-detection.patch \
- file://autofs-5.0.7-allow-nsswitch_conf-to-not-contain-automount-lines.patch \
- file://autofs-5.0.7-fix-nobind-man-page-description.patch \
- file://autofs-5.0.7-fix-submount-offset-delete.patch \
- file://autofs-5.0.7-fix-init-script-status-return.patch \
- file://autofs-5.0.7-fix-use-get_proximity-without-libtirpc.patch \
- file://autofs-5.0.7-dont-use-dirent-d_type-to-filter-out-files-in-scandir.patch \
- file://autofs-5.0.7-dont-schedule-new-alarms-after-readmap.patch \
- file://autofs-5.0.7-use-numeric-protocol-ids-instead-of-protoent-structs.patch \
- file://autofs-5.0.7-lib-defaults-use-WITH_LDAP-conditional-around-LDAP-types.patch \
- file://autofs-5.0.7-make-yellow-pages-support-optional.patch \
- file://autofs-5.0.7-modules-replicated-use-sin6.addr-s6_addr32.patch \
- file://autofs-5.0.7-workaround-missing-GNU-versionsort-extension.patch \
- file://autofs-5.0.7-dont-fail-on-master-map-self-include.patch \
- file://autofs-5.0.7-fix-wildcard-multi-map-regression.patch \
- file://autofs-5.0.7-fix-file-descriptor-leak-when-reloading-the-daemon.patch \
- file://autofs-5.0.7-depricate-nosymlink-pseudo-option.patch \
- file://autofs-5.0.7-add-symlink-pseudo-option.patch \
- file://autofs-5.0.7-update-kernel-include-files.patch \
- file://autofs-5.0.7-fix-requires-in-spec-file.patch \
- file://autofs-5.0.7-fix-libtirpc-build-option.patch \
- file://autofs-5.0.7-fix-systemd-unidir-in-spec-file.patch \
- file://autofs-5.0.7-document-browse-option-in-man-page.patch \
- file://autofs-5.0.7-fix-automounter-support-on-parisc.patch \
- file://autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch \
- file://Makefile.rules-cross.patch \
- file://no-bash.patch \
- file://cross.patch \
- file://libtirpc.patch \
- file://libtirpc-name-clash-backout.patch \
- file://autofs-5.0.7-do-not-check-for-modprobe.patch \
- file://fix_disable_ldap.patch \
- file://autofs-5.0.7-fix-lib-deps.patch \
- file://0001-systemd-allow-with-systemd-to-take-a-path-arg.patch \
-"
-
-SRC_URI[md5sum] = "bc46838dece83c02d800ff144ed9f431"
-SRC_URI[sha256sum] = "08c4304d8076dc80c14df559bc5fd821b67ef3457b245f61068bd053d8f94ccc"
-
-inherit update-rc.d pkgconfig
-
-INITSCRIPT_NAME = "autofs"
-INITSCRIPT_PARAMS = "defaults"
-
-# FIXME: modules/Makefile has crappy rules that don't obey LDFLAGS
-CFLAGS += "${LDFLAGS}"
-
-PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd,systemd"
-
-PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-
-EXTRA_OEMAKE = "DONTSTRIP=1"
-EXTRA_OECONF += "--disable-mount-locking \
- --enable-ignore-busy --with-openldap=no \
- --with-sasl=no --with-libtirpc=yes \
- --with-path=${STAGING_BINDIR_NATIVE} \
-"
-CACHED_CONFIGUREVARS = "ac_cv_path_RANLIB=${RANLIB} \
- ac_cv_path_RPCGEN=rpcgen \
-"
-
-do_configure_prepend () {
- sed -e "s:filagdir:flagdir:" -i configure.in
- if [ ! -e acinclude.m4 ]; then
- cp aclocal.m4 acinclude.m4
- fi
-}
-
-do_install_append () {
- if [ -d ${D}/run ]; then
- rmdir ${D}/run
- fi
- if [ -d ${D}${localstatedir}/run ]; then
- rmdir ${D}${localstatedir}/run
- fi
-}
-
-INSANE_SKIP_${PN} = "dev-so"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "autofs.service"
diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.1.0.bb b/meta-networking/recipes-daemons/autofs/autofs_5.1.0.bb
new file mode 100644
index 0000000000..13af2fe45f
--- /dev/null
+++ b/meta-networking/recipes-daemons/autofs/autofs_5.1.0.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Kernel based automounter for linux"
+SECTION = "base"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+DEPENDS += "libtirpc flex-native bison-native"
+
+inherit autotools-brokensep systemd
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \
+ file://autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch \
+ file://no-bash.patch \
+ file://cross.patch \
+ file://libtirpc.patch \
+ file://libtirpc-name-clash-backout.patch \
+ file://autofs-5.0.7-do-not-check-for-modprobe.patch \
+ file://fix_disable_ldap.patch \
+ file://autofs-5.0.7-fix-lib-deps.patch \
+ file://add-the-needed-stdarg.h.patch \
+ file://using-pkg-config-to-detect-libxml-2.0-and-krb5.patch \
+ file://force-STRIP-to-emtpy.patch \
+ file://remove-bashism.patch \
+"
+
+SRC_URI[md5sum] = "b7724a9a55923f3c06933a8dfd1e79d3"
+SRC_URI[sha256sum] = "794a28d178d2b21a2380ee71cbdb3b15b4be47c06f3de255b8c5c4351f046b26"
+
+inherit update-rc.d pkgconfig
+
+INITSCRIPT_NAME = "autofs"
+INITSCRIPT_PARAMS = "defaults"
+
+# FIXME: modules/Makefile has crappy rules that don't obey LDFLAGS
+CFLAGS += "${LDFLAGS}"
+
+PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd,systemd"
+
+PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+EXTRA_OEMAKE = "DONTSTRIP=1"
+EXTRA_OECONF += "--disable-mount-locking \
+ --enable-ignore-busy --with-openldap=no \
+ --with-sasl=no --with-libtirpc=yes \
+ --with-path=${STAGING_BINDIR_NATIVE} \
+"
+CACHED_CONFIGUREVARS = "ac_cv_path_RANLIB=${RANLIB} \
+ ac_cv_path_RPCGEN=rpcgen \
+"
+
+do_configure_prepend () {
+ sed -e "s:filagdir:flagdir:" -i configure.in
+ if [ ! -e acinclude.m4 ]; then
+ cp aclocal.m4 acinclude.m4
+ fi
+}
+
+do_install_append () {
+ if [ -d ${D}/run ]; then
+ rmdir ${D}/run
+ fi
+ if [ -d ${D}${localstatedir}/run ]; then
+ rmdir ${D}${localstatedir}/run
+ fi
+}
+
+INSANE_SKIP_${PN} = "dev-so"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "autofs.service"
diff --git a/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb
index e3ff56d821..ea9cd1c240 100644
--- a/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb
+++ b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb
@@ -12,7 +12,7 @@ SRC_URI = "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${PV}.tar.gz \
file://sasl.h-include-stddef.h-for-size_t-on-NetBSD.patch \
"
-inherit autotools pkgconfig useradd
+inherit autotools-brokensep pkgconfig useradd
EXTRA_OECONF += "--with-dblib=berkeley \
--with-bdb-libdir=${STAGING_LIBDIR} \
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
new file mode 100644
index 0000000000..ec0584193d
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
@@ -0,0 +1,21 @@
+# options to dnrd
+
+# example: two default dns servers and dns servers for exampledomain.com. The
+# latter are load balanced (-b)
+#
+#
+
+# DNRD_OPTS="
+# -s XXX.XXX.XX.XXX
+# -s XXX.XXX.XX.XXX
+# -b
+# -s XXX.XXX.XX.XXX:exampledomain.com
+# -s XXX.XXX.XX.XXX:exampledomain.com"
+
+# example: dnrd user
+#
+
+# DNRD_USER="user"
+#
+
+
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
new file mode 100644
index 0000000000..2fe583fcf9
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# Startup script for dnrd
+#
+# Copyright 2008, Rakesh Pandit <rakesh.pandit@gmail.com>
+#
+# This source is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This source is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+# chkconfig: - 85 15
+# description: dnrd is a proxying nameserver. It forwards DNS queries to the
+# appropriate nameserver, but can also act as the primary nameserver for
+# a subnet behind a firewall. It also has features such as caching DNS
+# requests, support for DNS servers, cache poisoning prevention, TCP
+# support, etc..
+
+# processname: dnrd
+# pidfile: /var/run/dnrd.pid
+# config: /etc/dnrd/dnrd.conf
+
+# Provides: dnrd
+# Required-Start:
+# Should-Start:
+# Required-Stop:
+# Default-Stop: 0 1 2 6
+# Short-Description: Start dnrd daemon
+# Description: Domain Name Relay Daemon
+# END INIT INFO
+
+exe=/usr/sbin/dnrd
+pfile=/etc/passwd
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source conf file
+. /etc/dnrd/dnrd.conf
+
+[ -x $exe ] || exit 1
+[ -r "/etc/dnrd/dnrd.conf" ] || exit 1
+if [ $DNRD_USER ]
+then
+ grep "^${LOGIN}:" $pfile >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ echo "$DNRD_USER specified in /etc/dnrd/dnrd.conf does not exist!"
+ fi
+else
+ echo "DNRD_USER not set at /etc/dnrd/dnrd.conf!"
+ exit 1
+fi
+
+case "$1" in
+ start)
+ echo -n "Starting dnrd: "
+ daemon dnrd $DNRD_OPTS -u $DNRD_USER
+ echo
+ touch /var/lock/subsys/dnrd
+ ;;
+ stop)
+ echo -n "Shutting down dnrd: "
+ killproc dnrd
+ echo
+ rm -f /var/lock/subsys/dnrd
+ rm -f /var/run/dnrd.pid
+ ;;
+ status)
+ status dnrd
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ reload)
+ echo -n "Reloading dnrd: "
+ killproc dnrd -HUP
+ echo
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|status}"
+ exit 1
+esac
+
+exit 0
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
new file mode 100644
index 0000000000..9c9fa66394
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Domain Name Relay Daemon
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/dnrd.pid
+EnvironmentFile=/etc/dnrd/dnrd.conf
+ExecStart=/usr/sbin/dnrd $DNRD_OPTS -u $DNRD_USER
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
new file mode 100644
index 0000000000..3b8fdc93c6
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
@@ -0,0 +1,39 @@
+SUMMARY = "A caching, forwarding DNS proxy server"
+DESCRIPTION = "\
+dnrd is a proxying nameserver. It forwards DNS queries to the appropriate \
+nameserver, but can also act as the primary nameserver for a subnet behind \
+a firewall. It also has features such as caching DNS requests, support for \
+DNS servers, cache poisoning prevention, TCP support, etc.."
+HOMEPAGE = "http://dnrd.sourceforge.net/"
+SECTION = "System Environment/Daemons"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0be67017f1c770313ad7b40e18d568f1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://dnrd.service \
+ file://dnrd.conf.sample \
+ file://dnrd.init"
+SRC_URI[md5sum] = "41c9b070aae8ed403fc8c2aac7ab157c"
+SRC_URI[sha256sum] = "aa46e7f8736b88c1d752cf606b3990041221ce91d014e955c6b02eb2167db015"
+
+SYSTEMD_SERVICE_${PN} = "dnrd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+inherit autotools
+inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} INSTALL="install -p"
+
+ sed -i -e 's:/etc/rc.d/init.d/functions:/etc/init.d/functions:g' \
+ ${WORKDIR}/dnrd.init
+ install -d -m 0755 ${D}${sysconfdir}/init.d
+ install -d -m 0755 ${D}${sysconfdir}/dnrd
+ install -p -m 0644 ${WORKDIR}/dnrd.conf.sample ${D}${sysconfdir}/dnrd/dnrd.conf
+ install -p -m 0755 ${WORKDIR}/dnrd.init ${D}${sysconfdir}/init.d/dnrd
+
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d -m 0755 ${D}${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/dnrd.service ${D}${systemd_unitdir}/system
+ fi
+}
diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/99_iscsi-initiator-utils b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/99_iscsi-initiator-utils
new file mode 100644
index 0000000000..42fdd602f9
--- /dev/null
+++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/99_iscsi-initiator-utils
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d root root 0755 /var/lock/iscsi none
diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/initd.debian b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/initd.debian
new file mode 100644
index 0000000000..99a7638611
--- /dev/null
+++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/initd.debian
@@ -0,0 +1,119 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:
+# Required-Start:
+# Required-Stop:
+# Default-Start:
+# Default-Stop:
+# Short-Description: Starts and stops the iSCSI initiator services and logins to default targets
+### END INIT INFO
+#set -x
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/iscsid
+ADM=/usr/sbin/iscsiadm
+PIDFILE=/var/run/iscsid.pid
+
+[ -x "$DAEMON" ] || exit 0
+
+if [ ! -d /sys/class/ ]; then
+ echo "Failure:" "iSCSI requires a mounted sysfs, not started."
+ exit 1
+fi
+
+nodestartup_re='s/^node\.conn\[0]\.startup[ ]*=[ ]*//p'
+
+RETVAL=0
+
+start() {
+ echo "Starting iSCSI initiator service" "iscsid"
+ modprobe -q iscsi_tcp 2>/dev/null || :
+ modprobe -q ib_iser 2>/dev/null || :
+ if [ ! -f /etc/iscsi/initiatorname.iscsi ]; then
+ INITIATORNAME=$(iscsi-iname)
+ cat >/etc/iscsi/initiatorname.iscsi <<EOF
+## DO NOT EDIT OR REMOVE THIS FILE!
+## If you remove this file, the iSCSI daemon will not start.
+## If you change the InitiatorName, existing access control lists
+## may reject this initiator. The InitiatorName must be unique
+## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames.
+InitiatorName=$INITIATORNAME
+EOF
+ fi
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON
+ RETVAL=$?
+ starttargets
+}
+
+starttargets() {
+ echo "Setting up iSCSI targets"
+ $ADM -m node --loginall=automatic
+}
+
+stoptargets() {
+ echo "Disconnecting iSCSI targets"
+ sync
+ $ADM -m node --logoutall=all
+ RETVAL=$?
+ #if RETVAL is 21, means no active sessions, consider ok
+ if [ "$RETVAL" = "21" ]; then
+ RETVAL=0
+ fi
+}
+
+stop() {
+ stoptargets
+ if [ $RETVAL -ne 0 ]; then
+ echo "Failure:" "Could not stop all targets, try again later"
+ return $RETVAL
+ fi
+
+ echo "Stopping iSCSI initiator service"
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
+ rm -f $PIDFILE
+ status=0
+ modprobe -r ib_iser 2>/dev/null
+ if [ "$?" -ne "0" -a "$?" -ne "1" ]; then
+ status=1
+ fi
+ modprobe -r iscsi_tcp 2>/dev/null
+ if [ "$?" -ne "0" -a "$?" -ne "1" ]; then
+ status=1
+ fi
+}
+
+restart() {
+ stop
+ if [ $RETVAL -ne 0 ]; then
+ echo "Failure:" "Stopping iSCSI initiator service failed, not starting"
+ return $RETVAL
+ fi
+ start
+}
+
+restarttargets() {
+ stoptargets
+ if [ $RETVAL -ne 0 ]; then
+ echo "Failure:" "Could not stop all targets, try again later"
+ return $RETVAL
+ fi
+ starttargets
+}
+
+status() {
+ #XXX FIXME: what to do here?
+ #status iscsid
+ # list active sessions
+ echo Current active iSCSI sessions:
+ $ADM -m session
+}
+
+case "$1" in
+ start|starttargets|stop|stoptargets|restart|restarttargets|status)
+ $1
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator
new file mode 100644
index 0000000000..7fa49a2d60
--- /dev/null
+++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator
@@ -0,0 +1,4 @@
+# default command line settings for open-iscsi's iscsid
+
+OPTS_ISCSID=""
+OPTS_ISCSIADM=""
diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-targets.service b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-targets.service
new file mode 100644
index 0000000000..564b2d21d5
--- /dev/null
+++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-targets.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Open-iSCSI initiator (i.e. client) target bindings
+After=iscsi-initiator.service
+Requires=iscsi-initiator.service
+
+[Service]
+Type=oneshot
+EnvironmentFile=/etc/default/iscsi-initiator
+ExecStart=/usr/sbin/iscsiadm -m node --loginall=automatic $OPTS_ISCSIADM
+ExecStop=/usr/sbin/iscsiadm -m node --logoutall=all $OPTS_ISCSIADM
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch
new file mode 100644
index 0000000000..ce48e2bb39
--- /dev/null
+++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch
@@ -0,0 +1,21 @@
+iscsi-initiator-utils not to use static
+
+Upstream-status: Backport
+This patch is from fedora17.
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+Signed-off-by: Vu Tran <vu.tran@windriver.com>
+
+diff --git a/usr/Makefile b/usr/Makefile
+index 673b7f1..fd14a10 100644
+--- a/usr/Makefile
++++ b/usr/Makefile
+@@ -61,7 +61,7 @@ iscsiadm: $(ISCSI_LIB_SRCS) $(DISCOVERY_SRCS) iscsiadm.o session_mgmt.o
+
+ iscsistart: $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(FW_BOOT_SRCS) \
+ iscsistart.o statics.o
+- $(CC) $(CFLAGS) -static $^ -o $@
++ $(CC) $(CFLAGS) $^ -o $@
+ clean:
+ rm -f *.o $(PROGRAMS) .depend $(LIBSYS)
+
diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch
new file mode 100644
index 0000000000..50227a7748
--- /dev/null
+++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch
@@ -0,0 +1,240 @@
+iscsi-initiator-utils to use var for config
+
+Upstream-status: Backport
+This patch is from fedora.
+
+Use /var/lib/iscsi/ instead of /etc/iscsi/ for holding
+state files.
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+Signed-off-by: Vu Tran <vu.tran@windriver.com>
+
+diff --git a/README b/README
+index 7364b2d..5e8bff8 100644
+--- a/README
++++ b/README
+@@ -164,10 +164,10 @@ available on all Linux installations.
+
+ The database contains two tables:
+
+-- Discovery table (/etc/iscsi/send_targets);
+-- Node table (/etc/iscsi/nodes).
++- Discovery table (/var/lib/iscsi/send_targets);
++- Node table (/var/lib/iscsi/nodes).
+
+-The regular place for iSCSI database files: /etc/iscsi/nodes
++The regular place for iSCSI database files: /var/lib/iscsi/nodes
+
+ The iscsiadm utility is a command-line tool to manage (update, delete,
+ insert, query) the persistent database.
+@@ -444,7 +444,7 @@ a scsi_host per HBA port).
+ To manage both types of initiator stacks, iscsiadm uses the interface (iface)
+ structure. For each HBA port or for software iscsi for each network
+ device (ethX) or NIC, that you wish to bind sessions to you must create
+-a iface config /etc/iscsi/ifaces.
++a iface config /var/lib/iscsi/ifaces.
+
+ Prep:
+
+@@ -478,29 +478,29 @@ Running:
+ iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax
+ iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax
+
+-Will report iface configurations that are setup in /etc/iscsi/ifaces.
++Will report iface configurations that are setup in /var/lib/iscsi/ifaces.
+ The format is:
+
+ iface_name transport_name,hwaddress,ipaddress,net_ifacename,initiatorname
+
+ For software iscsi, you can create the iface configs by hand, but it is
+ reccomended that you use iscsiadm's iface mode. There is a iface.example in
+-/etc/iscsi/ifaces which can be used as a template for the daring.
++/var/lib/iscsi/ifaces which can be used as a template for the daring.
+
+ For each network object you wish to bind a session to you must create
+-a seperate iface config in /etc/iscsi/ifaces and each iface config file
++a seperate iface config in /var/lib/iscsi/ifaces and each iface config file
+ must have a unique name which is less than or equal to 64 characters.
+
+ Example:
+
+ If you have NIC1 with MAC address 00:0F:1F:92:6B:BF and NIC2 with
+ MAC address 00:C0:DD:08:63:E7 and you wanted to do software iscsi over
+-TCP/IP. Then in /etc/iscsi/ifaces/iface0 you would enter:
++TCP/IP. Then in /var/lib/iscsi/ifaces/iface0 you would enter:
+
+ iface.transport_name = tcp
+ iface.hwaddress = 00:0F:1F:92:6B:BF
+
+-and in /etc/iscsi/ifaces/iface1 you would enter:
++and in /var/lib/iscsi/ifaces/iface1 you would enter:
+
+ iface.transport_name = tcp
+ iface.hwaddress = 00:C0:DD:08:63:E7
+@@ -550,7 +550,7 @@ cxgb3i.00:07:43:05:97:07 cxgb3i,00:07:43:05:97:07,<empty>,<empty>,<empty>
+ qla4xxx.00:0e:1e:04:8b:2e qla4xxx,00:0e:1e:04:8b:2e,<empty>,<empty>,<empty>
+
+
+-Will report iface configurations that are setup in /etc/iscsi/ifaces.
++Will report iface configurations that are setup in /var/lib/iscsi/ifaces.
+ The format is:
+
+ iface_name transport_name,hwaddress,ipaddress,net_ifacename,initiatorname
+@@ -636,7 +636,7 @@ need a seperate network connection to the target for discovery purposes.
+ *This will be fixed in the next version of open-iscsi*
+
+ For compatibility reasons, when you run iscsiadm to do discovery, it
+-will check for interfaces in /etc/iscsi/iscsi/ifaces that are using
++will check for interfaces in /var/lib/iscsi/iscsi/ifaces that are using
+ tcp for the iface.transport and it will bind the portals that are discovered
+ so that they will be logged in through those ifaces. This behavior can also
+ be overriden by passing in the interfaces you want to use. For the case
+@@ -654,7 +654,7 @@ we do not bind a session to a iface, then you can use the special iface
+
+ iscsiadm -m discoverydb -t st -p ip:port -I default --discover -P 1
+
+-And if you did not define any interfaces in /etc/iscsi/ifaces and do
++And if you did not define any interfaces in /var/lib/iscsi/ifaces and do
+ not pass anything into iscsiadm, running iscsiadm will do the default
+ behavior, where we allow the network subsystem to decide which
+ device to use.
+@@ -696,7 +696,7 @@ To now log into targets it is the same as with sofware iscsi. See section
+
+ ./iscsiadm -m discoverydb -t st -p 192.168.1.1:3260 --discover
+
+- This will search /etc/iscsi/send_targets for a record with the
++ This will search /var/lib/iscsi/send_targets for a record with the
+ ID [portal = 192.168.1.1:3260 and type = sendtargets. If found it
+ will perform discovery using the settings stored in the record.
+ If a record does not exist, it will be created using the iscsid.conf
+@@ -705,7 +705,7 @@ To now log into targets it is the same as with sofware iscsi. See section
+ The argument to -p may also be a hostname instead of an address.
+ ./iscsiadm -m discoverydb -t st -p smoehost --discover
+
+- For the ifaces, iscsiadm will first search /etc/iscsi/ifaces for
++ For the ifaces, iscsiadm will first search /var/lib/iscsi/ifaces for
+ interfaces using software iscsi. If any are found then nodes found
+ during discovery will be setup so that they can logged in through
+ those interfaces. To specify a specific iface, pass the
+@@ -761,7 +761,7 @@ To now log into targets it is the same as with sofware iscsi. See section
+ This command will perform discovery, but not manipulate the node DB.
+
+ - SendTargets iSCSI Discovery with a specific interface. If you
+- wish to only use a subset of the interfaces in /etc/iscsi/ifaces
++ wish to only use a subset of the interfaces in /var/lib/iscsi/ifaces
+ then you can pass them in during discovery:
+
+ ./iscsiadm -m discoverydb -t sendtargets -p 192.168.1.1:3260 \
+@@ -1072,8 +1072,8 @@ where targetname is the name of the target and ip_address:port is the address
+ and port of the portal. tpgt, is the portal group tag of
+ the portal, and is not used in iscsiadm commands except for static
+ record creation. And iface name is the name of the iscsi interface
+-defined in /etc/iscsi/ifaces. If no interface was defined in
+-/etc/iscsi/ifaces or passed in, the default behavior is used.
++defined in /var/lib/iscsi/ifaces. If no interface was defined in
++/var/lib/iscsi/ifaces or passed in, the default behavior is used.
+ Default here is iscsi_tcp/tcp to be used over which ever NIC the
+ network layer decides is best.
+
+@@ -1188,7 +1188,7 @@ If set, iscsid will perform discovery to the address every
+ discovery.isns.discoveryd_poll_inval or
+ discovery.sendtargets.discoveryd_poll_inval seconds,
+ and it will log into any portals found from the discovery source using
+-the ifaces in /etc/iscsi/ifaces.
++the ifaces in /var/lib/iscsi/ifaces.
+
+ Note that for iSNS the poll_interval does not have to be set. If not set,
+ iscsid will only perform rediscovery when it gets a SCN from the server.
+diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8
+index 7c209f6..e94cca0 100644
+--- a/doc/iscsiadm.8
++++ b/doc/iscsiadm.8
+@@ -89,7 +89,7 @@ This option is only valid for ping submode.
+ .TP
+ \fB\-I\fR, \fB\-\-interface=\fI[iface]\fR
+ The interface argument specifies the iSCSI interface to use for the operation.
+-iSCSI interfaces (iface) are defined in /etc/iscsi/ifaces. For hardware
++iSCSI interfaces (iface) are defined in /var/lib/iscsi/ifaces. For hardware
+ iSCSI (qla4xxx) the iface config must have the hardware address
+ (iface.hwaddress = port's MAC address)
+ and the driver/transport_name (iface.transport_name). The iface's name is
+@@ -166,7 +166,7 @@ If no other options are specified: for \fIdiscoverydb\fR and \fInode\fR, all
+ of their respective records are displayed; for \fIsession\fR, all active
+ sessions and connections are displayed; for \fIfw\fR, all boot firmware
+ values are displayed; for \fIhost\fR, all iSCSI hosts are displayed; and
+-for \fIiface\fR, all ifaces setup in /etc/iscsi/ifaces are displayed.
++for \fIiface\fR, all ifaces setup in /var/lib/iscsi/ifaces are displayed.
+
+ .TP
+ \fB\-n\fR, \fB\-\-name=\fIname\fR
+@@ -535,10 +535,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup.
+ The file containing the iSCSI InitiatorName and InitiatorAlias read by
+ \fBiscsid\fR and \fBiscsiadm\fR on startup.
+ .TP
+-/etc/iscsi/nodes/
++/var/lib/iscsi/nodes/
+ This directory contains the nodes with their targets.
+ .TP
+-/etc/iscsi/send_targets
++/var/lib/iscsi/send_targets
+ This directory contains the portals.
+
+ .SH "SEE ALSO"
+diff --git a/usr/idbm.c b/usr/idbm.c
+index 4d30aa9..316e54f 100644
+--- a/usr/idbm.c
++++ b/usr/idbm.c
+@@ -2468,9 +2468,9 @@ free_info:
+ int idbm_init(idbm_get_config_file_fn *fn)
+ {
+ /* make sure root db dir is there */
+- if (access(ISCSI_CONFIG_ROOT, F_OK) != 0) {
+- if (mkdir(ISCSI_CONFIG_ROOT, 0660) != 0) {
+- log_error("Could not make %s %d\n", ISCSI_CONFIG_ROOT,
++ if (access(ISCSIVAR, F_OK) != 0) {
++ if (mkdir(ISCSIVAR, 0660) != 0) {
++ log_error("Could not make %s %d\n", ISCSIVAR,
+ errno);
+ return errno;
+ }
+diff --git a/usr/idbm.h b/usr/idbm.h
+index 245f046..f45e86e 100644
+--- a/usr/idbm.h
++++ b/usr/idbm.h
+@@ -28,12 +28,16 @@
+ #include "config.h"
+ #include "list.h"
+
+-#define NODE_CONFIG_DIR ISCSI_CONFIG_ROOT"nodes"
+-#define SLP_CONFIG_DIR ISCSI_CONFIG_ROOT"slp"
+-#define ISNS_CONFIG_DIR ISCSI_CONFIG_ROOT"isns"
+-#define STATIC_CONFIG_DIR ISCSI_CONFIG_ROOT"static"
+-#define FW_CONFIG_DIR ISCSI_CONFIG_ROOT"fw"
+-#define ST_CONFIG_DIR ISCSI_CONFIG_ROOT"send_targets"
++#define ISCSIVAR "/var/lib/iscsi/"
++
++#define NODE_CONFIG_DIR ISCSIVAR"nodes"
++#define SLP_CONFIG_DIR ISCSIVAR"slp"
++#define ISNS_CONFIG_DIR ISCSIVAR"isns"
++#define STATIC_CONFIG_DIR ISCSIVAR"static"
++#define FW_CONFIG_DIR ISCSIVAR"fw"
++#define ST_CONFIG_DIR ISCSIVAR"send_targets"
++
++
+ #define ST_CONFIG_NAME "st_config"
+ #define ISNS_CONFIG_NAME "isns_config"
+
+diff --git a/usr/iface.h b/usr/iface.h
+index 01f7074..2c6ef72 100644
+--- a/usr/iface.h
++++ b/usr/iface.h
+@@ -20,7 +20,8 @@
+ #ifndef ISCSI_IFACE_H
+ #define ISCSI_IFACE_H
+
+-#define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces"
++#include "idbm.h"
++#define IFACE_CONFIG_DIR ISCSIVAR"ifaces"
+
+ struct iface_rec;
+ struct list_head;
diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service
new file mode 100644
index 0000000000..b1397513bb
--- /dev/null
+++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Open-iSCSI initiator (i.e. client) service
+After=syslog.target
+
+[Service]
+EnvironmentFile=/etc/default/iscsi-initiator
+ExecStartPre=/sbin/modprobe iscsi_tcp
+ExecStart=/usr/sbin/iscsid -f $OPTS_ISCSID
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb
new file mode 100644
index 0000000000..f510ce51bf
--- /dev/null
+++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb
@@ -0,0 +1,113 @@
+SUMMARY = "iSCSI daemon and utility programs"
+DESCRIPTION = "Open-iSCSI project is a high performance, transport \
+independent, multi-platform implementation of RFC3720. The iscsi package \
+provides the server daemon for the iSCSI protocol, as well as the utility \
+programs used to manage it. iSCSI is a protocol for distributed \
+disk access using SCSI commands sent over Internet Protocol networks."
+HOMEPAGE = "http://www.open-iscsi.org/"
+LICENSE = "GPLv2 & LGPLv2.1"
+SECTION = "console/network"
+DEPENDS = "openssl flex-native bison-native"
+
+LIC_FILES_CHKSUM = \
+ "file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
+ file://utils/open-isns/COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+SRC_URI = "http://www.open-iscsi.org/bits/open-iscsi-${PV}.tar.gz \
+ file://iscsi-initiator-utils-use-var-for-config.patch \
+ file://iscsi-initiator-utils-dont-use-static.patch \
+ file://initd.debian \
+ file://99_iscsi-initiator-utils \
+ file://iscsi-initiator \
+ file://iscsi-initiator.service \
+ file://iscsi-initiator-targets.service \
+"
+SRC_URI[md5sum] = "8b8316d7c9469149a6cc6234478347f7"
+SRC_URI[sha256sum] = "7dd9f2f97da417560349a8da44ea4fcfe98bfd5ef284240a2cc4ff8e88ac7cd9"
+
+S = "${WORKDIR}/open-iscsi-${PV}"
+
+inherit update-rc.d systemd
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+do_configure () {
+ #need to support cross-compiling in open-isns only
+ (cd utils/open-isns; gnu-configize; \
+ ./configure --host=${TARGET_SYS} --build=${BUILD_SYS} --with-security=no )
+}
+
+do_compile () {
+ #make iscsistart one of PROGRAMS if install_user in do_install
+ #sed -i -e '/^PROGRAMS = /s;$; usr/iscsistart;' Makefile
+
+ #fix the ar used in open-isns
+ sed -i -e 's:ar cr :$(AR) cr :' ${S}/utils/open-isns/Makefile
+ oe_runmake user
+}
+
+do_install () {
+ #completely override the install_user as bugs in Makefile
+ #oe_runmake DESTDIR="${D}" install_user
+
+ #install necessary directories
+ install -d ${D}${sbindir} \
+ ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/iscsi \
+ ${D}${localstatedir}/lib/iscsi/nodes \
+ ${D}${localstatedir}/lib/iscsi/send_targets \
+ ${D}${localstatedir}/lib/iscsi/static \
+ ${D}${localstatedir}/lib/iscsi/isns \
+ ${D}${localstatedir}/lib/iscsi/slp \
+ ${D}${localstatedir}/lib/iscsi/ifaces \
+ ${D}/${mandir}/man8
+
+ install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \
+ ${S}/utils/iscsi-iname \
+ ${S}/usr/iscsistart ${D}/${sbindir}
+
+ install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8
+ install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi
+ install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid
+
+ sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/${BPN}/lock - - - -" \
+ > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf
+ install -d ${D}/etc/default/
+ install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/iscsi-initiator.service \
+ ${WORKDIR}/iscsi-initiator-targets.service \
+ ${D}${systemd_unitdir}/system/
+ else
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
+ fi
+}
+
+pkg_postinst_${PN}() {
+ #default there is no initiatorname.iscsi installed
+ #but it is needed or iscsid will fail
+
+ #will run only when postinst on target
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+ if [ ! -f ${sysconfdir}/iscsi/initiatorname.iscsi ]; then
+ echo "InitiatorName=$(${sbindir}/iscsi-iname)" > \
+ ${sysconfdir}/iscsi/initiatorname.iscsi
+ fi
+
+ if [ -e /etc/init.d/populate-volatile.sh ]; then
+ /etc/init.d/populate-volatile.sh update
+ elif command -v systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
+ fi
+}
+
+SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
+INITSCRIPT_NAME = "iscsid"
+INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
diff --git a/meta-networking/recipes-daemons/lldpad/lldpad_0.9.46.bb b/meta-networking/recipes-daemons/lldpad/lldpad_0.9.46.bb
new file mode 100644
index 0000000000..4dad80d3e9
--- /dev/null
+++ b/meta-networking/recipes-daemons/lldpad/lldpad_0.9.46.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Intel LLDP Agent"
+DESCRIPTION = "\
+This package contains the Linux user space daemon and configuration tool for \
+Intel LLDP Agent with Enhanced Ethernet support for the Data Center."
+SECTION = "System Environment/Daemons"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162"
+DEPENDS = "libconfig libnl"
+SRCREV = "48a5f38778b18d6659a672ccb4640f25c6720827"
+
+SRC_URI = "git://github.com/jrfastab/lldpad.git;protocol=http"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig systemd
+
+do_install_append () {
+ install -m 0755 -d ${D}${systemd_unitdir}
+ mv ${D}${prefix}${systemd_unitdir}/* ${D}${systemd_unitdir}/
+ rmdir ${D}${prefix}${systemd_unitdir}
+}
+
+FILES_${PN} += "${systemd_unitdir}"
diff --git a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb
new file mode 100644
index 0000000000..5e63293300
--- /dev/null
+++ b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A sophisticated console ftp client"
+HOMEPAGE = "http://ncftp.com/"
+SECTION = "console/network"
+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[md5sum] = "685e45f60ac11c89442c572c28af4228"
+SRC_URI[sha256sum] = "ac111b71112382853b2835c42ebe7bd59acb7f85dd00d44b2c19fbd074a436c4"
+
+inherit autotools-brokensep pkgconfig
+
+do_configure() {
+ oe_runconf
+}
+do_install () {
+ install -d ${D}${bindir} ${D}${sysconfdir} ${D}${mandir}
+ oe_runmake 'prefix=${D}${prefix}' 'BINDIR=${D}${bindir}' \
+ 'SYSCONFDIR=${D}${sysconfdir}' 'mandir=${D}${mandir}' \
+ install
+}
diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch b/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch
new file mode 100644
index 0000000000..016b64f2e9
--- /dev/null
+++ b/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch
@@ -0,0 +1,11 @@
+--- opensaf-4.5.0.orig/Makefile.am 2014-12-31 14:45:54.088797989 +0800
++++ opensaf-4.5.0/Makefile.am 2014-12-31 14:45:08.328796688 +0800
+@@ -219,7 +219,7 @@ install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(pkgpiddir)
+ $(mkinstalldirs) $(DESTDIR)$(lockdir)
+ $(mkinstalldirs) $(DESTDIR)$(pkglocalstatedir)
+- cp -R samples/ $(DESTDIR)$(pkgdatadir)
++ cp -R $(srcdir)/samples/ $(DESTDIR)$(pkgdatadir)
+
+ install-data-hook:
+ @for i in $$(grep -lr -e 'xxLIBDIRxx' -e 'xxLOGDIRxx' -e 'xxCLCCLIDIRxx' $(DESTDIR)$(pkgimmxml_svcdir)/*.xml) ; do \
diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_4.5.0.bb b/meta-networking/recipes-daemons/opensaf/opensaf_4.5.0.bb
new file mode 100644
index 0000000000..5b42defb38
--- /dev/null
+++ b/meta-networking/recipes-daemons/opensaf/opensaf_4.5.0.bb
@@ -0,0 +1,42 @@
+SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification"
+DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \
+middleware consistent with Service Availability Forum (SA Forum) \
+specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \
+established by leading Communications and Enterprise Computing Companies to \
+facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \
+code base in commercial products. \
+The OpenSAF project was launched in mid 2007 and has been under development by \
+an informal group of supporters of the OpenSAF initiative. The OpenSAF \
+Foundation was founded on January 22nd 2008 with Emerson Network Power, \
+Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members."
+HOMEPAGE = "http://www.opensaf.org"
+
+inherit autotools useradd systemd pkgconfig
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
+ file://install-samples-from-srcdir.patch"
+
+SRC_URI[md5sum] = "534c0a99438a62c4c8dda56cfa67300c"
+SRC_URI[sha256sum] = "2f5ba57fe67e94099c0df82d0a0dd207b5c583c93030035ba354c97b5471b590"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
+
+DEPENDS = "libxml2 python"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "-f -r opensaf"
+USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf"
+
+SYSTEMD_SERVICE_${PN} += "opensafd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+FILES_${PN} += "${localstatedir}/run"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+do_install_append() {
+ rm -fr "${D}${localstatedir}/lock"
+ rm -fr "${D}${localstatedir}/run"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+}
diff --git a/meta-networking/recipes-daemons/postfix/files/aliasesdb b/meta-networking/recipes-daemons/postfix/files/aliasesdb
new file mode 100755
index 0000000000..855a64f705
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/files/aliasesdb
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+ALIASESDB_STAMP=/var/lib/misc/postfix.aliasesdb-stamp
+
+make_aliasesdb() {
+ if [ "$(/usr/sbin/postconf -h alias_database)" = "hash:/etc/aliases" ]
+ then
+ # /etc/aliases.db may be used by other MTA, make sure nothing
+ # has touched it since our last newaliases call
+ [ /etc/aliases -nt /etc/aliases.db ] ||
+ [ "$ALIASESDB_STAMP" -nt /etc/aliases.db ] ||
+ [ "$ALIASESDB_STAMP" -ot /etc/aliases.db ] || return 0
+ /usr/bin/newaliases
+ touch -r /etc/aliases.db "$ALIASESDB_STAMP"
+ else
+ /usr/bin/newaliases
+ fi
+}
+
+make_aliasesdb
diff --git a/meta-networking/recipes-daemons/postfix/files/install.patch b/meta-networking/recipes-daemons/postfix/files/install.patch
new file mode 100644
index 0000000000..a3fe089c22
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/files/install.patch
@@ -0,0 +1,66 @@
+Change fixed postconf to a variable for cross-compiling
+
+Upstreamstatus: Inappropriate [embedded specific]
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+---
+diff --git a/postfix-install b/postfix-install
+index 49225ac..2e4c292 100644
+--- a/postfix-install
++++ b/postfix-install
+@@ -201,8 +201,8 @@ test -z "$non_interactive" -a ! -t 0 && {
+ exit 1
+ }
+
+-test -x bin/postconf || {
+- echo $0: Error: no bin/postconf file. Did you forget to run \"make\"? 1>&2
++test -x "$POSTCONF" || {
++ echo $0: Error: no $POSTCONF file. Did you forget to run \"make\"? 1>&2
+ exit 1
+ }
+
+@@ -363,7 +363,7 @@ HTML files. Specify \"no\" if you do not want to install these files."
+
+ : ${install_root=/}
+ : ${tempdir=`pwd`}
+-: ${config_directory=`bin/postconf -c conf -h -d config_directory`}
++: ${config_directory=`$POSTCONF -c conf -h -d config_directory`}
+
+ # Find out the location of installed configuration files.
+
+@@ -433,7 +433,7 @@ test -f $CONFIG_DIRECTORY/main.cf && {
+ case "$junk" in
+ "") eval unset $name;;
+ esac
+- eval : \${$name=\`bin/postconf -c $CONFIG_DIRECTORY -h $name\`} ||
++ eval : \${$name=\`$POSTCONF -c $CONFIG_DIRECTORY -h $name\`} ||
+ exit 1
+ done
+ }
+@@ -446,7 +446,7 @@ do
+ case "$junk" in
+ "") eval unset $name;;
+ esac
+- eval : \${$name=\`bin/postconf -c conf -d -h $name\`} || exit 1
++ eval : \${$name=\`$POSTCONF -c conf -d -h $name\`} || exit 1
+ done
+
+ # Override settings manually.
+@@ -565,6 +565,8 @@ HTML_DIRECTORY=$install_root$html_directory
+ MANPAGE_DIRECTORY=$install_root$manpage_directory
+ README_DIRECTORY=$install_root$readme_directory
+
++test "x$POSTCONF" != "x" || POSTCONF="bin/postconf"
++
+ # Avoid repeated tests for existence of these; default permissions suffice.
+
+ test -d $DAEMON_DIRECTORY || mkdir -p $DAEMON_DIRECTORY || exit 1
+@@ -724,7 +726,7 @@ do
+ # Postfix releases, and software should not suddenly be installed in
+ # the wrong place when Postfix is being upgraded.
+
+-bin/postconf -c $CONFIG_DIRECTORY -e \
++"$POSTCONF" -c $CONFIG_DIRECTORY -e \
+ "daemon_directory = $daemon_directory" \
+ "data_directory = $data_directory" \
+ "command_directory = $command_directory" \
diff --git a/meta-networking/recipes-daemons/postfix/files/internal_recipient b/meta-networking/recipes-daemons/postfix/files/internal_recipient
new file mode 100644
index 0000000000..6a8f2681b8
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/files/internal_recipient
@@ -0,0 +1 @@
+root@ permit_mynetworks,reject
diff --git a/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 b/meta-networking/recipes-daemons/postfix/files/main.cf_2.0
new file mode 100644
index 0000000000..bb314513b6
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/files/main.cf_2.0
@@ -0,0 +1,102 @@
+# Configure your domain and accounts
+#mydomain=sample.com
+#FQDN from gethostname
+#myhostname =
+mydomain=localdomain
+mydestination = $myhostname, localhost.localdomain localhost
+mynetworks = 127.0.0.1/8
+inet_interfaces = 127.0.0.1
+
+virtual_mailbox_domains = sample.com, other.net
+virtual_mailbox_maps = hash:/etc/postfix/virtual
+virtual_alias_maps = hash:/etc/postfix/virtual_alias
+
+alias_maps = hash:/etc/aliases
+
+# You'll start with the following lines for maildir storage
+virtual_mailbox_base = /var/spool/vmail
+virtual_uid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 3`
+virtual_gid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 4`
+
+
+# You'll start with the following lines for IMAP storage
+#virtual_transport = lmtp:unix:/var/lib/cyrus/socket/lmtp
+
+
+# General stuff here again
+#config_directory = /etc/postfix
+sample_directory = /etc/postfix
+queue_directory = /var/spool/postfix
+mail_spool_directory = /var/spool/mail
+readme_directory = no
+command_directory = /usr/sbin
+daemon_directory = /usr/libexec/postfix
+mail_owner = postfix
+setgid_group = postdrop
+unknown_local_recipient_reject_code = 450
+mynetworks_style = host
+debug_peer_level = 2
+sendmail_path = /usr/sbin/sendmail
+newaliases_path = /usr/bin/newaliases
+mailq_path = /usr/bin/mailq
+
+smtpd_data_restrictions =
+ permit_mynetworks,
+ reject_unauth_pipelining,
+ permit
+
+smtpd_client_restrictions =
+ permit_mynetworks,
+ # reject_unknown_client, # This can cause a lot of false rejects.
+ reject_invalid_hostname,
+ reject_rbl_client list.dsbl.org,
+ reject_rbl_client sbl.spamhaus.org,
+ reject_rbl_client cbl.abuseat.org,
+ reject_rbl_client dul.dnsbl.sorbs.net,
+ permit
+
+smtpd_helo_required = yes
+smtpd_helo_restrictions =
+ permit_mynetworks,
+ reject_unauth_pipelining,
+ # reject_non_fqdn_hostname, # This can cause a lot of false rejects.
+ # reject_unknown_hostname, # This can cause a lot of false rejects.
+ reject_invalid_hostname,
+ permit
+
+smtpd_sender_restrictions =
+ permit_mynetworks,
+ reject_non_fqdn_sender,
+ # check_sender_access hash:/etc/postfix/access_domains,
+ reject_unknown_sender_domain,
+ permit
+
+smtpd_recipient_restrictions =
+ permit_mynetworks,
+ permit_sasl_authenticated,
+ reject_unauth_destination,
+
+ # check_recipient_access pcre:/etc/postfix/recipient_checks.pcre,
+ # check_helo_access pcre:/etc/postfix/helo_checks.pcre,
+
+ # check_client_access hash:/etc/postfix/maps/access_client,
+ # check_client_access hash:/etc/postfix/maps/exceptions_client,
+ # check_helo_access hash:/etc/postfix/maps/access_helo,
+ # check_helo_access hash:/etc/postfix/maps/verify_helo,
+ # check_sender_access hash:/etc/postfix/maps/access_sender,
+ # check_sender_access hash:/etc/postfix/maps/verify_sender,
+ # check_recipient_access hash:/etc/postfix/maps/access_recipient,
+
+ # reject_multi_recipient_bounce,
+ reject_non_fqdn_recipient,
+ reject_unknown_recipient_domain,
+ # reject_unlisted_recipient,
+ #check_policy_service unix:private/policy,
+
+ # check_sender_access hash:/etc/postfix/maps/no_verify_sender,
+ # check_sender_access hash:/etc/postfix/access_domains,
+ # reject_unverified_sender,
+ # reject_unverified_recipient
+ check_recipient_access hash:/etc/postfix/internal_recipient
+
+disable_vrfy_command = yes
diff --git a/meta-networking/recipes-daemons/postfix/files/makedefs.patch b/meta-networking/recipes-daemons/postfix/files/makedefs.patch
new file mode 100644
index 0000000000..32c31b0243
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/files/makedefs.patch
@@ -0,0 +1,116 @@
+1)remove RANLIB, SYSLIBS, AR and get them from env.
+
+2)reference sysroot when searching header files
+3)include sysroot path instead of absolute include path
+for Linux2 and Linux3 systems.
+4)for non-native build, search STAGING_BASELIBDIR/LIBDIR
+ native build, search host library path for nsl and resolv library
+ which comes from libc
+
+Upstreamstatus: Inappropriate [embedded specific]
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+---
+ makedefs | 27 +++++++++++----------------
+ 1 files changed, 11 insertions(+), 16 deletions(-)
+
+diff --git a/makedefs b/makedefs
+index dd5f256..e6fb795 100644
+--- a/makedefs
++++ b/makedefs
+@@ -87,9 +87,6 @@
+
+ # Defaults for most sane systems
+
+-RANLIB=ranlib
+-SYSLIBS=
+-AR=ar
+ ARFL=rv
+
+ # Ugly function to make our error message more visible among the
+@@ -293,12 +290,12 @@ case "$SYSTEM.$RELEASE" in
+ case "$CCARGS" in
+ *-DNO_DB*) ;;
+ *-DHAS_DB*) ;;
+- *) if [ -f /usr/include/db.h ]
++ *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ]
+ then
+ : we are all set
+- elif [ -f /usr/include/db/db.h ]
++ elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ]
+ then
+- CCARGS="$CCARGS -I/usr/include/db"
++ CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db"
+ else
+ # No, we're not going to try db1 db2 db3 etc.
+ # On a properly installed system, Postfix builds
+@@ -307,12 +304,12 @@ case "$SYSTEM.$RELEASE" in
+ echo "Install the appropriate db*-devel package first." 1>&2
+ exit 1
+ fi
+- SYSLIBS="-ldb"
++ SYSLIBS="$SYSLIBS -ldb"
+ ;;
+ esac
+ for name in nsl resolv $GDBM_LIBS
+ do
+- for lib in /usr/lib64 /lib64 /usr/lib /lib
++ for lib in $BUILD_SYSROOT_NSL_PATH
+ do
+ test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
+ SYSLIBS="$SYSLIBS -l$name"
+@@ -332,7 +329,7 @@ case "$SYSTEM.$RELEASE" in
+ if [ `expr "X$CCARGS" : "X.*-DNO_EPOLL"` -gt 0 ]
+ then
+ :
+- elif [ ! -e /usr/include/sys/epoll.h ]
++ elif [ ! -e "$BUILD_SYSROOT"/usr/include/sys/epoll.h ]
+ then
+ echo CCARGS="$CCARGS -DNO_EPOLL"
+ else
+@@ -356,8 +353,6 @@ int main(int argc, char **argv)
+ }
+ EOF
+ ${CC-gcc} -o makedefs.test makedefs.test.c || exit 1
+- ./makedefs.test 2>/dev/null ||
+- CCARGS="$CCARGS -DNO_EPOLL"
+ rm -f makedefs.test makedefs.test.[co]
+ fi;;
+ esac
+@@ -366,12 +361,12 @@ EOF
+ case "$CCARGS" in
+ *-DNO_DB*) ;;
+ *-DHAS_DB*) ;;
+- *) if [ -f /usr/include/db.h ]
++ *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ]
+ then
+ : we are all set
+- elif [ -f /usr/include/db/db.h ]
++ elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ]
+ then
+- CCARGS="$CCARGS -I/usr/include/db"
++ CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db"
+ else
+ # On a properly installed system, Postfix builds
+ # by including <db.h> and by linking with -ldb
+@@ -379,7 +374,7 @@ EOF
+ echo "Install the appropriate db*-devel package first." 1>&2
+ exit 1
+ fi
+- SYSLIBS="-ldb"
++ SYSLIBS="$SYSLIBS -ldb"
+ ;;
+ esac
+ for name in nsl resolv
+@@ -415,7 +410,7 @@ EOF
+ esac
+ for name in nsl resolv
+ do
+- for lib in /usr/lib64 /lib64 /usr/lib /lib
++ for lib in $BUILD_SYSROOT_NSL_PATH
+ do
+ test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
+ SYSLIBS="$SYSLIBS -l$name"
+--
+1.7.1
+
diff --git a/meta-networking/recipes-daemons/postfix/files/postfix b/meta-networking/recipes-daemons/postfix/files/postfix
new file mode 100755
index 0000000000..7bcc81625a
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/files/postfix
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+success() {
+ echo " Successful"
+ exit 0
+}
+
+fail() {
+ echo " Failed"
+ exit 1
+
+}
+
+check_return () {
+ local ret="$1"
+
+ if [ "$ret" = "0" ]; then
+ success
+ else
+ fail
+ fi
+}
+
+PIDFile=/var/spool/postfix/pid/master.pid
+case "$1" in
+
+ start)
+ echo -n "Starting Postfix..."
+ if [ ! -e /etc/aliases.db ]; then
+ # The alias database is necessary for postfix to work correctly.
+ echo "Creating aliases database ..."
+ newaliases
+ fi
+ if ! postfix status >/dev/null 2>&1; then
+ postfix start
+ check_return $?
+ else
+ success
+ fi
+ ;;
+
+ stop)
+ echo -n "Stopping Postfix..."
+ if postfix status >/dev/null 2>&1; then
+ postfix stop
+ check_return $?
+ else
+ success
+ fi
+ ;;
+
+ reload)
+ echo -n "Reloading Postfix..."
+ if postfix status >/dev/null 2>&1; then
+ postfix reload
+ check_return $?
+ else
+ postfix start
+ check_return $?
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+
+ status)
+ if postfix status >/dev/null 2>&1; then
+ pid=`sed -e 's/\s//g' $PIDFile`
+ echo "The Postfix mail system is running (PID: $pid)"
+ exit 0
+ else
+ echo "The Postfix mail system is not running"
+ exit 1
+ fi
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|status|reload|restart}"
+ exit 1
+ ;;
+esac
+
diff --git a/meta-networking/recipes-daemons/postfix/files/postfix-add-db6-support.patch b/meta-networking/recipes-daemons/postfix/files/postfix-add-db6-support.patch
new file mode 100644
index 0000000000..e3e28c8430
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/files/postfix-add-db6-support.patch
@@ -0,0 +1,26 @@
+Subject: [PATCH] add db6 support db6
+
+Upstream-Status: Backport
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ src/util/dict_db.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/src/util/dict_db.c b/src/util/dict_db.c
+index 93ee480..f1ae66b 100644
+--- a/src/util/dict_db.c
++++ b/src/util/dict_db.c
+@@ -693,7 +693,8 @@ static DICT *dict_db_open(const char *class, const char *path, int open_flags,
+ msg_fatal("set DB cache size %d: %m", dict_db_cache_size);
+ if (type == DB_HASH && db->set_h_nelem(db, DICT_DB_NELM) != 0)
+ msg_fatal("set DB hash element count %d: %m", DICT_DB_NELM);
+-#if DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
++#if DB_VERSION_MAJOR == 6 || DB_VERSION_MAJOR == 5 || \
++ (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
+ if ((errno = db->open(db, 0, db_path, 0, type, db_flags, 0644)) != 0)
+ FREE_RETURN(dict_surrogate(class, path, open_flags, dict_flags,
+ "open database %s: %m", db_path));
+--
+1.7.1
+
diff --git a/meta-networking/recipes-daemons/postfix/files/postfix.service b/meta-networking/recipes-daemons/postfix/files/postfix.service
new file mode 100644
index 0000000000..c781038d88
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/files/postfix.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Postfix Mail Transport Agent
+After=syslog.target network.target
+Conflicts=sendmail.service exim.service
+
+[Service]
+Type=forking
+PIDFile=/var/spool/postfix/pid/master.pid
+ExecStartPre=-/usr/libexec/postfix/aliasesdb
+ExecStart=/usr/sbin/postfix start
+ExecReload=/usr/sbin/postfix reload
+ExecStop=/usr/sbin/postfix stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-networking/recipes-daemons/postfix/postfix.inc
new file mode 100644
index 0000000000..e73f2f098c
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/postfix.inc
@@ -0,0 +1,237 @@
+SUMMARY = "Postfix Mail Transport Agent"
+DESCRIPTION = "Postfix is Wietse Venema's mail server that started life at \
+IBM research as an alternative to the widely-used Sendmail program. \
+Postfix attempts to be fast, easy to administer, and secure. The outsidei \
+has a definite Sendmail-ish flavor, but the inside is completely different."
+
+HOMEPAGE= "http://www.postfix.org"
+SECTION = "console/network"
+DEPENDS = "virtual/db libpcre openssl postfix-native \
+ ${@base_contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \
+ ${@base_contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \
+"
+DEPENDS_virtclass-native = "virtual/db-native openssl-native libpcre-native"
+
+LICENSE = "IPL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=64375f37431336ea1b1b3005fe3fa354"
+
+SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
+ file://makedefs.patch \
+ file://install.patch \
+ file://main.cf_2.0 \
+ file://postfix \
+ file://internal_recipient \
+ file://postfix.service \
+ file://aliasesdb \
+"
+
+S = "${WORKDIR}/postfix-${PV}"
+
+BBCLASSEXTEND = "native"
+
+inherit update-rc.d useradd update-alternatives systemd
+
+INITSCRIPT_NAME = "postfix"
+INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ."
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = \
+"-d /var/spool/postfix -r -g postfix --shell /bin/false postfix; \
+ -d /var/spool/vmail -r -u 5000 -g vmail --shell /bin/false vmail \
+"
+GROUPADD_PARAM_${PN} = "--system postfix;--system postdrop;-g 5000 --system vmail"
+
+export SYSLIBS = "${LDFLAGS}"
+
+# CCARGS specifies includes, defines
+# AUXLIBS specifies libraries
+# Linux2/Linux3 has HAS_DB defined
+# makedefs will make CC to be CC+CCARGS
+
+# ldap support
+export CCARGS-ldap = "\
+ ${@base_contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}"
+export AUXLIBS-ldap = "\
+ ${@base_contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}"
+
+# no native openldap
+export CCARGS-ldap_virtclass-native = ""
+export AUXLIBS-ldap_virtclass-native = ""
+
+# SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH
+# current openldap didn't enable SASL
+export CCARGS-sasl = "\
+ ${@base_contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I=/usr/include/sasl', '', d)}"
+export AUXLIBS-sasl = "\
+ ${@base_contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}"
+export CCARGS-sasl_virtclass-native = ""
+export AUXLIBS-sasl_virtclass-native = ""
+
+# PCRE, TLS support default
+export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS ${CCARGS-ldap} ${CCARGS-sasl}"
+export AUXLIBS = "-lpcre -lssl -lcrypto ${AUXLIBS-sasl} ${AUXLIBS-ldap}"
+export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf"
+
+# OPT,DEBUG is aready in CFLAGS
+# ignore the OPTS="CC=$CC" in Makefile it will not use the CC=$CC $CCARGS
+EXTRA_OEMAKE += "OPT= DEBUG= OPTS= "
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS
+ local native_build
+
+ native_build="${@['0', '1'][bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d)]}"
+
+ # if not native build, then pass SYSTEM and RELEASE to makedefs
+ if [ "${native_build}" != "1" ]; then
+ # uname -s for target
+ SYSTEM="Linux"
+
+ # uname -r, use 2.6 as bottomline, even target kernel ver > 2.6
+ RELEASE="2.6.34"
+ sed -i -e \
+ "s:\$(SHELL) makedefs):\$(SHELL) makedefs $SYSTEM $RELEASE):" \
+ ${S}/Makefile.in
+ export BUILD_SYSROOT="${STAGING_DIR_HOST}"
+ export BUILD_SYSROOT_NSL_PATH="${STAGING_BASELIBDIR} \
+ ${STAGING_LIBDIR}"
+ else
+ # native build
+ export BUILD_SYSROOT="${STAGING_DIR_NATIVE}"
+
+ # ubuntu x86 host: /lib/x86_64-linux-gnu(64) /lib/i386-linux-gnu (32)
+ # on 64 bits, 32 libs in i386-linux-gnu
+ # let makedefs finds nsl and resolv libs, host CC will link
+ # the correct libraries
+ BUILD_SYSROOT_NSL_PATH="$(${CC} -print-search-dirs 2>/dev/null | \
+ sed -n '/^libraries: =/s/libraries: =//p' | \
+ sed -e 's/:/\n/g' | xargs -n1 readlink -f | \
+ grep -v 'gcc\|/[0-9.]\+$' | sort -u)"
+ if [ -z "$BUILD_SYSROOT_NSL_PATH" ]; then
+ BUILD_SYSROOT_NSL_PATH="/usr/lib64 /lib64 \
+ /lib/x86_64-linux-gnu \
+ /usr/lib /lib \
+ /lib/i386-linux-gnu"
+ fi
+ export BUILD_SYSROOT_NSL_PATH
+ fi
+
+ oe_runmake makefiles
+ oe_runmake
+}
+
+do_install_prepend_virtclass-native() {
+ export POSTCONF="bin/postconf"
+}
+
+SYSTEMD_SERVICE_${PN} = "postfix.service"
+
+do_install () {
+ sh ./postfix-install 'install_root=${D}' \
+ 'config_directory=${sysconfdir}/postfix' \
+ 'daemon_directory=${libexecdir}' \
+ 'command_directory=${sbindir}' \
+ 'queue_directory=${localstatedir}/spool/postfix' \
+ 'sendmail_path=${sbindir}/sendmail.postfix' \
+ 'newaliases_path=${bindir}/newaliases' \
+ 'mailq_path=${bindir}/mailq' \
+ 'manpage_directory=${mandir}' \
+ 'readme_directory=${datadir}/doc/postfix' \
+ 'data_directory=${localstatedir}/lib/postfix' \
+ -non-interactive
+ rm -rf ${D}${localstatedir}/spool/postfix
+ mv ${D}${sysconfdir}/postfix/main.cf ${D}${sysconfdir}/postfix/sample-main.cf
+ install -d ${D}${sysconfdir}/init.d
+ install -m 644 ${WORKDIR}/main.cf_2.0 ${D}${sysconfdir}/postfix/main.cf
+ install -m 755 ${WORKDIR}/postfix ${D}${sysconfdir}/init.d/postfix
+ install -m 644 ${WORKDIR}/internal_recipient ${D}${sysconfdir}/postfix/internal_recipient
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/postfix.service ${D}${systemd_unitdir}/system
+ sed -i 's,/usr/sbin/,${sbindir}/,g' ${D}${systemd_unitdir}/system/postfix.service
+
+ install -m 0755 ${WORKDIR}/aliasesdb ${D}${libexecdir}
+
+ install -m 770 -d ${D}${localstatedir}/spool/postfix
+ chown postfix:postfix ${D}${localstatedir}/spool/postfix
+ chown postfix:postfix ${D}${localstatedir}/lib/postfix
+
+ install -m 2755 -d ${D}${localstatedir}/spool/mail
+ chown postfix:nogroup ${D}${localstatedir}/spool/mail
+ install -m 0755 -d ${D}${localstatedir}/lib/postfix
+ chown postfix:nogroup ${D}${localstatedir}/lib/postfix
+ install -m 0755 -d ${D}${localstatedir}/spool/postfix
+ chown root:postfix ${D}${localstatedir}/spool/postfix
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/active
+ chown postfix:root ${D}${localstatedir}/spool/postfix/active
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/bounce
+ chown postfix:root ${D}${localstatedir}/spool/postfix/bounce
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/corrupt
+ chown postfix:root ${D}${localstatedir}/spool/postfix/corrupt
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/defer
+ chown postfix:root ${D}${localstatedir}/spool/postfix/defer
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/deferred
+ chown postfix:root ${D}${localstatedir}/spool/postfix/deferred
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/flush
+ chown postfix:root ${D}${localstatedir}/spool/postfix/flush
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/hold
+ chown postfix:root ${D}${localstatedir}/spool/postfix/hold
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/incoming
+ chown postfix:root ${D}${localstatedir}/spool/postfix/incoming
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/saved
+ chown postfix:root ${D}${localstatedir}/spool/postfix/saved
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/trace
+ chown postfix:root ${D}${localstatedir}/spool/postfix/trace
+ install -m 0730 -d ${D}${localstatedir}/spool/postfix/maildrop
+ chown postfix:postdrop ${D}${localstatedir}/spool/postfix/maildrop
+ install -m 0755 -d ${D}${localstatedir}/spool/postfix/pid
+ chown root:root ${D}${localstatedir}/spool/postfix/pid
+ install -m 0700 -d ${D}${localstatedir}/spool/postfix/private
+ chown postfix:root ${D}${localstatedir}/spool/postfix/private
+ install -m 0710 -d ${D}${localstatedir}/spool/postfix/public
+ chown postfix:postdrop ${D}${localstatedir}/spool/postfix/public
+ install -m 0755 -d ${D}${localstatedir}/spool/vmail
+ chown vmail:vmail ${D}${localstatedir}/spool/vmail
+
+ chown :postdrop ${D}${sbindir}/postqueue
+ chown :postdrop ${D}${sbindir}/postdrop
+ chmod g+s ${D}${sbindir}/postqueue
+ chmod g+s ${D}${sbindir}/postdrop
+}
+
+do_install_append_class-native() {
+ ln -sf ../sbin/sendmail.postfix ${D}${bindir}/newaliases
+ ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq
+}
+
+do_install_append_class-target() {
+ # Remove references to buildmachine paths in target makedefs.out
+ sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' ${D}/etc/postfix/makedefs.out
+}
+
+NATIVE_INSTALL_WORKS = "1"
+
+ALTERNATIVE_${PN} = "sendmail"
+ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix"
+ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
+ALTERNATIVE_PRIORITY = "120"
+
+pkg_postinst_${PN} () {
+ if [ "x$D" = "x" ]; then
+ touch /etc/aliases
+ newaliases
+
+ # generate virtual_alias, default is hash
+ touch /etc/postfix/virtual_alias
+ postmap /etc/postfix/virtual_alias
+ else
+ touch $D/etc/aliases
+ newaliases -C $D/etc/postfix/main.cf -oA$D/etc/aliases
+ touch $D/etc/postfix/virtual_alias
+ postmap -c $D/etc/postfix $D/etc/postfix/virtual_alias
+ fi
+}
+
+# Exclude .debug directories from the main package
+FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \
+ ${libexecdir}/* ${systemd_unitdir}/*"
+FILES_${PN}-dbg += "${libexecdir}/.debug"
diff --git a/meta-networking/recipes-daemons/postfix/postfix_2.11.1.bb b/meta-networking/recipes-daemons/postfix/postfix_2.11.1.bb
new file mode 100644
index 0000000000..8f237dc2ee
--- /dev/null
+++ b/meta-networking/recipes-daemons/postfix/postfix_2.11.1.bb
@@ -0,0 +1,6 @@
+require postfix.inc
+
+SRC_URI += "file://postfix-add-db6-support.patch"
+
+SRC_URI[md5sum] = "56ac1f1a79737c4ac1e24535a122a4a6"
+SRC_URI[sha256sum] = "487f98a73b95a5799409caf21ec065efea91c1dcdfb84c038a0e3a265d6489e2"
diff --git a/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch b/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch
new file mode 100644
index 0000000000..19617a6bb7
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch
@@ -0,0 +1,112 @@
+Upstream-Status: Inappropriate [configuration]
+
+combined the following patches into one:
+make, move-pidfile-to-var-run, move-runfile-to-var-run
+
+move pidfile to /var/run
+redefine PR_RUN_DIR as ${localstatedir}/run
+
+Signed-off-By: Armin Kuster <akuster808@gmail.com>
+
+
+Index: proftpd-1.3.5/Make.rules.in
+===================================================================
+--- proftpd-1.3.5.orig/Make.rules.in
++++ proftpd-1.3.5/Make.rules.in
+@@ -29,9 +29,9 @@ INSTALL=@INSTALL@
+ INSTALL_STRIP=@INSTALL_STRIP@
+ INSTALL_USER=@install_user@
+ INSTALL_GROUP=@install_group@
+-INSTALL_BIN=$(INSTALL) $(INSTALL_STRIP) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
+-INSTALL_SBIN=$(INSTALL) $(INSTALL_STRIP) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
+-INSTALL_MAN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644
++INSTALL_BIN=$(INSTALL) -m 0755
++INSTALL_SBIN=$(INSTALL) -m 0755
++INSTALL_MAN=$(INSTALL) -m 0644
+
+ RM=rm -f
+ SHELL=@CONFIG_SHELL@
+Index: proftpd-1.3.5/Makefile.in
+===================================================================
+--- proftpd-1.3.5.orig/Makefile.in
++++ proftpd-1.3.5/Makefile.in
+@@ -105,7 +105,6 @@ check: proftpd$(EXEEXT)
+ $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
+ @if [ ! -d $@ ]; then \
+ mkdir -p $@; \
+- chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \
+ chmod 0755 $@; \
+ fi
+
+@@ -115,7 +114,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc
+ rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \
+ fi
+ ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd
+- -chown -h $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd
+
+ install-libs: $(DESTDIR)$(libdir)/proftpd
+ cd lib/ && $(MAKE) install
+@@ -152,11 +150,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE
+ $(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut
+ $(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop
+ $(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho
+- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
++ $(INSTALL) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
+
+ install-conf: $(DESTDIR)$(sysconfdir)
+ if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then \
+- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 \
++ $(INSTALL) -m 0644 \
+ $(top_srcdir)/sample-configurations/basic.conf \
+ $(DESTDIR)$(sysconfdir)/proftpd.conf ; \
+ fi
+Index: proftpd-1.3.5/configure
+===================================================================
+--- proftpd-1.3.5.orig/configure
++++ proftpd-1.3.5/configure
+@@ -38255,7 +38255,7 @@ _ACEOF
+
+
+ cat >>confdefs.h <<_ACEOF
+-#define PR_RUN_DIR "`eval echo "${localstatedir}"`"
++#define PR_RUN_DIR "`eval echo "${localstatedir}"/run/`"
+ _ACEOF
+
+ cat >>confdefs.h <<_ACEOF
+@@ -38263,7 +38263,7 @@ cat >>confdefs.h <<_ACEOF
+ _ACEOF
+
+ cat >>confdefs.h <<_ACEOF
+-#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/proftpd.pid"`"
++#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/run/proftpd.pid"`"
+ _ACEOF
+
+
+Index: proftpd-1.3.5/configure.in
+===================================================================
+--- proftpd-1.3.5.orig/configure.in
++++ proftpd-1.3.5/configure.in
+@@ -2971,8 +2971,8 @@ locale_dir="`eval echo ${locale_dir}`"
+ AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`")
+
+ AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
+-AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`")
+-AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`")
++AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/run/proftpd.conf"`")
++AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`")
+
+ prefix="$pr_saved_prefix"
+ exec_prefix="$pr_saved_exec_prefix"
+Index: proftpd-1.3.5/lib/libcap/Makefile
+===================================================================
+--- proftpd-1.3.5.orig/lib/libcap/Makefile
++++ proftpd-1.3.5/lib/libcap/Makefile
+@@ -26,7 +26,7 @@ OBJS=$(addsuffix .o, $(FILES))
+ all: $(LIBNAME)
+
+ _makenames: _makenames.c cap_names.sed
+- $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
++ $(BUILD_CC) $(CFLAGS) $(LDFLAGS) $< -o $@
+
+ cap_names.h: _makenames
+ ./_makenames > cap_names.h
diff --git a/meta-networking/recipes-daemons/proftpd/files/make.patch b/meta-networking/recipes-daemons/proftpd/files/make.patch
deleted file mode 100644
index c5ff0136da..0000000000
--- a/meta-networking/recipes-daemons/proftpd/files/make.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: proftpd-1.3.2/Makefile.in
-===================================================================
---- proftpd-1.3.2.orig/Makefile.in
-+++ proftpd-1.3.2/Makefile.in
-@@ -76,7 +76,6 @@ check: proftpd$(EXEEXT)
- $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(rundir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
- @if [ ! -d $@ ]; then \
- mkdir -p $@; \
-- chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \
- chmod 0755 $@; \
- fi
-
-@@ -86,7 +85,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc
- rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \
- fi
- ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd
-- -chown -h $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd
-
- install-libs: $(DESTDIR)$(libdir)/proftpd
- cd lib/ && $(MAKE) install
-@@ -121,11 +119,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE
- $(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut
- $(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop
- $(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho
-- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
-+ $(INSTALL) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
-
- install-conf: $(DESTDIR)$(sysconfdir)
- if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then \
-- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 \
-+ $(INSTALL) -m 0644 \
- $(top_srcdir)/sample-configurations/basic.conf \
- $(DESTDIR)$(sysconfdir)/proftpd.conf ; \
- fi
-Index: proftpd-1.3.2/Make.rules.in
-===================================================================
---- proftpd-1.3.2.orig/Make.rules.in
-+++ proftpd-1.3.2/Make.rules.in
-@@ -29,9 +29,9 @@ UTILS_LIBS=@UTILS_LIBS@ @LIBS@
- INSTALL=@INSTALL@
- INSTALL_USER=@install_user@
- INSTALL_GROUP=@install_group@
--INSTALL_BIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
--INSTALL_SBIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
--INSTALL_MAN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644
-+INSTALL_BIN=$(INSTALL) -m 0755
-+INSTALL_SBIN=$(INSTALL) -m 0755
-+INSTALL_MAN=$(INSTALL) -m 0644
-
- RM=rm -f
- SHELL=/bin/sh
-Index: proftpd-1.3.2/lib/libcap/Makefile
-===================================================================
---- proftpd-1.3.2.orig/lib/libcap/Makefile
-+++ proftpd-1.3.2/lib/libcap/Makefile
-@@ -26,7 +26,7 @@ OBJS=$(addsuffix .o, $(FILES))
- all: $(LIBNAME)
-
- _makenames: _makenames.c cap_names.sed
-- $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
-+ $(BUILD_CC) $(CFLAGS) $(LDFLAGS) $< -o $@
-
- cap_names.h: _makenames
- ./_makenames > cap_names.h
diff --git a/meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch b/meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch
deleted file mode 100644
index 953bbddef0..0000000000
--- a/meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-move pidfile to /var/run
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- configure | 2 +-
- configure.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index e6268f5..ebed38e 100755
---- a/configure
-+++ b/configure
-@@ -33587,7 +33587,7 @@ cat >>confdefs.h <<_ACEOF
- _ACEOF
-
- cat >>confdefs.h <<_ACEOF
--#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/proftpd.pid"`"
-+#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/run/proftpd.pid"`"
- _ACEOF
-
-
-diff --git a/configure.in b/configure.in
-index df9186a..e2ae868 100644
---- a/configure.in
-+++ b/configure.in
-@@ -2790,7 +2790,7 @@ AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`")
-
- AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
- AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`")
--AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`")
-+AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`")
-
- prefix="$pr_saved_prefix"
- exec_prefix="$pr_saved_exec_prefix"
---
-1.7.10.4
-
diff --git a/meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch b/meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch
deleted file mode 100644
index 1561ed80e3..0000000000
--- a/meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-redefine PR_RUN_DIR as ${localstatedir}/run
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- configure | 2 +-
- configure.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index ebed38e..445d5bc 100755
---- a/configure
-+++ b/configure
-@@ -33579,7 +33579,7 @@ _ACEOF
-
-
- cat >>confdefs.h <<_ACEOF
--#define PR_RUN_DIR "`eval echo "${localstatedir}"`"
-+#define PR_RUN_DIR "`eval echo "${localstatedir}"/run/`"
- _ACEOF
-
- cat >>confdefs.h <<_ACEOF
-diff --git a/configure.in b/configure.in
-index c17929c..df9186a 100644
---- a/configure.in
-+++ b/configure.in
-@@ -2788,7 +2788,7 @@ locale_dir="`eval echo ${localedir}`"
- locale_dir="`eval echo ${locale_dir}`"
- AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`")
-
--AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
-+AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}/run"`")
- AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`")
- AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`")
-
---
-1.7.10.4
-
diff --git a/meta-networking/recipes-daemons/proftpd/files/proftpd.service b/meta-networking/recipes-daemons/proftpd/files/proftpd.service
new file mode 100644
index 0000000000..ba97f8e1ca
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/files/proftpd.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=proftpd Daemon
+
+[Service]
+Type=forking
+ExecStart=-@SBINDIR@/proftpd -c @SYSCONFDIR@/proftpd.conf
+StandardError=syslog
diff --git a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb
deleted file mode 100644
index cfbadfb089..0000000000
--- a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SUMMARY = "Secure and configurable FTP server"
-SECTION = "console/network"
-HOMEPAGE = "http://www.proftpd.org"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184"
-
-PR = "r3"
-
-SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \
- file://make.patch \
- file://basic.conf.patch \
- file://contrib.patch \
- file://proftpd-basic.init \
- file://default \
- file://move-pidfile-to-var-run.patch \
- file://close-RequireValidShell-check.patch \
- file://move-runfile-to-var-run.patch \
-"
-
-SRC_URI[md5sum] = "0871e0b93c9c3c88ca950b6d9a04aed2"
-SRC_URI[sha256sum] = "9f659585cea90fc6af34a0ffae4a90e4ed37abe92dbd9b6c311f95a436c961cb"
-
-inherit autotools useradd update-rc.d
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses,--disable-curses --disable-ncurses,ncurses"
-
-EXTRA_OECONF = "--disable-cap \
- --disable-auth-pam \
-"
-
-# proftpd uses libltdl which currently makes configuring using
-# autotools.bbclass a pain...
-do_configure () {
- oe_runconf
-}
-
-FTPUSER = "ftp"
-FTPGROUP = "ftp"
-
-do_install () {
- oe_runmake DESTDIR=${D} install
- rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale
- [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir}
- sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf
- sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd
- sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd
- sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd
- sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd
- sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd
-
- install -d ${D}${sysconfdir}/default
- install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/proftpd
-
- # create the pub directory
- mkdir -p ${D}/home/${FTPUSER}/pub/
- chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub
-}
-
-INITSCRIPT_NAME = "proftpd"
-INITSCRIPT_PARAM = "defaults 85 15"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}"
-USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \
- --shell /bin/false ${FTPUSER}"
-
-FILES_${PN} += "/home/${FTPUSER}"
diff --git a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb
new file mode 100644
index 0000000000..13c9410012
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb
@@ -0,0 +1,113 @@
+SUMMARY = "Secure and configurable FTP server"
+SECTION = "console/network"
+HOMEPAGE = "http://www.proftpd.org"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184"
+
+SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \
+ file://basic.conf.patch \
+ file://proftpd-basic.init \
+ file://default \
+ file://close-RequireValidShell-check.patch \
+ file://contrib.patch \
+ file://build_fixup.patch \
+ file://proftpd.service \
+ "
+
+SRC_URI[md5sum] = "aff1bff40e675244d72c4667f203e5bb"
+SRC_URI[sha256sum] = "c10316fb003bd25eccbc08c77dd9057e053693e6527ffa2ea2cc4e08ccb87715"
+
+inherit autotools-brokensep useradd update-rc.d systemd
+
+PACKAGECONFIG ??= "sia shadow"
+PACKAGECONFIG += " ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+
+PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses"
+PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl, openssl"
+PACKAGECONFIG[pam] = "--enable-auth-pam, --disable-auth-pam, libpam, libpam"
+PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6"
+PACKAGECONFIG[shadow] = "--enable-shadow, --disable-shadow"
+PACKAGECONFIG[pcre] = "--enable-pcre, --disable-pcre, libpcre "
+
+# enable POSIX.1e capabilities
+PACKAGECONFIG[cap] = "--enable-cap, --disable-cap, libcap, libcap"
+
+#enable support for POSIX ACLs
+PACKAGECONFIG[acl] = "--enable-facl, --disable-facl"
+
+#enable proftpd controls via ftpdct
+PACKAGECONFIG[ctrls] = "--enable-ctrls, --disable-crtls"
+
+#prevent proftpd from using its bundled getopt implementation.
+PACKAGECONFIG[getopt] = "--with-getopt, --without-getopt"
+
+#do not strip debugging symbols from installed code
+PACKAGECONFIG[strip] = "--enable-strip, --disable-strip"
+
+#enable SIA authentication support (Tru64)
+PACKAGECONFIG[sia] = "--enable-sia, --disable-sia"
+PACKAGECONFIG[sendfile] = "-enable-sendfile, --disable-sendfile"
+
+#enable Native Language Support (NLS)
+PACKAGECONFIG[nls] = "--enable-nls, --disable-nls"
+
+#add mod_dso to core modules
+PACKAGECONFIG[dso] = "--enable-dso, --disable-dso"
+PACKAGECONFIG[largefile] = "--enable-largefile, --disable-largefile"
+
+#omit mod_auth_file from core modules
+PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file"
+
+
+# proftpd uses libltdl which currently makes configuring using
+# autotools.bbclass a pain...
+do_configure () {
+ oe_runconf
+}
+
+FTPUSER = "ftp"
+FTPGROUP = "ftp"
+
+do_install () {
+ oe_runmake DESTDIR=${D} install
+ rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale
+ [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir}
+ sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf
+ sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd
+ sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd
+ sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd
+ sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/proftpd
+
+ # create the pub directory
+ mkdir -p ${D}/home/${FTPUSER}/pub/
+ chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub
+
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/proftpd.service ${D}/${systemd_unitdir}/system
+ sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -i ${D}${systemd_unitdir}/system/*.service
+}
+
+INITSCRIPT_NAME = "proftpd"
+INITSCRIPT_PARAM = "defaults 85 15"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "proftpd.service"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}"
+USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \
+ --shell /bin/false ${FTPUSER}"
+
+FILES_${PN} += "/home/${FTPUSER}"
+
+RDEPENDS_${PN} += "perl"
diff --git a/meta-networking/recipes-daemons/ptpd/ptpd-2.2.0/ld-as-needed.patch b/meta-networking/recipes-daemons/ptpd/ptpd-2.2.0/ld-as-needed.patch
deleted file mode 100644
index 7d5251be3d..0000000000
--- a/meta-networking/recipes-daemons/ptpd/ptpd-2.2.0/ld-as-needed.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Patch from http://patch-tracker.debian.org/package/ptpd
-
-Description: Fix ld --as-needed
- This patch fixes the order of gcc arguments to fix ld --as-needed
-Author: Roland Stigge <stigge@antcom.de>
-Bug-Debian: http://bugs.debian.org/607583
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- src/Makefile | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index a672625..88a2fc8 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -40,7 +40,7 @@ CFLAGS += -DDBG_SIGUSR2_CHANGE_DEBUG
-
- CFLAGS += -DPTP_EXPERIMENTAL
-
--LDFLAGS+= -lm -lrt
-+LIBS += -lm -lrt
-
- PROG = ptpd
- SRCS = ptpd.c arith.c bmc.c protocol.c display.c\
-@@ -63,7 +63,7 @@ TAGFILES = GPATH GRTAGS GSYMS GTAGS cscope.in.out cscope.out cscope.po.out
- all: $(PROG)
-
- $(PROG): $(OBJS)
-- $(CC) -o $@ $(OBJS) $(LDFLAGS)
-+ $(CC) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
-
- $(OBJS): $(HDRS)
-
---
-1.7.4
-
diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch
new file mode 100644
index 0000000000..abb3933106
--- /dev/null
+++ b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch
@@ -0,0 +1,621 @@
+Add FSL QorIQ DPAA and eTSEC support
+
+This patch is for Freescale QorIQ DPAA and eTSEC which support 1588 hardware
+assist module, and mainly uses SO_TIMESTAMPING API for HW timestamp and PHC
+API.
+
+Signed-off-by: Lu Yangbo <yangbo.lu@freescale.com>
+Upstream-Status: Submitted [http://sourceforge.net/p/ptpd/patches/56/]
+
+diff --git a/src/bmc.c b/src/bmc.c
+index f4c74bd..925daba 100644
+--- a/src/bmc.c
++++ b/src/bmc.c
+@@ -249,6 +249,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim
+ ptpClock->timePropertiesDS.ptpTimescale = IS_SET(header->flagField1, PTPT);
+ ptpClock->timePropertiesDS.timeSource = announce->timeSource;
+
++#ifndef FSL_1588
+ #if defined(MOD_TAI) && NTP_API == 4
+ /*
+ * update kernel TAI offset, but only if timescale is
+@@ -261,6 +262,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim
+ INFO("Set kernel UTC offset to %d\n", ptpClock->timePropertiesDS.currentUtcOffset);
+ }
+ #endif /* MOD_TAI */
++#endif
+
+ /* Leap second handling */
+
+@@ -280,9 +282,11 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim
+ ptpClock->leapSecondPending = FALSE;
+ ptpClock->leapSecondInProgress = FALSE;
+ timerStop(LEAP_SECOND_PAUSE_TIMER, ptpClock->itimer);
++#ifndef FSL_1588
+ #ifdef HAVE_SYS_TIMEX_H
+ unsetTimexFlags(STA_INS | STA_DEL,TRUE);
+ #endif /* HAVE_SYS_TIMEX_H */
++#endif /* FSL_1588 */
+ }
+
+ /*
+@@ -295,6 +299,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim
+ ((!previousLeap59 && ptpClock->timePropertiesDS.leap59) ||
+ (!previousLeap61 && ptpClock->timePropertiesDS.leap61)))) {
+ #ifdef HAVE_SYS_TIMEX_H
++#ifndef FSL_1588
+ WARNING("Leap second pending! Setting kernel to %s "
+ "one second at midnight\n",
+ ptpClock->timePropertiesDS.leap61 ? "add" : "delete");
+@@ -304,6 +309,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim
+ setTimexFlags(ptpClock->timePropertiesDS.leap61 ? STA_INS : STA_DEL,
+ FALSE);
+ }
++#endif
+ #else
+ WARNING("Leap second pending! No kernel leap second "
+ "API support - expect a clock jump at "
+diff --git a/src/dep/net.c b/src/dep/net.c
+index 34d23ad..9075847 100644
+--- a/src/dep/net.c
++++ b/src/dep/net.c
+@@ -85,6 +85,9 @@
+ #include <linux/ethtool.h>
+ #endif /* SO_TIMESTAMPING */
+
++#if defined(FSL_1588)
++char fsl_1588_if_name[IFACE_NAME_LENGTH];
++#endif
+ /**
+ * shutdown the IPv4 multicast for specific address
+ *
+@@ -461,6 +464,9 @@ testInterface(char * ifaceName, RunTimeOpts* rtOpts)
+ if(getInterfaceInfo(ifaceName, &info) != 1)
+ return FALSE;
+
++#if defined(FSL_1588)
++ memcpy(fsl_1588_if_name, ifaceName, IFACE_NAME_LENGTH);
++#endif
+ switch(rtOpts->transport) {
+
+ case UDP_IPV4:
+@@ -666,6 +672,27 @@ end:
+ }
+ #endif /* SO_TIMESTAMPING */
+
++#if defined(FSL_1588)
++/* select HWTSTAMP_TX_ON or HWTSTAMP_TX_OFF */
++void hwtstamp_tx_ctl(NetPath *netPath, Boolean enable)
++{
++ struct ifreq hwtstamp;
++ struct hwtstamp_config hwconfig;
++
++ memset(&hwtstamp, 0, sizeof(hwtstamp));
++ strncpy(hwtstamp.ifr_name, fsl_1588_if_name, sizeof(hwtstamp.ifr_name));
++ hwtstamp.ifr_data = (void *)&hwconfig;
++ memset(&hwconfig, 0, sizeof(hwconfig));
++ hwconfig.tx_type =
++ enable ?
++ HWTSTAMP_TX_ON : HWTSTAMP_TX_OFF;
++ hwconfig.rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_SYNC;
++ if (ioctl(netPath->eventSock, SIOCSHWTSTAMP, &hwtstamp) < 0
++ || ioctl(netPath->generalSock, SIOCSHWTSTAMP, &hwtstamp) < 0)
++ printf("error:hwtstamp_tx_ctl\n");
++}
++#endif
++
+
+ /**
+ * Initialize timestamping of packets
+@@ -682,10 +709,17 @@ netInitTimestamping(NetPath * netPath, RunTimeOpts * rtOpts)
+ Boolean result = TRUE;
+ #if defined(SO_TIMESTAMPING) && defined(SO_TIMESTAMPNS)/* Linux - current API */
+ DBG("netInitTimestamping: trying to use SO_TIMESTAMPING\n");
++#if defined(FSL_1588)
++ val = SOF_TIMESTAMPING_TX_HARDWARE |
++ SOF_TIMESTAMPING_RX_HARDWARE |
++ SOF_TIMESTAMPING_RAW_HARDWARE;
++#else
+ val = SOF_TIMESTAMPING_TX_SOFTWARE |
+ SOF_TIMESTAMPING_RX_SOFTWARE |
+ SOF_TIMESTAMPING_SOFTWARE;
++#endif
+
++#ifndef FSL_1588
+ /* unless compiled with PTPD_EXPERIMENTAL, check if we support the desired tstamp capabilities */
+ #ifndef PTPD_EXPERIMENTAL
+ #ifdef ETHTOOL_GET_TS_INFO
+@@ -716,6 +750,7 @@ netInitTimestamping(NetPath * netPath, RunTimeOpts * rtOpts)
+ val = 1;
+ #endif /* ETHTOOL_GET_TS_INFO */
+ #endif /* PTPD_EXPERIMENTAL */
++#endif /* FSL_1588 */
+
+ if(val == 1) {
+ if (setsockopt(netPath->eventSock, SOL_SOCKET, SO_TIMESTAMPNS, &val, sizeof(int)) < 0) {
+@@ -902,6 +937,9 @@ netInit(NetPath * netPath, RunTimeOpts * rtOpts, PtpClock * ptpClock)
+
+ DBG("Listening on IP: %s\n",inet_ntoa(
+ ((struct sockaddr_in*)&(netPath->interfaceInfo.afAddress))->sin_addr));
++#if defined(FSL_1588)
++ hwtstamp_tx_ctl(&ptpClock->netPath, FALSE);/* HWTSTAMP_TX_OFF */
++#endif
+
+ #ifdef PTPD_PCAP
+ if (rtOpts->pcap == TRUE) {
+@@ -1319,7 +1357,11 @@ netRecvEvent(Octet * buf, TimeInternal * time, NetPath * netPath, int flags)
+ #if defined(SO_TIMESTAMPING) && defined(SO_TIMESTAMPNS)
+ if(cmsg->cmsg_type == SO_TIMESTAMPING ||
+ cmsg->cmsg_type == SO_TIMESTAMPNS) {
++#if defined(FSL_1588)
++ ts = (struct timespec *)CMSG_DATA(cmsg) + 2;
++#else
+ ts = (struct timespec *)CMSG_DATA(cmsg);
++#endif
+ time->seconds = ts->tv_sec;
+ time->nanoseconds = ts->tv_nsec;
+ timestampValid = TRUE;
+@@ -1520,6 +1562,9 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath,
+ ssize_t ret;
+ struct sockaddr_in addr;
+
++#if defined(FSL_1588)
++ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */
++#endif
+ addr.sin_family = AF_INET;
+ addr.sin_port = htons(PTP_EVENT_PORT);
+
+@@ -1559,6 +1604,9 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath,
+ DBG("Error sending unicast event message\n");
+ else
+ netPath->sentPackets++;
++#if defined(FSL_1588)
++ usleep(100);
++#endif
+ #ifndef SO_TIMESTAMPING
+ /*
+ * Need to forcibly loop back the packet since
+@@ -1574,10 +1622,14 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath,
+ #else
+ if(!netPath->txTimestampFailure) {
+ if(!getTxTimestamp(netPath, tim)) {
++#if defined(FSL_1588)
++ printf("getTxTimestamp: get tx timestamp error\n");
++#else
+ netPath->txTimestampFailure = TRUE;
+ if (tim) {
+ clearTime(tim);
+ }
++#endif
+ }
+ }
+
+@@ -1609,9 +1661,15 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath,
+ DBG("Error sending multicast event message\n");
+ else
+ netPath->sentPackets++;
++#if defined(FSL_1588)
++ usleep(100);
++#endif
+ #ifdef SO_TIMESTAMPING
+ if(!netPath->txTimestampFailure) {
+ if(!getTxTimestamp(netPath, tim)) {
++#if defined(FSL_1588)
++ printf("getTxTimestamp: get tx timestamp error\n");
++#else
+ if (tim) {
+ clearTime(tim);
+ }
+@@ -1620,6 +1678,7 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath,
+
+ /* Try re-enabling MULTICAST_LOOP */
+ netSetMulticastLoopback(netPath, TRUE);
++#endif
+ }
+ }
+ #endif /* SO_TIMESTAMPING */
+@@ -1638,6 +1697,9 @@ netSendGeneral(Octet * buf, UInteger16 length, NetPath * netPath,
+ ssize_t ret;
+ struct sockaddr_in addr;
+
++#if defined(FSL_1588)
++ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */
++#endif
+ addr.sin_family = AF_INET;
+ addr.sin_port = htons(PTP_GENERAL_PORT);
+
+@@ -1707,6 +1769,9 @@ netSendPeerGeneral(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpt
+ ssize_t ret;
+ struct sockaddr_in addr;
+
++#if defined(FSL_1588)
++ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */
++#endif
+ addr.sin_family = AF_INET;
+ addr.sin_port = htons(PTP_GENERAL_PORT);
+
+@@ -1762,6 +1827,9 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts
+ ssize_t ret;
+ struct sockaddr_in addr;
+
++#if defined(FSL_1588)
++ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */
++#endif
+ addr.sin_family = AF_INET;
+ addr.sin_port = htons(PTP_EVENT_PORT);
+
+@@ -1788,6 +1856,9 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts
+ DBG("Error sending unicast peer event message\n");
+ else
+ netPath->sentPackets++;
++#if defined(FSL_1588)
++ usleep(100);
++#endif
+
+ #ifndef SO_TIMESTAMPING
+ /*
+@@ -1804,10 +1875,14 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts
+ #else
+ if(!netPath->txTimestampFailure) {
+ if(!getTxTimestamp(netPath, tim)) {
++#if defined(FSL_1588)
++ printf("getTxTimestamp: get tx timestamp error\n");
++#else
+ netPath->txTimestampFailure = TRUE;
+ if (tim) {
+ clearTime(tim);
+ }
++#endif
+ }
+ }
+
+@@ -1839,9 +1914,15 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts
+ DBG("Error sending multicast peer event message\n");
+ else
+ netPath->sentPackets++;
++#if defined(FSL_1588)
++ usleep(100);
++#endif
+ #ifdef SO_TIMESTAMPING
+ if(!netPath->txTimestampFailure) {
+ if(!getTxTimestamp(netPath, tim)) {
++#if defined(FSL_1588)
++ printf("getTxTimestamp: get tx timestamp error\n");
++#else
+ if (tim) {
+ clearTime(tim);
+ }
+@@ -1850,6 +1931,7 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts
+
+ /* Try re-enabling MULTICAST_LOOP */
+ netSetMulticastLoopback(netPath, TRUE);
++#endif
+ }
+ }
+ #endif /* SO_TIMESTAMPING */
+diff --git a/src/dep/ntpengine/ntpdcontrol.c b/src/dep/ntpengine/ntpdcontrol.c
+index d773284..e84af9e 100644
+--- a/src/dep/ntpengine/ntpdcontrol.c
++++ b/src/dep/ntpengine/ntpdcontrol.c
+@@ -170,6 +170,15 @@ get_systime(
+ {
+ double dtemp;
+
++#if defined(FSL_1588)
++ struct timespec tp;
++ clock_gettime(clkid, &tp);
++ tv.tv_sec = tp.tv_sec;
++ tv.tv_usec = tp.tv_nsec / 1000;
++
++ now->l_i = tv.tv_sec + JAN_1970;
++ dtemp = tv.tv_usec / 1e6;
++#else /* FSL_1588 */
+ #if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_GETCLOCK)
+ struct timespec ts; /* seconds and nanoseconds */
+
+@@ -195,6 +204,7 @@ get_systime(
+ dtemp = tv.tv_usec / 1e6;
+
+ #endif /* HAVE_CLOCK_GETTIME || HAVE_GETCLOCK */
++#endif /* FSL_1588 */
+
+ /*
+ * Renormalize to seconds past 1900 and fraction.
+diff --git a/src/dep/ptpd_dep.h b/src/dep/ptpd_dep.h
+index 8778988..03ae642 100644
+--- a/src/dep/ptpd_dep.h
++++ b/src/dep/ptpd_dep.h
+@@ -14,6 +14,7 @@
+ #define PTPD_DBGV
+ #endif
+
++#define FSL_1588 1
+ /** \name System messages*/
+ /**\{*/
+
+@@ -280,6 +281,11 @@ UInteger16 msgPackManagementResponse(Octet * buf,MsgHeader*,MsgManagement*,PtpCl
+ * -Init network stuff, send and receive datas*/
+ /**\{*/
+
++#if defined(FSL_1588)
++extern char fsl_1588_if_name[IFACE_NAME_LENGTH];
++/* select HWTSTAMP_TX_ON or HWTSTAMP_TX_OFF */
++void hwtstamp_tx_ctl(NetPath *netPath, Boolean enable);
++#endif
+ Boolean testInterface(char* ifaceName, RunTimeOpts* rtOpts);
+ Boolean netInit(NetPath*,RunTimeOpts*,PtpClock*);
+ Boolean netShutdown(NetPath*);
+@@ -357,6 +363,10 @@ void restartLogging(RunTimeOpts* rtOpts);
+ void logStatistics(RunTimeOpts *rtOpts, PtpClock *ptpClock);
+ void displayStatus(PtpClock *ptpClock, const char *prefixMessage);
+ void displayPortIdentity(PortIdentity *port, const char *prefixMessage);
++#if defined(FSL_1588)
++clockid_t get_clockid(int fd);
++int clock_adjtime(clockid_t id, struct timex *tx);
++#endif
+ Boolean nanoSleep(TimeInternal*);
+ void getTime(TimeInternal*);
+ void setTime(TimeInternal*);
+@@ -378,12 +388,15 @@ void adjTime(Integer32);
+ void adjFreq_wrapper(RunTimeOpts * rtOpts, PtpClock * ptpClock, double adj);
+ Boolean adjFreq(double);
+ double getAdjFreq(void);
++#ifndef FSL_1588
+ void informClockSource(PtpClock* ptpClock);
++#endif
+
+ /* Observed drift save / recovery functions */
+ void restoreDrift(PtpClock * ptpClock, RunTimeOpts * rtOpts, Boolean quiet);
+ void saveDrift(PtpClock * ptpClock, RunTimeOpts * rtOpts, Boolean quiet);
+
++#ifndef FSL_1588
+ /* Helper function to manage ntpadjtime / adjtimex flags */
+ void setTimexFlags(int flags, Boolean quiet);
+ void unsetTimexFlags(int flags, Boolean quiet);
+@@ -393,6 +406,7 @@ Boolean checkTimexFlags(int flags);
+ #if defined(MOD_TAI) && NTP_API == 4
+ void setKernelUtcOffset(int utc_offset);
+ #endif /* MOD_TAI */
++#endif
+
+ #endif /* HAVE_SYS_TIMEX_H */
+
+diff --git a/src/dep/servo.c b/src/dep/servo.c
+index 06215e6..6651a20 100644
+--- a/src/dep/servo.c
++++ b/src/dep/servo.c
+@@ -1013,10 +1013,12 @@ if(rtOpts->ntpOptions.enableEngine && rtOpts->panicModeNtp) {
+ /* Adjust the clock first -> the PI controller runs here */
+ adjFreq_wrapper(rtOpts, ptpClock, runPIservo(&ptpClock->servo, ptpClock->offsetFromMaster.nanoseconds));
+ warn_operator_fast_slewing(rtOpts, ptpClock, ptpClock->servo.observedDrift);
++#ifndef FSL_1588
+ /* Unset STA_UNSYNC */
+ unsetTimexFlags(STA_UNSYNC, TRUE);
+ /* "Tell" the clock about maxerror, esterror etc. */
+ informClockSource(ptpClock);
++#endif /* FSL_1588 */
+ #endif /* HAVE_SYS_TIMEX_H */
+ }
+
+diff --git a/src/dep/sys.c b/src/dep/sys.c
+index 52b274c..8551724 100644
+--- a/src/dep/sys.c
++++ b/src/dep/sys.c
+@@ -344,7 +344,14 @@ int writeMessage(FILE* destination, int priority, const char * format, va_list a
+ * it also can cause problems in nested debug statements (which are solved by turning the signal
+ * handling synchronous, and not calling this function inside asycnhronous signal processing)
+ */
++#if defined(FSL_1588)
++ struct timespec tp;
++ clock_gettime(clkid, &tp);
++ now.tv_sec = tp.tv_sec;
++ now.tv_usec = tp.tv_nsec / 1000;
++#else
+ gettimeofday(&now, 0);
++#endif
+ strftime(time_str, MAXTIMESTR, "%F %X", localtime((time_t*)&now.tv_sec));
+ fprintf(destination, "%s.%06d ", time_str, (int)now.tv_usec );
+ fprintf(destination,PTPD_PROGNAME"[%d].%s (%-9s ",
+@@ -1174,13 +1181,33 @@ nanoSleep(TimeInternal * t)
+ return TRUE;
+ }
+
++#if defined(FSL_1588)
++clockid_t get_clockid(int fd)
++{
++#define CLOCKFD 3
++#define FD_TO_CLOCKID(fd) ((~(clockid_t) (fd) << 3) | CLOCKFD)
++ return FD_TO_CLOCKID(fd);
++}
++
++/* When glibc offers the syscall, this will go away. */
++#include <sys/syscall.h>
++int clock_adjtime(clockid_t id, struct timex *tx)
++{
++ return syscall(__NR_clock_adjtime, id, tx);
++}
++#endif
++
+ void
+ getTime(TimeInternal * time)
+ {
+-#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0)
++#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) || defined(FSL_1588)
+
+ struct timespec tp;
++#if defined(FSL_1588)
++ if (clock_gettime(clkid, &tp) < 0) {
++#else
+ if (clock_gettime(CLOCK_REALTIME, &tp) < 0) {
++#endif
+ PERROR("clock_gettime() failed, exiting.");
+ exit(0);
+ }
+@@ -1201,7 +1228,7 @@ void
+ setTime(TimeInternal * time)
+ {
+
+-#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0)
++#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) || defined(FSL_1588)
+
+ struct timespec tp;
+ tp.tv_sec = time->seconds;
+@@ -1215,9 +1242,13 @@ setTime(TimeInternal * time)
+
+ #endif /* _POSIX_TIMERS */
+
+-#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0)
+
++#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) || defined(FSL_1588)
++#if defined(FSL_1588)
++ if (clock_settime(clkid, &tp) < 0) {
++#else
+ if (clock_settime(CLOCK_REALTIME, &tp) < 0) {
++#endif
+ PERROR("Could not set system time");
+ return;
+ }
+@@ -1595,7 +1626,11 @@ adjFreq(double adj)
+ #endif /* HAVE_STRUCT_TIMEX_TICK */
+ DBG2(" adj is %.09f; t freq is %d (float: %.09f)\n", adj, t.freq, dFreq);
+
++#if defined(FSL_1588)
++ return !clock_adjtime(clkid, &t);
++#else
+ return !adjtimex(&t);
++#endif
+ }
+
+
+@@ -1609,7 +1644,11 @@ getAdjFreq(void)
+
+ memset(&t, 0, sizeof(t));
+ t.modes = 0;
++#if defined(FSL_1588)
++ clock_adjtime(clkid, &t);
++#else
+ adjtimex(&t);
++#endif
+
+ dFreq = (t.freq + 0.0) / ((1<<16) / 1000.0);
+
+@@ -1764,6 +1803,7 @@ saveDrift(PtpClock * ptpClock, RunTimeOpts * rtOpts, Boolean quiet)
+ fclose(driftFP);
+ }
+
++#ifndef FSL_1588
+ void
+ setTimexFlags(int flags, Boolean quiet)
+ {
+@@ -1922,6 +1962,7 @@ setKernelUtcOffset(int utc_offset) {
+ }
+ }
+ #endif /* MOD_TAI */
++#endif /* FSL_1588 */
+
+
+ #else
+diff --git a/src/protocol.c b/src/protocol.c
+index c73728b..90554f3 100644
+--- a/src/protocol.c
++++ b/src/protocol.c
+@@ -615,6 +615,7 @@ if(!rtOpts->panicModeNtp || !ptpClock->panicMode)
+ timerStart(STATISTICS_UPDATE_TIMER, rtOpts->statsUpdateInterval, ptpClock->itimer);
+ #endif /* PTPD_STATISTICS */
+
++#ifndef FSL_1588
+ #ifdef HAVE_SYS_TIMEX_H
+
+ /*
+@@ -632,6 +633,7 @@ if(!rtOpts->panicModeNtp || !ptpClock->panicMode)
+ unsetTimexFlags(STA_INS | STA_DEL, TRUE);
+ }
+ #endif /* HAVE_SYS_TIMEX_H */
++#endif /* FSL_1588 */
+ break;
+ default:
+ DBG("to unrecognized state\n");
+@@ -934,6 +936,7 @@ doState(RunTimeOpts *rtOpts, PtpClock *ptpClock)
+ WARNING("Leap second event imminent - pausing "
+ "clock and offset updates\n");
+ ptpClock->leapSecondInProgress = TRUE;
++#ifndef FSL_1588
+ #ifdef HAVE_SYS_TIMEX_H
+ if(!checkTimexFlags(ptpClock->timePropertiesDS.leap61 ?
+ STA_INS : STA_DEL)) {
+@@ -944,6 +947,7 @@ doState(RunTimeOpts *rtOpts, PtpClock *ptpClock)
+ STA_INS : STA_DEL, FALSE);
+ }
+ #endif /* HAVE_SYS_TIMEX_H */
++#endif /* FSL_1588 */
+ /*
+ * start pause timer from now until [pause] after
+ * midnight, plus an extra second if inserting
+@@ -1290,6 +1294,9 @@ handle(RunTimeOpts *rtOpts, PtpClock *ptpClock)
+ int ret;
+ ssize_t length = -1;
+
++#if defined(FSL_1588)
++ hwtstamp_tx_ctl(&ptpClock->netPath, FALSE);/* HWTSTAMP_TX_OFF */
++#endif
+ TimeInternal timeStamp = { 0, 0 };
+ fd_set readfds;
+
+@@ -1437,9 +1444,11 @@ handleAnnounce(MsgHeader *header, ssize_t length,
+ ptpClock->leapSecondInProgress=FALSE;
+ ptpClock->timePropertiesDS.leap59 = FALSE;
+ ptpClock->timePropertiesDS.leap61 = FALSE;
++#ifndef FSL_1588
+ #ifdef HAVE_SYS_TIMEX_H
+ unsetTimexFlags(STA_INS | STA_DEL, TRUE);
+ #endif /* HAVE_SYS_TIMEX_H */
++#endif /* FSL_1588 */
+ }
+ }
+ DBG2("___ Announce: received Announce from current Master, so reset the Announce timer\n");
+diff --git a/src/ptpd.c b/src/ptpd.c
+index 3fad379..471b1e9 100644
+--- a/src/ptpd.c
++++ b/src/ptpd.c
+@@ -78,6 +78,21 @@ main(int argc, char **argv)
+ PtpClock *ptpClock;
+ Integer16 ret;
+
++#if defined(FSL_1588)
++ char device[] = "/dev/ptp0";
++ int fd;
++
++ fd = open(device, O_RDWR);
++ if (fd < 0) {
++ fprintf(stderr, "opening %s: %s\n", device, strerror(errno));
++ return -1;
++ }
++ clkid = get_clockid(fd);
++ if (clkid == -1) {
++ fprintf(stderr, "failed to read clock id\n");
++ return -1;
++ }
++#endif
+ startupInProgress = TRUE;
+
+ /* Initialize run time options with command line arguments */
+diff --git a/src/ptpd.h b/src/ptpd.h
+index 009f51c..6641649 100644
+--- a/src/ptpd.h
++++ b/src/ptpd.h
+@@ -172,6 +172,15 @@
+ #include <linux/rtc.h>
+ #endif /* HAVE_LINUX_RTC_H */
+
++#ifdef FSL_1588
++#ifndef SO_TIMESTAMPING
++#define SO_TIMESTAMPING 37
++#endif
++#ifndef HAVE_SYS_TIMEX_H
++#define HAVE_SYS_TIMEX_H 1
++#endif
++clockid_t clkid;
++#endif
+ /** \name arith.c
+ * -Timing management and arithmetic*/
+ /**\{*/
diff --git a/meta-networking/recipes-daemons/ptpd/ptpd_2.2.0.bb b/meta-networking/recipes-daemons/ptpd/ptpd_2.2.0.bb
deleted file mode 100644
index f2e895d1ca..0000000000
--- a/meta-networking/recipes-daemons/ptpd/ptpd_2.2.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "The PTP daemon (PTPd)"
-DESCRIPTION = "The PTP daemon (PTPd) implements the Precision Time protocol (PTP) as \
-defined by the relevant IEEE 1588 standard. PTP Version 1 implements IEEE-1588-2002, \
-and PTP Version 2 implements IEEE-1588-2008. PTP was developed to provide very precise \
-time coordination of LAN connected computers."
-HOMEPAGE = "http://sourceforge.net/projects/ptpd"
-SECTION = "network"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://../COPYRIGHT;md5=3d8ac2c46c116bce2d2ad838b6cf3491"
-
-PR = "r1"
-
-SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${PV}/ptpd-${PV}.tar.gz \
- file://ld-as-needed.patch;striplevel=2 \
-"
-
-SRC_URI[md5sum] = "c63a3a149d30c710773ccb02df5782a3"
-SRC_URI[sha256sum] = "f2266a22db84318d8b9ce266ea83772c03438c31f4993fa9643fa675a07c26b4"
-
-S = "${WORKDIR}/ptpd-${PV}/src"
-
-EXTRA_OEMAKE = ""
-
-do_install() {
- install -d ${D}${bindir} ${D}${mandir}/man8
- install -m 0755 ptpd2 ${D}${bindir}
- install -m 0644 ptpd2.8 ${D}${mandir}/man8
-}
diff --git a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb
new file mode 100644
index 0000000000..274ea331b4
--- /dev/null
+++ b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb
@@ -0,0 +1,41 @@
+SUMMARY = "The PTP daemon (PTPd)"
+DESCRIPTION = "The PTP daemon (PTPd) implements the Precision Time protocol (PTP) as \
+defined by the relevant IEEE 1588 standard. PTP Version 1 implements IEEE-1588-2002, \
+and PTP Version 2 implements IEEE-1588-2008. PTP was developed to provide very precise \
+time coordination of LAN connected computers."
+HOMEPAGE = "http://sourceforge.net/projects/ptpd"
+SECTION = "network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://README;md5=2452033fe374283f29579898663b1aa8"
+
+DEPENDS = "libpcap"
+
+inherit autotools
+
+# return something like '1.2.3' or '1.2.3/rc1'
+#
+def get_sub(d):
+ parts = d.getVar('PV',True).split('-')
+ try:
+ return parts[0] + '/' + parts[1]
+ except:
+ return parts[0]
+
+SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz \
+ file://ptpd-add-dpaa-etsec-support.patch \
+"
+
+SRC_URI[md5sum] = "1ef2f1f2825080a865bbce0eb61246d4"
+SRC_URI[sha256sum] = "2802aab758649bb222859dfcb62a5d282709ccb4d3f1df3f26f739cc091d0c8d"
+
+S = "${WORKDIR}/ptpd-${PV}"
+
+EXTRA_OEMAKE = ""
+
+EXTRA_OECONF += "--disable-snmp"
+
+do_install() {
+ install -d ${D}${bindir} ${D}${mandir}/man8
+ install -m 0755 ${B}/src/ptpd2 ${D}${bindir}
+ install -m 0644 ${B}/src/ptpd2.8 ${D}${mandir}/man8
+}
diff --git a/meta-networking/recipes-daemons/radvd/files/radvd.default b/meta-networking/recipes-daemons/radvd/files/radvd.default
new file mode 100644
index 0000000000..7cb73c7716
--- /dev/null
+++ b/meta-networking/recipes-daemons/radvd/files/radvd.default
@@ -0,0 +1 @@
+OPTIONS="-u radvd"
diff --git a/meta-networking/recipes-daemons/radvd/files/radvd.service b/meta-networking/recipes-daemons/radvd/files/radvd.service
new file mode 100644
index 0000000000..e60798a6b3
--- /dev/null
+++ b/meta-networking/recipes-daemons/radvd/files/radvd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Router advertisement daemon for IPv6
+After=network.target
+ConditionPathExists=@SYSCONFDIR@/radvd.conf
+
+[Service]
+EnvironmentFile=-@SYSCONFDIR@/default/radvd
+ExecStart=@SBINDIR@/radvd -n $OPTIONS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-daemons/radvd/radvd.inc b/meta-networking/recipes-daemons/radvd/radvd.inc
index 9e194012c0..6b595b07f3 100644
--- a/meta-networking/recipes-daemons/radvd/radvd.inc
+++ b/meta-networking/recipes-daemons/radvd/radvd.inc
@@ -16,9 +16,14 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=73ebbf7182ae996e65e8fadc9a8c45db"
SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz \
file://radvd.init \
- file://volatiles.03_radvd"
+ file://radvd.service \
+ file://volatiles.03_radvd \
+ file://radvd.default"
-inherit autotools update-rc.d useradd
+inherit autotools update-rc.d useradd pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "radvd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
do_install_append () {
install -m 0755 -d ${D}${sysconfdir}/init.d \
@@ -32,9 +37,20 @@ do_install_append () {
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/radvd
install -m 0644 ${WORKDIR}/volatiles.03_radvd ${D}${sysconfdir}/default/volatiles/volatiles.03_radvd
+
+ # Install systemd service files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/radvd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' \
+ -e 's#@SBINDIR@#${sbindir}#g' \
+ -e 's#@BASE_BINDIR@#${base_bindir}#g' ${D}${systemd_unitdir}/system/radvd.service
+
+ # Install default environment file
+ install -m 0644 ${WORKDIR}/radvd.default ${D}${sysconfdir}/default/radvd
+
# Documentation
for i in radvd.conf.example README; do \
- install -m 0644 $i ${D}${docdir}/radvd; \
+ install -m 0644 ${S}/$i ${D}${docdir}/radvd; \
done
}
diff --git a/meta-networking/recipes-daemons/radvd/radvd_1.14.bb b/meta-networking/recipes-daemons/radvd/radvd_1.14.bb
new file mode 100644
index 0000000000..bf572e3bb8
--- /dev/null
+++ b/meta-networking/recipes-daemons/radvd/radvd_1.14.bb
@@ -0,0 +1,6 @@
+
+require radvd.inc
+
+SRC_URI[md5sum] = "a257e05bd6a435ef948d3b407726d56f"
+SRC_URI[sha256sum] = "3b16dd9ef3d6c8b889cdabfdb16c81db8bd61b0f1fc42f6acc52d3cf300c6d07"
+
diff --git a/meta-networking/recipes-daemons/radvd/radvd_1.9.8.bb b/meta-networking/recipes-daemons/radvd/radvd_1.9.8.bb
deleted file mode 100644
index 407eb43d3b..0000000000
--- a/meta-networking/recipes-daemons/radvd/radvd_1.9.8.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-PR = "r0"
-
-require radvd.inc
-
-SRC_URI[md5sum] = "7a96a38252c3964ee18bbc1fdeae25fa"
-SRC_URI[sha256sum] = "645ccf1c9b16e769ff4179813712e580e2c8786d64a888d8afa1e296c057c1c1"
diff --git a/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch b/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch
new file mode 100644
index 0000000000..5f845bb4cd
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch
@@ -0,0 +1,31 @@
+From faa212a4e0aaf442ff58fca50770a8fadc1038e3 Mon Sep 17 00:00:00 2001
+Message-Id: <faa212a4e0aaf442ff58fca50770a8fadc1038e3.1382041123.git.Jim.Somerville@windriver.com>
+From: Jim Somerville <Jim.Somerville@windriver.com>
+Date: Thu, 17 Oct 2013 16:17:48 -0400
+Subject: [PATCH 1/1] Add default entry for cross compile
+
+Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
+---
+ acinclude/krb5.m4 | 6 +++++-
+ 1 files changed, 5 insertions(+), 1 deletions(-)
+
+diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4
+index 5d9ac36..7a072a2 100644
+--- a/acinclude/krb5.m4
++++ b/acinclude/krb5.m4
+@@ -82,7 +82,11 @@ main(void)
+
+ return 0;
+ }
+-]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ])
++]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ],
++[
++ dnl Can't test in cross compiled env - so assume good
++ squid_cv_broken_heimdal_krb5_h=no
++])
+ ],
+ [
+ dnl Can't test in cross compiled env - so assume good
+--
+1.7.4.1
+
diff --git a/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch b/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
new file mode 100644
index 0000000000..2304c5f1dd
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
@@ -0,0 +1,43 @@
+From 0d5b337ff5ef7dd48f970f08bd95d6327917cfd1 Mon Sep 17 00:00:00 2001
+Message-Id: <0d5b337ff5ef7dd48f970f08bd95d6327917cfd1.1382375807.git.Jim.Somerville@windriver.com>
+From: Jim Somerville <Jim.Somerville@windriver.com>
+Date: Mon, 21 Oct 2013 12:50:44 -0400
+Subject: [PATCH 1/1] Fix flawed dynamic -ldb link test in configure
+
+The test uses dbopen, but just ignores the fact
+that this function may not exist in the db version
+used. This leads to the dynamic link test failing
+and the configure script just making assumptions
+about why and setting the need for -ldb incorrectly.
+
+Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
+---
+ configure.ac | 12 ++++++++++--
+ 1 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 962a748..42e6a93 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3051,8 +3051,16 @@ AC_CHECK_DECL(dbopen,,,[
+ #include <db.h>
+ #endif])
+
+-dnl 1.85
+-SQUID_CHECK_DBOPEN_NEEDS_LIBDB
++if test "x$ac_cv_have_decl_dbopen" = "xyes"; then
++ dnl 1.85
++ SQUID_CHECK_DBOPEN_NEEDS_LIBDB
++else
++ # dbopen isn't there. So instead of running a compile/link test that
++ # uses it and is thus guaranteed to fail, we just assume that we will
++ # need to link in the db library, rather than fabricate some other
++ # dynamic compile/link test.
++ ac_cv_dbopen_libdb="yes"
++fi
+ if test "x$ac_cv_dbopen_libdb" = "xyes"; then
+ LIB_DB="-ldb"
+ fi
+--
+1.7.4.1
+
diff --git a/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch b/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch
new file mode 100644
index 0000000000..4ca27444a4
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch
@@ -0,0 +1,29 @@
+From 17e5a28667f667859c48bee25e575a072d39ee1b Mon Sep 17 00:00:00 2001
+Message-Id: <17e5a28667f667859c48bee25e575a072d39ee1b.1381956170.git.Jim.Somerville@windriver.com>
+From: Jim Somerville <Jim.Somerville@windriver.com>
+Date: Wed, 16 Oct 2013 16:41:03 -0400
+Subject: [PATCH 1/1] Set up for cross compilation
+
+Set the host compiler to BUILD_CXX so
+proper cross compilation can occur.
+
+Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
+---
+ configure.ac | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c2d3033..dda9ed9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,6 +19,7 @@ m4_include([acinclude/lib-checks.m4])
+ m4_include([acinclude/ax_cxx_compile_stdcxx_0x.m4])
+ m4_include([acinclude/ax_cxx_0x_types.m4])
+
++HOSTCXX="$BUILD_CXX"
+ PRESET_CFLAGS="$CFLAGS"
+ PRESET_CXXFLAGS="$CXXFLAGS"
+ PRESET_LDFLAGS="$LDFLAGS"
+--
+1.7.4.1
+
diff --git a/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
new file mode 100644
index 0000000000..7b6dcc820d
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
@@ -0,0 +1,64 @@
+Subject: [PATCH] Skip AC_RUN_IFELSE tests
+
+Upstream-Status: Inappropriate [cross compiling specific]
+
+Such tests are not supported in a cross compile
+environment. Choose sane defaults.
+
+Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ acinclude/krb5.m4 | 10 +++++++++-
+ acinclude/lib-checks.m4 | 8 ++++++--
+ 2 files changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4
+index 946bea8..7a072a2 100644
+--- a/acinclude/krb5.m4
++++ b/acinclude/krb5.m4
+@@ -82,7 +82,15 @@ main(void)
+
+ return 0;
+ }
+-]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ])
++]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ],
++[
++ dnl Can't test in cross compiled env - so assume good
++ squid_cv_broken_heimdal_krb5_h=no
++])
++ ],
++ [
++ dnl Can't test in cross compiled env - so assume good
++ squid_cv_broken_heimdal_krb5_h=no
+ ])
+ ])
+ ]) dnl SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H
+diff --git a/acinclude/lib-checks.m4 b/acinclude/lib-checks.m4
+index 2bf98ee..50dba9b 100644
+--- a/acinclude/lib-checks.m4
++++ b/acinclude/lib-checks.m4
+@@ -128,7 +128,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS],[
+ AC_DEFINE(SQUID_SSLGETCERTIFICATE_BUGGY, 1)
+ AC_MSG_RESULT([yes])
+ ],
+- [])
++ [
++ AC_MSG_RESULT([skipped - can't test in cross-compiled env])
++ ])
+
+ AC_MSG_CHECKING(whether the workaround for SSL_get_certificate works)
+ AC_RUN_IFELSE([
+@@ -154,7 +156,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS],[
+ [
+ AC_MSG_RESULT([no])
+ ],
+-[])
++[
++ AC_MSG_RESULT([skipped - can't test in cross-compiled env])
++])
+
+ SQUID_STATE_ROLLBACK(check_SSL_get_certificate)
+ ])
+--
+1.7.1
+
diff --git a/meta-networking/recipes-daemons/squid/files/run-ptest b/meta-networking/recipes-daemons/squid/files/run-ptest
new file mode 100644
index 0000000000..de79a293c5
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/files/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+#
+make -C test-suite -k runtest-TESTS
diff --git a/meta-networking/recipes-daemons/squid/files/squid-change-ksh-reference-in-krb-ldap-helper-to-sh.patch b/meta-networking/recipes-daemons/squid/files/squid-change-ksh-reference-in-krb-ldap-helper-to-sh.patch
new file mode 100644
index 0000000000..8e03860b3c
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/files/squid-change-ksh-reference-in-krb-ldap-helper-to-sh.patch
@@ -0,0 +1,39 @@
+squid: change ksh reference in krb ldap helper to sh
+
+Very simple cert_tool script with no ksh specifics.
+Change it to use sh so a package dependency doesn't
+get created to ksh.
+
+Upstream-Status: Pending
+
+Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
+Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
+---
+ helpers/external_acl/kerberos_ldap_group/cert_tool | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/helpers/external_acl/kerberos_ldap_group/cert_tool b/helpers/external_acl/kerberos_ldap_group/cert_tool
+index 9f14959..8c4ea11 100644
+--- a/helpers/external_acl/kerberos_ldap_group/cert_tool
++++ b/helpers/external_acl/kerberos_ldap_group/cert_tool
+@@ -1,4 +1,4 @@
+-#!/bin/ksh
++#!/bin/sh
+ #
+ # -----------------------------------------------------------------------------
+ #
+@@ -64,9 +64,9 @@ QUIT
+ # Create database for Sun ldap and pem file for Openldap
+ #
+ rm ${server}_[0-9]*.pem 2>/dev/null
+-let i=0
++i=0
+ ls ${server}_[0-9]*.cert | while read file; do
+- let i=i+1
++ i=`expr $i + 1`
+ cat $file >> ${server}_$i.pem
+ CA=`openssl x509 -noout -text -in ${server}_$i.pem | grep -i "CA:.*true"`
+ if [ -n "$CA" ]; then
+--
+1.9.1
+
diff --git a/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch b/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch
new file mode 100644
index 0000000000..9e2ceab880
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch
@@ -0,0 +1,31 @@
+From 2192fdbc90b0ff2d5408e8763df200620870deea Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Mon, 13 Oct 2014 01:32:37 -0700
+Subject: [PATCH] squid: use serial-tests config needed by ptest
+
+ptest needs buildtest-TESTS and runtest-TESTS targets.
+serial-tests is required to generate those targets.
+
+Upstream-Status: Inappropriate [default automake behavior incompatible with ptest]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6f7171f..ab9b93e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,7 @@ AC_PREREQ(2.61)
+ AC_CONFIG_HEADERS([include/autoconf.h])
+ AC_CONFIG_AUX_DIR(cfgaux)
+ AC_CONFIG_SRCDIR([src/main.cc])
+-AM_INIT_AUTOMAKE([tar-ustar nostdinc])
++AM_INIT_AUTOMAKE([tar-ustar nostdinc serial-tests])
+ AC_REVISION($Revision$)dnl
+ AC_PREFIX_DEFAULT(/usr/local/squid)
+ AM_MAINTAINER_MODE
+--
+1.7.1
+
diff --git a/meta-networking/recipes-daemons/squid/files/volatiles.03_squid b/meta-networking/recipes-daemons/squid/files/volatiles.03_squid
new file mode 100644
index 0000000000..b96865d731
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/files/volatiles.03_squid
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d squid squid 0755 /var/run/squid none
diff --git a/meta-networking/recipes-daemons/squid/squid_3.4.7.bb b/meta-networking/recipes-daemons/squid/squid_3.4.7.bb
new file mode 100644
index 0000000000..c5f616dd41
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/squid_3.4.7.bb
@@ -0,0 +1,67 @@
+SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux"
+DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \
+Squid offers a rich access control, authorization and logging environment to \
+develop web proxy and content serving applications. \
+Squid offers a rich set of traffic optimization options, most of which are \
+enabled by default for simpler installation and high performance. \
+"
+HOMEPAGE = "http://www.squid-cache.org"
+SECTION = "network"
+LICENSE = "GPLv2+"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}"
+MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${MIN_VER}/${BPN}-${PV}.tar.bz2 \
+ file://Set-up-for-cross-compilation.patch \
+ file://Skip-AC_RUN_IFELSE-tests.patch \
+ file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \
+ file://squid-change-ksh-reference-in-krb-ldap-helper-to-sh.patch \
+ file://squid-use-serial-tests-config-needed-by-ptest.patch \
+ file://run-ptest \
+ file://volatiles.03_squid \
+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \
+ file://COPYRIGHT;md5=2900f50789c498be8e9f1eb23b55cbe9 \
+ "
+SRC_URI[md5sum] = "9951034b10f7ee0f45a95cfae61c57c2"
+SRC_URI[sha256sum] = "7b423f3d3495a317503ca559ea535f80445fd7c4e3c3e268cb7a8c97c61af2b6"
+
+DEPENDS = "libtool krb5 openldap db cyrus-sasl"
+
+inherit autotools useradd ptest
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack"
+EXTRA_OECONF += "--with-default-user=squid"
+
+TESTDIR = "test-suite"
+do_compile_ptest() {
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+ cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
+
+ # do NOT need to rebuild Makefile itself
+ sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/volatiles.03_squid
+ rmdir "${D}${localstatedir}/run/${BPN}"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run"
+}
+
+FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons"
+FILES_${PN}-dbg += "/usr/src/debug"
+FILES_${PN}-doc += "${datadir}/*.txt"
+
+RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN}-ptest += "make"
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch b/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch
new file mode 100644
index 0000000000..452aa05f81
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch
@@ -0,0 +1,39 @@
+[PATCH] fix the empty file writting
+
+Upstream-Status: pending
+
+With the feature that checking the disk filled up, the return
+value of function write_behind was checked and used to detect
+the disk status. While for empty file, without data being
+written, this function will return -1 thus the disk filled up
+error was miss-raised.
+
+make write_behind to return 0 if written file is empty, to fix
+the this bug.
+
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+---
+ common/tftpsubs.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/common/tftpsubs.c b/common/tftpsubs.c
+index b4ea3f2..9f6cafc 100644
+--- a/common/tftpsubs.c
++++ b/common/tftpsubs.c
+@@ -198,9 +198,12 @@ int write_behind(FILE * file, int convert)
+ nextone = !nextone; /* incr for next time */
+ buf = dp->th_data;
+
+- if (count <= 0)
++ if (count < 0)
+ return -1; /* nak logic? */
+
++ if (count == 0)
++ return 0;
++
+ if (convert == 0)
+ return write(fileno(file), buf, count);
+
+--
+1.9.1
+
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch
new file mode 100644
index 0000000000..3e220ec385
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch
@@ -0,0 +1,38 @@
+From 6ed1eb8829dee351b54e183bc42c007cb306aaa5 Mon Sep 17 00:00:00 2001
+From: Zhang Xiao <xiao.zhang@windriver.com>
+Date: Wed, 11 Jun 2014 14:01:16 +0800
+Subject: [PATCH] tftp-hpa: bug fix on separated CR and LF
+
+In ascii mode, if the CR and LF was separated into different transfer
+blocks, LF will be just dropped instead of replacing the previous CR.
+Add a checking on the first character to fix it.
+
+Upstream-Status: pending
+
+Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
+---
+ common/tftpsubs.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/common/tftpsubs.c b/common/tftpsubs.c
+index b4d4ffe..b4ea3f2 100644
+--- a/common/tftpsubs.c
++++ b/common/tftpsubs.c
+@@ -207,6 +207,14 @@ int write_behind(FILE * file, int convert)
+ p = buf;
+ ct = count;
+ count = 0;
++
++ /* Check the first character together with prevchar */
++ c = *p;
++ if ((prevchar == '\r') && (c == '\n')) {
++ lseek(fileno(file), -1, SEEK_CUR);
++ count++;
++ }
++
+ while (ct--) { /* loop over the buffer */
+ c = *p++; /* pick up a character */
+ if (prevchar == '\r') { /* if prev char was cr */
+--
+1.8.5.2.233.g932f7e4
+
diff --git a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
index 6978e0669c..3f17fd6fc2 100644
--- a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
+++ b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
@@ -24,12 +24,16 @@ SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.t
file://default \
file://init \
file://add-error-check-for-disk-filled-up.patch \
+ file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \
+ file://fix-writing-emtpy-file.patch \
"
SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21"
SRC_URI[sha256sum] = "0a9f88d4c1c02687b4853b02ab5dd8779d4de4ffdb9b2e5c9332841304d1a269"
-inherit autotools update-rc.d update-alternatives
+inherit autotools-brokensep update-rc.d update-alternatives
+
+export AR = "${HOST_PREFIX}ar cq"
EXTRA_OECONF += "--disable-option-checking"
diff --git a/meta-networking/recipes-daemons/vblade/vblade_20.bb b/meta-networking/recipes-daemons/vblade/vblade_20.bb
index 5b7c167643..a2ebb5a486 100644
--- a/meta-networking/recipes-daemons/vblade/vblade_20.bb
+++ b/meta-networking/recipes-daemons/vblade/vblade_20.bb
@@ -10,7 +10,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BPN}-${PV}.tgz \
SRC_URI[md5sum] = "3c80e4a6bc7d66ae0c235b88cb44bd59"
SRC_URI[sha256sum] = "c8fe2fc4f2fba8e07e5cfdf17335982584eef2cd5c78bf8b1db93f2b56e7121d"
-inherit autotools
+inherit autotools-brokensep
do_install() {
install -D -m 0755 ${S}/vblade ${D}/${sbindir}/vblade
diff --git a/meta-networking/recipes-daemons/vsftpd/files/vsftpd.service b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.service
new file mode 100644
index 0000000000..e271020267
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Vsftpd ftp daemon
+After=network.target
+
+[Service]
+ExecStart=@SBINDIR@/vsftpd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-destdir.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-destdir.patch
index 1980d09fd4..1980d09fd4 100644
--- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-destdir.patch
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-destdir.patch
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-libs.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-libs.patch
index 9a10f722f4..9a10f722f4 100644
--- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-libs.patch
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-libs.patch
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-strip.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-strip.patch
index fd3160037f..fd3160037f 100644
--- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-strip.patch
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-strip.patch
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam-with-tcp_wrappers.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam-with-tcp_wrappers.patch
index fdcf3a02b6..fdcf3a02b6 100644
--- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam-with-tcp_wrappers.patch
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam-with-tcp_wrappers.patch
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam.patch
index cf0d68e272..cf0d68e272 100644
--- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam.patch
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam.patch
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/vsftpd-tcp_wrappers-support.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/vsftpd-tcp_wrappers-support.patch
index 69745b3a10..69745b3a10 100644
--- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/vsftpd-tcp_wrappers-support.patch
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/vsftpd-tcp_wrappers-support.patch
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.2.bb
index 0698a63258..e4d65eea6f 100644
--- a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.2.bb
@@ -16,13 +16,15 @@ SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \
file://vsftpd.ftpusers \
file://change-secure_chroot_dir.patch \
file://volatiles.99_vsftpd \
+ file://vsftpd.service \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271 \
file://COPYRIGHT;md5=04251b2eb0f298dae376d92454f6f72e \
file://LICENSE;md5=654df2042d44b8cac8a5654fc5be63eb"
-SRC_URI[md5sum] = "ad9fa952558c2c5b0426ccaccff0f972"
-SRC_URI[sha256sum] = "ef70205dcd0c7f03b008b9578fb44c0cbe31e66daab8cfafb9904747c17fc2a8"
+SRC_URI[md5sum] = "8b00c749719089401315bd3c44dddbb2"
+SRC_URI[sha256sum] = "be46f0e2c5528fe021fafc8dab1ecfea0c1f183063a06977f8537fcd0b195e56"
+
PACKAGECONFIG ??= "tcp-wrappers"
PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers"
@@ -34,7 +36,7 @@ PAMLIB = "${@base_contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -l
NOPAM_SRC ="${@base_contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}"
SRC_URI += "${@base_contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)}"
-inherit update-rc.d useradd
+inherit update-rc.d useradd systemd
CONFFILES_${PN} = "${sysconfdir}/vsftpd.conf"
LDFLAGS_append =" -lcrypt -lcap"
@@ -70,7 +72,16 @@ do_install() {
sed -i "s:/lib/security:${base_libdir}/security:" ${D}${sysconfdir}/pam.d/vsftpd
sed -i "s:ftpusers:vsftpd.ftpusers:" ${D}${sysconfdir}/pam.d/vsftpd
fi
- install -d ${D}${localstatedir}/run/vsftpd/empty
+ if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /var/run/vsftpd/empty 0755 root root -" \
+ > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+ fi
+
+ # Install systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/vsftpd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/vsftpd.service
}
INITSCRIPT_PACKAGES = "${PN}"
@@ -82,3 +93,14 @@ USERADD_PARAM_${PN} = "--system --home-dir /var/lib/ftp --no-create-home -g ftp
--shell /bin/false ftp "
GROUPADD_PARAM_${PN} = "-r ftp"
+SYSTEMD_SERVICE_${PN} = "vsftpd.service"
+
+pkg_postinst_${PN}() {
+ if [ -z "$D" ]; then
+ if type systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+ fi
+}
diff --git a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.0.bb b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.0.bb
index 6a9c8a61d3..0cc1398408 100644
--- a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.0.bb
+++ b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.0.bb
@@ -13,7 +13,7 @@ SRC_URI = " \
SRC_URI[tar.md5sum] = "ee737c774e01349f75e935228a2d851b"
SRC_URI[tar.sha256sum] = "036b032a5c4d180aad686df21399d74506b9b3d3000794eb13ac313482e24896"
-inherit autotools update-rc.d
+inherit autotools-brokensep update-rc.d pkgconfig
INITSCRIPT_NAME = "conntrackd"
diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common
new file mode 100644
index 0000000000..640025dba6
--- /dev/null
+++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common
@@ -0,0 +1,163 @@
+#!/bin/sh
+
+[ -x /sbin/ebtables ] || exit 1
+
+EBTABLES_DUMPFILE_STEM=/etc/ebtables/dump
+
+RETVAL=0
+prog="ebtables"
+desc="Ethernet bridge filtering"
+umask 0077
+
+#default configuration
+EBTABLES_MODULES_UNLOAD="yes"
+EBTABLES_LOAD_ON_START="no"
+EBTABLES_SAVE_ON_STOP="no"
+EBTABLES_SAVE_ON_RESTART="no"
+EBTABLES_SAVE_COUNTER="no"
+EBTABLES_BACKUP_SUFFIX="~"
+
+config=/etc/default/$prog
+[ -f "$config" ] && . "$config"
+
+function get_supported_tables() {
+ EBTABLES_SUPPORTED_TABLES=
+ /sbin/ebtables -t filter -L 2>&1 1>/dev/null | grep -q permission
+ if [ $? -eq 0 ]; then
+ echo "Error: insufficient privileges to access the ebtables rulesets."
+ exit 1
+ fi
+ for table in filter nat broute; do
+ /sbin/ebtables -t $table -L &> /dev/null
+ if [ $? -eq 0 ]; then
+ EBTABLES_SUPPORTED_TABLES="${EBTABLES_SUPPORTED_TABLES} $table"
+ fi
+ done
+}
+
+function load() {
+ RETVAL=0
+ get_supported_tables
+ echo -n "Restoring ebtables rulesets: "
+ for table in $EBTABLES_SUPPORTED_TABLES; do
+ echo -n "$table "
+ if [ -s ${EBTABLES_DUMPFILE_STEM}.$table ]; then
+ /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-commit
+ RET=$?
+ if [ $RET -ne 0 ]; then
+ echo -n "(failed) "
+ RETVAL=$RET
+ fi
+ else
+ echo -n "(no saved state) "
+ fi
+ done
+ if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then
+ echo -n "no kernel support. "
+ else
+ echo -n "done. "
+ fi
+ if [ $RETVAL -eq 0 ]; then
+ echo "ok"
+ else
+ echo "fail"
+ fi
+}
+
+function clear() {
+ RETVAL=0
+ get_supported_tables
+ echo -n "Clearing ebtables rulesets: "
+ for table in $EBTABLES_SUPPORTED_TABLES; do
+ echo -n "$table "
+ /sbin/ebtables -t $table --init-table
+ done
+
+ if [ "$EBTABLES_MODULES_UNLOAD" = "yes" ]; then
+ for mod in $(grep -E '^(ebt|ebtable)_' /proc/modules | cut -d' ' -f1) ebtables; do
+ rmmod $mod 2> /dev/null
+ done
+ fi
+ if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then
+ echo -n "no kernel support. "
+ else
+ echo -n "done. "
+ fi
+ if [ $RETVAL -eq 0 ]; then
+ echo "ok"
+ else
+ echo "fail"
+ fi
+}
+
+function save() {
+ RETVAL=0
+ get_supported_tables
+ echo -n "Saving ebtables rulesets: "
+ for table in $EBTABLES_SUPPORTED_TABLES; do
+ echo -n "$table "
+ [ -n "$EBTABLES_BACKUP_SUFFIX" ] && [ -s ${EBTABLES_DUMPFILE_STEM}.$table ] && \
+ mv ${EBTABLES_DUMPFILE_STEM}.$table ${EBTABLES_DUMPFILE_STEM}.$table$EBTABLES_BACKUP_SUFFIX
+ /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-save
+ RET=$?
+ if [ $RET -ne 0 ]; then
+ echo -n "(failed) "
+ RETVAL=$RET
+ else
+ if [ "$EBTABLES_SAVE_COUNTER" = "no" ]; then
+ /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table -Z
+ fi
+ fi
+ done
+ if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then
+ echo -n "no kernel support. "
+ else
+ echo -n "done. "
+ fi
+ if [ $RETVAL -eq 0 ]; then
+ echo "ok"
+ else
+ echo "fail"
+ fi
+}
+
+case "$1" in
+ start)
+ [ "$EBTABLES_LOAD_ON_START" = "yes" ] && load
+ ;;
+ stop)
+ [ "$EBTABLES_SAVE_ON_STOP" = "yes" ] && save
+ clear
+ ;;
+ restart|reload|force-reload)
+ [ "$EBTABLES_SAVE_ON_RESTART" = "yes" ] && save
+ clear
+ [ "$EBTABLES_LOAD_ON_START" = "yes" ] && load
+ ;;
+ load)
+ load
+ ;;
+ save)
+ save
+ ;;
+ status)
+ get_supported_tables
+ if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then
+ echo "No kernel support for ebtables."
+ RETVAL=1
+ else
+ echo -n "Ebtables support available, number of installed rules: "
+ for table in $EBTABLES_SUPPORTED_TABLES; do
+ COUNT=$(( $(/sbin/ebtables -t $table -L | sed -e "/^Bridge chain/! d" -e "s/^.*entries: //" -e "s/,.*$/ +/") 0 ))
+ echo -n "$table($COUNT) "
+ done
+ echo ok
+ RETVAL=0
+ fi
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|force-reload|load|save|status}" >&2
+ RETVAL=1
+esac
+
+exit $RETVAL
diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.init b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.init
index 0044e9825e..c9a77a29e8 100755
--- a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.init
+++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.init
@@ -23,164 +23,4 @@
# Description: Saves and restores the state of the ebtables rulesets.
### END INIT INFO
-[ -x /sbin/ebtables ] || exit 1
-
-EBTABLES_DUMPFILE_STEM=/etc/ebtables/dump
-
-RETVAL=0
-prog="ebtables"
-desc="Ethernet bridge filtering"
-umask 0077
-
-#default configuration
-EBTABLES_MODULES_UNLOAD="yes"
-EBTABLES_LOAD_ON_START="no"
-EBTABLES_SAVE_ON_STOP="no"
-EBTABLES_SAVE_ON_RESTART="no"
-EBTABLES_SAVE_COUNTER="no"
-EBTABLES_BACKUP_SUFFIX="~"
-
-config=/etc/default/$prog
-[ -f "$config" ] && . "$config"
-
-function get_supported_tables() {
- EBTABLES_SUPPORTED_TABLES=
- /sbin/ebtables -t filter -L 2>&1 1>/dev/null | grep -q permission
- if [ $? -eq 0 ]; then
- echo "Error: insufficient privileges to access the ebtables rulesets."
- exit 1
- fi
- for table in filter nat broute; do
- /sbin/ebtables -t $table -L &> /dev/null
- if [ $? -eq 0 ]; then
- EBTABLES_SUPPORTED_TABLES="${EBTABLES_SUPPORTED_TABLES} $table"
- fi
- done
-}
-
-function load() {
- RETVAL=0
- get_supported_tables
- echo -n "Restoring ebtables rulesets: "
- for table in $EBTABLES_SUPPORTED_TABLES; do
- echo -n "$table "
- if [ -s ${EBTABLES_DUMPFILE_STEM}.$table ]; then
- /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-commit
- RET=$?
- if [ $RET -ne 0 ]; then
- echo -n "(failed) "
- RETVAL=$RET
- fi
- else
- echo -n "(no saved state) "
- fi
- done
- if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then
- echo -n "no kernel support. "
- else
- echo -n "done. "
- fi
- if [ $RETVAL -eq 0 ]; then
- echo "ok"
- else
- echo "fail"
- fi
-}
-
-function clear() {
- RETVAL=0
- get_supported_tables
- echo -n "Clearing ebtables rulesets: "
- for table in $EBTABLES_SUPPORTED_TABLES; do
- echo -n "$table "
- /sbin/ebtables -t $table --init-table
- done
-
- if [ "$EBTABLES_MODULES_UNLOAD" = "yes" ]; then
- for mod in $(grep -E '^(ebt|ebtable)_' /proc/modules | cut -d' ' -f1) ebtables; do
- rmmod $mod 2> /dev/null
- done
- fi
- if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then
- echo -n "no kernel support. "
- else
- echo -n "done. "
- fi
- if [ $RETVAL -eq 0 ]; then
- echo "ok"
- else
- echo "fail"
- fi
-}
-
-function save() {
- RETVAL=0
- get_supported_tables
- echo -n "Saving ebtables rulesets: "
- for table in $EBTABLES_SUPPORTED_TABLES; do
- echo -n "$table "
- [ -n "$EBTABLES_BACKUP_SUFFIX" ] && [ -s ${EBTABLES_DUMPFILE_STEM}.$table ] && \
- mv ${EBTABLES_DUMPFILE_STEM}.$table ${EBTABLES_DUMPFILE_STEM}.$table$EBTABLES_BACKUP_SUFFIX
- /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-save
- RET=$?
- if [ $RET -ne 0 ]; then
- echo -n "(failed) "
- RETVAL=$RET
- else
- if [ "$EBTABLES_SAVE_COUNTER" = "no" ]; then
- /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table -Z
- fi
- fi
- done
- if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then
- echo -n "no kernel support. "
- else
- echo -n "done. "
- fi
- if [ $RETVAL -eq 0 ]; then
- echo "ok"
- else
- echo "fail"
- fi
-}
-
-case "$1" in
- start)
- [ "$EBTABLES_LOAD_ON_START" = "yes" ] && load
- ;;
- stop)
- [ "$EBTABLES_SAVE_ON_STOP" = "yes" ] && save
- clear
- ;;
- restart|reload|force-reload)
- [ "$EBTABLES_SAVE_ON_RESTART" = "yes" ] && save
- clear
- [ "$EBTABLES_LOAD_ON_START" = "yes" ] && load
- ;;
- load)
- load
- ;;
- save)
- save
- ;;
- status)
- get_supported_tables
- if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then
- echo "No kernel support for ebtables."
- RETVAL=1
- else
- echo -n "Ebtables support available, number of installed rules: "
- for table in $EBTABLES_SUPPORTED_TABLES; do
- COUNT=$(( $(/sbin/ebtables -t $table -L | sed -e "/^Bridge chain/! d" -e "s/^.*entries: //" -e "s/,.*$/ +/") 0 ))
- echo -n "$table($COUNT) "
- done
- echo ok
- RETVAL=0
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|reload|force-reload|load|save|status}" >&2
- RETVAL=1
-esac
-
-exit $RETVAL
+/usr/sbin/ebtables.common $1
diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.service b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.service
new file mode 100644
index 0000000000..3abd1fe3e2
--- /dev/null
+++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Ethernet Bridge Filtering Tables
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=@SBINDIR@/ebtables.common start
+ExecStop=@SBINDIR@/ebtables.common stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb b/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
index 9222b2d447..32cfc752b4 100644
--- a/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
+++ b/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
@@ -15,6 +15,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/ebtables/ebtables-v${PV}.tar.gz \
file://installnonroot.patch \
file://01debian_defaultconfig.patch \
file://ebtables.init \
+ file://ebtables.common \
+ file://ebtables.service \
file://no-as-needed.patch \
"
@@ -23,7 +25,7 @@ SRC_URI[sha256sum] = "dc6f7b484f207dc712bfca81645f45120cb6aee3380e77a1771e9c34a9
S = "${WORKDIR}/ebtables-v${PV}"
-inherit update-rc.d
+inherit update-rc.d systemd
EXTRA_OEMAKE = " \
BINDIR=${base_sbindir} \
@@ -39,21 +41,29 @@ EXTRA_OEMAKE = " \
"
do_install () {
+ install -d ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/ebtables.common ${D}${sbindir}/ebtables.common
+ # Fix hardcoded paths in scripts
+ sed -i 's!/sbin/!${base_sbindir}/!g' ${D}${sbindir}/ebtables.common
+ sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sbindir}/ebtables.common
+
install -d ${D}${sysconfdir}/init.d
install -d ${D}${sysconfdir}/default
install -d ${D}${sysconfdir}/ebtables
oe_runmake DESTDIR='${D}' install
install -m 0755 ${WORKDIR}/ebtables.init ${D}/${sysconfdir}/init.d/ebtables
mv ${D}${sysconfdir}/default/ebtables-config ${D}${sysconfdir}/default/ebtables
-
- # Fix hardcoded paths in scripts
- sed -i 's!/sbin/!${base_sbindir}/!g' ${D}/${sysconfdir}/init.d/ebtables
- sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/ebtables
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ebtables
# The script ebtables-save refernces perl in exec_prefix, so
# move it to sbindir to avoid QA issue
install -d ${D}/${sbindir}
mv ${D}/${base_sbindir}/ebtables-save ${D}/${sbindir}
+
+ # Install systemd service files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/ebtables.service ${D}${systemd_unitdir}/system
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/ebtables.service
}
CONFFILES_${PN} += "${sysconfdir}/default/ebtables"
@@ -61,5 +71,7 @@ CONFFILES_${PN} += "${sysconfdir}/default/ebtables"
INITSCRIPT_NAME = "ebtables"
INITSCRIPT_PARAMS = "start 41 S . stop 41 6 ."
+SYSTEMD_SERVICE_${PN} = "ebtables.service"
+
FILES_${PN}-dbg += "${base_libdir}/ebtables/.debug"
FILES_${PN} += "${base_libdir}/ebtables/*.so"
diff --git a/meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch b/meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch
new file mode 100644
index 0000000000..68e4414704
--- /dev/null
+++ b/meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch
@@ -0,0 +1,58 @@
+Subject: [PATCH] Fix NULL pointer dereference in webadmin.
+
+Upstream-Status: Backport
+
+commit 2bd410ee5570cea127233f1133ea22f25174eb28 upstream
+
+Triggerable by any non-admin, if webadmin is loaded.
+
+The only affected version is 1.0
+
+Thanks to ChauffeR (Simone Esposito) for reporting this.
+---
+ modules/webadmin.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp
+index b793c02..816f217 100644
+--- a/modules/webadmin.cpp
++++ b/modules/webadmin.cpp
+@@ -419,7 +419,7 @@ public:
+ CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock);
+
+ // Admin||Self Check
+- if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) {
++ if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) {
+ return false;
+ }
+
+@@ -448,7 +448,7 @@ public:
+ CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock);
+
+ // Admin||Self Check
+- if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) {
++ if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) {
+ return false;
+ }
+
+@@ -472,7 +472,7 @@ public:
+ CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock);
+
+ // Admin||Self Check
+- if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) {
++ if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) {
+ return false;
+ }
+
+@@ -486,7 +486,7 @@ public:
+ CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock);
+
+ // Admin||Self Check
+- if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) {
++ if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) {
+ return false;
+ }
+
+--
+1.8.5.2.233.g932f7e4
+
diff --git a/meta-networking/recipes-irc/znc/znc_git.bb b/meta-networking/recipes-irc/znc/znc_git.bb
index b648cd2247..77db25b330 100644
--- a/meta-networking/recipes-irc/znc/znc_git.bb
+++ b/meta-networking/recipes-irc/znc/znc_git.bb
@@ -7,11 +7,13 @@ DEPENDS = "openssl"
PV = "1.0+git"
SRCREV = "ef59c23068547c132cb678092fba9a21317fd5f2"
-SRC_URI = "git://github.com/znc/znc.git"
+SRC_URI = "git://github.com/znc/znc.git \
+ file://0001-Fix-NULL-pointer-dereference-in-webadmin.patch \
+ "
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools-brokensep pkgconfig
# ZNC has a custom autogen.sh that states that this command is needed *and* expected to fail
do_configure_prepend() {
diff --git a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch
new file mode 100644
index 0000000000..5a47fd9175
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch
@@ -0,0 +1,28 @@
+This adds ARG_MAX define to be _SC_ARG_MAX
+
+Upstream-Status: Inappropriate.
+Most distros have their own verion for this fix.
+
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: netkit-ftp-0.17/ftp/glob.c
+===================================================================
+--- netkit-ftp-0.17.orig/ftp/glob.c
++++ netkit-ftp-0.17/ftp/glob.c
+@@ -50,6 +50,7 @@ char glob_rcsid[] =
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+
+ #include "ftp_var.h" /* for protos only */
+ #include "glob.h"
+@@ -57,6 +58,9 @@ char glob_rcsid[] =
+ #define QUOTE 0200
+ #define TRIM 0177
+ #define eq(a,b) (strcmp(a, b)==0)
++#ifndef ARG_MAX
++#define ARG_MAX (sysconf(_SC_ARG_MAX))
++#endif
+ #define GAVSIZ (ARG_MAX/6)
+ #define isdir(d) ((d.st_mode & S_IFMT) == S_IFDIR)
diff --git a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
new file mode 100644
index 0000000000..8bac049768
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "netkit-ft includes the ftp client."
+SECTION = "networking"
+HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
+LICENSE = "BSD"
+
+LIC_FILES_CHKSUM = "file://ftp/ftp.c;beginline=2;endline=3;md5=2d40a75a50d83b8f6317b3f53db72bfa"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}.orig.tar.gz;name=archive \
+ ${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}-31.debian.tar.xz;name=patch31 \
+ file://Add_ARG_MAX_define.patch \
+"
+
+SRC_URI[archive.md5sum] = "94441610c9b86ef45c4c6ec609444060"
+SRC_URI[archive.sha256sum] = "61c913299b81a4671ff089aac821329f7db9bc111aa812993dd585798b700349"
+SRC_URI[patch31.md5sum] = "93d71e28ce70df69e080c7f90da63cac"
+SRC_URI[patch31.sha256sum] = "4edd46a32d70daa7ba00f0ebf0118dc5d17dff23d6e46aa21a2722be2e22d1c1"
+
+inherit autotools-brokensep
+
+do_configure () {
+ ./configure --prefix=${prefix}
+ echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
+}
+
+BINMODE = "0755"
+MANMODE = "0644"
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${mandir}/man1
+ install -d ${D}${mandir}/man5
+
+ install -m${BINMODE} ${S}/ftp/ftp ${D}${bindir}
+ ln -sf ${D}${bindir}/ftp ${D}${bindir}/pftp
+ install -m${MANMODE} ${S}/ftp/ftp.1 ${D}${mandir}/man1
+ ln -sf ftp.1 ${D}${mandir}/man1/pftp.1
+ install -m${MANMODE} ${S}/ftp/netrc.5 ${D}${mandir}/man5
+}
+
+PACKAGES = "${PN} ${PN}-doc ${BPN}-dbg"
+FILES_${PN} = "${bindir}/*"
+FILES_${PN}-doc = "${mandir}"
+FILES_${PN}-dbg = "${prefix}/src/debug \
+ ${bindir}/.debug"
+
+RDEPENDS_${PN} = "readline"
diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch
new file mode 100644
index 0000000000..d54cea9fdc
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch
@@ -0,0 +1,39 @@
+This fixes an issue when building with gcc 4.x
+
+https://github.com/openembedded/openembedded/tree/master/recipes/netkit-rpc/netkit-rpc
+
+Upstream-status: Backported
+
+Signed-off-By: Armin Kuster <akuster808@gmail.com>
+
+--- netkit-rpc-0.17/rpcgen/rpc_cout.c~gcc4
++++ netkit-rpc-0.17/rpcgen/rpc_cout.c
+@@ -101,8 +101,6 @@
+ case DEF_TYPEDEF:
+ emit_typedef(def);
+ break;
+- default:
+- /* can't happen */
+ }
+ print_trailer();
+ }
+@@ -664,9 +662,6 @@
+ decl->name,decl->array_max);
+ emit_single_in_line(decl,flag,REL_VECTOR);
+ f_print(fout,"\t\t }\n\t\t };\n");
+-
+- default:
+- /* ?... do nothing I guess */
+ }
+ }
+
+--- netkit-rpc-0.17/rpcgen/rpc_hout.c~gcc4
++++ netkit-rpc-0.17/rpcgen/rpc_hout.c
+@@ -106,8 +106,6 @@
+ f_print(fout, "\n");
+ pprogramdef(def);
+ break;
+- default:
+- /* ?... shouldn't happen I guess */
+ }
+ }
diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb
new file mode 100644
index 0000000000..4d8d95ac3f
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "netkit-rpc includes rpcinfo and rpcgen."
+HOMEPAGE = "http://ftp.linux.org.uk/pub/linux/Networking/netkit"
+SECTION = "networking"
+LICENSE = "SPL-1.0"
+LIC_FILES_CHKSUM = "file://rpcinfo/rpcinfo.c;beginline=2;endline=3;md5=3e6339e3ce266e1122c5ba293e04bc89"
+
+SRC_URI = "http://sources.openembedded.org/${BPN}-${PV}.tar.gz \
+ file://gcc4.patch"
+SRC_URI[md5sum] = "67212720482ea1aea9182a98653a9642"
+SRC_URI[sha256sum] = "421d63b414162237a72867061f1bd3e3752a0d962cd5d30b5e933ddad8a14d3b"
+
+do_configure () {
+ ./configure --prefix=${prefix}
+ echo "LDFLAGS=${LDFLAGS}" > MCONFIG
+ echo "CC=${CC}" >> MCONFIG
+ echo "LD=${LD}" >> MCONFIG
+ echo "CFLAGS=${CFLAGS}" >> MCONFIG
+ echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
+}
+
+do_compile () {
+ oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}'
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${mandir}/man1
+ install -d ${D}${mandir}/man8
+
+ # remove strip flag
+ sed -i 's/install -s/install/' rpcinfo/Makefile
+ sed -i 's/install -s/install/' rpcgen/Makefile
+
+ oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
+ 'DAEMONMODE=0755' 'MANMODE=0644' \
+ 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
+ 'MANDIR=${mandir}' install
+}
diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch
new file mode 100644
index 0000000000..fdd535be1b
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch
@@ -0,0 +1,39 @@
+netkit-rsh:
+Allow to build with no PAM enabled.
+
+Upstream-Status: Inappropriate [ no upstream maintaner ]
+
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: netkit-rsh-0.17/rshd/rshd.c
+===================================================================
+--- netkit-rsh-0.17.orig/rshd/rshd.c
++++ netkit-rsh-0.17/rshd/rshd.c
+@@ -110,9 +110,11 @@ extern char **environ;
+ static void error(const char *fmt, ...);
+ static void doit(struct sockaddr *fromp, socklen_t fromlen);
+ static char *getstr(char *, size_t, const char *);
++#ifdef USE_PAM
+ static int err_conv(
+ int, const struct pam_message **, struct pam_response **, void *
+ );
++#endif /* USE_PAM */
+
+ extern int _check_rhosts_file;
+
+@@ -256,6 +258,7 @@ static void stderr_parent(int sock, int
+ }
+
+
++#ifdef USE_PAM
+ static int err_conv(
+ int num_msg, const struct pam_message **msg,
+ struct pam_response **resp, void *appdata_ptr
+@@ -266,6 +269,7 @@ static int err_conv(
+ (void) appdata_ptr;
+ return PAM_CONV_ERR;
+ }
++#endif
+
+ static struct passwd *doauth(const char *remuser,
+ const char *hostname,
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
new file mode 100644
index 0000000000..80aed36ffb
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit
@@ -0,0 +1,20 @@
+# default: off
+# description:
+# Rexecd is the server for the rexec program. The server provides remote
+# execution facilities with authentication based on user names and
+# passwords.
+#
+service exec
+{
+ socket_type = stream
+ protocol = tcp
+ flags = NAMEINARGS
+ wait = no
+ user = root
+ group = root
+ log_on_success += USERID
+ log_on_failure += USERID
+ server = /usr/bin/tcpd
+ server_args = /usr/sbin/in.rexecd
+ disable = yes
+}
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
new file mode 100644
index 0000000000..00dbf935bb
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit
@@ -0,0 +1,23 @@
+# default: off
+# description:
+# Rlogind is a server for the rlogin program. The server provides remote
+# execution with authentication based on privileged port numbers from trusted
+# host
+#
+service login
+{
+ socket_type = stream
+ protocol = tcp
+ flags = NAMEINARGS
+ wait = no
+ user = root
+ group = root
+ log_on_success += USERID
+ log_on_failure += USERID
+ server = /usr/bin/tcpd
+ server_args = /usr/sbin/in.rlogind -a
+ disable = yes
+}
+
+
+
diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch
new file mode 100644
index 0000000000..c12ee9b465
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch
@@ -0,0 +1,77 @@
+This fixes a build issue caused by linking order.
+
+Upstream-Status: Inappropriate
+Most distos have there own verison of this fix. This was derived by
+* Fix link order to list libraries after the objects that require them
+(LP: #771080).
+
+-- Colin Watson <cjwatson@ubuntu.com> Tue, 13 Sep 2011 10:07:08 +0100
+
+
+signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: netkit-rsh-0.17/rsh/Makefile
+===================================================================
+--- netkit-rsh-0.17.orig/rsh/Makefile
++++ netkit-rsh-0.17/rsh/Makefile
+@@ -6,7 +6,7 @@ include ../MRULES
+ OBJS = rsh.o
+
+ rsh: $(OBJS)
+- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
+
+ install: rsh
+ install -o root -m$(SUIDMODE) rsh $(INSTALLROOT)$(BINDIR)
+Index: netkit-rsh-0.17/rshd/Makefile
+===================================================================
+--- netkit-rsh-0.17.orig/rshd/Makefile
++++ netkit-rsh-0.17/rshd/Makefile
+@@ -11,7 +11,7 @@ LIBS += -ldl -lpam
+ endif
+
+ rshd: $(OBJS)
+- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
+
+ install: rshd
+ install -m$(DAEMONMODE) rshd $(INSTALLROOT)$(SBINDIR)/in.rshd
+Index: netkit-rsh-0.17/rlogin/Makefile
+===================================================================
+--- netkit-rsh-0.17.orig/rlogin/Makefile
++++ netkit-rsh-0.17/rlogin/Makefile
+@@ -7,7 +7,7 @@ PROG=rlogin
+ OBJS=rlogin.o
+
+ $(PROG): $(OBJS)
+- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
+
+ install: $(PROG)
+ install -o root -m$(SUIDMODE) $(PROG) $(INSTALLROOT)$(BINDIR)
+Index: netkit-rsh-0.17/rlogind/Makefile
+===================================================================
+--- netkit-rsh-0.17.orig/rlogind/Makefile
++++ netkit-rsh-0.17/rlogind/Makefile
+@@ -13,7 +13,7 @@ LIBS += -ldl -lpam -lpam_misc
+ endif
+
+ rlogind: $(OBJS)
+- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
+
+ rlogind.o: pathnames.h logwtmp.h rlogind.h ../version.h
+ logwtmp.o: logwtmp.h
+Index: netkit-rsh-0.17/rexecd/Makefile
+===================================================================
+--- netkit-rsh-0.17.orig/rexecd/Makefile
++++ netkit-rsh-0.17/rexecd/Makefile
+@@ -24,7 +24,7 @@ endif
+ CFLAGS += -DRESTRICT_FTP=1
+
+ rexecd: rexecd.o
+- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
+
+ install: rexecd
+ install -m$(DAEMONMODE) rexecd $(INSTALLROOT)$(SBINDIR)/in.rexecd
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
new file mode 100644
index 0000000000..ad59b62076
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit
@@ -0,0 +1,21 @@
+# default: off
+# description:
+# The rshd server is a server for the rcmd(3) routine and,
+# consequently, for the rsh(1) program. The server provides
+# remote execution facilities with authentication based on
+# privileged port numbers from trusted hosts.
+#
+service shell
+{
+ socket_type = stream
+ protocol = tcp
+ flags = NAMEINARGS
+ wait = no
+ user = root
+ group = root
+ log_on_success += USERID
+ log_on_failure += USERID
+ server = /usr/bin/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
new file mode 100644
index 0000000000..8b42fa7cb6
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
@@ -0,0 +1,91 @@
+DESCRIPTION = "netkit-rsh includes the rsh daemon and client."
+SECTION = "networking"
+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"
+
+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 \
+ file://rsh-redone_link_order_file.patch \
+ file://no_pam_build_fix.patch \
+ file://rexec.xinetd.netkit \
+ file://rlogin.xinetd.netkit \
+ file://rsh.xinetd.netkit \
+"
+
+SRC_URI[archive.md5sum] = "65f5f28e2fe22d9ad8b17bb9a10df096"
+SRC_URI[archive.sha256sum] = "edcac7fa18015f0bc04e573f3f54ae3b638d71335df1ad7dae692779914ad669"
+SRC_URI[patch15.md5sum] = "655efc0d541b03ca5de0ae506c805ea3"
+SRC_URI[patch15.sha256sum] = "2bc071c438e8b0ed42a0bd2db2d8b681b27a1e9b1798694d9874733293bc2aa9"
+
+inherit pkgconfig
+
+CFLAGS += " -D_GNU_SOURCE -Wno-deprecated-declarations"
+LDFLAGS += " -L${STAGING_LIBDIR} -lutil -lcrypt"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam", "", d)}"
+PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam"
+
+do_configure () {
+ ./configure --prefix=${prefix}
+ echo "INSTALLROOT=${D}" > MCONFIG
+
+ if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
+ echo "USE_PAM=1" >> MCONFIG
+ fi
+
+ # didn't want to patch these next changes
+ sed -i 's/netkit-//' ${S}/rsh/pathnames.h
+ sed -i 's/netkit-//' ${S}/rcp/pathnames.h
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${sbindir}
+ install -d ${D}${mandir}/man1
+ install -d ${D}${mandir}/man8
+ install -d ${D}${sysconfdir}/xinetd.d
+
+ oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
+ 'DAEMONMODE=0755' 'MANMODE=0644' \
+ 'SUIDMODE=4755' \
+ 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
+ 'MANDIR=${mandir}' 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
+ fi
+ cp ${WORKDIR}/rexec.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rexec
+ cp ${WORKDIR}/rlogin.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rlogin
+ cp ${WORKDIR}/rsh.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rsh
+}
+
+PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
+
+FILES_${PN}-client = "${bindir}/*"
+FILES_${PN}-server = "${sbindir}/* ${sysconfdir}"
+FILES_${PN}-doc = "${mandir}"
+FILES_${PN}-dbg = "${prefix}/src/debug \
+ ${sbindir}/.debug ${bindir}/.debug"
+
+ALTERNATIVE_PRIORITY = "80"
+ALTERNATIVE_${PN}-client = "rcp rexec rlogin rsh"
+ALTERNATIVE_${PN}-server = "rshd rexecd rlogind"
+ALTERNATIVE_LINK_NAME[server] = "${bindir}/rshd"
+ALTERNATIVE_TARGET[rshd] = "${sbindir}/in.rshd"
+ALTERNATIVE_LINK_NAME[rexecd] = "${bindir}/rexecd"
+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"
+
+RDEPENDS_${PN} = "xinetd"
diff --git a/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch b/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch
new file mode 100644
index 0000000000..d85178d714
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch
@@ -0,0 +1,30 @@
+From c23cc112a480f90950de5cf1de09b1a7e732bf21 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Mon, 15 Dec 2014 18:31:13 -0800
+Subject: [PATCH] rpc.rusersd/Makefile: fix parallel build issue
+
+Fixed:
+rusers.x: No such file or directory
+Makefile:44: recipe for target 'rusers_xdr.c' failed
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ rpc.rusersd/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/rpc.rusersd/Makefile b/rpc.rusersd/Makefile
+index 792f528..65a424a 100644
+--- a/rpc.rusersd/Makefile
++++ b/rpc.rusersd/Makefile
+@@ -40,5 +40,5 @@ rusers.x:
+ rusers.h: $(RUSERSX) rusers.x
+ $(RPCGEN) -h -o rusers.h rusers.x
+
+-rusers_xdr.c: $(RUSERSX)
++rusers_xdr.c: $(RUSERSX) rusers.x
+ $(RPCGEN) -c -C -o rusers_xdr.c rusers.x
+--
+1.7.9.5
+
diff --git a/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb b/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
new file mode 100644
index 0000000000..c930842eee
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
@@ -0,0 +1,70 @@
+DESCRIPTION = "netkit-rusers includes rusers - Displays who is logged in to machines on local network \
+ rusersd - Logged in users server"
+HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
+SECTION = "networking"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://rusers/rusers.c;beginline=2;endline=3;md5=f4fc634a4ce8c569911196b72b10770e"
+DEPENDS = " tcp-wrappers libtirpc rpcbind"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \
+ ${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}-8.diff.gz;name=patch8 \
+ file://rpc.rusersd-Makefile-fix-parallel-build-issue.patch \
+"
+
+SRC_URI[archive.md5sum] = "dc99a80b9fde2ab427c874f88f1c1602"
+SRC_URI[archive.sha256sum] = "f00138651865ad2dcfec5dedda0cda403cb80c4ab68efcc3bbccafe198c24b6d"
+SRC_URI[patch8.md5sum] = "1ff498113e0f920d92088092e5570bdc"
+SRC_URI[patch8.sha256sum] = "14882dbdda4e37baa84d55b54b46c7e063a20fc9e04d1be1a2807643cd0f3067"
+
+inherit autotools-brokensep
+
+do_configure () {
+ ./configure --prefix=${prefix}
+ echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
+ echo "USE_GLIBC=1" >> MCONFIG
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${sbindir}
+ install -d ${D}${mandir}/man1
+ install -d ${D}${mandir}/man8
+ install -d ${D}${sysconfdir}/xinetd.d
+
+ sed -i 's/install -s/install/' rusers/Makefile
+ sed -i 's/install -s/install/' rup/Makefile
+ sed -i 's/install -s/install/' rpc.rusersd/Makefile
+
+ oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
+ 'DAEMONMODE=0755' 'MANMODE=0644' \
+ 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
+ 'MANDIR=${mandir}' install
+
+ # create the xinetd config file
+ cat >rusersd.conf <<EOF
+ service rusersd
+ {
+ disable = yes
+ type = RPC
+ rpc_version = 1-2
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = root
+ server = ${sbindir}/rpc.rusersd
+ }
+EOF
+ install rusersd.conf ${D}/${sysconfdir}/xinetd.d/rusersd
+}
+
+
+INSANE_SKIP_${PN} = "already-stripped"
+
+PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
+FILES_${PN}-client = "${bindir}/*"
+FILES_${PN}-server = "${sbindir}/* ${sysconfdir}"
+FILES_${PN}-doc = "${mandir}"
+FILES_${PN}-dbg = "${prefix}/src/debug \
+ ${bindir}/.debug ${sbindir}/.debug"
+
+RDEPENDS_${PN}-server = "tcp-wrappers xinetd rpcbind"
diff --git a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod
new file mode 100755
index 0000000000..f6419032e8
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides: rwhod
+# Required-Start: $network $remote_fs $syslog
+# Required-Stop: $network $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Server for rwho and ruptime services
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/bin:/usr/sbin
+
+DAEMON=/usr/sbin/rwhod
+PIDFILE=/var/run/rwhod.pid
+CONF_FILE="/etc/default/rwhod"
+DESC="Who daemon "
+# default options. Change them in /etc/default/rwhod
+RWHOD_OPTIONS="-b"
+
+# rwhod init.d script for ntpdc from ntp.isc.org
+test -f $DAEMON || exit 0
+
+# Source function library.
+. /etc/init.d/functions
+
+[ -r $CONF_FILE ] && . $CONF_FILE
+
+startdaemon(){
+ echo -n "Starting $DESC" " rwhod "
+ start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON -- $RWHOD_OPTIONS
+ echo "done"
+}
+stopdaemon(){
+ echo -n "Stopping $DESC" " rwhod "
+ start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
+ echo "done"
+}
+
+case "$1" in
+ start)
+ startdaemon
+ ;;
+ stop)
+ stopdaemon
+ ;;
+ force-reload)
+ stopdaemon
+ startdaemon
+ ;;
+ restart)
+ stopdaemon
+ sleep 1
+ startdaemon
+ ;;
+ reload)
+ stopdaemon
+ sleep 1
+ startdaemon
+ ;;
+ status)
+ status /usr/sbin/rwhod;
+ exit $?
+ ;;
+ *)
+ echo "Usage: rwhod { start | stop | status | restart | reload }" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default
new file mode 100644
index 0000000000..62d3a942d0
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default
@@ -0,0 +1,2 @@
+#Options for the rwhod daemon.
+RWHOD_OPTIONS="-b"
diff --git a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
new file mode 100644
index 0000000000..4433dc1613
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
@@ -0,0 +1,83 @@
+DESCRIPTION = "netkit-rwho includes, ruptime rwho and rwhod (Daemon to maintain data for rwho/ruptime)"
+HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
+SECTION = "networking"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://rwho/rwho.c;beginline=2;endline=3;md5=5a85f13c0142d72fc378e00f15da5b9e"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}.orig.tar.gz;name=archive \
+ ${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;name=patch13 \
+ file://rwhod \
+ file://rwhod.default \
+"
+SRC_URI[archive.md5sum] = "0f71620d45d472f89134ba0d74242e75"
+SRC_URI[archive.sha256sum] = "0409e2ce4bfdb2dacb2c193d0fedfc49bb975cb057c5c6b0ffcca603a1188da7"
+SRC_URI[patch13.md5sum] = "82ed5a3c6b0bbf00b36508b9787963b9"
+SRC_URI[patch13.sha256sum] = "53aefa27d98b565bf756db57120c03bd224a238e45699d92076420272a6eba8e"
+
+inherit autotools-brokensep useradd update-rc.d update-alternatives
+
+CFLAGS += " -D_GNU_SOURCE"
+
+debian_do_patch() {
+ cd ${S}
+ while read line; do patch -p1 < ${WORKDIR}/debian/patches/$line; done < ${WORKDIR}/debian/patches/series
+}
+
+python do_patch() {
+ bb.build.exec_func('debian_do_patch', d)
+ bb.build.exec_func('patch_do_patch', d)
+}
+
+do_configure () {
+ ./configure --prefix=${prefix}
+ echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
+}
+
+do_install () {
+ # rwho & ruptime
+ install -d ${D}${bindir}
+ install -d ${D}${mandir}/man1
+ #rwhod
+ install -d ${D}${sbindir}
+ install -d ${D}${mandir}/man8
+ install -d ${D}${sysconfdir}/init.d
+ install -d ${D}${sysconfdir}/default
+ sed -i 's/install -s/install/' rwho/Makefile
+ sed -i 's/install -s/install/' ruptime/Makefile
+ sed -i 's/install -s/install/' rwhod/Makefile
+ oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
+ 'DAEMONMODE=0755' 'MANMODE=0644' \
+ 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
+ 'MANDIR=${mandir}' install
+
+ install -m 0644 ${WORKDIR}/rwhod.default ${D}${sysconfdir}/default/rwhod
+ install -m 755 ${WORKDIR}/rwhod ${D}${sysconfdir}/init.d
+
+ mkdir -p -m 755 ${D}${localstatedir}/spool/rwho
+ chown -R rwhod ${D}${localstatedir}/spool/rwho
+}
+
+pkg_postinst_${PN}-server() {
+ ${sysconfdir}/init.d/rwhod start
+}
+
+pkg_postrm_${PN}-server() {
+ ${sysconfdir}/init.d/rwhod stop
+}
+
+INITSCRIPT_NAME = "rwhod"
+INITSCRIPT_PARAM = "defaults 85 15"
+
+USERADD_PACKAGES = "${PN}-server"
+GROUPADD_PARAM_${PN}-server = "--system rwhod"
+USERADD_PARAM_${PN}-server = "--system -g rwhod --home-dir ${localstatedir}/spool/rwho \
+ --no-create-home --shell /bin/false rwhod"
+
+INSANE_SKIP_${PN} = "already-stripped"
+
+PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
+FILES_${PN}-client = "${bindir}/*"
+FILES_${PN}-server = "${sbindir}/* ${localstatedir} ${sysconfdir}/default/* ${sysconfdir}/init.d/*"
+FILES_${PN}-doc = "${mandir}"
+FILES_${PN}-dbg = "${prefix}/src/debug \
+ ${bindir}/.debug ${sbindir}/.debug"
diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch b/meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch
new file mode 100644
index 0000000000..7fff8cffc4
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch
@@ -0,0 +1,1217 @@
+From f09a6460a62aacb87bb8683d16aa3ce55848bf7e Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Fri, 28 Nov 2014 07:06:24 +0900
+Subject: [PATCH 1/2] To aviod buffer overflow in telnet
+
+This patch is from Fedora.
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ telnet/Makefile | 4 +-
+ telnet/commands.cc | 270 +++++++++++++++++++++++++++++++++++-----------------
+ telnet/defines.h | 2 +
+ telnet/externs.h | 7 +-
+ telnet/main.cc | 65 ++++++++++---
+ telnet/netlink.cc | 78 +++++++++------
+ telnet/netlink.h | 7 +-
+ telnet/network.cc | 1 +
+ telnet/proto.h | 2 +-
+ telnet/ring.cc | 2 +-
+ telnet/ring.h | 2 +-
+ telnet/sys_bsd.cc | 11 +++
+ telnet/telnet.1 | 37 +++++--
+ telnet/telnet.cc | 45 +++++----
+ telnet/terminal.cc | 17 +++-
+ telnet/utilities.cc | 2 +
+ 16 files changed, 380 insertions(+), 172 deletions(-)
+
+diff --git a/telnet/Makefile b/telnet/Makefile
+index cef866f..39249e1 100644
+--- a/telnet/Makefile
++++ b/telnet/Makefile
+@@ -7,7 +7,7 @@ include ../MRULES
+
+ # -DAUTHENTICATE
+ CXXFLAGS += -DUSE_TERMIO -DKLUDGELINEMODE
+-LIBS += $(LIBTERMCAP)
++LIBS = $(LIBTERMCAP)
+
+ SRCS = commands.cc main.cc network.cc ring.cc sys_bsd.cc telnet.cc \
+ terminal.cc tn3270.cc utilities.cc genget.cc environ.cc netlink.cc
+@@ -22,7 +22,7 @@ depend:
+ $(CXX) $(CXXFLAGS) -MM $(SRCS) >depend.mk
+
+ install: telnet
+- install -s -m$(BINMODE) telnet $(INSTALLROOT)$(BINDIR)
++ install -m$(BINMODE) telnet $(INSTALLROOT)$(BINDIR)
+ install -m$(MANMODE) telnet.1 $(INSTALLROOT)$(MANDIR)/man1
+
+ clean:
+diff --git a/telnet/commands.cc b/telnet/commands.cc
+index d92bccd..02c593e 100644
+--- a/telnet/commands.cc
++++ b/telnet/commands.cc
+@@ -86,10 +86,6 @@ char cmd_rcsid[] =
+
+ #define HELPINDENT ((int) sizeof ("connect"))
+
+-#ifndef MAXHOSTNAMELEN
+-#define MAXHOSTNAMELEN 64
+-#endif MAXHOSTNAMELEN
+-
+ #if defined(HAS_IPPROTO_IP) && defined(IP_TOS)
+ int tos = -1;
+ #endif /* defined(HAS_IPPROTO_IP) && defined(IP_TOS) */
+@@ -98,7 +94,7 @@ static unsigned long sourceroute(char *arg, char **cpp, int *lenp);
+
+
+ char *hostname;
+-static char _hostname[MAXHOSTNAMELEN];
++static char *_hostname;
+
+ //typedef int (*intrtn_t)(int argc, const char *argv[]);
+
+@@ -161,7 +157,7 @@ class command_entry {
+ assert(argc>=1);
+ if (nargs>=0 && argc!=nargs+1) {
+ fprintf(stderr, "Wrong number of arguments for command.\n");
+- fprintf(stderr, "Try %s ? for help\n", argv[0]);
++ fprintf(stderr, "Try ? %s for help\n", argv[0]);
+ return 0; /* is this right? */
+ }
+ if (nargs==-2) {
+@@ -480,6 +476,7 @@ static int send_wontcmd(const char *name, const char *) {
+ int send_tncmd(int (*func)(int, int), const char *cmd, const char *name) {
+ char **cpp;
+ extern char *telopts[];
++ long opt;
+
+ if (isprefix(name, "help") || isprefix(name, "?")) {
+ register int col, len;
+@@ -506,16 +503,23 @@ int send_tncmd(int (*func)(int, int), const char *cmd, const char *name) {
+ name, cmd);
+ return 0;
+ }
++
++ opt = cpp - telopts;
+ if (cpp == 0) {
+- fprintf(stderr, "'%s': unknown argument ('send %s ?' for help).\n",
++ char *end;
++
++ opt = strtol(name, &end, 10);
++ if (*end || opt < 0 || opt > 255) {
++ fprintf(stderr, "'%s': unknown argument ('send %s ?' for help).\n",
+ name, cmd);
+- return 0;
++ return 0;
++ }
+ }
+ if (!connected) {
+ printf("?Need to be connected first.\n");
+ return 0;
+ }
+- (*func)(cpp - telopts, 1);
++ (*func)(opt, 1);
+ return 1;
+ }
+
+@@ -689,9 +693,9 @@ static struct togglelist Togglelist[] = {
+ "print encryption debugging information" },
+ #endif
+
+- { "skiprc", "don't read ~/.telnetrc file",
++ { "skiprc", "don't read the telnetrc files",
+ NULL, &skiprc,
+- "read ~/.telnetrc file" },
++ "read the telnetrc files" },
+ { "binary",
+ "sending and receiving of binary data",
+ togbinary, NULL,
+@@ -1615,15 +1619,20 @@ void ayt_status(int) {
+ #endif
+
+ int tn(int argc, const char *argv[]) {
+- register struct hostent *host = 0;
+ struct sockaddr_in sn;
+- struct servent *sp = 0;
+ char *srp = NULL;
+ int srlen;
+-
+- const char *cmd, *volatile user = 0;
++ int family = 0;
++ const char *cmd, *volatile user = 0, *srchostp = 0;
+ const char *portp = NULL;
+ char *hostp = NULL;
++ char *resolv_hostp;
++ struct addrinfo hints;
++ struct addrinfo *hostaddr = 0;
++ int res;
++ char name[NI_MAXHOST];
++ char service[NI_MAXSERV];
++ struct addrinfo *tmpaddr;
+
+ /* clear the socket address prior to use */
+ memset(&sn, 0, sizeof(sn));
+@@ -1632,6 +1641,10 @@ int tn(int argc, const char *argv[]) {
+ printf("?Already connected to %s\n", hostname);
+ return 0;
+ }
++ if (_hostname) {
++ delete[] _hostname;
++ _hostname = 0;
++ }
+ if (argc < 2) {
+ (void) strcpy(line, "open ");
+ printf("(to) ");
+@@ -1657,11 +1670,33 @@ int tn(int argc, const char *argv[]) {
+ --argc;
+ continue;
+ }
++ if (strcmp(*argv, "-b") == 0) {
++ --argc; ++argv;
++ if (argc == 0)
++ goto usage;
++ srchostp = *argv++;
++ --argc;
++ continue;
++ }
+ if (strcmp(*argv, "-a") == 0) {
+ --argc; ++argv;
+ autologin = 1;
+ continue;
+ }
++ if (strcmp(*argv, "-6") == 0) {
++ --argc; ++argv;
++#ifdef AF_INET6
++ family = AF_INET6;
++#else
++ puts("IPv6 unsupported");
++#endif
++ continue;
++ }
++ if (strcmp(*argv, "-4") == 0) {
++ --argc; ++argv;
++ family = AF_INET;
++ continue;
++ }
+ if (hostp == 0) {
+ /* this leaks memory - FIXME */
+ hostp = strdup(*argv++);
+@@ -1680,6 +1715,8 @@ int tn(int argc, const char *argv[]) {
+ if (hostp == 0)
+ goto usage;
+
++ resolv_hostp = hostp;
++
+ #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+ if (hostp[0] == '@' || hostp[0] == '!') {
+ if ((hostname = strrchr(hostp, ':')) == NULL)
+@@ -1696,78 +1733,122 @@ int tn(int argc, const char *argv[]) {
+ } else {
+ sn.sin_addr.s_addr = temp;
+ sn.sin_family = AF_INET;
++ /*
++ * For source route we just make sure to get the IP given
++ * on the command line when looking up the port.
++ */
++ resolv_hostp = inet_ntoa(sn.sin_addr);
+ }
+ }
+- else {
+-#endif
+- if (inet_aton(hostp, &sn.sin_addr)) {
+- sn.sin_family = AF_INET;
+- strcpy(_hostname, hostp);
+- hostname = _hostname;
+- }
+- else {
+- host = gethostbyname(hostp);
+- if (host) {
+- sn.sin_family = host->h_addrtype;
+- if (host->h_length > (int)sizeof(sn.sin_addr)) {
+- host->h_length = sizeof(sn.sin_addr);
+- }
+-#if defined(h_addr) /* In 4.3, this is a #define */
+- memcpy((caddr_t)&sn.sin_addr,
+- host->h_addr_list[0], host->h_length);
+-#else /* defined(h_addr) */
+- memcpy((caddr_t)&sn.sin_addr, host->h_addr, host->h_length);
+-#endif /* defined(h_addr) */
+- strncpy(_hostname, host->h_name, sizeof(_hostname));
+- _hostname[sizeof(_hostname)-1] = '\0';
+- hostname = _hostname;
+- } else {
+- herror(hostp);
+- return 0;
+- }
+- }
+-#if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+- }
+ #endif
++
++ /* User port or the default name of telnet. */
+ if (portp) {
+ if (*portp == '-') {
+ portp++;
+ telnetport = 1;
+- } else
++ } else {
+ telnetport = 0;
+- sn.sin_port = atoi(portp);
+- if (sn.sin_port == 0) {
+- sp = getservbyname(portp, "tcp");
+- if (sp)
+- sn.sin_port = sp->s_port;
+- else {
+- printf("%s: bad port number\n", portp);
+- return 0;
++ if (*portp >='0' && *portp<='9') {
++ char *end;
++ long int p;
++
++ p=strtol(portp, &end, 10);
++ if (ERANGE==errno && (LONG_MIN==p || LONG_MAX==p)) {
++ fprintf(stderr, "telnet: port %s overflows\n", portp);
++ return 0;
++ } else if (p<=0 || p>=65536) {
++ fprintf(stderr, "telnet: port %s out of range\n", portp);
++ return 0;
++ }
+ }
+- }
+- else {
+- sn.sin_port = htons(sn.sin_port);
+ }
+- }
++ }
+ else {
+- if (sp == 0) {
+- sp = getservbyname("telnet", "tcp");
+- if (sp == 0) {
+- fprintf(stderr, "telnet: tcp/telnet: unknown service\n");
+- return 0;
+- }
+- sn.sin_port = sp->s_port;
+- }
++ portp = "telnet";
+ telnetport = 1;
+ }
+- printf("Trying %s...\n", inet_ntoa(sn.sin_addr));
++
++ /* We only understand SOCK_STREAM sockets. */
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_NUMERICHOST;
++ hints.ai_family = family;
++
++ if (srchostp) {
++ res = getaddrinfo(srchostp, "0", &hints, &hostaddr);
++ if (res) {
++ fprintf(stderr, "telnet: could not resolve %s: %s\n", srchostp,
++ gai_strerror(res));
++ return 0;
++ }
++ hints.ai_family = hostaddr->ai_family;
++ res = nlink.bind(hostaddr);
++ freeaddrinfo(hostaddr);
++ if (res < 0)
++ return 0;
++ }
++
++ /* Resolve both the host and service simultaneously. */
++ res = getaddrinfo(resolv_hostp, portp, &hints, &hostaddr);
++ if (res == EAI_NONAME) {
++ hints.ai_flags = AI_CANONNAME;
++ res = getaddrinfo(resolv_hostp, portp, &hints, &hostaddr);
++ } else if (hostaddr) {
++ hostaddr->ai_canonname = 0;
++ }
++ if (res || !hostaddr) {
++ fprintf(stderr, "telnet: could not resolve %s/%s: %s\n", resolv_hostp, portp, gai_strerror(res));
++ return 0;
++ }
++
++ /* Try to connect to every listed round robin IP. */
++ tmpaddr = hostaddr;
++ errno = 0;
+ do {
+- int x = nlink.connect(debug, host, &sn, srp, srlen, tos);
+- if (!x) return 0;
+- else if (x==1) continue;
++ int x;
++
++ if (!tmpaddr) {
++ if (errno)
++ perror("telnet: Unable to connect to remote host");
++ else
++ fputs("telnet: Unable to connect to remote host: "
++ "Bad port number\n", stderr);
++err:
++ freeaddrinfo(hostaddr);
++ return 0;
++ }
++
++ if (tmpaddr->ai_family == AF_UNIX) {
++nextaddr:
++ tmpaddr = tmpaddr->ai_next;
++ continue;
++ }
++
++ getnameinfo(tmpaddr->ai_addr, tmpaddr->ai_addrlen,
++ name, sizeof(name), service, sizeof(service),
++ NI_NUMERICHOST | NI_NUMERICSERV);
++
++ printf("Trying %s...\n", name);
++ x = nlink.connect(debug, tmpaddr, srp, srlen, tos);
++ if (!x)
++ goto err;
++ else if (x==1)
++ goto nextaddr;
++
+ connected++;
+ } while (connected == 0);
+- cmdrc(hostp, hostname);
++ if (tmpaddr->ai_canonname == 0) {
++ hostname = new char[strlen(hostp)+1];
++ strcpy(hostname, hostp);
++ }
++ else {
++ hostname = new char[strlen(tmpaddr->ai_canonname)+1];
++ strcpy(hostname, tmpaddr->ai_canonname);
++ }
++
++ cmdrc(hostp, hostname, portp);
++ freeaddrinfo(hostaddr);
+ if (autologin && user == NULL) {
+ struct passwd *pw;
+
+@@ -2013,30 +2094,21 @@ static int help(command_table *tab, int argc, const char *argv[]) {
+ return 0;
+ }
+
+-static char *rcname = 0;
+-static char rcbuf[128];
+-
+-void cmdrc(const char *m1, const char *m2) {
++static void readrc(const char *m1, const char *m2, const char *port,
++ const char *rcname)
++{
+ FILE *rcfile;
+ int gotmachine = 0;
+ int l1 = strlen(m1);
+ int l2 = strlen(m2);
+- char m1save[64];
+-
+- if (skiprc) return;
++ int lport = strlen(port);
++ char m1save[l1 + 1];
++ char portsave[lport + 1];
+
+ strcpy(m1save, m1);
+ m1 = m1save;
+-
+- if (rcname == 0) {
+- rcname = getenv("HOME");
+- if (rcname)
+- strcpy(rcbuf, rcname);
+- else
+- rcbuf[0] = '\0';
+- strcat(rcbuf, "/.telnetrc");
+- rcname = rcbuf;
+- }
++ strcpy(portsave, port);
++ port = portsave;
+
+ rcfile = fopen(rcname, "r");
+ if (!rcfile) return;
+@@ -2061,6 +2133,13 @@ void cmdrc(const char *m1, const char *m2) {
+ strncpy(line, &line[7], sizeof(line) - 7);
+ else
+ continue;
++
++ if (line[0] == ':') {
++ if (!strncasecmp(&line[1], port, lport))
++ continue;
++ strncpy(line, &line[lport + 1], sizeof(line) - lport - 1);
++ }
++
+ if (line[0] != ' ' && line[0] != '\t' && line[0] != '\n')
+ continue;
+ gotmachine = 1;
+@@ -2073,6 +2152,21 @@ void cmdrc(const char *m1, const char *m2) {
+ fclose(rcfile);
+ }
+
++void cmdrc(const char *m1, const char *m2, const char *port) {
++ char *rcname = NULL;
++
++ if (skiprc) return;
++
++ readrc(m1, m2, port, "/etc/telnetrc");
++ if (asprintf (&rcname, "%s/.telnetrc", getenv ("HOME")) == -1)
++ {
++ perror ("asprintf");
++ return;
++ }
++ readrc(m1, m2, port, rcname);
++ free (rcname);
++}
++
+ #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+
+ /*
+diff --git a/telnet/defines.h b/telnet/defines.h
+index 2784400..d5edc46 100644
+--- a/telnet/defines.h
++++ b/telnet/defines.h
+@@ -50,3 +50,5 @@
+ #define MODE_COMMAND_LINE(m) ((m)==-1)
+
+ #define CONTROL(x) ((x)&0x1f) /* CTRL(x) is not portable */
++
++#define MODE_OUT8 0x8000 /* binary mode sans -opost */
+diff --git a/telnet/externs.h b/telnet/externs.h
+index 955df79..0730e8a 100644
+--- a/telnet/externs.h
++++ b/telnet/externs.h
+@@ -48,9 +48,7 @@
+ typedef unsigned char cc_t;
+ #endif
+
+-#ifdef __linux__
+ #include <unistd.h> /* get _POSIX_VDISABLE */
+-#endif
+
+ #ifndef _POSIX_VDISABLE
+ #error "Please fix externs.h to define _POSIX_VDISABLE"
+@@ -60,7 +58,8 @@ typedef unsigned char cc_t;
+
+ extern int autologin; /* Autologin enabled */
+ extern int skiprc; /* Don't process the ~/.telnetrc file */
+-extern int eight; /* use eight bit mode (binary in and/or out */
++extern int eight; /* use eight bit mode (binary in and/or out) */
++extern int binary; /* use binary option (in and/or out) */
+ extern int flushout; /* flush output */
+ extern int connected; /* Are we connected to the other side? */
+ extern int globalmode; /* Mode tty should be in */
+@@ -225,6 +224,8 @@ cc_t *tcval(int);
+
+ //#if 0
+ extern struct termios new_tc;
++extern struct termios old_tc;
++
+
+ #define termEofChar new_tc.c_cc[VEOF]
+ #define termEraseChar new_tc.c_cc[VERASE]
+diff --git a/telnet/main.cc b/telnet/main.cc
+index b67f2ce..b626e54 100644
+--- a/telnet/main.cc
++++ b/telnet/main.cc
+@@ -45,7 +45,10 @@ char main_rcsid[] =
+
+ #include <sys/types.h>
+ #include <getopt.h>
++#include <stdlib.h>
+ #include <string.h>
++#include <netdb.h>
++#include <errno.h>
+
+ #include "ring.h"
+ #include "externs.h"
+@@ -80,12 +83,13 @@ tninit(void)
+ void usage(void) {
+ fprintf(stderr, "Usage: %s %s%s%s%s\n",
+ prompt,
+- " [-8] [-E] [-L] [-a] [-d] [-e char] [-l user] [-n tracefile]",
+- "\n\t",
++ "[-4] [-6] [-8] [-E] [-L] [-a] [-d] [-e char] [-l user]",
++ "\n\t[-n tracefile] [ -b addr ]",
+ #ifdef TN3270
++ "\n\t"
+ "[-noasynch] [-noasynctty] [-noasyncnet] [-r] [-t transcom]\n\t",
+ #else
+- "[-r] ",
++ " [-r] ",
+ #endif
+ "[host-name [port]]"
+ );
+@@ -102,7 +106,8 @@ main(int argc, char *argv[])
+ extern char *optarg;
+ extern int optind;
+ int ch;
+- char *user;
++ char *user, *srcaddr;
++ int family;
+
+ tninit(); /* Clear out things */
+ #if defined(CRAY) && !defined(__STDC__)
+@@ -110,21 +115,38 @@ main(int argc, char *argv[])
+ #endif
+
+ TerminalSaveState();
++ if ((old_tc.c_cflag & (CSIZE|PARENB)) != CS8)
++ eight = 0;
+
+ if ((prompt = strrchr(argv[0], '/'))!=NULL)
+ ++prompt;
+ else
+ prompt = argv[0];
+
+- user = NULL;
++ user = srcaddr = NULL;
++ family = 0;
+
+ rlogin = (strncmp(prompt, "rlog", 4) == 0) ? '~' : _POSIX_VDISABLE;
+ autologin = -1;
+
+- while ((ch = getopt(argc, argv, "8EKLS:X:ade:k:l:n:rt:x")) != EOF) {
++ while ((ch = getopt(argc, argv,
++ "4678EKLS:X:ab:de:k:l:n:rt:x")) != EOF) {
+ switch(ch) {
++ case '4':
++ family = AF_INET;
++ break;
++ case '6':
++#ifdef AF_INET6
++ family = AF_INET6;
++#else
++ fputs("IPv6 unsupported\n", stderr);
++#endif
++ break;
++ case '7':
++ eight = 0; /* 7-bit ouput and input */
++ break;
+ case '8':
+- eight = 3; /* binary output and input */
++ binary = 3; /* binary output and input */
+ break;
+ case 'E':
+ rlogin = escapechar = _POSIX_VDISABLE;
+@@ -133,23 +155,26 @@ main(int argc, char *argv[])
+ //autologin = 0;
+ break;
+ case 'L':
+- eight |= 2; /* binary output only */
++ binary |= 2; /* binary output only */
+ break;
+ case 'S':
+ {
+-#ifdef HAS_GETTOS
+ extern int tos;
++ int num;
+
+- if ((tos = parsetos(optarg, "tcp")) < 0)
++#ifdef HAS_GETTOS
++ if ((num = parsetos(optarg, "tcp")) < 0) {
++#else
++ errno = 0;
++ num = strtol(optarg, 0, 0);
++ if (errno) {
++#endif
+ fprintf(stderr, "%s%s%s%s\n",
+ prompt, ": Bad TOS argument '",
+ optarg,
+ "; will try to use default TOS");
+-#else
+- fprintf(stderr,
+- "%s: Warning: -S ignored, no parsetos() support.\n",
+- prompt);
+-#endif
++ } else
++ tos = num;
+ }
+ break;
+ case 'X':
+@@ -210,6 +235,9 @@ main(int argc, char *argv[])
+ "%s: -x ignored, no encryption support.\n",
+ prompt);
+ break;
++ case 'b':
++ srcaddr = optarg;
++ break;
+ case '?':
+ default:
+ usage();
+@@ -233,6 +261,13 @@ main(int argc, char *argv[])
+ *argp++ = "-l";
+ *argp++ = user;
+ }
++ if (srcaddr) {
++ *argp++ = "-b";
++ *argp++ = srcaddr;
++ }
++ if (family) {
++ *argp++ = family == AF_INET ? "-4" : "-6";
++ }
+ *argp++ = argv[0]; /* host */
+ if (argc > 1)
+ *argp++ = argv[1]; /* port */
+diff --git a/telnet/netlink.cc b/telnet/netlink.cc
+index f439cff..f839747 100644
+--- a/telnet/netlink.cc
++++ b/telnet/netlink.cc
+@@ -79,22 +79,61 @@ void netlink::close(int doshutdown) {
+ shutdown(net, 2);
+ }
+ ::close(net);
++ net = -1;
+ }
+
+-int netlink::connect(int debug, struct hostent *host,
+- struct sockaddr_in *sn,
+- char *srcroute, int srlen, int tos)
++int netlink::bind(struct addrinfo *addr)
+ {
+- int on=1;
++ int res;
++
++ res = socket(addr->ai_family);
++ if (res < 2) {
++ if (res == 1)
++ perror("telnet: socket");
++ return -1;
++ }
++
++ if (::bind(net, addr->ai_addr, addr->ai_addrlen) < 0) {
++ perror("telnet: bind");
++ return -1;
++ }
++
++ return 0;
++}
++
++int netlink::socket(int family)
++{
++ if (this->family != family)
++ close(0);
+
+- net = socket(AF_INET, SOCK_STREAM, 0);
+ if (net < 0) {
+- perror("telnet: socket");
+- return 0;
++ this->family = family;
++ net = ::socket(family, SOCK_STREAM, 0);
++ if (net < 0) {
++ if (errno == EAFNOSUPPORT)
++ return 1;
++ perror("telnet: socket");
++ return 0;
++ }
+ }
+
++ return 2;
++}
++
++int netlink::connect(int debug, struct addrinfo *addr,
++ char *srcroute, int srlen, int tos)
++{
++ int on=1;
++ int res;
++
++ res = socket(addr->ai_family);
++ if (res < 2)
++ return res;
++
+ #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+ if (srcroute) {
++ if (addr->ai_family != AF_INET)
++ fputs("Source route is only supported for IPv4\n", stderr);
+ if (setsockopt(net, IPPROTO_IP, IP_OPTIONS, srcroute, srlen) < 0)
+ perror("setsockopt (IP_OPTIONS)");
+ }
+@@ -108,7 +147,7 @@ int netlink::connect(int debug, struct hostent *host,
+ #endif
+ if (tos < 0) tos = 020; /* Low Delay bit */
+ if (tos && (setsockopt(net, IPPROTO_IP, IP_TOS, &tos, sizeof(int)) < 0)
+- && (errno != ENOPROTOOPT))
++ && (errno != ENOPROTOOPT) && (errno != EOPNOTSUPP))
+ perror("telnet: setsockopt (IP_TOS) (ignored)");
+ #endif /* defined(IPPROTO_IP) && defined(IP_TOS) */
+
+@@ -116,27 +155,8 @@ int netlink::connect(int debug, struct hostent *host,
+ perror("setsockopt (SO_DEBUG)");
+ }
+
+- if (::connect(net, (struct sockaddr *)sn, sizeof(*sn)) < 0) {
+-#if defined(h_addr) /* In 4.3, this is a #define */
+- if (host && host->h_addr_list[1]) {
+- int oerrno = errno;
+-
+- fprintf(stderr, "telnet: connect to address %s: ",
+- inet_ntoa(sn->sin_addr));
+- errno = oerrno;
+- perror(NULL);
+- host->h_addr_list++;
+- if (host->h_length > (int)sizeof(sn->sin_addr)) {
+- host->h_length = sizeof(sn->sin_addr);
+- }
+- memcpy(&sn->sin_addr, host->h_addr_list[0], host->h_length);
+- close(net);
+- return 1;
+- }
+-#endif /* defined(h_addr) */
+-
+- perror("telnet: Unable to connect to remote host");
+- return 0;
++ if (::connect(net, addr->ai_addr, addr->ai_addrlen) < 0) {
++ return 1;
+ }
+ return 2;
+ }
+diff --git a/telnet/netlink.h b/telnet/netlink.h
+index 9852b30..0ac8a08 100644
+--- a/telnet/netlink.h
++++ b/telnet/netlink.h
+@@ -1,13 +1,16 @@
+
+ class netlink {
++ private:
++ int family;
+ protected:
+ int net;
+ public:
+ netlink();
+ ~netlink();
+
+- int connect(int debug, struct hostent *host,
+- struct sockaddr_in *sin,
++ int bind(struct addrinfo *hostaddr);
++ int socket(int family);
++ int connect(int debug, struct addrinfo *hostaddr,
+ char *srcroute, int srlen,
+ int tos);
+ void close(int doshutdown);
+diff --git a/telnet/network.cc b/telnet/network.cc
+index 6a2c374..0dcf3e2 100644
+--- a/telnet/network.cc
++++ b/telnet/network.cc
+@@ -40,6 +40,7 @@ char net_rcsid[] =
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/time.h>
++#include <stdlib.h>
+ #include <errno.h>
+ #include <arpa/telnet.h>
+
+diff --git a/telnet/proto.h b/telnet/proto.h
+index 8be4a39..92f2419 100644
+--- a/telnet/proto.h
++++ b/telnet/proto.h
+@@ -13,7 +13,7 @@ int TerminalWindowSize(long *rows, long *cols);
+ void auth_encrypt_user(char *);
+ void auth_name(unsigned char *, int);
+ void auth_printsub(unsigned char *, int, unsigned char *, int);
+-void cmdrc(const char *m1, const char *m2);
++void cmdrc(const char *, const char *, const char *);
+ void env_init(void);
+ int getconnmode(void);
+ void init_network(void);
+diff --git a/telnet/ring.cc b/telnet/ring.cc
+index be57396..772c6c5 100644
+--- a/telnet/ring.cc
++++ b/telnet/ring.cc
+@@ -165,7 +165,7 @@ int ringbuf::flush() {
+
+ /////////////////////////////////////////////////// supply //////////////
+
+-void ringbuf::printf(const char *format, ...) {
++void ringbuf::xprintf(const char *format, ...) {
+ char xbuf[256];
+ va_list ap;
+ va_start(ap, format);
+diff --git a/telnet/ring.h b/telnet/ring.h
+index 15d3f3f..049377e 100644
+--- a/telnet/ring.h
++++ b/telnet/ring.h
+@@ -83,7 +83,7 @@ class ringbuf {
+ // manual supply
+ void putch(char c) { write(&c, 1); }
+ void write(const char *buffer, int ct);
+- void printf(const char *format, ...);
++ void xprintf(const char *format, ...);
+ int empty_count() { return size - count; }
+
+ // automatic supply
+diff --git a/telnet/sys_bsd.cc b/telnet/sys_bsd.cc
+index 93fba7e..a8c9aab 100644
+--- a/telnet/sys_bsd.cc
++++ b/telnet/sys_bsd.cc
+@@ -189,18 +189,25 @@ void NetSetPgrp(int fd) {
+ * Various signal handling routines.
+ */
+
++#if 0
+ static void deadpeer(int /*sig*/) {
+ setcommandmode();
+ siglongjmp(peerdied, -1);
+ }
++#endif
+
+ static void intr(int /*sig*/) {
+ if (localchars) {
+ intp();
+ }
+ else {
++#if 0
+ setcommandmode();
+ siglongjmp(toplevel, -1);
++#else
++ signal(SIGINT, SIG_DFL);
++ raise(SIGINT);
++#endif
+ }
+ }
+
+@@ -214,6 +221,8 @@ static void intr2(int /*sig*/) {
+ sendabort();
+ return;
+ }
++ signal(SIGQUIT, SIG_DFL);
++ raise(SIGQUIT);
+ }
+
+ #ifdef SIGWINCH
+@@ -238,7 +247,9 @@ void ayt(int sig) {
+ void sys_telnet_init(void) {
+ signal(SIGINT, intr);
+ signal(SIGQUIT, intr2);
++#if 0
+ signal(SIGPIPE, deadpeer);
++#endif
+ #ifdef SIGWINCH
+ signal(SIGWINCH, sendwin);
+ #endif
+diff --git a/telnet/telnet.1 b/telnet/telnet.1
+index 54a47fb..8365e42 100644
+--- a/telnet/telnet.1
++++ b/telnet/telnet.1
+@@ -42,8 +42,9 @@
+ protocol
+ .Sh SYNOPSIS
+ .Nm telnet
+-.Op Fl 8ELadr
++.Op Fl 468ELadr
+ .Op Fl S Ar tos
++.Op Fl b Ar address
+ .Op Fl e Ar escapechar
+ .Op Fl l Ar user
+ .Op Fl n Ar tracefile
+@@ -68,6 +69,10 @@ command implicitly; see the description below.
+ .Pp
+ Options:
+ .Bl -tag -width indent
++.It Fl 4
++Force IPv4 address resolution.
++.It Fl 6
++Force IPv6 address resolution.
+ .It Fl 8
+ Request 8-bit operation. This causes an attempt to negotiate the
+ .Dv TELNET BINARY
+@@ -89,6 +94,8 @@ of the
+ option if supported by the remote system. The username is retrieved
+ via
+ .Xr getlogin 3 .
++.It Fl b Ar address
++Use bind(2) on the local socket to bind it to a specific local address.
+ .It Fl d
+ Sets the initial value of the
+ .Ic debug
+@@ -474,17 +481,29 @@ protocol without making a mess. Protocol negotiation can be forced by
+ placing a dash before the port number.
+ .Pp
+ After establishing a connection, any commands associated with the
+-remote host in the user's
++remote host in
++.Pa /etc/telnetrc
++and the user's
+ .Pa .telnetrc
+-file are executed.
++file are executed, in that order.
+ .Pp
+-The format of the .telnetrc file is as follows: Lines beginning with a
++The format of the telnetrc files is as follows: Lines beginning with a
+ #, and blank lines, are ignored. The rest of the file should consist
+ of hostnames and sequences of
+ .Nm telnet
+ commands to use with that host. Commands should be one per line,
+ indented by whitespace; lines beginning without whitespace are
+-interpreted as hostnames. Upon connecting to a particular host, the
++interpreted as hostnames. Lines beginning with the special hostname
++.Ql DEFAULT
++will apply to all hosts. Hostnames including
++.Ql DEFAULT
++may be followed immediately by a colon and a port number or string.
++If a port is specified it must match exactly with what is specified
++on the command line. If no port was specified on the command line,
++then the value
++.Ql telnet
++is used.
++Upon connecting to a particular host, the
+ commands associated with that host are executed.
+ .It Ic quit
+ Close any open session and exit
+@@ -1184,9 +1203,7 @@ escape sequences are preceded by a '*' to aid in locating them.
+ When the skiprc toggle is
+ .Dv TRUE ,
+ .Tn telnet
+-does not read the
+-.Pa \&.telnetrc
+-file. The initial value for this toggle is
++does not read the telnetrc files. The initial value for this toggle is
+ .Dv FALSE.
+ .It Ic termdata
+ Toggles the display of all terminal data (in hexadecimal format).
+@@ -1239,7 +1256,9 @@ to the other side via the
+ .Dv TELNET ENVIRON
+ option.
+ .Sh FILES
+-.Bl -tag -width ~/.telnetrc -compact
++.Bl -tag -width /etc/telnetrc -compact
++.It Pa /etc/telnetrc
++global telnet startup values
+ .It Pa ~/.telnetrc
+ user customized telnet startup values
+ .El
+diff --git a/telnet/telnet.cc b/telnet/telnet.cc
+index 4fc3b1f..7eca811 100644
+--- a/telnet/telnet.cc
++++ b/telnet/telnet.cc
+@@ -88,7 +88,8 @@ char do_dont_resp[256];
+ char will_wont_resp[256];
+
+ int
+-eight = 0,
++ eight = 3,
++ binary = 0,
+ autologin = 0, /* Autologin anyone? */
+ skiprc = 0,
+ connected,
+@@ -639,14 +640,14 @@ static const char *gettermname(void) {
+ if (resettermname) {
+ resettermname = 0;
+ tname = env_getvalue("TERM", 0);
+- if (!tname || my_setupterm(tname, 1, &err)) {
++ if (!tname /* || my_setupterm(tname, 1, &err) */) {
+ termbuf[0] = 0;
+ tname = "UNKNOWN";
+ }
+ mklist(termbuf, tname, termtypes);
+ next = 0;
+ }
+- if (next==termtypes.num()) next = 0;
++ if (next==termtypes.num()-1) next = 0;
+ return termtypes[next++];
+ }
+ /*
+@@ -681,7 +682,7 @@ static void suboption(void) {
+ }
+ #endif /* TN3270 */
+ name = gettermname();
+- netoring.printf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE,
++ netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE,
+ TELQUAL_IS, name, IAC, SE);
+ }
+ break;
+@@ -693,7 +694,7 @@ static void suboption(void) {
+ if (SB_GET() == TELQUAL_SEND) {
+ long oospeed, iispeed;
+ TerminalSpeeds(&iispeed, &oospeed);
+- netoring.printf("%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED,
++ netoring.xprintf("%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED,
+ TELQUAL_IS, oospeed, iispeed, IAC, SE);
+ }
+ break;
+@@ -780,7 +781,7 @@ static void suboption(void) {
+ send_wont(TELOPT_XDISPLOC, 1);
+ break;
+ }
+- netoring.printf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC,
++ netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC,
+ TELQUAL_IS, dp, IAC, SE);
+ }
+ break;
+@@ -798,7 +799,7 @@ void lm_will(unsigned char *cmd, int len) {
+ return;
+ }
+
+- netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
++ netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
+ DONT, cmd[0], IAC, SE);
+ }
+
+@@ -815,7 +816,7 @@ void lm_do(unsigned char *cmd, int len) {
+ /*@*/ printf("lm_do: no command!!!\n"); /* Should not happen... */
+ return;
+ }
+- netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
++ netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
+ WONT, cmd[0], IAC, SE);
+ }
+
+@@ -838,7 +839,7 @@ void lm_mode(unsigned char *cmd, int len, int init) {
+ k |= MODE_ACK;
+ }
+
+- netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, LM_MODE,
++ netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, LM_MODE,
+ k, IAC, SE);
+
+ setconnmode(0); /* set changed mode */
+@@ -933,11 +934,11 @@ void slc_mode_import(int def) {
+
+ void slc_import(int def) {
+ if (def) {
+- netoring.printf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
++ netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
+ LM_SLC, 0, SLC_DEFAULT, 0, IAC, SE);
+ }
+ else {
+- netoring.printf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
++ netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
+ LM_SLC, 0, SLC_VARIABLE, 0, IAC, SE);
+ }
+ }
+@@ -1050,6 +1051,7 @@ void slc_check(void) {
+
+
+ unsigned char slc_reply[128];
++unsigned char const * const slc_reply_eom = &slc_reply[sizeof(slc_reply)];
+ unsigned char *slc_replyp;
+
+ void slc_start_reply(void) {
+@@ -1061,6 +1063,14 @@ void slc_start_reply(void) {
+ }
+
+ void slc_add_reply(int func, int flags, int value) {
++ /* A sequence of up to 6 bytes my be written for this member of the SLC
++ * suboption list by this function. The end of negotiation command,
++ * which is written by slc_end_reply(), will require 2 additional
++ * bytes. Do not proceed unless there is sufficient space for these
++ * items.
++ */
++ if (&slc_replyp[6+2] > slc_reply_eom)
++ return;
+ if ((*slc_replyp++ = func) == IAC)
+ *slc_replyp++ = IAC;
+ if ((*slc_replyp++ = flags) == IAC)
+@@ -1142,6 +1152,7 @@ void env_opt(unsigned char *buf, int len) {
+ }
+ }
+
++/* OPT_REPLY_SIZE must be a multiple of 2. */
+ #define OPT_REPLY_SIZE 256
+ unsigned char *opt_reply;
+ unsigned char *opt_replyp;
+@@ -1173,6 +1184,7 @@ void env_opt_start_info(void) {
+
+ void env_opt_add(const char *ep) {
+ const char *vp;
++ const unsigned char *tp;
+ unsigned char c;
+
+ if (opt_reply == NULL) /*XXX*/
+@@ -1185,11 +1197,12 @@ void env_opt_add(const char *ep) {
+ return;
+ }
+ vp = env_getvalue(ep, 1);
+- if (opt_replyp + (vp ? strlen(vp) : 0) + strlen(ep) + 6 > opt_replyend)
++ tp = opt_replyp + (vp ? strlen(vp) * 2 : 0) + strlen(ep) * 2 + 6;
++ if (tp > opt_replyend)
+ {
+ register int len;
+- opt_replyend += OPT_REPLY_SIZE;
+- len = opt_replyend - opt_reply;
++ len = ((tp - opt_reply) + OPT_REPLY_SIZE - 1) & ~(OPT_REPLY_SIZE - 1);
++ opt_replyend = opt_reply + len;
+ opt_reply = (unsigned char *)realloc(opt_reply, len);
+ if (opt_reply == NULL) {
+ /*@*/ printf("env_opt_add: realloc() failed!!!\n");
+@@ -1740,8 +1753,8 @@ void telnet(const char * /*user*/) {
+ send_do(TELOPT_STATUS, 1);
+ if (env_getvalue("DISPLAY", 0))
+ send_will(TELOPT_XDISPLOC, 1);
+- if (eight)
+- tel_enter_binary(eight);
++ if (binary)
++ tel_enter_binary(binary);
+ }
+ #endif /* !defined(TN3270) */
+
+diff --git a/telnet/terminal.cc b/telnet/terminal.cc
+index 9eb47ae..764f18f 100644
+--- a/telnet/terminal.cc
++++ b/telnet/terminal.cc
+@@ -45,6 +45,8 @@ char terminal_rcsid[] =
+ #include <signal.h>
+ #include <errno.h>
+ #include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
+
+ #include "ring.h"
+ #include "defines.h"
+@@ -155,9 +157,11 @@ int getconnmode(void) {
+ if (localflow)
+ mode |= MODE_FLOW;
+
+- if (my_want_state_is_will(TELOPT_BINARY))
++ if ((eight & 1) || my_want_state_is_will(TELOPT_BINARY))
+ mode |= MODE_INBIN;
+
++ if (eight & 2)
++ mode |= MODE_OUT8;
+ if (his_want_state_is_will(TELOPT_BINARY))
+ mode |= MODE_OUTBIN;
+
+@@ -449,10 +453,13 @@ void TerminalNewMode(int f)
+ // breaks SunOS.
+ tmp_tc.c_iflag |= ISTRIP;
+ }
+- if (f & MODE_OUTBIN) {
++ if (f & (MODE_OUTBIN|MODE_OUT8)) {
+ tmp_tc.c_cflag &= ~(CSIZE|PARENB);
+ tmp_tc.c_cflag |= CS8;
+- tmp_tc.c_oflag &= ~OPOST;
++ if (f & MODE_OUTBIN)
++ tmp_tc.c_oflag &= ~OPOST;
++ else
++ tmp_tc.c_oflag |= OPOST;
+ } else {
+ tmp_tc.c_cflag &= ~(CSIZE|PARENB);
+ tmp_tc.c_cflag |= old_tc.c_cflag & (CSIZE|PARENB);
+@@ -468,7 +475,7 @@ void TerminalNewMode(int f)
+
+ #ifdef SIGINFO
+ signal(SIGINFO, ayt);
+-#endif SIGINFO
++#endif /* SIGINFO */
+
+ #if defined(NOKERNINFO)
+ tmp_tc.c_lflag |= NOKERNINFO;
+@@ -504,7 +511,7 @@ void TerminalNewMode(int f)
+
+ #ifdef SIGINFO
+ signal(SIGINFO, ayt_status);
+-#endif SIGINFO
++#endif /* SIGINFO */
+
+ #ifdef SIGTSTP
+ signal(SIGTSTP, SIG_DFL);
+diff --git a/telnet/utilities.cc b/telnet/utilities.cc
+index 0448f0a..66839ab 100644
+--- a/telnet/utilities.cc
++++ b/telnet/utilities.cc
+@@ -47,6 +47,8 @@ char util_rcsid[] =
+ #include <sys/socket.h>
+ #include <unistd.h>
+ #include <ctype.h>
++#include <string.h>
++#include <stdlib.h>
+
+ #include "ring.h"
+ #include "defines.h"
+--
+1.8.4.2
+
diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch b/meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch
new file mode 100644
index 0000000000..b9a98f1d6f
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch
@@ -0,0 +1,41 @@
+From 31362e4c0d02b4a2b952ad0dd32acfb573c442f3 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Fri, 28 Nov 2014 07:17:40 +0900
+Subject: [PATCH 2/2] WARNING Fix and modify "CFLAGS"
+
+WARNING: QA Issue: File '/usr/sbin/in.telnetd' from netkit-telnet was
+already stripped, this will prevent future debugging! [already-stripped]
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ telnetd/Makefile | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/telnetd/Makefile b/telnetd/Makefile
+index 72650b4..a4cf9fa 100644
+--- a/telnetd/Makefile
++++ b/telnetd/Makefile
+@@ -9,7 +9,8 @@ include ../MRULES
+ # take out -DPARANOID_TTYS.
+
+ CFLAGS += '-DISSUE_FILE="/etc/issue.net"' -DPARANOID_TTYS \
+- -DNO_REVOKE -DKLUDGELINEMODE -DDIAGNOSTICS
++ -DNO_REVOKE -DKLUDGELINEMODE -DDIAGNOSTICS \
++ -DLOGIN_WRAPPER=\"/${libdir}/telnetlogin\"
+ # LIBS += $(LIBTERMCAP)
+
+ OBJS = telnetd.o state.o termstat.o slc.o sys_term.o utility.o \
+@@ -27,7 +28,7 @@ $(OBJS): defs.h ext.h pathnames.h telnetd.h logwtmp.h logout.h setproctitle.h
+ telnetd.o: ../version.h
+
+ install: telnetd
+- install -s -m$(DAEMONMODE) telnetd $(INSTALLROOT)$(SBINDIR)/in.telnetd
++ install -m$(DAEMONMODE) telnetd $(INSTALLROOT)$(SBINDIR)/in.telnetd
+ install -m$(MANMODE) issue.net.5 $(INSTALLROOT)$(MANDIR)/man5/
+ install -m$(MANMODE) telnetd.8 $(INSTALLROOT)$(MANDIR)/man8/in.telnetd.8
+ ln -sf in.telnetd.8 $(INSTALLROOT)$(MANDIR)/man8/telnetd.8
+--
+1.8.4.2
+
diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd b/meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd
new file mode 100644
index 0000000000..12204c71b2
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd
@@ -0,0 +1,14 @@
+# default: on
+# description: The telnet server serves telnet sessions; it uses \
+# unencrypted username/password pairs for authentication.
+service telnet
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/in.telnetd
+ log_on_failure += USERID
+ disable = yes
+}
+
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
new file mode 100644
index 0000000000..a2dc1c270b
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
@@ -0,0 +1,52 @@
+DESCRIPTION = "netkit-telnet includes the telnet daemon and client."
+SECTION = "base"
+DEPENDS = "ncurses"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef"
+
+SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${BP}.tar.gz \
+ file://To-aviod-buffer-overflow-in-telnet.patch \
+ file://Warning-fix-in-the-step-of-install.patch \
+ file://telnet-xinetd \
+"
+
+EXTRA_OEMAKE = "INSTALLROOT=${D} SBINDIR=${sbindir} DAEMONMODE=755 \
+ MANMODE=644 MANDIR=${mandir}"
+
+do_configure () {
+ ./configure --prefix=${prefix}
+ echo "LDFLAGS=${LDFLAGS}" > MCONFIG
+}
+
+do_compile () {
+ oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' SUB=telnet
+ oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' LIBS=-lutil SUB=telnetd
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 telnet/telnet ${D}${bindir}/telnet.${PN}
+ install -d ${D}${sbindir}
+ install -d ${D}${mandir}/man1
+ install -d ${D}${mandir}/man5
+ install -d ${D}${mandir}/man8
+ oe_runmake SUB=telnetd install
+ rm -rf ${D}${mandir}/man1
+ # fix up hardcoded paths
+ sed -i -e 's,/usr/sbin/,${sbindir}/,' ${WORKDIR}/telnet-xinetd
+ install -d ${D}/etc/xinetd.d/
+ install -p -m644 ${WORKDIR}/telnet-xinetd ${D}/etc/xinetd.d/telnet
+}
+
+pkg_postinst_${PN} () {
+#!/bin/sh
+ update-alternatives --install ${bindir}/telnet telnet telnet.${PN} 100
+}
+
+pkg_prerm_${PN} () {
+#!/bin/sh
+ update-alternatives --remove telnet telnet.${PN} 100
+}
+
+SRC_URI[md5sum] = "d6beabaaf53fe6e382c42ce3faa05a36"
+SRC_URI[sha256sum] = "9c80d5c7838361a328fb6b60016d503def9ce53ad3c589f3b08ff71a2bb88e00"
diff --git a/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf
new file mode 100644
index 0000000000..7bc6ca96b6
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf
@@ -0,0 +1,11 @@
+service tftp
+{
+ disable = no
+ socket_type = dgram
+ port = 69
+ protocol = udp
+ wait = yes
+ user = nobody
+ server = /usr/sbin/in.tftpd
+ server_args = /tftpboot
+}
diff --git a/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
new file mode 100644
index 0000000000..bd54c0a817
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
@@ -0,0 +1,54 @@
+SUMMARY = "tftp - Trivial file transfer protocol client"
+SECTION = "networking"
+LICENSE = "BSD-4-Clause"
+DEPENDS = "tcp-wrappers"
+
+LIC_FILES_CHKSUM = "file://tftp/tftp.c;beginline=2;endline=3;md5=84d2cfe1e60863a7d82648734ba4d30c"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \
+ ${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}-18.diff.gz;name=patch18 \
+ file://tftp.conf \
+"
+
+SRC_URI[archive.md5sum] = "b7262c798e2ff50e29c2ff50dfd8d6a8"
+SRC_URI[archive.sha256sum] = "3a43c0010d4e61f412563fd83769d4667d8b8e82903526d21cb9205fe55ad14d"
+SRC_URI[patch18.md5sum] = "cb29e7a33dd85105ba6e6ec4f971e42c"
+SRC_URI[patch18.sha256sum] = "092437d27b4fa88c044ef6290372fee5ce06d223607f0e22a6e527065c8930e7"
+
+inherit autotools-brokensep
+
+do_configure () {
+ ./configure --prefix=${prefix}
+ echo "CFLAGS=${CFLAGS}" > MCONFIG
+}
+
+do_compile () {
+ oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' 'CFLAGS=${CFLAGS}'
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${sbindir}
+ install -d ${D}${mandir}/man1
+ install -d ${D}${mandir}/man8
+ install -d ${D}${sysconfdir}/xinetd.d
+
+ sed -i 's/install -s/install/' tftp/Makefile
+ sed -i 's/install -s/install/' tftpd/Makefile
+
+ oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
+ 'DAEMONMODE=0755' 'MANMODE=0644' \
+ 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
+ 'MANDIR=${mandir}' install
+
+ install ${WORKDIR}/tftp.conf ${D}/${sysconfdir}/xinetd.d/tftp
+}
+
+PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
+FILES_${PN}-client = "${bindir}/*"
+FILES_${PN}-server = "${sbindir}/* ${sysconfdir}/xinetd.d/*"
+FILES_${PN}-doc = "${mandir}"
+FILES_${PN}-dbg = "${prefix}/src/debug \
+ ${bindir}/.debug ${sbindir}/.debug"
+
+RDEPENDS_${PN}-server = "tcp-wrappers xinetd"
diff --git a/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2284.patch b/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2284.patch
deleted file mode 100644
index 4ad906432e..0000000000
--- a/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2284.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-diff -urpN a/agent/mibgroup/mibII/icmp.c b/agent/mibgroup/mibII/icmp.c
---- a/agent/mibgroup/mibII/icmp.c
-+++ b/agent/mibgroup/mibII/icmp.c
-@@ -106,10 +106,20 @@ struct icmp_msg_stats_table_entry {
- int flags;
- };
-
-+#ifdef linux
-+/* Linux keeps track of all possible message types */
-+#define ICMP_MSG_STATS_IPV4_COUNT 256
-+#else
- #define ICMP_MSG_STATS_IPV4_COUNT 11
-+#endif
-
- #ifdef NETSNMP_ENABLE_IPV6
-+#ifdef linux
-+/* Linux keeps track of all possible message types */
-+#define ICMP_MSG_STATS_IPV6_COUNT 256
-+#else
- #define ICMP_MSG_STATS_IPV6_COUNT 14
-+#endif
- #else
- #define ICMP_MSG_STATS_IPV6_COUNT 0
- #endif /* NETSNMP_ENABLE_IPV6 */
-@@ -177,7 +187,7 @@ icmp_msg_stats_load(netsnmp_cache *cache
- inc = 0;
- linux_read_icmp_msg_stat(&v4icmp, &v4icmpmsg, &flag);
- if (flag) {
-- while (254 != k) {
-+ while (255 >= k) {
- if (v4icmpmsg.vals[k].InType) {
- icmp_msg_stats_table[i].ipVer = 1;
- icmp_msg_stats_table[i].icmpMsgStatsType = k;
-@@ -1050,6 +1060,12 @@ icmp_stats_table_handler(netsnmp_mib_han
- continue;
- table_info = netsnmp_extract_table_info(request);
- subid = table_info->colnum;
-+ DEBUGMSGTL(( "mibII/icmpStatsTable", "oid: " ));
-+ DEBUGMSGOID(( "mibII/icmpStatsTable", request->requestvb->name,
-+ request->requestvb->name_length ));
-+ DEBUGMSG(( "mibII/icmpStatsTable", " In %d InErr %d Out %d OutErr %d\n",
-+ entry->icmpStatsInMsgs, entry->icmpStatsInErrors,
-+ entry->icmpStatsOutMsgs, entry->icmpStatsOutErrors ));
-
- switch (subid) {
- case ICMP_STAT_INMSG:
-@@ -1117,6 +1133,11 @@ icmp_msg_stats_table_handler(netsnmp_mib
- continue;
- table_info = netsnmp_extract_table_info(request);
- subid = table_info->colnum;
-+ DEBUGMSGTL(( "mibII/icmpMsgStatsTable", "oid: " ));
-+ DEBUGMSGOID(( "mibII/icmpMsgStatsTable", request->requestvb->name,
-+ request->requestvb->name_length ));
-+ DEBUGMSG(( "mibII/icmpMsgStatsTable", " In %d Out %d Flags 0x%x\n",
-+ entry->icmpMsgStatsInPkts, entry->icmpMsgStatsOutPkts, entry->flags ));
-
- switch (subid) {
- case ICMP_MSG_STAT_IN_PKTS:
-diff -urpN a/agent/mibgroup/mibII/kernel_linux.c b/agent/mibgroup/mibII/kernel_linux.c
---- a/agent/mibgroup/mibII/kernel_linux.c
-+++ b/agent/mibgroup/mibII/kernel_linux.c
-@@ -81,9 +81,9 @@ decode_icmp_msg(char *line, char *data,
- index = strtol(token, &delim, 0);
- if (ERANGE == errno) {
- continue;
-- } else if (index > LONG_MAX) {
-+ } else if (index > 255) {
- continue;
-- } else if (index < LONG_MIN) {
-+ } else if (index < 0) {
- continue;
- }
- if (NULL == (token = strtok_r(dataptr, " ", &saveptr1)))
-@@ -94,9 +94,9 @@ decode_icmp_msg(char *line, char *data,
- index = strtol(token, &delim, 0);
- if (ERANGE == errno) {
- continue;
-- } else if (index > LONG_MAX) {
-+ } else if (index > 255) {
- continue;
-- } else if (index < LONG_MIN) {
-+ } else if (index < 0) {
- continue;
- }
- if(NULL == (token = strtok_r(dataptr, " ", &saveptr1)))
-@@ -426,14 +426,21 @@ linux_read_icmp6_parse(struct icmp6_mib
-
- vals = name;
- if (NULL != icmp6msgstat) {
-+ int type;
- if (0 == strncmp(name, "Icmp6OutType", 12)) {
- strsep(&vals, "e");
-- icmp6msgstat->vals[atoi(vals)].OutType = stats;
-+ type = atoi(vals);
-+ if ( type < 0 || type > 255 )
-+ continue;
-+ icmp6msgstat->vals[type].OutType = stats;
- *support = 1;
- continue;
- } else if (0 == strncmp(name, "Icmp6InType", 11)) {
- strsep(&vals, "e");
-- icmp6msgstat->vals[atoi(vals)].InType = stats;
-+ type = atoi(vals);
-+ if ( type < 0 || type > 255 )
-+ continue;
-+ icmp6msgstat->vals[type].OutType = stats;
- *support = 1;
- continue;
- }
-diff -urpN a/agent/mibgroup/mibII/kernel_linux.h b/agent/mibgroup/mibII/kernel_linux.h
---- a/agent/mibgroup/mibII/kernel_linux.h
-+++ b/agent/mibgroup/mibII/kernel_linux.h
-@@ -121,11 +121,11 @@ struct icmp_msg_mib {
-
- /* Lets use wrapper structures for future expansion */
- struct icmp4_msg_mib {
-- struct icmp_msg_mib vals[255];
-+ struct icmp_msg_mib vals[256];
- };
-
- struct icmp6_msg_mib {
-- struct icmp_msg_mib vals[255];
-+ struct icmp_msg_mib vals[256];
- };
-
- struct udp_mib {
diff --git a/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2285.patch b/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2285.patch
deleted file mode 100644
index 8267eeb75d..0000000000
--- a/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2285.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/perl/TrapReceiver/TrapReceiver.xs
-+++ b/perl/TrapReceiver/TrapReceiver.xs
-@@ -81,18 +81,18 @@ int perl_trapd_handler( netsnmp_pdu
- STOREPDUi("securitymodel", pdu->securityModel);
- STOREPDUi("securitylevel", pdu->securityLevel);
- STOREPDU("contextName",
-- newSVpv(pdu->contextName, pdu->contextNameLen));
-+ newSVpv(pdu->contextName ? pdu->contextName : "", pdu->contextNameLen));
- STOREPDU("contextEngineID",
-- newSVpv((char *) pdu->contextEngineID,
-+ newSVpv(pdu->contextEngineID ? (char *) pdu->contextEngineID : "",
- pdu->contextEngineIDLen));
- STOREPDU("securityEngineID",
-- newSVpv((char *) pdu->securityEngineID,
-+ newSVpv(pdu->securityEngineID ? (char *) pdu->securityEngineID : "",
- pdu->securityEngineIDLen));
- STOREPDU("securityName",
-- newSVpv((char *) pdu->securityName, pdu->securityNameLen));
-+ newSVpv(pdu->securityName ? (char *) pdu->securityName : "", pdu->securityNameLen));
- } else {
- STOREPDU("community",
-- newSVpv((char *) pdu->community, pdu->community_len));
-+ newSVpv(pdu->community ? (char *) pdu->community : "", pdu->community_len));
- }
-
- if (transport && transport->f_fmtaddr) {
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Added-checks-for-printing-variables-with-wrong-types.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Added-checks-for-printing-variables-with-wrong-types.patch
new file mode 100644
index 0000000000..30374cfe96
--- /dev/null
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Added-checks-for-printing-variables-with-wrong-types.patch
@@ -0,0 +1,455 @@
+From 7f4a7b891332899cea26e95be0337aae01648742 Mon Sep 17 00:00:00 2001
+From: Jan Safranek <jsafranek@users.sourceforge.net>
+Date: Thu, 31 Jul 2014 13:46:49 +0200
+Subject: [PATCH] Added checks for printing variables with wrong types.
+
+Upstream-Status: Backport
+
+When -OQ command line argument is used, variable formatter preffers the type
+of the varible parsed from a MIB file instead of checking type of the variable
+as parsed from SNMP message.
+
+This can lead to crashes when incoming packets contains a variable with
+NULL type, while the MIB says the variable should be non-NULL, like Integer.
+The formatter then tries to interpret the NULL (from packet) as Integer (from
+MIB file).
+
+Signed-off-by: Jan Safranek <jsafranek@users.sourceforge.net>
+---
+ snmplib/mib.c | 270 ++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 135 insertions(+), 135 deletions(-)
+
+diff --git a/snmplib/mib.c b/snmplib/mib.c
+index 9d3ca41..c6e0010 100644
+--- a/snmplib/mib.c
++++ b/snmplib/mib.c
+@@ -439,17 +439,16 @@ sprint_realloc_octet_string(u_char ** buf, size_t * buf_len,
+ u_char *cp;
+ int output_format, cnt;
+
+- if ((var->type != ASN_OCTET_STR) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- const char str[] = "Wrong Type (should be OCTET STRING): ";
+- if (snmp_cstrcat
+- (buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_OCTET_STR) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ const char str[] = "Wrong Type (should be OCTET STRING): ";
++ if (!snmp_cstrcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+
+@@ -702,16 +701,16 @@ sprint_realloc_float(u_char ** buf, size_t * buf_len,
+ const struct enum_list *enums,
+ const char *hint, const char *units)
+ {
+- if ((var->type != ASN_OPAQUE_FLOAT) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- if (snmp_cstrcat(buf, buf_len, out_len, allow_realloc,
+- "Wrong Type (should be Float): ")) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_OPAQUE_FLOAT) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be Float): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+@@ -772,17 +771,16 @@ sprint_realloc_double(u_char ** buf, size_t * buf_len,
+ const struct enum_list *enums,
+ const char *hint, const char *units)
+ {
+- if ((var->type != ASN_OPAQUE_DOUBLE) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- if (snmp_cstrcat
+- (buf, buf_len, out_len, allow_realloc,
+- "Wrong Type (should be Double): ")) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_OPAQUE_DOUBLE) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be Double): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+@@ -847,20 +845,21 @@ sprint_realloc_counter64(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+ char a64buf[I64CHARSZ + 1];
+
+- if ((var->type != ASN_COUNTER64
++ if (var->type != ASN_COUNTER64
+ #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES
+ && var->type != ASN_OPAQUE_COUNTER64
+ && var->type != ASN_OPAQUE_I64 && var->type != ASN_OPAQUE_U64
+ #endif
+- ) && (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- if (snmp_cstrcat(buf, buf_len, out_len, allow_realloc,
+- "Wrong Type (should be Counter64): ")) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ ) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be Counter64): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+@@ -948,23 +947,25 @@ sprint_realloc_opaque(u_char ** buf, size_t * buf_len,
+ const struct enum_list *enums,
+ const char *hint, const char *units)
+ {
+- if ((var->type != ASN_OPAQUE
++ if (var->type != ASN_OPAQUE
+ #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES
+ && var->type != ASN_OPAQUE_COUNTER64
+ && var->type != ASN_OPAQUE_U64
+ && var->type != ASN_OPAQUE_I64
+ && var->type != ASN_OPAQUE_FLOAT && var->type != ASN_OPAQUE_DOUBLE
+ #endif /* NETSNMP_WITH_OPAQUE_SPECIAL_TYPES */
+- ) && (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- if (snmp_cstrcat(buf, buf_len, out_len, allow_realloc,
+- "Wrong Type (should be Opaque): ")) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ ) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be Opaque): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
++
+ #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES
+ switch (var->type) {
+ case ASN_OPAQUE_COUNTER64:
+@@ -1040,17 +1041,16 @@ sprint_realloc_object_identifier(u_char ** buf, size_t * buf_len,
+ {
+ int buf_overflow = 0;
+
+- if ((var->type != ASN_OBJECT_ID) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] =
+- "Wrong Type (should be OBJECT IDENTIFIER): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_OBJECT_ID) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be OBJECT IDENTIFIER): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+@@ -1110,16 +1110,16 @@ sprint_realloc_timeticks(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+ char timebuf[40];
+
+- if ((var->type != ASN_TIMETICKS) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] = "Wrong Type (should be Timeticks): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_TIMETICKS) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be Timeticks): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_NUMERIC_TIMETICKS)) {
+@@ -1277,17 +1277,18 @@ sprint_realloc_integer(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+ char *enum_string = NULL;
+
+- if ((var->type != ASN_INTEGER) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] = "Wrong Type (should be INTEGER): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_INTEGER) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be INTEGER): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
++
+ for (; enums; enums = enums->next) {
+ if (enums->value == *var->val.integer) {
+ enum_string = enums->label;
+@@ -1380,16 +1381,16 @@ sprint_realloc_uinteger(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+ char *enum_string = NULL;
+
+- if ((var->type != ASN_UINTEGER) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] = "Wrong Type (should be UInteger32): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_UINTEGER) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be UInteger32): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ for (; enums; enums = enums->next) {
+@@ -1477,17 +1478,16 @@ sprint_realloc_gauge(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+ char tmp[32];
+
+- if ((var->type != ASN_GAUGE) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] =
+- "Wrong Type (should be Gauge32 or Unsigned32): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_GAUGE) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be Gauge32 or Unsigned32): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+@@ -1550,16 +1550,16 @@ sprint_realloc_counter(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+ char tmp[32];
+
+- if ((var->type != ASN_COUNTER) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] = "Wrong Type (should be Counter32): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_COUNTER) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be Counter32): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+@@ -1613,16 +1613,16 @@ sprint_realloc_networkaddress(u_char ** buf, size_t * buf_len,
+ {
+ size_t i;
+
+- if ((var->type != ASN_IPADDRESS) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] = "Wrong Type (should be NetworkAddress): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_IPADDRESS) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be NetworkAddress): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+@@ -1679,16 +1679,16 @@ sprint_realloc_ipaddress(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+ u_char *ip = var->val.string;
+
+- if ((var->type != ASN_IPADDRESS) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] = "Wrong Type (should be IpAddress): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_IPADDRESS) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be IpAddress): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+@@ -1737,20 +1737,20 @@ sprint_realloc_null(u_char ** buf, size_t * buf_len, size_t * out_len,
+ const struct enum_list *enums,
+ const char *hint, const char *units)
+ {
+- if ((var->type != ASN_NULL) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] = "Wrong Type (should be NULL): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_NULL) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be NULL): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+- } else {
+- u_char str[] = "NULL";
+- return snmp_strcat(buf, buf_len, out_len, allow_realloc, str);
+ }
++
++ u_char str[] = "NULL";
++ return snmp_strcat(buf, buf_len, out_len, allow_realloc, str);
+ }
+
+
+@@ -1785,16 +1785,16 @@ sprint_realloc_bitstring(u_char ** buf, size_t * buf_len, size_t * out_len,
+ u_char *cp;
+ char *enum_string;
+
+- if ((var->type != ASN_BIT_STR && var->type != ASN_OCTET_STR) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] = "Wrong Type (should be BITS): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_BIT_STR && var->type != ASN_OCTET_STR) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be BITS): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+@@ -1869,16 +1869,16 @@ sprint_realloc_nsapaddress(u_char ** buf, size_t * buf_len,
+ const struct enum_list *enums, const char *hint,
+ const char *units)
+ {
+- if ((var->type != ASN_NSAP) &&
+- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+- u_char str[] = "Wrong Type (should be NsapAddress): ";
+- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+- return sprint_realloc_by_type(buf, buf_len, out_len,
++ if (var->type != ASN_NSAP) {
++ if (!netsnmp_ds_get_boolean(
++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++ u_char str[] = "Wrong Type (should be NsapAddress): ";
++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++ return 0;
++ }
++ return sprint_realloc_by_type(buf, buf_len, out_len,
+ allow_realloc, var, NULL, NULL,
+ NULL);
+- } else {
+- return 0;
+- }
+ }
+
+ if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
+--
+1.7.10.4
+
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 10a1eb2128..3b336a0548 100644
--- a/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service
@@ -4,7 +4,7 @@ After=syslog.target network.target
[Service]
Type=notify
-Environment=OPTIONS="-LS0-6d"
+Environment=OPTIONS="-Ls0-6d"
EnvironmentFile=-/etc/default/snmpd
ExecStart=/usr/sbin/snmpd $OPTIONS -f
ExecReload=/bin/kill -HUP $MAINPID
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb
index eb50d0fd44..a76de0d3b8 100644
--- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.bb
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb
@@ -6,9 +6,8 @@ LIC_FILES_CHKSUM = "file://README;beginline=3;endline=8;md5=7f7f00ba639ac8e8deb5
DEPENDS = "openssl libnl pciutils"
-PR = "r1"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \
+ file://0001-Added-checks-for-printing-variables-with-wrong-types.patch \
file://init \
file://snmpd.conf \
file://snmptrapd.conf \
@@ -16,12 +15,10 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
file://snmpd.service \
file://snmptrapd.service \
file://ifmib.patch \
- file://net-snmp-5.7.2-fix-CVE-2014-2284.patch \
- file://net-snmp-5.7.2-fix-CVE-2014-2285.patch \
"
-SRC_URI[md5sum] = "5bddd02e2f82b62daa79f82717737a14"
-SRC_URI[sha256sum] = "09ed31b4cc1f3c0411ef9a16eff79ef3b30d89c32ca46d5a01a41826c4ceb816"
+SRC_URI[md5sum] = "a2c83518648b0f2a5d378625e45c0e18"
+SRC_URI[sha256sum] = "ac9105539971f7cfb1456a86d479e18e8a8b3712212595ad40504347ba5843da"
inherit autotools update-rc.d siteinfo systemd
@@ -39,6 +36,11 @@ EXTRA_OECONF = "--disable-embedded-perl \
--with-defaults \
${@base_conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)}"
+CACHED_CONFIGUREVARS = " \
+ ac_cv_header_valgrind_valgrind_h=no \
+ ac_cv_header_valgrind_memcheck_h=no \
+"
+
do_configure_prepend() {
export PERLPROG="${bindir}/env perl"
}
@@ -49,19 +51,26 @@ 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/
- install -d ${STAGING_BINDIR}
- install -m 0755 ${D}${bindir}/net-snmp-config ${STAGING_BINDIR}/
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 ${STAGING_BINDIR}/net-snmp-config
+ -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
}
+SYSROOT_PREPROCESS_FUNCS += "net_snmp_sysroot_preprocess"
+
+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}/
+ fi
+}
+
PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-dev ${PN}-staticdev ${PN}-static ${PN}-libs \
${PN}-mibs ${PN}-server ${PN}-client ${PN}-server-snmpd ${PN}-server-snmptrapd"
diff --git a/meta-networking/recipes-protocols/openflow/openflow.inc b/meta-networking/recipes-protocols/openflow/openflow.inc
index 43af54ea59..1a226f82ca 100644
--- a/meta-networking/recipes-protocols/openflow/openflow.inc
+++ b/meta-networking/recipes-protocols/openflow/openflow.inc
@@ -22,7 +22,7 @@ PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl, openssl, libssl"
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools-brokensep
do_configure() {
./boot.sh
diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-modify-CFLAGS-to-aviod-build-error.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-modify-CFLAGS-to-aviod-build-error.patch
new file mode 100644
index 0000000000..96dbc7551d
--- /dev/null
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-modify-CFLAGS-to-aviod-build-error.patch
@@ -0,0 +1,106 @@
+From 152486fa3c36c3b99d17d5b553cf87ef412fae8e Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Mon, 1 Dec 2014 01:53:41 +0900
+Subject: [PATCH] Makefile:modify CFLAGS to aviod build error.
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ Makefile | 22 +++++++++++-----------
+ plugins/Makefile | 6 +++---
+ 2 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 4aaa448..baa7882 100644
+--- a/Makefile
++++ b/Makefile
+@@ -152,10 +152,10 @@ LIBS.dmalloc= -ldmalloc
+ export USE_DMALLOC
+ endif
+
+-CPPFLAGS= $(CPPFLAGS.l2tptest) $(CPPFLAGS-y)
+-CFLAGS= -I. -Iusl -Icli -isystem include \
+- -MMD -Wall -Werror -Wno-strict-aliasing \
+- $(CPPFLAGS) $(CPPFLAGS.dmalloc) \
++ADD_CPPFLAGS= $(CPPFLAGS.l2tptest) $(CPPFLAGS-y)
++ADD_CFLAGS= -I. -Iusl -Icli -isystem include \
++ -MMD -Wall -Wno-strict-aliasing \
++ $(ADD_CPPFLAGS) $(CPPFLAGS.dmalloc) \
+ -DSYS_LIBDIR=$(SYS_LIBDIR)
+ LDFLAGS.l2tpd= -Wl,-E -L. -Lusl -lusl -ldl $(LIBS.dmalloc) -lc
+ LDFLAGS.l2tpconfig= -Lcli -lcli -lreadline $(LIBS.dmalloc) $(READLINE_LDFLAGS) -lc
+@@ -170,10 +170,10 @@ CFLAGS.optimize= $(OPT_CFLAGS)
+ endif
+ export CFLAGS.optimize
+
+-CFLAGS+= $(CFLAGS.optimize)
++ADD_CFLAGS+= $(CFLAGS.optimize)
+
+ ifeq ($(L2TP_USE_ASYNC_RPC),y)
+-CPPFLAGS+= -DL2TP_ASYNC_RPC
++ADD_CPPFLAGS+= -DL2TP_ASYNC_RPC
+ endif
+
+ ifeq ($(L2TP_FEATURE_RPC_MANAGEMENT),y)
+@@ -220,13 +220,13 @@ endif
+
+ # Compile without -Wall because rpcgen-generated code is full of warnings.
+ %_xdr.o: %_xdr.c
+- $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(CPPFLAGS) $<
++ $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(ADD_CPPFLAGS) $<
+
+ %_client.o: %_client.c
+- $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(CPPFLAGS) $<
++ $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(ADD_CPPFLAGS) $<
+
+ %_server.o: %_server.c
+- $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(CPPFLAGS) $<
++ $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(ADD_CPPFLAGS) $<
+
+ %_xdr.c: %.x
+ -$(RM) $@
+@@ -272,7 +272,7 @@ l2tpconfig: $(L2TPCONFIG_SRCS.o)
+ $(CC) -o $@ $^ $(LDFLAGS.l2tpconfig)
+
+ %.o: %.c
+- $(CC) -c $(CFLAGS) $< -o $@
++ $(CC) -c $(CFLAGS) $(ADD_CFLAGS) $< -o $@
+
+ l2tp_options.h: FORCE
+ @rm -f $@.tmp
+@@ -325,7 +325,7 @@ install: install-all
+ install-all: all install-daemon install-app
+
+ install-daemon:
+- @for d in $(filter-out usl,$(SUBDIRS)); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" install; if [ $$? -ne 0 ]; then exit 1; fi; done
++ @for d in $(filter-out usl,$(SUBDIRS)); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS) $(ADD_CPPFLAGS)" install; if [ $$? -ne 0 ]; then exit 1; fi; done
+ $(INSTALL) -d $(DESTDIR)/usr/sbin
+ $(INSTALL) openl2tpd $(DESTDIR)/usr/sbin
+
+diff --git a/plugins/Makefile b/plugins/Makefile
+index 5be996d..6810236 100644
+--- a/plugins/Makefile
++++ b/plugins/Makefile
+@@ -1,7 +1,7 @@
+-CFLAGS := $(CFLAGS.optimize) -MMD -Wall \
++ADD_CFLAGS := $(CFLAGS.optimize) -MMD -Wall \
+ -isystem ../include \
+ -I. -I.. -I../usl -fPIC $(EXTRA_CFLAGS)
+-LDFLAGS := -shared
++ADD_LDFLAGS := -shared
+
+ PLUGINS.c:= ppp_unix.c ppp_null.c ipsec.c event_sock.c
+
+@@ -21,7 +21,7 @@ clean:
+ $(RM) $(PLUGINS.so) $(wildcard *.o) $(wildcard *.d) $(SRC.generated)
+
+ %.so: %.c
+- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $<
++ $(CC) -o $@ $(LDFLAGS) $(ADD_LDFLAGS) $(CFLAGS) $(ADD_CFLAGS) $<
+
+ install: all
+ $(INSTALL) -d $(DESTDIR)$(SYS_LIBDIR)/openl2tp
+--
+1.8.4.2
+
diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tp-simplify-gcc-warning-hack.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tp-simplify-gcc-warning-hack.patch
new file mode 100644
index 0000000000..c11a127b81
--- /dev/null
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tp-simplify-gcc-warning-hack.patch
@@ -0,0 +1,41 @@
+From 460549a3de27f8dd8371b6d6fc1f69d8bffa102b Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Tue, 6 Jan 2015 11:23:21 -0500
+Subject: [PATCH] openl2tp: simplify gcc warning hack
+
+The hack to work around the gcc warning causes problems with some modern
+gcc configurations. Since the redef behaviour is essentially correct
+everywhere and since the hack is still required on 32-bit builders, leave
+it in place but remove the #if guard since it is only there to ensure that
+the l2tp_private.h file is updated if the rpc source file is changed and
+the two get out of sync.
+
+Upstream-status: pending
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+---
+ l2tp_private.h | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/l2tp_private.h b/l2tp_private.h
+index f3c1af7..cca6806 100644
+--- a/l2tp_private.h
++++ b/l2tp_private.h
+@@ -89,14 +89,8 @@
+ * So we redefine the constant with UL suffix to avoid the gcc warning.
+ * Is there some C preprocessor magic that could avoid having to do this?
+ */
+-#if L2TP_API_TUNNEL_FLAG_MTU != 2147483648
+-#error Constant L2TP_API_TUNNEL_FLAG_MTU changed. Update local definition here.
+-#endif
+ #undef L2TP_API_TUNNEL_FLAG_MTU
+ #define L2TP_API_TUNNEL_FLAG_MTU 2147483648UL
+-#if L2TP_API_SESSION_FLAG_NO_PPP != 2147483648
+-#error Constant L2TP_API_SESSION_FLAG_NO_PPP changed. Update local definition here.
+-#endif
+ #undef L2TP_API_SESSION_FLAG_NO_PPP
+ #define L2TP_API_SESSION_FLAG_NO_PPP 2147483648UL
+
+--
+1.9.1
+
diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
new file mode 100644
index 0000000000..5a041073de
--- /dev/null
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
@@ -0,0 +1,36 @@
+SUMMARY = "An L2TP client/server, designed for VPN use."
+DESCRIPTION = "OpenL2TP is an open source L2TP client / server, written \
+specifically for Linux. It has been designed for use as an enterprise \
+L2TP VPN server or in commercial, Linux-based, embedded networking \
+products and is able to support hundreds of sessions, each with \
+different configuration. It is used by several ISPs to provide \
+L2TP services and by corporations to implement L2TP VPNs."
+HOMEPAGE = "http://www.openl2tp.org/"
+SECTION = "console/network"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e9d9259cbbf00945adc25a470c1d3585"
+DEPENDS = "popt flex readline"
+
+SRC_URI = "http://ftp.jaist.ac.jp/pub/sourceforge/o/op/${PN}/${PN}/${PV}/${BP}.tar.gz \
+ file://Makefile-modify-CFLAGS-to-aviod-build-error.patch \
+ file://openl2tp-simplify-gcc-warning-hack.patch \
+ "
+SRC_URI[md5sum] = "e3d08dedfb9e6a9a1e24f6766f6dadd0"
+SRC_URI[sha256sum] = "1c97704d4b963a87fbc0e741668d4530933991515ae9ab0dffd11b5444f4860f"
+
+inherit autotools-brokensep pkgconfig
+
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE = 'CFLAGS="${CFLAGS} -Wno-nused-but-set-variable"'
+
+do_compile_prepend() {
+ sed -i -e "s:SYS_LIBDIR=.*:SYS_LIBDIR=${libdir}:g" \
+ -e 's:$(CROSS_COMPILE)as:${AS}:g' \
+ -e 's:$(CROSS_COMPILE)ld:${LD}:g' \
+ -e 's:$(CROSS_COMPILE)gcc:${CC}:g' \
+ -e 's:$(CROSS_COMPILE)ar:${AR}:g' \
+ -e 's:$(CROSS_COMPILE)nm:${NM}:g' \
+ -e 's:$(CROSS_COMPILE)strip:${STRIP}:g' \
+ -e 's:$(CROSS_COMPILE)install:install:g' \
+ ${S}/Makefile
+}
diff --git a/meta-networking/recipes-protocols/quagga/files/0001-doc-fix-makeinfo-errors-and-one-warning.patch b/meta-networking/recipes-protocols/quagga/files/0001-doc-fix-makeinfo-errors-and-one-warning.patch
deleted file mode 100644
index 24fdac505a..0000000000
--- a/meta-networking/recipes-protocols/quagga/files/0001-doc-fix-makeinfo-errors-and-one-warning.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From d6cbd8bbc34529a1aff74b5ee73366b89526c961 Mon Sep 17 00:00:00 2001
-From: Joe MacDonald <joe@deserted.net>
-Date: Fri, 22 Mar 2013 08:54:44 +0000
-Subject: [PATCH] doc: fix makeinfo errors and one warning
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit 4afa50b added few lines that are syntactically incorrect
-with leading plus sign.
-
-Upstream-Status: Backport [http://git.savannah.gnu.org/gitweb/?p=quagga.git;a=commit;h=b58c90807c9d0bfa9601704c7490a16070906004]
-
-Cc: Denis Ovsienko <infrastation@yandex.ru>
-Signed-off-by: Timo Teräs <timo.teras@iki.fi>
-Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
-Signed-off-by: Joe MacDonald <joe@deserted.net>
----
- doc/ipv6.texi | 4 ++--
- doc/quagga.texi | 6 +++---
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/doc/ipv6.texi b/doc/ipv6.texi
-index b6cc437..2482c1c 100644
---- a/doc/ipv6.texi
-+++ b/doc/ipv6.texi
-@@ -136,8 +136,8 @@ for the lowest preference possible.
- Default: 0
- @end deffn
-
--+@deffn {Interface Command} {ipv6 nd home-agent-lifetime <0-65520>} {}
--+@deffnx {Interface Command} {no ipv6 nd home-agent-lifetime [<0-65520>]} {}
-+@deffn {Interface Command} {ipv6 nd home-agent-lifetime <0-65520>} {}
-+@deffnx {Interface Command} {no ipv6 nd home-agent-lifetime [<0-65520>]} {}
- The value to be placed in Home Agent Option, when Home Agent config flag is set,
- which indicates to hosts Home Agent Lifetime. The default value of 0 means to
- place the current Router Lifetime value.
-diff --git a/doc/quagga.texi b/doc/quagga.texi
-index ff913aa..b4105ac 100644
---- a/doc/quagga.texi
-+++ b/doc/quagga.texi
-@@ -1,13 +1,13 @@
- \input texinfo @c -*- texinfo -*-
-+@c Set variables - sourced from defines.texi
-+@include defines.texi
-+
- @c %**start of header
- @setchapternewpage odd
- @settitle @uref{http://www.quagga.net,,@value{PACKAGE_NAME}}
- @setfilename quagga.info
- @c %**end of header
-
--@c Set variables - sourced from defines.texi
--@include defines.texi
--
- @c automake will automatically generate version.texi
- @c and set EDITION, VERSION, UPDATED and UPDATED-MONTH
- @include version.texi
---
-1.7.10.4
-
diff --git a/meta-networking/recipes-protocols/quagga/files/babeld.service b/meta-networking/recipes-protocols/quagga/files/babeld.service
new file mode 100644
index 0000000000..dd344b0b34
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/babeld.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Babel routing daemon
+BindTo=zebra.service
+After=zebra.service
+ConditionPathExists=@SYSCONFDIR@/quagga/babeld.conf
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/quagga
+ExecStart=@SBINDIR@/babeld -d $babeld_options -f /etc/quagga/babeld.conf
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-protocols/quagga/files/bgpd.service b/meta-networking/recipes-protocols/quagga/files/bgpd.service
new file mode 100644
index 0000000000..164c81724c
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/bgpd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=BGP routing daemon
+BindTo=zebra.service
+After=zebra.service
+ConditionPathExists=@SYSCONFDIR@/quagga/bgpd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/quagga
+ExecStart=@SBINDIR@/bgpd -d $bgpd_options -f /etc/quagga/bgpd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-protocols/quagga/files/build-fix-extract.pl-for-cross-compilation.patch b/meta-networking/recipes-protocols/quagga/files/build-fix-extract.pl-for-cross-compilation.patch
deleted file mode 100644
index 7e5beef30d..0000000000
--- a/meta-networking/recipes-protocols/quagga/files/build-fix-extract.pl-for-cross-compilation.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Upstream-Status: Backport
-
-From ed6e297972318a0070ad4d973401fbc6e0def558 Mon Sep 17 00:00:00 2001
-From: Serj Kalichev <serj.kalichev@gmail.com>
-Date: Fri, 7 Sep 2012 13:29:42 +0400
-Subject: [PATCH] build: fix extract.pl for cross compilation
-
-extract.pl should invoke the C preprocessor for the target system, not the
-host.
-
-* vtysh/extract.pl.in: use @CPP@ to get target cpp
----
- vtysh/extract.pl.in | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in
-index 7612aff..4c3a47f 100755
---- a/vtysh/extract.pl.in
-+++ b/vtysh/extract.pl.in
-@@ -63,7 +63,7 @@ $ignore{'"show history"'} = "ignore";
- foreach (@ARGV) {
- $file = $_;
-
-- open (FH, "cpp -DHAVE_CONFIG_H -DVTYSH_EXTRACT_PL -DHAVE_IPV6 -I@top_builddir@ -I@srcdir@/ -I@srcdir@/.. -I@top_srcdir@/lib -I@top_srcdir@/isisd/topology @SNMP_INCLUDES@ @CPPFLAGS@ $file |");
-+ open (FH, "@CPP@ -DHAVE_CONFIG_H -DVTYSH_EXTRACT_PL -DHAVE_IPV6 -I@top_builddir@ -I@srcdir@/ -I@srcdir@/.. -I@top_srcdir@/lib -I@top_srcdir@/isisd/topology @SNMP_INCLUDES@ @CPPFLAGS@ $file |");
- local $/; undef $/;
- $line = <FH>;
- close (FH);
---
-1.7.1
-
diff --git a/meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch b/meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch
deleted file mode 100644
index 50f0ad502f..0000000000
--- a/meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-At first this worked, then I tried a clean build in a directory that
-contained lib in it (oe/build/titan-glibc) and vtysh no longer
-worked. It's test for the lib directory was excepting anything
-containing lib.
-
-With this patch you still cannot have lib in the path anywhere, but
-at least things containing lib will now work.
-
---- quagga-0.99.2/vtysh/extract.pl.in 2005/11/16 04:12:04 1.1
-+++ quagga-0.99.2/vtysh/extract.pl.in 2005/11/16 04:12:16
-@@ -89,7 +89,7 @@
- $cmd =~ s/\s+$//g;
-
- # $protocol is VTYSH_PROTO format for redirection of user input
-- if ($file =~ /lib/) {
-+ if ($file =~ /\/lib\//) {
- if ($file =~ /keychain.c/) {
- $protocol = "VTYSH_RIPD";
- }
diff --git a/meta-networking/recipes-protocols/quagga/files/isisd.service b/meta-networking/recipes-protocols/quagga/files/isisd.service
new file mode 100644
index 0000000000..9bfe7b65ef
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/isisd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=IS-IS routing daemon
+BindTo=zebra.service
+After=zebra.service
+ConditionPathExists=@SYSCONFDIR@/quagga/isisd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/quagga
+ExecStart=@SBINDIR@/isisd -d $isisd_options -f /etc/quagga/isisd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-protocols/quagga/files/lingering-IP-address-after-deletion-BZ-486.patch b/meta-networking/recipes-protocols/quagga/files/lingering-IP-address-after-deletion-BZ-486.patch
deleted file mode 100644
index 42bdc20fcb..0000000000
--- a/meta-networking/recipes-protocols/quagga/files/lingering-IP-address-after-deletion-BZ-486.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 7f062c217b262e362a3362c677dea6c5e820adf1 Mon Sep 17 00:00:00 2001
-From: David Lamparter <equinox@diac24.net>
-Date: Mon, 1 Feb 2010 16:41:26 +0100
-Subject: [PATCH] zebra: lingering IP address after deletion (BZ#486)
-
-Upstream-status: Backport
-
-zebra address bookkeeping is a mess. this is just a workaround to have
-IPv4 address deletion somewhat working on Linux.
-
-the if_unset_prefix call is synchronous, when it returns success the
-address deletion completed successfully. this is either signaled by a
-netlink ACK or by an OK return value from ioctl().
-
-This version is wrapped by #ifdef HAVE_NETLINK so we don't touch the
-BSDs for now.
-
-* zebra/interface.c: On Linux, update zebra internal state after
- deleting an address.
-
-Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
----
- zebra/interface.c | 21 ++++++++++++++++++---
- 1 file changed, 18 insertions(+), 3 deletions(-)
-
-diff --git a/zebra/interface.c b/zebra/interface.c
-index 2242259..3578b79 100644
---- a/zebra/interface.c
-+++ b/zebra/interface.c
-@@ -1297,13 +1297,28 @@ ip_address_uninstall (struct vty *vty, struct interface *ifp,
- safe_strerror(errno), VTY_NEWLINE);
- return CMD_WARNING;
- }
-+ /* success! call returned that the address deletion went through.
-+ * this is a synchronous operation, so we know it succeeded and can
-+ * now update all internal state. */
-+
-+ /* the HAVE_NETLINK check is only here because, on BSD, although the
-+ * call above is still synchronous, we get a second confirmation later
-+ * through the route socket, and we don't want to touch that behaviour
-+ * for now. It should work without the #ifdef, but why take the risk...
-+ * -- equinox 2012-07-13 */
-+#ifdef HAVE_NETLINK
-+
-+ /* Remove connected route. */
-+ connected_down_ipv4 (ifp, ifc);
-
--#if 0
- /* Redistribute this information. */
- zebra_interface_address_delete_update (ifp, ifc);
-
-- /* Remove connected route. */
-- connected_down_ipv4 (ifp, ifc);
-+ /* IP address propery set. */
-+ UNSET_FLAG (ifc->conf, ZEBRA_IFC_REAL);
-+
-+ /* remove from interface, remark secondaries */
-+ if_subnet_delete (ifp, ifc);
-
- /* Free address information. */
- listnode_delete (ifp->connected, ifc);
---
-1.7.10.4
-
diff --git a/meta-networking/recipes-protocols/quagga/files/ospf6d.service b/meta-networking/recipes-protocols/quagga/files/ospf6d.service
new file mode 100644
index 0000000000..4b8ebf8026
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/ospf6d.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=OSPF routing daemon for IPv6
+BindTo=zebra.service
+After=zebra.service
+ConditionPathExists=@SYSCONFDIR@/quagga/ospf6d.conf
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/quagga
+ExecStart=@SBINDIR@/ospf6d -d $ospf6d_options -f /etc/quagga/ospf6d.conf
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-protocols/quagga/files/ospfd.service b/meta-networking/recipes-protocols/quagga/files/ospfd.service
new file mode 100644
index 0000000000..f9f5031b4b
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/ospfd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=OSPF routing daemon
+BindTo=zebra.service
+After=zebra.service
+ConditionPathExists=@SYSCONFDIR@/quagga/ospfd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/quagga
+ExecStart=@SBINDIR@/ospfd -d $ospfd_options -f /etc/quagga/ospfd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch b/meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch
deleted file mode 100644
index 9563ea2f36..0000000000
--- a/meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 63e97633d01908da6d3776ac61e4033e6fa91e5c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@gmail.com>
-Date: Sun, 5 Sep 2010 18:19:09 +0200
-Subject: [PATCH] build: fix linking position for libcap
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
- * lib/Makefile.am: link libzebra to libcap, since it uses symbols
- from there.
- * zebra/Makefile.am: no need to link libcap here now, since it's not
- used directly (libtool with apply transitive dependencies for
- static linking).
-
-Signed-off-by: Diego Elio Pettenò <flameeyes@gmail.com>
-
-Imported from Gentoo by Paul Eggleton <paul.eggleton@linux.intel.com>
-Upstream-Status: Pending
-
----
- lib/Makefile.am | 2 +-
- zebra/Makefile.am | 5 ++---
- 2 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/lib/Makefile.am b/lib/Makefile.am
-index 315e919..6e69993 100644
---- a/lib/Makefile.am
-+++ b/lib/Makefile.am
-@@ -18,7 +18,7 @@ BUILT_SOURCES = memtypes.h route_types.h
-
- libzebra_la_DEPENDENCIES = @LIB_REGEX@
-
--libzebra_la_LIBADD = @LIB_REGEX@
-+libzebra_la_LIBADD = @LIB_REGEX@ $(LIBCAP)
-
- pkginclude_HEADERS = \
- buffer.h checksum.h command.h filter.h getopt.h hash.h \
-diff --git a/zebra/Makefile.am b/zebra/Makefile.am
-index 542f36f..d09a209 100644
---- a/zebra/Makefile.am
-+++ b/zebra/Makefile.am
-@@ -5,7 +5,6 @@ DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -DMULTIPATH_NUM=@MULTIPATH_NUM@
- INSTALL_SDATA=@INSTALL@ -m 600
-
- LIB_IPV6 = @LIB_IPV6@
--LIBCAP = @LIBCAP@
-
- ipforward = @IPFORWARD@
- if_method = @IF_METHOD@
-@@ -39,9 +38,9 @@ noinst_HEADERS = \
- connected.h ioctl.h rib.h rt.h zserv.h redistribute.h debug.h rtadv.h \
- interface.h ipforward.h irdp.h router-id.h kernel_socket.h
-
--zebra_LDADD = $(otherobj) $(LIBCAP) $(LIB_IPV6) ../lib/libzebra.la
-+zebra_LDADD = $(otherobj) ../lib/libzebra.la $(LIB_IPV6)
-
--testzebra_LDADD = $(LIBCAP) $(LIB_IPV6) ../lib/libzebra.la
-+testzebra_LDADD = ../lib/libzebra.la $(LIB_IPV6)
-
- zebra_DEPENDENCIES = $(otherobj)
-
---
-1.7.2.2
-
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga-fix-CVE-2013-6051.patch b/meta-networking/recipes-protocols/quagga/files/quagga-fix-CVE-2013-6051.patch
deleted file mode 100644
index fde9e0ca81..0000000000
--- a/meta-networking/recipes-protocols/quagga/files/quagga-fix-CVE-2013-6051.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-
-From 8794e8d229dc9fe29ea31424883433d4880ef408
-From: Paul Jakma <paul@quagga.net>
-Date: Mon, 13 Feb 2012 13:53:07 +0000
-Subject: bgpd: Fix regression in args consolidation, total should be inited from args
-
-bgpd: Fix regression in args consolidation, total should be inited from args
-
-* bgp_attr.c: (bgp_attr_unknown) total should be initialised from the args.
-
-Upstream-Status: Backport
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-
-diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
-index 65af824..839f64d 100644
---- a/bgpd/bgp_attr.c
-+++ b/bgpd/bgp_attr.c
-
-@@ -1646,7 +1646,7 @@
- static bgp_attr_parse_ret_t
- bgp_attr_unknown (struct bgp_attr_parser_args *args)
- {
-- bgp_size_t total;
-+ bgp_size_t total = args->total;
- struct transit *transit;
- struct attr_extra *attre;
- struct peer *const peer = args->peer;
diff --git a/meta-networking/recipes-protocols/quagga/files/ripd.service b/meta-networking/recipes-protocols/quagga/files/ripd.service
new file mode 100644
index 0000000000..5dfd28b3ad
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/ripd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=RIP routing daemon
+BindTo=zebra.service
+After=zebra.service
+ConditionPathExists=@SYSCONFDIR@/quagga/ripd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/quagga
+ExecStart=@SBINDIR@/ripd -d $ripd_options -f /etc/quagga/ripd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-protocols/quagga/files/ripngd.service b/meta-networking/recipes-protocols/quagga/files/ripngd.service
new file mode 100644
index 0000000000..72562d5f7c
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/ripngd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=RIP routing daemon for IPv6
+BindTo=zebra.service
+After=zebra.service
+ConditionPathExists=@SYSCONFDIR@/quagga/ripngd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/quagga
+ExecStart=@SBINDIR@/ripngd -d $ripngd_options -f /etc/quagga/ripngd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga b/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga
index cfb896a17b..1f28c0b24d 100644
--- a/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga
+++ b/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga
@@ -1,3 +1,3 @@
# <type> <owner> <group> <mode> <path> <linksource>
d quagga quagga 0755 /var/run/quagga none
-d quagga quagga 0755 /var/log/quagga none \ No newline at end of file
+d quagga quagga 0755 /var/log/quagga none
diff --git a/meta-networking/recipes-protocols/quagga/files/work-with-new-readline.patch b/meta-networking/recipes-protocols/quagga/files/work-with-new-readline.patch
deleted file mode 100644
index 2bd333a70a..0000000000
--- a/meta-networking/recipes-protocols/quagga/files/work-with-new-readline.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 66df315d2a270a254c613a4d2e72c0ea47f15a71 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 27 Mar 2014 09:35:29 +0000
-Subject: [PATCH] vtysh/vtysh.c: works with new readline
-
-The Function and CPPFunction had been removed by in readline 6.3, use
-the new functions to replace them.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- vtysh/vtysh.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
-index 431c08e..fdd82fb 100644
---- a/vtysh/vtysh.c
-+++ b/vtysh/vtysh.c
-@@ -2212,9 +2212,9 @@ void
- vtysh_readline_init (void)
- {
- /* readline related settings. */
-- rl_bind_key ('?', (Function *) vtysh_rl_describe);
-+ rl_bind_key ('?', (rl_command_func_t *) vtysh_rl_describe);
- rl_completion_entry_function = vtysh_completion_entry_function;
-- rl_attempted_completion_function = (CPPFunction *)new_completion;
-+ rl_attempted_completion_function = (rl_completion_func_t *)new_completion;
- /* do not append space after completion. It will be appended
- * in new_completion() function explicitly. */
- rl_completion_append_character = '\0';
---
-1.8.3.4
-
diff --git a/meta-networking/recipes-protocols/quagga/files/zebra.service b/meta-networking/recipes-protocols/quagga/files/zebra.service
new file mode 100644
index 0000000000..afdd9e52db
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/zebra.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=GNU Zebra routing manager
+Wants=network.target
+Before=network.target
+ConditionPathExists=@SYSCONFDIR@/quagga/zebra.conf
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/quagga
+ExecStartPre=@BASE_SBINDIR@/ip route flush proto zebra
+ExecStart=@SBINDIR@/zebra -d $zebra_options -f /etc/quagga/zebra.conf
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-networking/recipes-protocols/quagga/quagga.inc
index 5eeb18bebf..2c0817b83f 100644
--- a/meta-networking/recipes-protocols/quagga/quagga.inc
+++ b/meta-networking/recipes-protocols/quagga/quagga.inc
@@ -12,10 +12,8 @@ DEPENDS = "readline ncurses perl-native"
DEPENDS += "${@base_contains('DISTRO_FEATURES', 'snmp', 'net-snmp', '', d)}"
SNMP_CONF="${@base_contains('DISTRO_FEATURES', 'snmp', '--enable-snmp', '', d)}"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
- file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
-
-INC_PR = "r2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=81bcece21748c91ba9992349a91ec11d \
+ file://COPYING.LIB;md5=01ef24401ded36cd8e5d18bfe947240c"
# the "ip" command from busybox is not sufficient (flush by protocol flushes all routes)
RDEPENDS_${PN} += "iproute2"
@@ -23,10 +21,7 @@ RDEPENDS_${PN} += "iproute2"
QUAGGASUBDIR = ""
# ${QUAGGASUBDIR} is deal with old versions. Set to "/attic" for old
# versions and leave it empty for recent versions.
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz;name=quagga-${PV} \
- file://fix-for-lib-inpath.patch \
- file://quagga-0.99.17-libcap.patch \
- file://quagga-fix-CVE-2013-6051.patch \
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \
file://Zebra-sync-zebra-routing-table-with-the-kernel-one.patch \
file://quagga.init \
file://quagga.default \
@@ -36,20 +31,38 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz;name
file://quagga.pam \
file://ripd-fix-two-bugs-after-received-SIGHUP.patch \
file://quagga-Avoid-duplicate-connected-address.patch \
+ file://babeld.service \
+ file://bgpd.service \
+ file://isisd.service \
+ file://ospf6d.service \
+ file://ospfd.service \
+ file://ripd.service \
+ file://ripngd.service \
+ file://zebra.service \
"
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap"
PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam"
-inherit autotools update-rc.d useradd
+inherit autotools update-rc.d useradd systemd
+
+SYSTEMD_PACKAGES = "${PN} ${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
+SYSTEMD_SERVICE_${PN}-babeld = "babeld.service"
+SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service"
+SYSTEMD_SERVICE_${PN}-isisd = "isisd.service"
+SYSTEMD_SERVICE_${PN}-ospf6d = "ospf6d.service"
+SYSTEMD_SERVICE_${PN}-ospfd = "ospfd.service"
+SYSTEMD_SERVICE_${PN}-ripd = "ripd.service"
+SYSTEMD_SERVICE_${PN}-ripngd = "ripngd.service"
+SYSTEMD_SERVICE_${PN} = "zebra.service"
EXTRA_OECONF = "--sysconfdir=${sysconfdir}/quagga \
--localstatedir=${localstatedir}/run/quagga \
--enable-exampledir=${docdir}/quagga/examples/ \
--enable-vtysh \
--enable-isisd \
- --enable-watchquagga \
+ ${@base_contains('DISTRO_FEATURES', 'sysvinit', '--enable-watchquagga', '--disable-watchquagga', d)} \
--enable-ospf-te \
--enable-opaque-lsa \
--enable-ipv6 \
@@ -113,12 +126,44 @@ do_install () {
fi
done
+ if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /var/run/quagga 0755 quagga quagga -" \
+ > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+ fi
+
+ # Remove sysinit script if sysvinit is not in DISTRO_FEATURES
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
+ rm -rf ${D}${sysconfdir}/init.d/
+ rm -f ${D}${sysconfdir}/default/watchquagga
+ fi
+
+ install -d ${D}${systemd_unitdir}/system
+ for i in babeld bgpd isisd ospf6d ospfd ripd ripngd zebra; do
+ install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system
+ done
+ sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -i ${D}${systemd_unitdir}/system/*.service
+}
+
+DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}"
+pkg_postinst_${PN} () {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then
+ if [ -n "$D" ]; then
+ OPTS="--root=$D"
+ fi
+ systemctl $OPTS mask quagga.service
+ fi
}
# Split into a main package and separate per-protocol packages
PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-babeld ${PN}-bgpd \
${PN}-ripd ${PN}-ripngd ${PN}-isisd \
- ${PN}-ospfclient ${PN}-watchquagga"
+ ${PN}-ospfclient ${@base_contains('DISTRO_FEATURES', 'sysvinit', '${PN}-watchquagga', '', d)}"
+
+RDEPENDS_${PN} += "${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
FILES_${PN}-ospfd = "${sbindir}/ospfd ${libdir}/libospf.so.*"
FILES_${PN}-ospf6d = "${sbindir}/ospf6d"
diff --git a/meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb b/meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb
deleted file mode 100644
index 0988b70eb0..0000000000
--- a/meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require quagga.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI += "file://0001-doc-fix-makeinfo-errors-and-one-warning.patch \
- file://lingering-IP-address-after-deletion-BZ-486.patch \
- file://build-fix-extract.pl-for-cross-compilation.patch \
- file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \
- file://work-with-new-readline.patch \
-"
-
-SRC_URI[quagga-0.99.21.md5sum] = "99840adbe57047c90dfba6b6ed9aec7f"
-SRC_URI[quagga-0.99.21.sha256sum] = "9b8aea9026b4771a28e254a66cbd854723bcd0d71eebd0201d11838d4eb392ee"
-
-QUAGGASUBDIR = ""
diff --git a/meta-networking/recipes-protocols/quagga/quagga_0.99.23.bb b/meta-networking/recipes-protocols/quagga/quagga_0.99.23.bb
new file mode 100644
index 0000000000..a56767e518
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/quagga_0.99.23.bb
@@ -0,0 +1,9 @@
+require quagga.inc
+
+SRC_URI += "file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \
+"
+
+SRC_URI[md5sum] = "d17145e62b6ea14f0f13bb63f59e5166"
+SRC_URI[sha256sum] = "2c7798204f35dc7acea9f206647e8aa3957cae3b21733cdff413b506481a101c"
+
+QUAGGASUBDIR = ""
diff --git a/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/Modify-configure.in-and-etc-Makefile.am.patch b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/Modify-configure.in-and-etc-Makefile.am.patch
new file mode 100644
index 0000000000..ecc2d74e74
--- /dev/null
+++ b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/Modify-configure.in-and-etc-Makefile.am.patch
@@ -0,0 +1,84 @@
+From 45b97b474ce2d0ad56828db11edde8562bb47a43 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 2 Dec 2014 02:33:53 +0900
+Subject: [PATCH] Modify configure.in and etc/Makefile.am
+
+this patch is from Fedora to fix error:
+"conftest.c:26:9: error: unknown type name 'not'"
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ configure.in | 6 +++++-
+ etc/Makefile.am | 9 ++++++---
+ etc/radiusclient.conf.in | 2 +-
+ 3 files changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 812f640..3a8af99 100644
+--- a/configure.in
++++ b/configure.in
+@@ -29,6 +29,9 @@ AC_SUBST(LIBVERSION)
+ pkgsysconfdir=${sysconfdir}/$PACKAGE
+ AC_SUBST(pkgsysconfdir)
+
++pkgdatadir=${datadir}/$PACKAGE
++AC_SUBST(pkgdatadir)
++
+ AC_PROG_LIBTOOL
+
+ AC_PROG_CC
+@@ -118,7 +121,8 @@ then
+ ],
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_STRUCT_UTSNAME_DOMAINNAME),
+- AC_MSG_RESULT(no)
++ AC_MSG_RESULT(no),
++ AC_MSG_RESULT(assume no),
+ )
+ fi
+
+diff --git a/etc/Makefile.am b/etc/Makefile.am
+index 39b6975..a3c403f 100644
+--- a/etc/Makefile.am
++++ b/etc/Makefile.am
+@@ -14,9 +14,11 @@ CLEANFILES = *~ radiusclient.conf
+
+ sbindir = @sbindir@
+ pkgsysconfdir = @pkgsysconfdir@
+-pkgsysconf_DATA = issue port-id-map radiusclient.conf \
+- dictionary dictionary.ascend dictionary.compat dictionary.merit \
+- dictionary.sip
++pkgsysconf_DATA = issue port-id-map radiusclient.conf
++
++pkgdatadir = @pkgdatadir@
++pkgdata_DATA = dictionary dictionary.ascend dictionary.compat \
++ dictionary.merit dictionary.sip
+
+ EXTRA_DIST = issue port-id-map dictionary dictionary.ascend \
+ dictionary.compat dictionary.merit servers radiusclient.conf.in \
+@@ -25,6 +27,7 @@ EXTRA_DIST = issue port-id-map dictionary dictionary.ascend \
+ radiusclient.conf: radiusclient.conf.in
+ sed -e 's|@sbin''dir@|$(sbindir)|g' \
+ -e 's|@pkgsysconf''dir@|$(pkgsysconfdir)|g' \
++ -e 's|@pkgdata''dir@|$(pkgdatadir)|g' \
+ <$(srcdir)/radiusclient.conf.in >radiusclient.conf
+
+ install-data-local: servers
+diff --git a/etc/radiusclient.conf.in b/etc/radiusclient.conf.in
+index 948bc2f..aac9973 100644
+--- a/etc/radiusclient.conf.in
++++ b/etc/radiusclient.conf.in
+@@ -47,7 +47,7 @@ servers @pkgsysconfdir@/servers
+
+ # dictionary of allowed attributes and values
+ # just like in the normal RADIUS distributions
+-dictionary @pkgsysconfdir@/dictionary
++dictionary @pkgdatadir@/dictionary
+
+ # program to call for a RADIUS authenticated login
+ login_radius @sbindir@/login.radius
+--
+1.8.4.2
+
diff --git a/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/config-site.radiusclient-ng-0.5.6 b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/config-site.radiusclient-ng-0.5.6
new file mode 100644
index 0000000000..a30c144b9d
--- /dev/null
+++ b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/config-site.radiusclient-ng-0.5.6
@@ -0,0 +1 @@
+ac_cv_func_uname=no
diff --git a/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb
new file mode 100644
index 0000000000..2350d4f88b
--- /dev/null
+++ b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb
@@ -0,0 +1,36 @@
+SUMMARY = "RADIUS protocol client library"
+DESCRIPTION = "Portable, easy-to-use and standard compliant library suitable \
+for developing free and commercial software that need support for a RADIUS \
+protocol (RFCs 2128 and 2139)."
+HOMEPAGE = "http://sourceforge.net/projects/radiusclient-ng.berlios/"
+SECTION = "Applications/Internet"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/r/${BPN}/${BPN}_${PV}.orig.tar.gz \
+ file://Modify-configure.in-and-etc-Makefile.am.patch \
+ file://config-site.radiusclient-ng-${PV}"
+
+SRC_URI[md5sum] = "6fb7d4d0aefafaee7385831ac46a8e9c"
+SRC_URI[sha256sum] = "282a9f1355f190efbb06c0d7c4e062eaa652caf342ed3ad361ac595f72f09f14"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3e47566c9271b786693d8a08792dbf41"
+
+inherit autotools-brokensep
+
+EXTRA_OECONF += "--disable-static"
+
+do_configure_prepend () {
+ export CONFIG_SITE=./config-site.${P}
+}
+
+do_compile_prepend() {
+ for m in `find . -name "Makefile"` ; do
+ sed -i -e 's:^program_transform_name =.*:program_transform_name =:g' ${m}
+ done
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+ rm -f ${D}${libdir}/*.la
+ rm -f ${D}${sbindir}/radexample
+}
diff --git a/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.8/configure.patch b/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.8/configure.patch
new file mode 100644
index 0000000000..1380ba4891
--- /dev/null
+++ b/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.8/configure.patch
@@ -0,0 +1,11 @@
+Index: rp-pppoe-3.8/configure.in
+===================================================================
+--- rp-pppoe-3.8.orig/configure.in 2014-07-16 19:31:33.549991388 +0000
++++ rp-pppoe-3.8/configure.in 2014-07-17 22:01:18.116590827 +0000
+@@ -1,4 +1,4 @@
+-AC_INIT(src/pppoe.c)
+-AM_INIT_AUTOMAKE([rp-pppoe], [3.8])
++AC_INIT([rp-pppoe], [3.8])
++AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_SUBDIRS(src)
+ AC_OUTPUT(Makefile)
diff --git a/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.8.bb b/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.8.bb
index 90a8f4dd91..d1b0481b9e 100644
--- a/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.8.bb
+++ b/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.8.bb
@@ -14,13 +14,14 @@ SRC_URI = "http://www.roaringpenguin.com/files/download/${BP}.tar.gz \
file://dont-swallow-errors.patch \
file://discard-use-of-dnl-in-Makefile.am.patch \
file://use-ldflags.patch \
+ file://configure.patch \
file://pppoe-server.default \
file://pppoe-server.init"
SRC_URI[md5sum] = "0e32760f498f9cde44081ee6aafc823b"
SRC_URI[sha256sum] = "d916e9cfe1e62395f63a5361936fa855f6d0f0a37dc7227b394cdb725f553479"
-inherit autotools update-rc.d
+inherit autotools-brokensep update-rc.d
do_install() {
# Install init script and default settings
diff --git a/meta-networking/recipes-support/aoetools/aoetools/aoe-stat-no-bashism.patch b/meta-networking/recipes-support/aoetools/aoetools/aoe-stat-no-bashism.patch
new file mode 100644
index 0000000000..ec89b7a533
--- /dev/null
+++ b/meta-networking/recipes-support/aoetools/aoetools/aoe-stat-no-bashism.patch
@@ -0,0 +1,27 @@
+From 38c97e590fde19213f6ba31e72d1c227db869427 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Sun, 31 Aug 2014 22:28:38 -0700
+Subject: [PATCH] aoe-stat.in: no bashism
+
+The checkbashisms shows there is no bashism, so use /bin/sh.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ aoe-stat.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/aoe-stat.in b/aoe-stat.in
+index 50e6ac6..0c1d6f5 100755
+--- a/aoe-stat.in
++++ b/aoe-stat.in
+@@ -1,4 +1,4 @@
+-#! /bin/bash
++#! /bin/sh
+ # aoe-stat - collate and present information about AoE storage
+ # Copyright 2012, CORAID, Inc., and licensed under GPL v.2.
+
+--
+1.7.9.5
+
diff --git a/meta-networking/recipes-support/aoetools/aoetools_34.bb b/meta-networking/recipes-support/aoetools/aoetools_36.bb
index 1557de96fb..2b80ae74f7 100644
--- a/meta-networking/recipes-support/aoetools/aoetools_34.bb
+++ b/meta-networking/recipes-support/aoetools/aoetools_36.bb
@@ -10,10 +10,11 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
RRECOMMENDS_${PN} = "kernel-module-aoe"
-
-SRC_URI = "http://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "cde7f7cedc7cd9938a5ebfd009dd3ec0"
-SRC_URI[sha256sum] = "fd6c57244e9458d7cbe7a0171295ddee4d8cdcae291e40d6acbc641df7296d85"
+SRC_URI = "http://sourceforge.net/projects/${BPN}/files/${BPN}/${BPN}-${PV}.tar.gz \
+ file://aoe-stat-no-bashism.patch \
+ "
+SRC_URI[md5sum] = "bff30daa988a65f69d4448ce4726a6db"
+SRC_URI[sha256sum] = "fb5e2cd0de7644cc1ec04ee3aeb43211cf7445a0c19e13d6b3ed5a8fbdf215ff"
# EXTRA_OEMAKE is typically: -e MAKEFLAGS=
# the -e causes problems as CFLAGS is modified in the Makefile.
diff --git a/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch b/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch
new file mode 100644
index 0000000000..f332658bcd
--- /dev/null
+++ b/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch
@@ -0,0 +1,37 @@
+From cd312bc0e3686404428878d23b8888cba09a20e1 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Thu, 18 Sep 2014 19:46:58 -0700
+Subject: [PATCH] arptables.sysv: remove bashism
+
+Use "." to replace of "source", and change /bin/bash to /bin/sh, the
+echo $"foo" works well in busybox.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ arptables.sysv | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arptables.sysv b/arptables.sysv
+index 7a90bd2..7710376 100644
+--- a/arptables.sysv
++++ b/arptables.sysv
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # init script for arptables
+ #
+@@ -11,7 +11,7 @@
+ #
+ # config: __SYSCONFIG__/arptables
+
+-source /etc/init.d/functions
++. /etc/init.d/functions
+ # source /etc/sysconfig/network
+
+ # Check that networking is up.
+--
+1.7.9.5
+
diff --git a/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb b/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb
index 74f81b554a..41a55c0276 100644
--- a/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb
+++ b/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb
@@ -13,6 +13,7 @@ SRC_URI = " \
file://arptables-compile-install.patch \
file://arptables-init-busybox.patch \
file://arptables-arpt-get-target-fix.patch \
+ file://arptables-remove-bashism.patch \
"
SRC_URI[arptables.md5sum] = "1d4ab05761f063b0751645d8f2b8f8e5"
SRC_URI[arptables.sha256sum] = "e529fd465c67d69ad335299a043516e6b38cdcd337a5ed21718413e96073f928"
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
new file mode 100644
index 0000000000..06c0dd9858
--- /dev/null
+++ b/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb
@@ -0,0 +1,23 @@
+require cim-schema.inc
+
+LICENSE = "DMTF"
+
+SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-Doc.zip \
+ file://LICENSE \
+ "
+SRC_URI[md5sum] = "3d01940bc1085c6c42184c25fb61f739"
+SRC_URI[sha256sum] = "3174cf0f8657b19d80dc59e184778d8e553da424728cb2966fe9d5428dd84267"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4"
+
+do_unpack() {
+ unzip -q ${DL_DIR}/cim_schema_${PV}Final-Doc.zip -d ${S}
+ cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/
+}
+
+do_install() {
+ install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV}-docs
+ cp -a ${S}/* ${D}${datadir}/doc/cim-schema-${PV}-docs
+}
+
+FILES_${PN} = "${datadir}/doc/*"
+FILES_${PN}-doc = ""
diff --git a/meta-networking/recipes-support/cim-schema/cim-schema.inc b/meta-networking/recipes-support/cim-schema/cim-schema.inc
new file mode 100644
index 0000000000..e35bff69c7
--- /dev/null
+++ b/meta-networking/recipes-support/cim-schema/cim-schema.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Common Information Model (CIM) Schema"
+DESCRIPTION = "Common Information Model (CIM) is a model for describing overall\
+management information in a network or enterprise environment. CIM\
+consists of a specification and a schema. The specification defines the\
+details for integration with other management models. The schema\
+provides the actual model descriptions."
+
+HOMEPAGE = "http://www.dmtf.org/"
+SECTION = "Development/Libraries"
diff --git a/meta-networking/recipes-support/cim-schema/cim-schema_2.40.0.bb b/meta-networking/recipes-support/cim-schema/cim-schema_2.40.0.bb
new file mode 100644
index 0000000000..ff6c29dc5c
--- /dev/null
+++ b/meta-networking/recipes-support/cim-schema/cim-schema_2.40.0.bb
@@ -0,0 +1,31 @@
+require cim-schema.inc
+
+LICENSE = "DMTF"
+
+SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-MOFs.zip \
+ file://LICENSE \
+ "
+SRC_URI[md5sum] = "a9bdf17c7374e3b5b7adeaac4842c4ad"
+SRC_URI[sha256sum] = "dbfa3064ea427acd71a4bebbc172ca2dc44b0b09a6d83b0945b9ffa988a9058a"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4"
+
+do_unpack() {
+ unzip -q ${DL_DIR}/cim_schema_${PV}Final-MOFs.zip -d ${S}
+ cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/
+}
+
+do_install() {
+ install -d -m 0755 ${D}${datadir}/mof/cimv${PV}/
+ 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}/
+ for i in `find ${D}${datadir}/mof/cimv${PV} -name "*.mof"`; do
+ sed -i -e 's/\r//g' $i
+ done
+ ln -s cimv${PV} ${D}${datadir}/mof/cim-current
+ ln -s cim_schema_${PV}.mof ${D}${datadir}/mof/cim-current/CIM_Schema.mof
+}
+
+FILES_${PN} = "${datadir}/mof/* ${datadir}/doc/*"
+FILES_${PN}-doc = ""
diff --git a/meta-networking/recipes-support/cim-schema/files/LICENSE b/meta-networking/recipes-support/cim-schema/files/LICENSE
new file mode 100644
index 0000000000..54a28120ee
--- /dev/null
+++ b/meta-networking/recipes-support/cim-schema/files/LICENSE
@@ -0,0 +1,34 @@
+// Copyright 1998-2008 Distributed Management Task Force, Inc. (DMTF).
+// All rights reserved.
+// DMTF is a not-for-profit association of industry members dedicated
+// to promoting enterprise and systems management and interoperability.
+// DMTF specifications and documents may be reproduced by
+// members and non-members, provided that correct attribution is given.
+// As DMTF specifications may be revised from time to time,
+// the particular version and release date should always be noted.
+//
+// Implementation of certain elements of this standard or proposed
+// standard may be subject to third party patent rights, including
+// provisional patent rights (herein "patent rights"). DMTF makes
+// no representations to users of the standard as to the existence
+// of such rights, and is not responsible to recognize, disclose, or
+// identify any or all such third party patent right, owners or
+// claimants, nor for any incomplete or inaccurate identification or
+// disclosure of such rights, owners or claimants. DMTF shall have no
+// liability to any party, in any manner or circumstance, under any
+// legal theory whatsoever, for failure to recognize, disclose, or
+// identify any such third party patent rights, or for such party's
+// reliance on the standard or incorporation thereof in its product,
+// protocols or testing procedures. DMTF shall have no liability to
+// any party implementing such standard, whether such implementation
+// is foreseeable or not, nor to any patent owner or claimant, and shall
+// have no liability or responsibility for costs or losses incurred if
+// a standard is withdrawn or modified after publication, and shall be
+// indemnified and held harmless by any party implementing the
+// standard from any and all claims of infringement by a patent owner
+// for such implementations.
+//
+// For information about patents held by third-parties which have
+// notified the DMTF that, in their opinion, such patent may relate to
+// or impact implementations of DMTF standards, visit
+// http://www.dmtf.org/about/policies/disclosures.php.
diff --git a/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch b/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch
new file mode 100644
index 0000000000..dae583d854
--- /dev/null
+++ b/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch
@@ -0,0 +1,47 @@
+example21.cpp: remove deprecated code
+
+The deprecated code was no longer used, so remove it to avoid
+compiling failure with -Werror=unused-function
+...
+| example21.cpp:51:8: error: 'size_t {anonymous}::readData(char*,
+size_t, size_t)' defined but not used [-Werror=unused-function]
+| size_t readData(char *buffer, size_t size, size_t nitems)
+...
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ examples/example21.cpp | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/examples/example21.cpp b/examples/example21.cpp
+--- a/examples/example21.cpp
++++ b/examples/example21.cpp
+@@ -39,23 +39,6 @@
+ #include <curlpp/Options.hpp>
+ #include <curlpp/Exception.hpp>
+
+-/*
+- anonymous namespace to prevent name clash in case other examples using the same global entities
+- would be compiled in the same project
+-*/
+-namespace
+-{
+-
+-char *data = NULL;
+-
+-size_t readData(char *buffer, size_t size, size_t nitems)
+-{
+- strncpy(buffer, data, size * nitems);
+- return size * nitems;
+-}
+-
+-} // namespace
+-
+ int main(int argc, char *argv[])
+ {
+ if(argc != 3) {
+--
+1.9.1
+
diff --git a/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb b/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb
index c21734377d..48f5178b52 100644
--- a/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb
+++ b/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb
@@ -8,12 +8,13 @@ DEPENDS = "curl boost"
DEPENDS_class-native = "curl-native"
SRC_URI = "http://curlpp.googlecode.com/files/curlpp-${PV}.tar.gz \
+ file://example21.cpp-remove-deprecated-code.patch \
"
SRC_URI[md5sum] = "ccc3d30d4b3b5d2cdbed635898c29485"
SRC_URI[sha256sum] = "e3f9427b27c5bddf898d383d45c0d3d5397e2056ff935d9a5cdaef6a9a653bd5"
-inherit autotools pkgconfig binconfig
+inherit autotools-brokensep pkgconfig binconfig
EXTRA_OECONF = "--prefix=${STAGING_DIR} \
--with-boost=${STAGING_DIR} \
diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
index e57ab727eb..1335245986 100644
--- a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
+++ b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
@@ -13,14 +13,24 @@ SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getV
file://dnsmasq.service \
"
-inherit update-rc.d systemd
+inherit pkgconfig update-rc.d systemd
INITSCRIPT_NAME = "dnsmasq"
INITSCRIPT_PARAMS = "defaults"
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[dbus] = "COPTS=-DHAVE_DBUS,,dbus"
-EXTRA_OEMAKE = "${EXTRA_OECONF}"
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[dbus] = ",,dbus"
+PACKAGECONFIG[idn] = ",,libidn"
+PACKAGECONFIG[conntrack] = ",,libnetfilter-conntrack"
+PACKAGECONFIG[lua] = ",,lua"
+EXTRA_OEMAKE = "\
+ 'COPTS=${@base_contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \
+ ${@base_contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \
+ ${@base_contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \
+ ${@base_contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \
+ 'CFLAGS=${CFLAGS}' \
+ 'LDFLAGS=${LDFLAGS}' \
+"
do_compile_append() {
# build dhcp_release
diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch b/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch
new file mode 100644
index 0000000000..918c0b6d56
--- /dev/null
+++ b/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch
@@ -0,0 +1,29 @@
+From 1e5be0a0bcf85913d63408030dec038d360a5fa6 Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Tue, 9 Sep 2014 10:24:58 -0400
+Subject: [PATCH] Upstream-status: Inappropriate [OE specific]
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index fc38393..a79f8bf 100644
+--- a/Makefile
++++ b/Makefile
+@@ -57,8 +57,8 @@ idn_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) -
+ idn_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) --libs libidn`
+ ct_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --cflags libnetfilter_conntrack`
+ ct_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --libs libnetfilter_conntrack`
+-lua_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua5.1`
+-lua_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua5.1`
++lua_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua`
++lua_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua`
+ nettle_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --cflags nettle hogweed`
+ nettle_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --libs nettle hogweed`
+ gmp_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --copy -lgmp`
+--
+1.7.9.5
+
diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq/parallel-make.patch b/meta-networking/recipes-support/dnsmasq/dnsmasq/parallel-make.patch
new file mode 100644
index 0000000000..6d5b722eab
--- /dev/null
+++ b/meta-networking/recipes-support/dnsmasq/dnsmasq/parallel-make.patch
@@ -0,0 +1,19 @@
+The dnsmasq target depends on .configured and $(objs). .configured does an rm
+-f *.o. Yet the only thing telling make to build the .configured target before
+the $(objs) target was the order of the dependencies of the dnsmasq target. We
+can't rely on that order when doing a paralllel make build, so add an explicit
+rule to enforce that order.
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Upstream-status: Pending
+
+--- dnsmasq-2.68.orig/Makefile
++++ dnsmasq-2.68/Makefile
+@@ -139,6 +139,8 @@ bloatcheck : $(BUILDDIR)/dnsmasq_baselin
+ @rm -f *.o
+ @touch $@
+
++$(objs): .configured
++
+ $(objs:.o=.c) $(hdrs):
+ ln -s $(top)/$(SRC)/$@ .
diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.68.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.68.bb
deleted file mode 100644
index b1bef7a161..0000000000
--- a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.68.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require dnsmasq.inc
-
-SRC_URI[dnsmasq-2.68.md5sum] = "6f8351ca0901f248efdb81532778d2ef"
-SRC_URI[dnsmasq-2.68.sha256sum] = "402019d61f53f1ccc04cc6218719fd3b158ea3fca9a83ab55471f981a2097c2f"
diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.72.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.72.bb
new file mode 100644
index 0000000000..bd5919492e
--- /dev/null
+++ b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.72.bb
@@ -0,0 +1,10 @@
+require dnsmasq.inc
+
+SRC_URI += "\
+ file://parallel-make.patch \
+ file://lua.patch \
+"
+
+SRC_URI[dnsmasq-2.72.md5sum] = "cf82f81cf09ad3d47612985012240483"
+SRC_URI[dnsmasq-2.72.sha256sum] = "635f1b47417d17cf32e45cfcfd0213ac39fd09918479a25373ba9b2ce4adc05d"
+
diff --git a/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb b/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb
new file mode 100644
index 0000000000..6a50971e83
--- /dev/null
+++ b/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb
@@ -0,0 +1,35 @@
+SUMMARY = "DNSSEC and DLV configuration and priming tool"
+DESCRIPTION = "\
+DNSSEC configuration and priming tool. Keys are required until the root \
+is signed, as well as for local unpublished DNSSEC keys to be preloaded \
+into the recursive nameserver. These DNSSEC configuration files can be \
+directly included in the bind or unbound nameserver configuration files. \
+dnssec-conf includes a commandline configuration client for Bind and \
+Unbound, known DNSSEC keys, URL's to official publication pages of keys, \
+and harvested keys, as well a script to harvest DNSKEY's from DNS. \
+See also: system-config-dnssec"
+HOMEPAGE = "https://github.com/xelerance/dnssec-conf"
+SECTION = "System Environment/Daemons"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0636e73ff0215e8d672dc4c32c317bb3"
+DEPENDS += "xmlto-native docbook-xml-dtd4-native \
+ docbook-xsl-stylesheets-native libxslt-native"
+
+SRC_URI = "git://github.com/xelerance/dnssec-conf.git"
+SRCREV = "8e799683736b4a7b5e5e78f98fba0a6f48393537"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ rm -rf ${D}
+ make PREFIX=${prefix} DESTDIR=${D} ETCDIR=${D}${sysconfdir} install
+ # We no longer ship trust anchors. Most of these are in the DLV Registry now.
+ # and it prevents the problem of shipping outdated trust anchors.
+ # For DLV, we ship the ISC DLV Registry key
+ rm -rf ${D}${sysconfdir}/pki/dnssec-keys/harvest/*
+ rm -rf ${D}${sysconfdir}/pki/dnssec-keys/production/reverse/*
+ install -d -m 0755 ${D}${sysconfdir}/sysconfig
+ install -m 0644 packaging/fedora/dnssec.sysconfig ${D}${sysconfdir}/sysconfig/dnssec
+}
+
+RDEPENDS_${PN} = "python"
diff --git a/meta-networking/recipes-support/dovecot/dovecot/building-rquota_xdr.c-depend-on-rquota.h.patch b/meta-networking/recipes-support/dovecot/dovecot/building-rquota_xdr.c-depend-on-rquota.h.patch
new file mode 100644
index 0000000000..11d9d8c0d2
--- /dev/null
+++ b/meta-networking/recipes-support/dovecot/dovecot/building-rquota_xdr.c-depend-on-rquota.h.patch
@@ -0,0 +1,28 @@
+[PATCH] building rquota_xdr.c depends on rquota.h
+
+Upstream-status: Pending
+
+rquota.h is generated automatically, and building rquota_xdr.c
+needs rquota.h, so add the dependency on rquota.h for rquota_xdr.c
+
+Signed-off-by: rongqing li <rli2@yow-blade4.wrs.com>
+---
+ src/plugins/quota/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plugins/quota/Makefile.am b/src/plugins/quota/Makefile.am
+index 8a6988d..3626d79 100644
+--- a/src/plugins/quota/Makefile.am
++++ b/src/plugins/quota/Makefile.am
+@@ -70,7 +70,7 @@ RQUOTA_XDR = rquota_xdr.c
+ RQUOTA_XDR_LO = rquota_xdr.lo
+ #RQUOTA_X = /usr/include/rpcsvc/rquota.x
+ RQUOTA_X = $(srcdir)/rquota.x
+-rquota_xdr.c: Makefile $(RQUOTA_X)
++rquota_xdr.c: Makefile $(RQUOTA_X) rquota.h
+ if [ "$(top_srcdir)" != "$(top_builddir)" ]; then \
+ cp $(RQUOTA_X) $(top_builddir)/src/plugins/quota/; \
+ fi; \
+--
+1.8.2.1
+
diff --git a/meta-networking/recipes-support/dovecot/dovecot_2.2.10.bb b/meta-networking/recipes-support/dovecot/dovecot_2.2.10.bb
index 8528536511..f733a7832f 100644
--- a/meta-networking/recipes-support/dovecot/dovecot_2.2.10.bb
+++ b/meta-networking/recipes-support/dovecot/dovecot_2.2.10.bb
@@ -6,13 +6,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b"
SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \
file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
+ file://building-rquota_xdr.c-depend-on-rquota.h.patch \
"
SRC_URI[md5sum] = "037e9c9e07d9dbff54dcff09f280fc8c"
SRC_URI[sha256sum] = "75592483d40dc4f76cc3b41af40caa4be80478946a699d46846d5d03e4d2e09b"
DEPENDS = "openssl xz zlib bzip2 libcap"
-inherit autotools
+inherit autotools pkgconfig
PACKAGECONFIG ??= " \
${@base_contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
diff --git a/meta-networking/recipes-support/drbd/drbd/drbd.service b/meta-networking/recipes-support/drbd/drbd/drbd.service
new file mode 100644
index 0000000000..3543999976
--- /dev/null
+++ b/meta-networking/recipes-support/drbd/drbd/drbd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=DRBD Service
+After=network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=@LIBEXECDIR@/drbd-helper start
+ExecStop=@LIBEXECDIR@/drbd-helper stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-support/drbd/drbd_8.4.4.bb b/meta-networking/recipes-support/drbd/drbd_8.4.4.bb
new file mode 100644
index 0000000000..491f05a592
--- /dev/null
+++ b/meta-networking/recipes-support/drbd/drbd_8.4.4.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Distributed block device driver for Linux"
+DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\
+DRBD mirrors a block device over the network to another machine.\
+Think of it as networked raid 1. It is a building block for\
+setting up high availability (HA) clusters."
+HOMEPAGE = "http://www.drbd.org/"
+SECTION = "kernel/userland"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+
+SRC_URI = "http://oss.linbit.com/${BPN}/8.4/${BPN}-${PV}.tar.gz \
+ file://drbd.service \
+ "
+SRC_URI[md5sum] = "b51815343c1a9151e2936b3b97520388"
+SRC_URI[sha256sum] = "a056219c5c23b079c3354179f7a1b9f55d47e573a4cd3178f2ef4c15604288f0"
+
+SYSTEMD_SERVICE_${PN} = "drbd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+inherit autotools-brokensep systemd
+
+EXTRA_OECONF = "--with-utils \
+ --without-km \
+ --with-initdir=/etc/init.d \
+ --without-pacemaker \
+ --without-rgmanager \
+ --without-bashcompletion \
+ --with-distro debian \
+ "
+
+do_configure (){
+ oe_runconf
+}
+
+do_install_append() {
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/drbd.service ${D}/${systemd_unitdir}/system
+ install -d ${D}/${libexecdir}
+ install -m 755 ${D}/${sysconfdir}/init.d/drbd ${D}/${libexecdir}/drbd-helper
+
+ sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \
+ ${D}${systemd_unitdir}/system/drbd.service
+ fi
+}
+
+RDEPENDS_${PN} += "bash perl"
+
+FILES_${PN} += "/run"
+FILES_${PN} += "${base_libdir}/drbd"
+FILES_${PN}-dbg += "${base_libdir}/drbd/.debug"
diff --git a/meta-networking/recipes-support/esmtp/esmtp_1.2.bb b/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
new file mode 100644
index 0000000000..69bdaf9943
--- /dev/null
+++ b/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
@@ -0,0 +1,40 @@
+SUMMARY = "User configurable send-only Mail Transfer Agent"
+DESCRIPTION = "ESMTP is a user-configurable relay-only MTA \
+with a sendmail-compatible syntax, based on libESMTP and \
+supporting the AUTH (including the CRAM-MD5 and NTLM SASL \
+mechanisms) and StartTLS SMTP extensions."
+HOMEPAGE = "http://esmtp.sourceforge.net/"
+SECTION = "console/network"
+
+DEPENDS = "libesmtp"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BPN}-${PV}.tar.bz2"
+
+# Have to set this or we get -L/lib in LDFLAGS
+EXTRA_OECONF = "--with-libesmtp=${STAGING_EXECPREFIXDIR}"
+
+inherit autotools update-alternatives
+
+ALTERNATIVE_${PN} = "sbinsendmail libsendmail"
+
+ALTERNATIVE_LINK_NAME[sbinsendmail] = "${sbindir}/sendmail"
+ALTERNATIVE_TARGET[sbinsendmail] = "${bindir}/esmtp"
+ALTERNATIVE_LINK_NAME[libsendmail] = "${libdir}/sendmail"
+ALTERNATIVE_TARGET[libsendmail] = "${bindir}/esmtp"
+ALTERNATIVE_PRIORITY = "10"
+
+SRC_URI[md5sum] = "79a9c1f9023d53f35bb82bf446150a72"
+SRC_URI[sha256sum] = "a0d26931bf731f97514da266d079d8bc7d73c65b3499ed080576ab606b21c0ce"
+
+FILES_${PN} += "${libdir}/"
+
+# The sysroot/${libdir}/sendmail conflicts with lsb's, and it's a
+# symlink to ${bindir}/esmtp which is meaningless for sysroot, so
+# remove it.
+SYSROOT_PREPROCESS_FUNCS += "remove_sysroot_sendmail"
+remove_sysroot_sendmail() {
+ rm -r "${SYSROOT_DESTDIR}${libdir}/sendmail"
+}
diff --git a/meta-networking/recipes-support/geoip/geoip-perl/run-ptest b/meta-networking/recipes-support/geoip/geoip-perl/run-ptest
new file mode 100644
index 0000000000..5404c247bd
--- /dev/null
+++ b/meta-networking/recipes-support/geoip/geoip-perl/run-ptest
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# The tests contain hard-coded relative paths and must be
+# executed from $pdir.
+#
+pdir=`dirname $0`
+cd ${pdir}
+for i in t/*.t ; do
+ perl ${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-perl_1.45.bb b/meta-networking/recipes-support/geoip/geoip-perl_1.45.bb
new file mode 100644
index 0000000000..177841298c
--- /dev/null
+++ b/meta-networking/recipes-support/geoip/geoip-perl_1.45.bb
@@ -0,0 +1,40 @@
+#
+# Copyright (C) 2014, 2015 Wind River Systems, Inc.
+# Released under the MIT license (see COPYING.MIT for the terms)
+#
+SUMMARY = "GeoIP perl API library to access location database"
+DESCRIPTION = "perl library for country/city/organization to IP address or hostname mapping"
+HOMEPAGE = "http://www.maxmind.com/app/ip-location"
+SECTION = "network"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;md5=b0fa745303912bd2d64430f7ae69487d"
+
+# Note that we do not want to use the upstream file name locally.
+#
+SRC_URI = "http://github.com/maxmind/geoip-api-perl/archive/v${PV}.tar.gz;downloadfilename=${BPN}-${PV}.tar.gz \
+ file://run-ptest \
+ "
+
+SRC_URI[md5sum] = "0ce57140890bf81958e0cea4fe1885b2"
+SRC_URI[sha256sum] = "c56437b1cc8887736cb1e435d0320c1c1ff3754830249516317b99137005fb23"
+
+S = "${WORKDIR}/geoip-api-perl-${PV}"
+
+DEPENDS += "geoip"
+
+inherit cpan ptest
+
+EXTRA_CPANFLAGS = "LIBS='-L${STAGING_LIBDIR}' INC='-I${STAGING_INCDIR}'"
+
+
+# perl scripts and some special small data files
+#
+do_install_ptest () {
+ install -d -m 0755 ${D}${PTEST_PATH}/t/data
+
+ install ${S}/t/*.t* ${D}${PTEST_PATH}/t
+ install ${S}/t/data/* ${D}${PTEST_PATH}/t/data
+}
+
+FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/Geo/IP/.debug"
+
diff --git a/meta-networking/recipes-support/geoip/geoip_1.6.0.bb b/meta-networking/recipes-support/geoip/geoip_1.6.0.bb
new file mode 100644
index 0000000000..65e8362b7b
--- /dev/null
+++ b/meta-networking/recipes-support/geoip/geoip_1.6.0.bb
@@ -0,0 +1,58 @@
+SUMMARY = "C library for country/city/organization to IP address or hostname mapping"
+DESCRIPTION = "GeoIP is a C library that enables the user to find the country that any IP \
+address or hostname originates from. It uses a file based database that is \
+accurate as of March 2003. This database simply contains IP blocks as keys, and \
+countries as values. This database should be more complete and accurate than \
+using reverse DNS lookups."
+
+HOMEPAGE = "http://dev.maxmind.com/geoip/"
+SECTION = "Development/Libraries"
+
+SRC_URI = "http://www.maxmind.com/download/geoip/api/c/GeoIP-1.6.0.tar.gz;name=tarball \
+ http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz;apply=no;name=GeoIP-dat \
+ 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 \
+"
+
+SRC_URI[tarball.md5sum] = "89f4cdfdab43f1d67364cd7c85bbe8ca"
+SRC_URI[tarball.sha256sum] = "075a0c2815cd099e9ec35c9569db716a3fefcdbb6a10dbfa1ce7c6cd48d4a635"
+
+SRC_URI[GeoIP-dat.md5sum] = "4bc1e8280fe2db0adc3fe48663b8926e"
+SRC_URI[GeoIP-dat.sha256sum] = "7fd7e4829aaaae2677a7975eeecd170134195e5b7e6fc7d30bf3caf34db41bcd"
+
+SRC_URI[GeoIPv6-dat.md5sum] = "aac7e6e9b141de80934ecee52daf7f56"
+SRC_URI[GeoIPv6-dat.sha256sum] = "126fd2953eb193e60538e30b4465610530383f7a782745cacdca5ba6825f471c"
+
+SRC_URI[GeoLiteCity-dat.md5sum] = "15a42c684c53d2309e6632a6d6e02531"
+SRC_URI[GeoLiteCity-dat.sha256sum] = "5ec02a6d39d545c77ec12cc30c6a8856883d8f55522fc5cd4f25af80163c6b3c"
+
+SRC_URI[GeoLiteCityv6-dat.md5sum] = "49d6ec946fa0a2575b5112a68d71f933"
+SRC_URI[GeoLiteCityv6-dat.sha256sum] = "7a345e6cf0e59f8ab589ff15020241f0b03342dd04cc584f814c4f4700d49405"
+
+
+LICENSE = "LGPL-2.1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d5d53d6b948c064f4070183180a4fa89 \
+ file://LICENSE;md5=f04db71812ba70aaba8b38da91984cd2 "
+
+S = "${WORKDIR}/GeoIP-1.6.0"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-static \
+ --disable-dependency-tracking "
+
+do_install() {
+ make DESTDIR=${D} install
+ install -d ${D}/${datadir}/GeoIP
+ install ${WORKDIR}/GeoIP.dat ${D}/${datadir}/GeoIP/
+ install ${WORKDIR}/GeoIPv6.dat ${D}/${datadir}/GeoIP/
+ install ${WORKDIR}/GeoLiteCity.dat ${D}/${datadir}/GeoIP/
+ install ${WORKDIR}/GeoLiteCityv6.dat ${D}/${datadir}/GeoIP/
+}
+
+PACKAGES =+ "${PN}-database"
+FILES_${PN}-database = ""
+FILES_${PN}-database += "${datadir}/GeoIP/*"
+
diff --git a/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/GeoIP.conf b/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/GeoIP.conf
new file mode 100644
index 0000000000..134cfed1f5
--- /dev/null
+++ b/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/GeoIP.conf
@@ -0,0 +1,11 @@
+# The following UserId and LicenseKey are required placeholders:
+UserId 999999
+LicenseKey 000000000000
+
+# Include one or more of the following ProductIds:
+# * GeoLite2-City - GeoLite 2 City
+# * GeoLite2-Country - GeoLite2 Country
+# * 506 - GeoLite Legacy Country
+# * 517 - GeoLite Legacy ASN
+# * 533 - GeoLite Legacy City
+ProductIds GeoLite2-City GeoLite2-Country 506 517 533
diff --git a/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/geoipupdate.cron b/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/geoipupdate.cron
new file mode 100644
index 0000000000..40597a856e
--- /dev/null
+++ b/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/geoipupdate.cron
@@ -0,0 +1,5 @@
+# top of crontab
+MAILTO=your@email.com
+
+32 11 * * 4 /usr/local/bin/geoipupdate
+# end of crontab
diff --git a/meta-networking/recipes-support/geoip/geoipupdate_2.1.0.bb b/meta-networking/recipes-support/geoip/geoipupdate_2.1.0.bb
new file mode 100644
index 0000000000..851ad414d4
--- /dev/null
+++ b/meta-networking/recipes-support/geoip/geoipupdate_2.1.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Crontab entry to provide weekly updates of the GeoIP free databases."
+DESCRIPTION = "update databases for GeoIP"
+
+HOMEPAGE = "http://dev.maxmind.com/geoip/"
+SECTION = "Development"
+
+DEPENDS = "zlib curl"
+
+SRC_URI = "https://github.com/maxmind/geoipupdate/releases/download/v2.1.0/geoipupdate-2.1.0.tar.gz \
+ file://GeoIP.conf \
+ file://geoipupdate.cron \
+ "
+
+SRC_URI[md5sum] = "9107d082f15c8e482f4b6f1080e7deaf"
+SRC_URI[sha256sum] = "7388c46f6c483ae609e5f5333a2585bc9713d56bb522da5c11b09d41c87aa5fb"
+
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "\
+file://ChangeLog.md;md5=25f3500fad03ad7e6bf135b29c9c7c2d \
+"
+
+inherit autotools
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}
+ install -d ${D}/${sysconfdir}/cron.d
+ install ${WORKDIR}/GeoIP.conf ${D}/${sysconfdir}/
+ install ${WORKDIR}/geoipupdate.cron ${D}/${sysconfdir}/cron.d/
+}
diff --git a/meta-networking/recipes-support/ifenslave/ifenslave_1.1.0.bb b/meta-networking/recipes-support/ifenslave/ifenslave_1.1.0.bb
new file mode 100644
index 0000000000..58dca86242
--- /dev/null
+++ b/meta-networking/recipes-support/ifenslave/ifenslave_1.1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Configure network interfaces for parallel routing"
+HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding"
+SECTION = "network"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://ifenslave.c;beginline=8;endline=12;md5=a9f0bd2324cdc1b36d1f44f0e643a62a"
+
+SRC_URI = "http://ftp.debian.org/debian/pool/main/i/${BPN}-2.6/${BPN}-2.6_${PV}.orig.tar.gz"
+SRC_URI[md5sum] = "56126cd1013cefe0ce6f81613e677bdd"
+SRC_URI[sha256sum] = "7917bf34de80a2492eb225adf9168c83a4854ac8a008ed0fd5b3fd147ccd3041"
+
+do_compile() {
+ ${CC} ifenslave.c -o ifenslave
+}
+do_install() {
+ install -d "${D}${sbindir}"
+ install -m 755 "${S}/ifenslave" "${D}${sbindir}/"
+}
diff --git a/meta-networking/recipes-support/iftop/iftop_1.0pre2.bb b/meta-networking/recipes-support/iftop/iftop_1.0pre2.bb
index 73f2d85a22..cc1f8b0465 100644
--- a/meta-networking/recipes-support/iftop/iftop_1.0pre2.bb
+++ b/meta-networking/recipes-support/iftop/iftop_1.0pre2.bb
@@ -10,5 +10,5 @@ SRC_URI = "http://www.ex-parrot.com/pdw/iftop/download/iftop-${PV}.tar.gz"
SRC_URI[md5sum] = "fef521a49ec0122458d02c64212af3c5"
SRC_URI[sha256sum] = "1b193037bb3019afae88cd94c87468aac4b045d81ab816ed8d2f489716b14027"
-inherit autotools
+inherit autotools-brokensep
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-warning-with-gcc-4.8.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-warning-with-gcc-4.8.patch
deleted file mode 100644
index 61f39d1961..0000000000
--- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-warning-with-gcc-4.8.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From fc230d5ded73fe4049aa586eacbe4098aeff912f Mon Sep 17 00:00:00 2001
-From: Paul Barker <paul@paulbarker.me.uk>
-Date: Wed, 12 Jun 2013 17:39:06 +0100
-Subject: [PATCH] Fix warning with gcc 4.8.
-
-The line "memset(pair, 0, sizeof(pair));" was causing the following warning:
-
- error: argument to 'sizeof' in 'memset' call is the same expression as
- the destination; did you mean to dereference
-
-Compiling with -Werror (as specified in configure.ac) was causing this warning
-to become an error. The line itself is not needed as memory is allocated via
-calloc which performs zero initialization. Therefore, the line is removed to fix
-the warning and does not need replacing anything.
----
- src/racoon/ipsec_doi.c | 1 -
- 1 file changed, 1 deletion(-)
-
-Upstream-Status: Accepted
- (in CVS HEAD and 0_8-stable, expected to be present in next release)
-
-diff --git a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c
-index 2b48d49..4e9d3a8 100644
---- a/src/racoon/ipsec_doi.c
-+++ b/src/racoon/ipsec_doi.c
-@@ -1183,7 +1183,6 @@ get_proppair_and_doi_sit(sa, mode, doitype, sittype)
- "failed to get buffer.\n");
- goto bad;
- }
-- memset(pair, 0, sizeof(pair));
-
- bp = (caddr_t)(sab + 1);
- tlen = sa->l - sizeof(*sab);
---
-1.8.3
-
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch
new file mode 100644
index 0000000000..d5602c03db
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch
@@ -0,0 +1,33 @@
+From 738a9857be9c92ad2f70be88ccee238e3154a936 Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe.macdonald@windriver.com>
+Date: Wed, 2 Oct 2013 14:20:37 -0400
+Subject: [PATCH] racoon/pfkey: avoid potential null-pointer dereference
+
+Building with -Werror=maybe-uninitialized revealed that 'remote' from
+pk_recvmigrate() could be used with uninitialized data in
+migrate_sp_ike_addresses(). Ensure it is always at a minimum assigned
+NULL.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com>
+---
+ src/racoon/pfkey.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/racoon/pfkey.c b/src/racoon/pfkey.c
+index d00b166..e0dc1db 100644
+--- a/src/racoon/pfkey.c
++++ b/src/racoon/pfkey.c
+@@ -3352,7 +3352,7 @@ pk_recvmigrate(mhp)
+ struct sockaddr *old_saddr, *new_saddr;
+ struct sockaddr *old_daddr, *new_daddr;
+ struct sockaddr *old_local, *old_remote;
+- struct sockaddr *local, *remote;
++ struct sockaddr *local, *remote = NULL;
+ struct sadb_x_kmaddress *kmaddr;
+ struct sadb_x_policy *xpl;
+ struct sadb_x_ipsecrequest *xisr_list;
+--
+1.7.9.5
+
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch
new file mode 100644
index 0000000000..8d270a62b9
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch
@@ -0,0 +1,13 @@
+Index: ipsec-tools-0.8.1/configure.ac
+===================================================================
+--- ipsec-tools-0.8.1.orig/configure.ac 2013-01-08 12:43:29.000000000 +0000
++++ ipsec-tools-0.8.1/configure.ac 2014-07-18 07:51:30.045555880 +0000
+@@ -6,7 +6,7 @@
+ AC_CONFIG_SRCDIR([configure.ac])
+ AC_CONFIG_HEADERS(config.h)
+
+-AM_INIT_AUTOMAKE(dist-bzip2)
++AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+ AC_ENABLE_SHARED(no)
+
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch
new file mode 100644
index 0000000000..36efc49179
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch
@@ -0,0 +1,23 @@
+squahes below warning
+ warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
+
+Seen with glibc 2.20
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h
+===================================================================
+--- ipsec-tools-0.8.2.orig/src/include-glibc/glibc-bugs.h 2006-09-09 09:22:08.000000000 -0700
++++ ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h 2014-09-03 22:27:22.551563888 -0700
+@@ -4,7 +4,11 @@
+ #define __GLIBC_BUGS_H__ 1
+
+ #define _XOPEN_SOURCE 500
++/* Legacy feature macro.*/
+ #define _BSD_SOURCE
++/* New feature macro that provides everything _BSD_SOURCE and
++ * _SVID_SOURCE provided and possibly more. */
++#define _DEFAULT_SOURCE
+
+ #include <features.h>
+ #include <sys/types.h>
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch
new file mode 100644
index 0000000000..e82db087c5
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch
@@ -0,0 +1,220 @@
+racoon: Resend UPDATE message when received EINTR message
+
+Upstream-Status: Pending
+
+While kernel is processing the UPDATE message which is sent from racoon,
+it maybe interrupted by system signal and if this case happens,
+kernel responds with an EINTR message to racoon and kernel fails to
+establish the corresponding SA.
+Fix this problem by resend the UPDATE message when EINTR(Interrupted
+system call) error happens.
+
+Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
+---
+--- a/src/libipsec/libpfkey.h
++++ b/src/libipsec/libpfkey.h
+@@ -92,6 +92,12 @@
+ u_int16_t ctxstrlen; /* length of security context string */
+ };
+
++struct update_msg_info {
++ struct sadb_msg *update_msg;
++ int so;
++ int len;
++};
++
+ /* The options built into libipsec */
+ extern int libipsec_opt;
+ #define LIBIPSEC_OPT_NATT 0x01
+--- a/src/libipsec/pfkey.c
++++ b/src/libipsec/pfkey.c
+@@ -1219,7 +1219,8 @@
+ }
+ #endif
+
+-
++struct update_msg_info update_msg_send = {NULL, 0, 0};
++
+ /* sending SADB_ADD or SADB_UPDATE message to the kernel */
+ static int
+ pfkey_send_x1(struct pfkey_send_sa_args *sa_parms)
+@@ -1483,10 +1484,24 @@
+
+ /* send message */
+ len = pfkey_send(sa_parms->so, newmsg, len);
+- free(newmsg);
+
+- if (len < 0)
+- return -1;
++ if (newmsg->sadb_msg_type == SADB_UPDATE) {
++ if (update_msg_send.update_msg)
++ free(update_msg_send.update_msg);
++ update_msg_send.update_msg = newmsg;
++ update_msg_send.so = sa_parms->so;
++ update_msg_send.len = len;
++
++ if (len < 0) {
++ free(update_msg_send.update_msg);
++ update_msg_send.update_msg = NULL;
++ return -1;
++ }
++ } else {
++ free(newmsg);
++ if (len < 0)
++ return -1;
++ }
+
+ __ipsec_errcode = EIPSEC_NO_ERROR;
+ return len;
+--- a/src/racoon/session.c
++++ b/src/racoon/session.c
+@@ -100,6 +100,8 @@
+
+ #include "sainfo.h"
+
++extern struct update_msg_info update_msg_send;
++
+ struct fd_monitor {
+ int (*callback)(void *ctx, int fd);
+ void *ctx;
+@@ -348,6 +350,11 @@
+ close_sockets();
+ backupsa_clean();
+
++ if (update_msg_send.update_msg) {
++ free(update_msg_send.update_msg);
++ update_msg_send.update_msg = NULL;
++ }
++
+ plog(LLV_INFO, LOCATION, NULL, "racoon process %d shutdown\n", getpid());
+
+ exit(0);
+--- a/src/racoon/pfkey.c
++++ b/src/racoon/pfkey.c
+@@ -103,10 +103,12 @@
+ #include "crypto_openssl.h"
+ #include "grabmyaddr.h"
++#include "../libipsec/libpfkey.h"
+
+ #if defined(SADB_X_EALG_RIJNDAELCBC) && !defined(SADB_X_EALG_AESCBC)
+ #define SADB_X_EALG_AESCBC SADB_X_EALG_RIJNDAELCBC
+ #endif
+
++extern struct update_msg_info update_msg_send;
+ /* prototype */
+ static u_int ipsecdoi2pfkey_aalg __P((u_int));
+ static u_int ipsecdoi2pfkey_ealg __P((u_int));
+@@ -253,6 +255,13 @@
+ s_pfkey_type(msg->sadb_msg_type),
+ strerror(msg->sadb_msg_errno));
+
++ if (msg->sadb_msg_errno == EINTR &&
++ update_msg_send.update_msg) {
++ plog(LLV_DEBUG, LOCATION, NULL,
++ "pfkey update resend\n");
++ send(update_msg_send.so, (void *)update_msg_send.update_msg, (socklen_t)update_msg_send.len, 0);
++ }
++
+ goto end;
+ }
+
+@@ -498,6 +507,11 @@
+ {
+ flushsp();
+
++ if (update_msg_send.update_msg) {
++ free(update_msg_send.update_msg);
++ update_msg_send.update_msg = NULL;
++ }
++
+ if (pfkey_send_spddump(lcconf->sock_pfkey) < 0) {
+ plog(LLV_ERROR, LOCATION, NULL,
+ "libipsec sending spddump failed: %s\n",
+@@ -1295,6 +1309,8 @@
+ return 0;
+ }
+
++int update_received = 0;
++
+ static int
+ pk_recvupdate(mhp)
+ caddr_t *mhp;
+@@ -1307,6 +1323,13 @@
+ int incomplete = 0;
+ struct saproto *pr;
+
++ update_received = 1;
++
++ if (update_msg_send.update_msg) {
++ free(update_msg_send.update_msg);
++ update_msg_send.update_msg = NULL;
++ }
++
+ /* ignore this message because of local test mode. */
+ if (f_local)
+ return 0;
+@@ -4163,3 +4186,8 @@
+
+ return buf;
+ }
++
++int receive_from_isakmp()
++{
++ return pfkey_handler(NULL, lcconf->sock_pfkey);
++}
+--- a/src/racoon/pfkey.h
++++ b/src/racoon/pfkey.h
+@@ -71,5 +71,6 @@
+ extern u_int32_t pk_getseq __P((void));
+ extern const char *sadbsecas2str
+ __P((struct sockaddr *, struct sockaddr *, int, u_int32_t, int));
++extern int receive_from_isakmp __P((void));
+
+ #endif /* _PFKEY_H */
+--- a/src/racoon/isakmp_quick.c
++++ b/src/racoon/isakmp_quick.c
+@@ -774,6 +774,8 @@
+ return error;
+ }
+
++extern int update_received;
++
+ /*
+ * send to responder
+ * HDR*, HASH(3)
+@@ -892,6 +894,11 @@
+ }
+ plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n");
+
++ while (!update_received)
++ receive_from_isakmp();
++
++ update_received = 0;
++
+ /* Do ADD for responder */
+ if (pk_sendadd(iph2) < 0) {
+ plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n");
+@@ -1035,6 +1042,11 @@
+ }
+ plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n");
+
++ while (!update_received)
++ receive_from_isakmp();
++
++ update_received = 0;
++
+ /* Do ADD for responder */
+ if (pk_sendadd(iph2) < 0) {
+ plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n");
+@@ -1989,6 +2001,11 @@
+ }
+ plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n");
+
++ while (!update_received)
++ receive_from_isakmp();
++
++ update_received = 0;
++
+ /* Do ADD for responder */
+ if (pk_sendadd(iph2) < 0) {
+ plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n");
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch
new file mode 100644
index 0000000000..e272bc20fa
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch
@@ -0,0 +1,26 @@
+Subject: [PATCH] ipsec-tools: racoon: check several invalid ivm
+
+Upstream-Status: Pending
+
+Add checking for invalid ivm, or it will crash racoon.
+
+Signed-off-by: Ming Liu <ming.liu@windriver.com>
+---
+ isakmp_cfg.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c
+--- a/src/racoon/isakmp_cfg.c
++++ b/src/racoon/isakmp_cfg.c
+@@ -171,6 +171,11 @@ isakmp_cfg_r(iph1, msg)
+ iph1->mode_cfg->last_msgid != packet->msgid )
+ iph1->mode_cfg->ivm =
+ isakmp_cfg_newiv(iph1, packet->msgid);
++ if(iph1->mode_cfg->ivm == NULL) {
++ plog(LLV_ERROR, LOCATION, NULL,
++ "failed to create new IV\n");
++ return;
++ }
+ ivm = iph1->mode_cfg->ivm;
+
+ dmsg = oakley_do_decrypt(iph1, msg, ivm->iv, ivm->ive);
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch
new file mode 100644
index 0000000000..de1bdb4077
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch
@@ -0,0 +1,61 @@
+Subject: [PATCH] ipsec-tools: racoon: check several invalid pointers
+
+Upstream-Status: Pending
+
+Add checking for invalid pointers, or it will crash racoon.
+
+Signed-off-by: Ming Liu <ming.liu@windriver.com>
+---
+ ipsec_doi.c | 5 +++--
+ isakmp_cfg.c | 7 +++++++
+ isakmp_quick.c | 6 ++++--
+ 3 files changed, 14 insertions(+), 4 deletions(-)
+
+diff -urpN a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c
+--- a/src/racoon/ipsec_doi.c
++++ b/src/racoon/ipsec_doi.c
+@@ -3374,8 +3374,9 @@ ipsecdoi_chkcmpids( idt, ids, exact )
+
+ /* handle wildcard IDs */
+
+- if (idt == NULL || ids == NULL)
+- {
++ if (idt == NULL || ids == NULL ||
++ idt->v == NULL || idt->l == 0 ||
++ ids->v == NULL || ids->l == 0) {
+ if( !exact )
+ {
+ plog(LLV_DEBUG, LOCATION, NULL,
+diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c
+--- a/src/racoon/isakmp_cfg.c
++++ b/src/racoon/isakmp_cfg.c
+@@ -1138,6 +1138,13 @@ isakmp_cfg_newiv(iph1, msgid)
+ return NULL;
+ }
+
++ if (iph1->ivm == NULL || iph1->ivm->iv == NULL ||
++ iph1->ivm->iv->v == NULL || iph1->ivm->iv->l == 0) {
++ plog(LLV_ERROR, LOCATION, NULL,
++ "isakmp_cfg_newiv called with invalid IV management\n");
++ return NULL;
++ }
++
+ if (ics->ivm != NULL)
+ oakley_delivm(ics->ivm);
+
+diff -urpN a/src/racoon/isakmp_quick.c b/src/racoon/isakmp_quick.c
+--- a/src/racoon/isakmp_quick.c
++++ b/src/racoon/isakmp_quick.c
+@@ -2243,8 +2243,10 @@ get_proposal_r(iph2)
+ int error = ISAKMP_INTERNAL_ERROR;
+
+ /* check the existence of ID payload */
+- if ((iph2->id_p != NULL && iph2->id == NULL)
+- || (iph2->id_p == NULL && iph2->id != NULL)) {
++ if ((iph2->id_p != NULL &&
++ (iph2->id == NULL || iph2->id->v == NULL || iph2->id->l == 0)) ||
++ (iph2->id != NULL &&
++ (iph2->id_p == NULL || iph2->id_p->v == NULL || iph2->id_p->l == 0))) {
+ plog(LLV_ERROR, LOCATION, NULL,
+ "Both IDs wasn't found in payload.\n");
+ return ISAKMP_NTYPE_INVALID_ID_INFORMATION;
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.1.bb b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
index fcf329c112..8cc55ef8a3 100644
--- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.1.bb
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
@@ -8,11 +8,16 @@ LIC_FILES_CHKSUM = "file://src/libipsec/pfkey.c;beginline=6;endline=31;md5=bc9b7
DEPENDS = "virtual/kernel openssl readline flex-native bison-native"
SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${PV}.tar.bz2 \
- file://0001-Fix-warning-with-gcc-4.8.patch \
file://0002-Don-t-link-against-libfl.patch \
+ file://configure.patch \
+ file://0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch \
+ file://racoon-check-invalid-pointers.patch \
+ file://racoon-check-invalid-ivm.patch \
+ file://glibc-2.20.patch \
+ file://racoon-Resend-UPDATE-message-when-received-EINTR-message.patch \
"
-SRC_URI[md5sum] = "d38b39f291ba2962387c3232e7335dd8"
-SRC_URI[sha256sum] = "fa4a95bb36842f001b84c4e7a1bb727e3ee06147edbc830a881d63abe8153dd4"
+SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41"
+SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d"
inherit autotools
@@ -45,10 +50,15 @@ EXTRA_OECONF = "--with-kernel-headers=${STAGING_INCDIR} \
--with-readline \
--with-openssl=${STAGING_LIBDIR}/.. \
--without-libradius \
- --without-libpam \
--disable-security-context \
--enable-shared \
+ --enable-dpd \
+ --enable-natt=yes \
${@base_contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6=yes', '', d)}"
# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530527
CFLAGS += "-fno-strict-aliasing"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,"
+PACKAGECONFIG[selinux] = "--enable-security-context,--disable-security-context,libselinux,"
diff --git a/meta-networking/recipes-support/libesmtp/libesmtp/include-topdir.patch b/meta-networking/recipes-support/libesmtp/libesmtp/include-topdir.patch
new file mode 100644
index 0000000000..90c4ce75e1
--- /dev/null
+++ b/meta-networking/recipes-support/libesmtp/libesmtp/include-topdir.patch
@@ -0,0 +1,48 @@
+diff -Nurp libesmtp-1.0.6.org/crammd5/Makefile.am libesmtp-1.0.6/crammd5/Makefile.am
+--- libesmtp-1.0.6.org/crammd5/Makefile.am 2010-08-08 23:45:57.000000000 +0800
++++ libesmtp-1.0.6/crammd5/Makefile.am 2014-11-17 11:17:21.663624295 +0800
+@@ -2,7 +2,7 @@
+
+ libdir = @plugindir@
+
+-INCLUDES = -I@srcdir@
++INCLUDES = -I@srcdir@ -I@srcdir@/../
+ AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
+
+ lib_LTLIBRARIES = sasl-cram-md5.la
+diff -Nurp libesmtp-1.0.6.org/login/Makefile.am libesmtp-1.0.6/login/Makefile.am
+--- libesmtp-1.0.6.org/login/Makefile.am 2010-08-08 23:45:56.000000000 +0800
++++ libesmtp-1.0.6/login/Makefile.am 2014-11-17 11:17:54.339623018 +0800
+@@ -2,7 +2,7 @@
+
+ libdir = @plugindir@
+
+-INCLUDES = -I@srcdir@
++INCLUDES = -I@srcdir@ -I@srcdir@/../
+
+ lib_LTLIBRARIES = sasl-login.la
+ AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
+diff -Nurp libesmtp-1.0.6.org/ntlm/Makefile.am libesmtp-1.0.6/ntlm/Makefile.am
+--- libesmtp-1.0.6.org/ntlm/Makefile.am 2010-08-08 23:45:56.000000000 +0800
++++ libesmtp-1.0.6/ntlm/Makefile.am 2014-11-17 11:18:10.551622385 +0800
+@@ -2,7 +2,7 @@
+
+ libdir = @plugindir@
+
+-INCLUDES = -I@srcdir@
++INCLUDES = -I@srcdir@ -I@srcdir@/../
+ AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
+
+ lib_LTLIBRARIES = sasl-ntlm.la
+diff -Nurp libesmtp-1.0.6.org/plain/Makefile.am libesmtp-1.0.6/plain/Makefile.am
+--- libesmtp-1.0.6.org/plain/Makefile.am 2010-08-08 23:45:54.000000000 +0800
++++ libesmtp-1.0.6/plain/Makefile.am 2014-11-17 11:18:33.355621494 +0800
+@@ -2,7 +2,7 @@
+
+ libdir = @plugindir@
+
+-INCLUDES = -I@srcdir@
++INCLUDES = -I@srcdir@ -I@srcdir@/../
+ AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
+
+ lib_LTLIBRARIES = sasl-plain.la
diff --git a/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb b/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb
new file mode 100644
index 0000000000..8b2b99f1fc
--- /dev/null
+++ b/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb
@@ -0,0 +1,36 @@
+SUMMARY = "SMTP client library"
+DESCRIPTION = "LibESMTP is a library to manage posting \
+(or submission of) electronic mail using SMTP to a \
+preconfigured Mail Transport Agent (MTA) such as Exim or PostFix."
+HOMEPAGE = "http://www.stafford.uklinux.net/libesmtp/"
+LICENSE = "LGPLv2+"
+SECTION = "libs/network"
+
+DEPENDS = "openssl"
+
+SRC_URI = "http://www.stafford.uklinux.net/libesmtp/libesmtp-${PV}.tar.bz2 \
+ file://include-topdir.patch"
+SRC_URI[md5sum] = "bf3915e627fd8f35524a8fdfeed979c8"
+SRC_URI[sha256sum] = "d0a61a5c52d99fa7ce7d00ed0a07e341dbda67101dbed1ab0cdae3f37db4eb0b"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
+
+inherit autotools binconfig
+
+EXTRA_OECONF = " \
+ --with-auth-plugin-dir=${libdir}/esmtp-plugins \
+ --enable-pthreads \
+ --enable-debug \
+ --enable-etrn \
+ --disable-isoc \
+ --disable-more-warnings \
+ --disable-static \
+"
+
+FILES_${PN} = "${libdir}/lib*${SOLIBS} \
+ ${libdir}/esmtp-plugins/*${SOLIBSDEV}"
+
+FILES_${PN}-dev += "${libdir}/esmtp-plugins/*.la"
+FILES_${PN}-static += "${libdir}/esmtp-plugins/*.a"
+FILES_${PN}-dbg += "${libdir}/esmtp-plugins/.debug/"
diff --git a/meta-networking/recipes-support/linux-atm/linux-atm/install-from-buildir.patch b/meta-networking/recipes-support/linux-atm/linux-atm/install-from-buildir.patch
new file mode 100644
index 0000000000..d1380eb2aa
--- /dev/null
+++ b/meta-networking/recipes-support/linux-atm/linux-atm/install-from-buildir.patch
@@ -0,0 +1,19 @@
+install binaries from builddir not srcdir.
+
+Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
+
+--- linux-atm-2.5.2.orig/src/extra/Makefile.am 2010-12-21 05:07:22.000000000 +0800
++++ linux-atm-2.5.2/src/extra/Makefile.am 2014-12-22 10:56:04.458563269 +0800
+@@ -9,9 +9,9 @@ CLEANFILES = pca200e.bin pca200e_ecd.bin
+
+ install-exec-hook:
+ $(MKDIR_P) $(DESTDIR)/lib/firmware
+- $(INSTALL_DATA) $(srcdir)/pca200e.bin $(DESTDIR)/lib/firmware
+- $(INSTALL_DATA) $(srcdir)/pca200e_ecd.bin2 $(DESTDIR)/lib/firmware
+- $(INSTALL_DATA) $(srcdir)/sba200e_ecd.bin2 $(DESTDIR)/lib/firmware
++ $(INSTALL_DATA) $(builddir)/pca200e.bin $(DESTDIR)/lib/firmware
++ $(INSTALL_DATA) $(builddir)/pca200e_ecd.bin2 $(DESTDIR)/lib/firmware
++ $(INSTALL_DATA) $(builddir)/sba200e_ecd.bin2 $(DESTDIR)/lib/firmware
+
+ %.bin %.bin2: %.data
+ objcopy -Iihex $< -Obinary $@.gz
diff --git a/meta-networking/recipes-support/linux-atm/linux-atm/link-with-ldflags.patch b/meta-networking/recipes-support/linux-atm/linux-atm/link-with-ldflags.patch
new file mode 100644
index 0000000000..62fad2a54a
--- /dev/null
+++ b/meta-networking/recipes-support/linux-atm/linux-atm/link-with-ldflags.patch
@@ -0,0 +1,38 @@
+LDFLAGS_FOR_BUILD should be required when doing link for qgen.
+
+Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
+
+diff -Nurp linux-atm-2.5.2.orig/configure.in linux-atm-2.5.2/configure.in
+--- linux-atm-2.5.2.orig/configure.in 2010-12-28 23:36:07.000000000 +0800
++++ linux-atm-2.5.2/configure.in 2014-12-22 10:25:23.830510932 +0800
+@@ -66,6 +66,7 @@ else
+ fi
+ AC_SUBST(CC_FOR_BUILD)
+ AC_SUBST(CFLAGS_FOR_BUILD)
++AC_SUBST(LDFLAGS_FOR_BUILD)
+ dnl Add -d flag to bison/yacc to create intermediate .h files
+ YACC="$YACC -d"
+
+diff -Nurp linux-atm-2.5.2.orig/src/qgen/Makefile.am linux-atm-2.5.2/src/qgen/Makefile.am
+--- linux-atm-2.5.2.orig/src/qgen/Makefile.am 2010-12-28 22:29:31.000000000 +0800
++++ linux-atm-2.5.2/src/qgen/Makefile.am 2014-12-22 10:23:51.914508318 +0800
+@@ -5,7 +5,7 @@ qgen_SOURCES = common.c common.h file.c
+ qgen_LDADD = -lfl
+
+ COMPILE = @CC_FOR_BUILD@ @CFLAGS_FOR_BUILD@
+-LINK = @CC_FOR_BUILD@ @CFLAGS_FOR_BUILD@ -o $@
++LINK = @CC_FOR_BUILD@ @CFLAGS_FOR_BUILD@ @LDFLAGS_FOR_BUILD@ -o $@
+
+ #TESTS = $(check_PROGRAMS)
+
+diff -Nurp linux-atm-2.5.2.orig/src/qgen/Makefile.in linux-atm-2.5.2/src/qgen/Makefile.in
+--- linux-atm-2.5.2.orig/src/qgen/Makefile.in 2010-12-29 00:06:11.000000000 +0800
++++ linux-atm-2.5.2/src/qgen/Makefile.in 2014-12-22 10:23:51.914508318 +0800
+@@ -106,6 +106,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LD = @LD@
+ LDFLAGS = @LDFLAGS@
++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
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
new file mode 100644
index 0000000000..0a9bd8c72b
--- /dev/null
+++ b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Drivers and tools to support ATM networking under Linux"
+HOMEPAGE = "http://linux-atm.sourceforge.net/"
+SECTION = "libs"
+LICENSE = "GPL-2.0 & LGPL-2.0"
+
+DEPENDS = "virtual/kernel flex flex-native"
+
+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"
+
+SRC_URI[md5sum] = "d49499368c3cf15f73a05d9bce8824a8"
+SRC_URI[sha256sum] = "9645481a2b16476b59220aa2d6bc5bc41043f291326c9b37581018fbd16dd53a"
+
+LIC_FILES_CHKSUM = "\
+file://COPYING;md5=d928de9537d846935a98af3bbc6e6ee1 \
+file://COPYING.GPL;md5=ac2db169b9309e240555bc77be4f1a33 \
+file://COPYING.LGPL;md5=6e29c688d912da12b66b73e32b03d812"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${base_libdir}/firmware"
diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools/run-ptest b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/run-ptest
new file mode 100644
index 0000000000..e67f18e55a
--- /dev/null
+++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+sh v4test.sh
+sh v6test.sh
+
diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v4test.sh b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v4test.sh
new file mode 100644
index 0000000000..5130856999
--- /dev/null
+++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v4test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+echo "v4test starting:"
+for t in $(find -maxdepth 1 -type f \! -name test\*_v6 -name test\*); do
+ echo "$t";
+ if $t; then
+ echo "PASS: $t"; echo "";
+ else
+ echo "FAIL: $t"; echo "";
+ fi
+ sleep 1;
+done
diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v6test.sh b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v6test.sh
new file mode 100644
index 0000000000..3a667df820
--- /dev/null
+++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v6test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+echo "v6test starting:"
+for t in $(find -maxdepth 1 -name test\*_v6); do
+ echo "$t";
+ if $t; then
+ echo "PASS: $t"; echo "";
+ else
+ echo "FAIL: $t"; echo "";
+ fi
+ sleep 1;
+done
diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb b/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb
new file mode 100644
index 0000000000..1651eb83d0
--- /dev/null
+++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb
@@ -0,0 +1,62 @@
+SUMMARY = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project"
+HOMEPAGE = "http://lksctp.org"
+SECTION = "libs"
+LICENSE = "LGPLv2.1 & GPLv2"
+
+LIC_FILES_CHKSUM = " \
+ file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \
+ file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \
+"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lksctp/${BP}.tar.gz \
+ file://run-ptest \
+ file://v4test.sh \
+ file://v6test.sh \
+ "
+
+SRC_URI[md5sum] = "708bb0b5a6806ad6e8d13c55b067518e"
+SRC_URI[sha256sum] = "0903dd526b7f30a89d5031aa2c82757612becc38ed7bc6e4f972f8deae351f26"
+
+#| arm-oe-linux-gnueabi-libtool: link: arm-oe-linux-gnueabi-gcc -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemuarm -shared -fPIC -DPIC .libs/bindx.o .libs/connectx.o .libs/peeloff.o .libs/opt_info.o .libs/addrs.o .libs/sendmsg.o .libs/recvmsg.o -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemuarm -O2 -Wl,--version-script=/home/jenkins/oe/world/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/lksctp-tools/1.0.16-r0/lksctp-tools-1.0.16/src/lib/Versions.map -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-soname -Wl,libsctp.so.1 -o .libs/libsctp.so.1.0.16
+#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.0/ld: error: symbol sctp_connectx has undefined version
+#| collect2: error: ld returned 1 exit status
+#| make[4]: *** [libsctp.la] Error 1
+PNBLACKLIST[lksctp-tools] ?= "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', "BROKEN: fails to link against sctp_connectx symbol", '', d)}"
+
+S = "${WORKDIR}/${BP}"
+
+BBCLASSEXTEND = "native"
+
+inherit autotools pkgconfig binconfig ptest
+
+do_install_ptest () {
+ install -m 0755 ${WORKDIR}/v4test.sh ${D}${PTEST_PATH}
+ install -m 0755 ${WORKDIR}/v6test.sh ${D}${PTEST_PATH}
+ for testcase in `find ${B}/src/apps/.libs ${B}/src/func_tests/.libs -maxdepth 1 -type f -executable`; do
+ install $testcase ${D}${PTEST_PATH}
+ done
+}
+
+SOLIBVERSION="${PV}"
+SOLIBMAJORVERSION="1"
+
+PACKAGES =+ "${PN}-withsctp ${PN}-utils"
+
+FILES_${PN} = " \
+ ${libdir}/libsctp.so.${SOLIBVERSION} \
+"
+
+FILES_${PN}-withsctp = " \
+ ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION} \
+"
+
+FILES_${PN}-dev += " \
+ ${libdir}/libsctp.so.${SOLIBMAJORVERSION} \
+ ${libdir}/libsctp.so \
+ ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \
+ ${libdir}/lksctp-tools/libwithsctp.so \
+ ${datadir}/lksctp-tools/*.c \
+ ${datadir}/lksctp-tools/*.h \
+"
+
+FILES_${PN}-utils = "${bindir}/*"
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 5fc0de3151..ca10262290 100644
--- a/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
+++ b/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
@@ -7,14 +7,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "libnl python"
-PV = "0.3+git${SRCPV}"
-SRC_URI = "git://linux-zigbee.git.sourceforge.net/gitroot/linux-zigbee/linux-zigbee \
+PV = "0.3.1+git${SRCPV}"
+SRC_URI = "git://git.code.sf.net/p/linux-zigbee/linux-zigbee \
file://no-help2man.patch"
-SRCREV = "a1d9615adde6d1a568813c24a128273ed755af04"
+SRCREV = "38f42dbfce9e13629263db3bd3b81f14c69bb733"
S = "${WORKDIR}/git"
-inherit autotools python-dir
+inherit autotools python-dir pkgconfig
CACHED_CONFIGUREVARS += "am_cv_python_pythondir=${PYTHON_SITEPACKAGES_DIR}/lowpan-tools"
diff --git a/meta-networking/recipes-support/memcached/memcached/configure.patch b/meta-networking/recipes-support/memcached/memcached/configure.patch
new file mode 100644
index 0000000000..7001a0ed65
--- /dev/null
+++ b/meta-networking/recipes-support/memcached/memcached/configure.patch
@@ -0,0 +1,13 @@
+Index: memcached-1.4.17/configure.ac
+===================================================================
+--- memcached-1.4.17.orig/configure.ac 2013-12-20 21:44:49.000000000 +0000
++++ memcached-1.4.17/configure.ac 2014-07-18 07:17:00.593499483 +0000
+@@ -4,7 +4,7 @@
+ AC_INIT(memcached, VERSION_NUMBER, memcached@googlegroups.com)
+ AC_CANONICAL_SYSTEM
+ AC_CONFIG_SRCDIR(memcached.c)
+-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
++AM_INIT_AUTOMAKE([foreign])
+ AM_CONFIG_HEADER(config.h)
+
+ AC_PROG_CC
diff --git a/meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch b/meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch
new file mode 100644
index 0000000000..544b840fea
--- /dev/null
+++ b/meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch
@@ -0,0 +1,32 @@
+memcached: add knob to detect whether hugetlbfs are checked
+
+Add knob to detect whether hugetlbfs are checked or not.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
+---
+ configure.ac | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7f22f21..21691b9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -314,7 +314,12 @@ fi
+ dnl ----------------------------------------------------------------------------
+
+ AC_SEARCH_LIBS(umem_cache_create, umem)
+-AC_SEARCH_LIBS(gethugepagesizes, hugetlbfs)
++AC_ARG_ENABLE(hugetlbfs,
++ [AS_HELP_STRING([--enable-hugetlbfs],[Enable hugetlbfs])])
++
++if test "x$enable_hugetlbfs" = "xyes"; then
++ AC_SEARCH_LIBS(gethugepagesizes, hugetlbfs)
++fi
+
+ AC_HEADER_STDBOOL
+ AH_BOTTOM([#if HAVE_STDBOOL_H
+--
+1.8.3.4
+
diff --git a/meta-networking/recipes-support/memcached/memcached_1.4.15.bb b/meta-networking/recipes-support/memcached/memcached_1.4.15.bb
deleted file mode 100644
index 016eaeb6e5..0000000000
--- a/meta-networking/recipes-support/memcached/memcached_1.4.15.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Free & open source, high-performance, distributed memory object \
-caching system, generic in nature, but intended for use in speeding up dynamic \
-web applications by alleviating database load."
-HOMEPAGE = "http://memcached.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff"
-
-SRC_URI = "http://memcached.googlecode.com/files/memcached-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "36ea966f5a29655be1746bf4949f7f69"
-SRC_URI[sha256sum] = "169721ab7a7531add6ae9f6b14b6b5641725fe0b1f0bdf5c3a4327725901e2b4"
-
-DEPENDS = "libevent"
-
-inherit autotools
diff --git a/meta-networking/recipes-support/memcached/memcached_1.4.17.bb b/meta-networking/recipes-support/memcached/memcached_1.4.17.bb
new file mode 100644
index 0000000000..4d93f041e4
--- /dev/null
+++ b/meta-networking/recipes-support/memcached/memcached_1.4.17.bb
@@ -0,0 +1,53 @@
+SUMMARY = "A high-performance memory object caching system"
+DESCRIPTION = "\
+ memcached optimizes specific high-load serving applications that are designed \
+ to take advantage of its versatile no-locking memory access system. Clients \
+ are available in several different programming languages, to suit the needs \
+ of the specific application. Traditionally this has been used in mod_perl \
+ apps to avoid storing large chunks of data in Apache memory, and to share \
+ this burden across several machines."
+
+HOMEPAGE = "http://memcached.org/"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff"
+
+inherit autotools
+
+DEPENDS += "libevent"
+RDEPENDS_${PN} += "perl perl-module-posix perl-module-autoloader \
+ perl-module-tie-hash bash \
+ "
+
+SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \
+ file://configure.patch \
+ file://memcached-add-hugetlbfs-check.patch"
+
+# set the same COMPATIBLE_HOST as libhugetlbfs
+COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux'
+
+SRC_URI[md5sum] = "46402dfbd7faadf6182283dbbd18b1a6"
+SRC_URI[sha256sum] = "d9173ef6d99ba798c982ea4566cb4f0e64eb23859fdbf9926a89999d8cdc0458"
+
+python __anonymous () {
+ endianness = d.getVar('SITEINFO_ENDIANNESS', True)
+ if endianness == 'le':
+ d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little")
+ else:
+ d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big")
+}
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "memcached"
+INITSCRIPT_PARAMS = "defaults"
+
+do_install_append() {
+ install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached
+ mkdir -p ${D}/usr/share/memcached/scripts
+ install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts
+ install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts
+}
diff --git a/meta-networking/recipes-support/mtr/files/no-gtk.patch b/meta-networking/recipes-support/mtr/files/no-gtk.patch
deleted file mode 100644
index 0dbeb7a297..0000000000
--- a/meta-networking/recipes-support/mtr/files/no-gtk.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Disable gtk check that breaks with current autotools
-
-Ideally we would have a proper fix for this and send that upstream instead.
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
-diff --git a/configure.in b/configure.in
-index 8474543..5118565 100644
---- a/configure.in
-+++ b/configure.in
-@@ -48,16 +48,8 @@ AC_ARG_ENABLE(ipv6,
- [ --disable-ipv6 Do not enable IPv6],
- WANTS_IPV6=$enableval, WANTS_IPV6=yes)
-
--if test "x$WANTS_GTK" = "xyes"; then
-- AM_PATH_GTK_2_0(2.6.0, CFLAGS="$CFLAGS $GTK_CFLAGS"
-- LIBS="$LIBS $GTK_LIBS -lm",
-- AC_MSG_WARN(Building without GTK2 display support)
-- AC_DEFINE(NO_GTK, 1, [Define if you don't have the GTK+ libraries available.])
-- GTK_OBJ="")
--else
-- AC_DEFINE(NO_GTK)
-- GTK_OBJ=""
--fi
-+AC_DEFINE(NO_GTK, 1, [Define if you don't have the GTK+ libraries available.])
-+GTK_OBJ=""
-
- AC_CHECK_FUNC(socket, ,
- AC_CHECK_LIB(socket, socket, , AC_MSG_ERROR(No socket library found)))
diff --git a/meta-networking/recipes-support/mtr/mtr_0.82.bb b/meta-networking/recipes-support/mtr/mtr_0.86.bb
index 3a9394874e..a60bd347e7 100644
--- a/meta-networking/recipes-support/mtr/mtr_0.82.bb
+++ b/meta-networking/recipes-support/mtr/mtr_0.86.bb
@@ -5,13 +5,12 @@ DEPENDS = "ncurses"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://mtr.c;beginline=5;endline=16;md5=56e390ced194aff352eefab404883057"
+ file://mtr.c;beginline=5;endline=16;md5=af1fafbbfa1bfd48af839f4bb3221106"
-SRC_URI = "ftp://ftp.bitwizard.nl/mtr/mtr-${PV}.tar.gz \
- file://no-gtk.patch"
+SRC_URI = "ftp://ftp.bitwizard.nl/mtr/mtr-${PV}.tar.gz"
-SRC_URI[md5sum] = "10601ea543fda3e51545c4bce195b64c"
-SRC_URI[sha256sum] = "f3b457c9623ae03565688a7ffd49d4843a5e2505ccaf3ba8d9fbd86e3ce9b6a0"
+SRC_URI[md5sum] = "8d63592c9d4579ef20cf491b41843eb2"
+SRC_URI[sha256sum] = "c5d948920b641cc35f8b380fc356ddfe07cce6a9c6474afe242fc58113f28c06"
inherit autotools
diff --git a/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb b/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb
index 066aac2c0b..a0e37e17a6 100644
--- a/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb
+++ b/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb
@@ -9,6 +9,7 @@ LICENSE = "GPL-2.0"
# perform the actual trace operation.
RDEPENDS_${PN}-tcptraceroute6 = "${PN}-rltraceroute6"
RDEPENDS_${PN}-tracert6 = "${PN}-rltraceroute6"
+RDEPENDS_${PN}-misc += "perl"
SRC_URI = "http://www.remlab.net/files/ndisc6/ndisc6-${PV}.tar.bz2 \
"
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 4474e1d093..4237dc4c51 100644
--- a/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb
+++ b/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb
@@ -17,9 +17,18 @@ S = "${WORKDIR}/${BPN}-${PV}"
do_configure[noexec] = "1"
-do_compile() {
+netcat_do_patch() {
cd ${S}
while read line; do patch -p1 < ${WORKDIR}/debian/patches/$line; done < ${WORKDIR}/debian/patches/series
+}
+
+python do_patch() {
+ bb.build.exec_func('netcat_do_patch', d)
+ bb.build.exec_func('patch_do_patch', d)
+}
+
+do_compile() {
+ cd ${S}
pkgrel=4
oe_runmake CFLAGS="$CFLAGS -DDEBIAN_VERSION=\"\\\"${pkgrel}\\\"\""
}
diff --git a/meta-networking/recipes-support/netcf/netcf_git.bb b/meta-networking/recipes-support/netcf/netcf_git.bb
index 6c36ce8482..979e45b607 100644
--- a/meta-networking/recipes-support/netcf/netcf_git.bb
+++ b/meta-networking/recipes-support/netcf/netcf_git.bb
@@ -16,7 +16,7 @@ DEPENDS += "augeas libnl libxslt libxml2 gnulib"
S = "${WORKDIR}/git"
-inherit gettext autotools
+inherit gettext autotools-brokensep pkgconfig
EXTRA_OECONF_append_class-target = " --with-driver=redhat"
do_configure_prepend() {
@@ -25,3 +25,7 @@ do_configure_prepend() {
./bootstrap --gnulib-srcdir=${STAGING_DATADIR}/gnulib
}
+do_install_append() {
+ mv ${D}${sysconfdir}/rc.d/init.d/ ${D}${sysconfdir}
+ rm -rf ${D}${sysconfdir}/rc.d/
+}
diff --git a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb b/meta-networking/recipes-support/netperf/netperf_2.6.0.bb
index 7124b02e3f..ffa77d7bb9 100644
--- a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb
+++ b/meta-networking/recipes-support/netperf/netperf_2.6.0.bb
@@ -27,6 +27,9 @@ CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE"
CFLAGS_append = "${@base_contains('DISTRO_FEATURES', 'largefile', \
' -D_FILE_OFFSET_BITS=64', '', d)}"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,lksctp-tools,"
+
# autotools.bbclass attends to include m4 files with path depth <= 2 by
# "find ${S} -maxdepth 2 -name \*.m4", so move m4 files from m4/m4.
do_configure_prepend() {
@@ -57,5 +60,7 @@ do_install() {
install -m 0644 ${S}/doc/netperf_old.ps ${D}${docdir}/netperf
}
+RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG', 'sctp', 'kernel-module-sctp', '', d)}"
+
INITSCRIPT_NAME="netperf"
INITSCRIPT_PARAMS="defaults"
diff --git a/meta-networking/recipes-support/ntp/files/openssl-check.patch b/meta-networking/recipes-support/ntp/files/openssl-check.patch
deleted file mode 100644
index 8b4a6733cd..0000000000
--- a/meta-networking/recipes-support/ntp/files/openssl-check.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-Hack OpenSSL check to work when libssl and libcrypto aren't in same dir
-
-Upstream-Status: Inappropriate [config]
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
----
- configure | 4 ++--
- m4/ntp_openssl.m4 | 4 ++--
- sntp/configure | 4 ++--
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/configure b/configure
-index aae2c01..6a3c15e 100755
---- a/configure
-+++ b/configure
-@@ -22868,8 +22868,8 @@ case "$ans" in
- test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
- ;;
- *)
-- test -f $i/libcrypto.so -a -f $i/libssl.so && break
-- test -f $i/libcrypto.a -a -f $i/libssl.a && break
-+ test -f $i/libssl.so && break
-+ test -f $i/libssl.a && break
- ;;
- esac
- done
-diff --git a/m4/ntp_openssl.m4 b/m4/ntp_openssl.m4
-index 7d9f477..67bdd55 100644
---- a/m4/ntp_openssl.m4
-+++ b/m4/ntp_openssl.m4
-@@ -41,8 +41,8 @@ case "$ans" in
- test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
- ;;
- *)
-- test -f $i/libcrypto.so -a -f $i/libssl.so && break
-- test -f $i/libcrypto.a -a -f $i/libssl.a && break
-+ test -f $i/libssl.so && break
-+ test -f $i/libssl.a && break
- ;;
- esac
- done
-diff --git a/sntp/configure b/sntp/configure
-index 7782c29..55e82d9 100755
---- a/sntp/configure
-+++ b/sntp/configure
-@@ -14810,8 +14810,8 @@ case "$ans" in
- test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
- ;;
- *)
-- test -f $i/libcrypto.so -a -f $i/libssl.so && break
-- test -f $i/libcrypto.a -a -f $i/libssl.a && break
-+ test -f $i/libssl.so && break
-+ test -f $i/libssl.a && break
- ;;
- esac
- done
---
-1.7.1
-
diff --git a/meta-networking/recipes-support/ntp/files/tickadj.c.patch b/meta-networking/recipes-support/ntp/files/tickadj.c.patch
deleted file mode 100644
index 9ef9de9e1f..0000000000
--- a/meta-networking/recipes-support/ntp/files/tickadj.c.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: ntp-4.2.2p3-r0/ntp-4.2.2p3/util/tickadj.c
-===================================================================
---- ntp-4.2.2p3/util/tickadj.c 2004-02-25 06:58:33.000000000 +0100
-+++ ntp-4.2.2p3/util/tickadj.c 2007-07-07 01:00:54.000000000 +0200
-@@ -21,7 +21,8 @@
- # include <unistd.h>
- #endif /* HAVE_UNISTD_H */
-
--#ifdef HAVE___ADJTIMEX /* Linux */
-+/* proper handling here has been moved to upstream ntp bugzilla */
-+#ifdef linux
-
- #include <sys/timex.h>
- struct timex txc;
-@@ -91,7 +92,7 @@
- }
-
- if (!errflg) {
-- if (__adjtimex(&txc) < 0)
-+ if (adjtimex(&txc) < 0)
- perror("adjtimex");
- else if (!quiet)
- printf("tick = %ld\ntick_adj = %d\n",
-@@ -146,7 +147,7 @@
- #endif
- }
-
-- if (__adjtimex(&txc) < 0)
-+ if (adjtimex(&txc) < 0)
- {
- perror("adjtimex");
- }
diff --git a/meta-networking/recipes-support/ntp/files/ntp-4.2.4_p6-nano.patch b/meta-networking/recipes-support/ntp/ntp/ntp-4.2.4_p6-nano.patch
index cb1e2f7341..cb1e2f7341 100644
--- a/meta-networking/recipes-support/ntp/files/ntp-4.2.4_p6-nano.patch
+++ b/meta-networking/recipes-support/ntp/ntp/ntp-4.2.4_p6-nano.patch
diff --git a/meta-networking/recipes-support/ntp/ntp/ntp-4.2.8-ntp-keygen-no-openssl.patch b/meta-networking/recipes-support/ntp/ntp/ntp-4.2.8-ntp-keygen-no-openssl.patch
new file mode 100644
index 0000000000..9b9af63ca3
--- /dev/null
+++ b/meta-networking/recipes-support/ntp/ntp/ntp-4.2.8-ntp-keygen-no-openssl.patch
@@ -0,0 +1,168 @@
+Fix ntp-keygen build without OpenSSL
+
+Patch borrowed from Gentoo, originally from upstream
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Upstream-Status: Backport
+
+Upstream commit:
+http://bk1.ntp.org/ntp-stable/?PAGE=patch&REV=5497b345z5MNTuNvJWuqPSje25NQTg
+Gentoo bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=533238
+
+Signed-off-by: Markos Chandras <hwoarang@gentoo.org>
+Index: ntp-4.2.8/Makefile.am
+===================================================================
+--- ntp-4.2.8.orig/Makefile.am
++++ ntp-4.2.8/Makefile.am
+@@ -2,7 +2,10 @@ ACLOCAL_AMFLAGS = -I sntp/m4 -I sntp/lib
+
+ NULL =
+
++# moved sntp first to get libtool and libevent built.
++
+ SUBDIRS = \
++ sntp \
+ scripts \
+ include \
+ libntp \
+@@ -17,7 +20,6 @@ SUBDIRS = \
+ clockstuff \
+ kernel \
+ util \
+- sntp \
+ tests \
+ $(NULL)
+
+@@ -64,7 +66,6 @@ BUILT_SOURCES = \
+ .gcc-warning \
+ 'libtool \
+ html/.datecheck \
+- sntp/built-sources-only \
+ $(srcdir)/COPYRIGHT \
+ $(srcdir)/.checkChangeLog \
+ $(NULL)
+Index: ntp-4.2.8/configure.ac
+===================================================================
+--- ntp-4.2.8.orig/configure.ac
++++ ntp-4.2.8/configure.ac
+@@ -102,7 +102,7 @@ esac
+ enable_nls=no
+ LIBOPTS_CHECK_NOBUILD([sntp/libopts])
+
+-NTP_ENABLE_LOCAL_LIBEVENT
++NTP_LIBEVENT_CHECK_NOBUILD([2], [sntp/libevent])
+
+ NTP_LIBNTP
+
+@@ -771,6 +771,10 @@ esac
+
+ ####
+
++AC_CHECK_FUNCS([arc4random_buf])
++
++####
++
+ saved_LIBS="$LIBS"
+ LIBS="$LIBS $LDADD_LIBNTP"
+ AC_CHECK_FUNCS([daemon])
+Index: ntp-4.2.8/libntp/ntp_crypto_rnd.c
+===================================================================
+--- ntp-4.2.8.orig/libntp/ntp_crypto_rnd.c
++++ ntp-4.2.8/libntp/ntp_crypto_rnd.c
+@@ -24,6 +24,21 @@
+ int crypto_rand_init = 0;
+ #endif
+
++#ifndef HAVE_ARC4RANDOM_BUF
++static void
++arc4random_buf(void *buf, size_t nbytes);
++
++void
++evutil_secure_rng_get_bytes(void *buf, size_t nbytes);
++
++static void
++arc4random_buf(void *buf, size_t nbytes)
++{
++ evutil_secure_rng_get_bytes(buf, nbytes);
++ return;
++}
++#endif
++
+ /*
+ * As of late 2014, here's how we plan to provide cryptographic-quality
+ * random numbers:
+Index: ntp-4.2.8/sntp/configure.ac
+===================================================================
+--- ntp-4.2.8.orig/sntp/configure.ac
++++ ntp-4.2.8/sntp/configure.ac
+@@ -97,11 +97,14 @@ esac
+ enable_nls=no
+ LIBOPTS_CHECK
+
+-AM_COND_IF(
+- [BUILD_SNTP],
+- [NTP_LIBEVENT_CHECK],
+- [NTP_LIBEVENT_CHECK_NOBUILD]
+-)
++# From when we only used libevent for sntp:
++#AM_COND_IF(
++# [BUILD_SNTP],
++# [NTP_LIBEVENT_CHECK],
++# [NTP_LIBEVENT_CHECK_NOBUILD]
++#)
++
++NTP_LIBEVENT_CHECK([2])
+
+ # Checks for libraries.
+
+Index: ntp-4.2.8/sntp/m4/ntp_libevent.m4
+===================================================================
+--- ntp-4.2.8.orig/sntp/m4/ntp_libevent.m4
++++ ntp-4.2.8/sntp/m4/ntp_libevent.m4
+@@ -1,4 +1,25 @@
+-dnl NTP_ENABLE_LOCAL_LIBEVENT -*- Autoconf -*-
++# SYNOPSIS -*- Autoconf -*-
++#
++# NTP_ENABLE_LOCAL_LIBEVENT
++# NTP_LIBEVENT_CHECK([MINVERSION [, DIR]])
++# NTP_LIBEVENT_CHECK_NOBUILD([MINVERSION [, DIR]])
++#
++# DESCRIPTION
++#
++# AUTHOR
++#
++# Harlan Stenn
++#
++# LICENSE
++#
++# This file is Copyright (c) 2014 Network Time Foundation
++#
++# Copying and distribution of this file, with or without modification, are
++# permitted in any medium without royalty provided the copyright notice,
++# author attribution and this notice are preserved. This file is offered
++# as-is, without any warranty.
++
++dnl NTP_ENABLE_LOCAL_LIBEVENT
+ dnl
+ dnl Provide only the --enable-local-libevent command-line option.
+ dnl
+@@ -29,7 +50,7 @@ dnl If NOBUILD is provided as the 3rd ar
+ dnl but DO NOT invoke DIR/configure if we are going to use our bundled
+ dnl version. This may be the case for nested packages.
+ dnl
+-dnl provide --enable-local-libevent .
++dnl provides --enable-local-libevent .
+ dnl
+ dnl Examples:
+ dnl
+Index: ntp-4.2.8/util/Makefile.am
+===================================================================
+--- ntp-4.2.8.orig/util/Makefile.am
++++ ntp-4.2.8/util/Makefile.am
+@@ -19,6 +19,7 @@ AM_LDFLAGS = $(LDFLAGS_NTP)
+ LDADD= ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS)
+ tg2_LDADD= ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM)
+ ntp_keygen_LDADD = version.o $(LIBOPTS_LDADD) ../libntp/libntp.a
++ntp_keygen_LDADD += $(LDADD_LIBEVENT)
+ ntp_keygen_LDADD += $(LDADD_LIBNTP) $(PTHREAD_LIBS) $(LDADD_NTP) $(LIBM)
+ ntp_keygen_SOURCES = ntp-keygen.c ntp-keygen-opts.c ntp-keygen-opts.h
+
diff --git a/meta-networking/recipes-support/ntp/files/ntp.conf b/meta-networking/recipes-support/ntp/ntp/ntp.conf
index 875b7ebc1d..676e186453 100644
--- a/meta-networking/recipes-support/ntp/files/ntp.conf
+++ b/meta-networking/recipes-support/ntp/ntp/ntp.conf
@@ -1,7 +1,7 @@
# This is the most basic ntp configuration file
# The driftfile must remain in a place specific to this
# machine - it records the machine specific clock error
-driftfile /etc/ntp.drift
+driftfile /var/lib/ntp/drift
# This should be a server that is close (in IP terms)
# to the machine. Add other servers as required.
# Unless you un-comment the line below ntpd will sync
diff --git a/meta-networking/recipes-support/ntp/files/ntpd b/meta-networking/recipes-support/ntp/ntp/ntpd
index a62b8ce691..d1b9c49076 100755
--- a/meta-networking/recipes-support/ntp/files/ntpd
+++ b/meta-networking/recipes-support/ntp/ntp/ntpd
@@ -1,12 +1,28 @@
#! /bin/sh
-#
+
+### BEGIN INIT INFO
+# Provides: ntp
+# Required-Start: $network $remote_fs $syslog
+# Required-Stop: $network $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop:
+# Short-Description: Start NTP daemon
+### END INIT INFO
+
PATH=/sbin:/bin:/usr/bin:/usr/sbin
+DAEMON=/usr/sbin/ntpd
+PIDFILE=/var/run/ntpd.pid
+
# ntpd init.d script for ntpdc from ntp.isc.org
-test -x /usr/sbin/ntpd -a -r /etc/ntp.conf || exit 0
+test -x $DAEMON -a -r /etc/ntp.conf || exit 0
+
# rcS contains TICKADJ
test -r /etc/default/rcS && . /etc/default/rcS
+# Source function library.
+. /etc/init.d/functions
+
# Functions to do individual actions
settick(){
# If TICKADJ is set we *must* adjust it before we start, because the
@@ -23,12 +39,12 @@ startdaemon(){
# this. If ntpd seems to disappear after a while assume TICKADJ
# above is set to a totally incorrect value.
echo -n "Starting ntpd: "
- start-stop-daemon --start -x /usr/sbin/ntpd -- -u ntp:ntp -p /var/run/ntp.pid "$@"
+ start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- -u ntp:ntp -p $PIDFILE "$@"
echo "done"
}
stopdaemon(){
echo -n "Stopping ntpd: "
- start-stop-daemon --stop -p /var/run/ntp.pid
+ start-stop-daemon --stop --quiet --oknodo -p $PIDFILE
echo "done"
}
@@ -55,8 +71,12 @@ case "$1" in
stopdaemon
startdaemon
;;
+ status)
+ status /usr/sbin/ntpd;
+ exit $?
+ ;;
*)
- echo "Usage: ntpd { start | stop | restart | reload }" >&2
+ echo "Usage: ntpd { start | stop | status | restart | reload }" >&2
exit 1
;;
esac
diff --git a/meta-networking/recipes-support/ntp/ntp/ntpd.service b/meta-networking/recipes-support/ntp/ntp/ntpd.service
index b7c4268646..0e3d7cd37b 100644
--- a/meta-networking/recipes-support/ntp/ntp/ntpd.service
+++ b/meta-networking/recipes-support/ntp/ntp/ntpd.service
@@ -5,7 +5,7 @@ After=network.target
[Service]
Type=forking
PIDFile=/run/ntpd.pid
-ExecStart=/usr/sbin/ntpd -p /run/ntpd.pid -g
+ExecStart=/usr/sbin/ntpd -u ntp:ntp -p /run/ntpd.pid -g
[Install]
WantedBy=multi-user.target
diff --git a/meta-networking/recipes-support/ntp/files/ntpdate b/meta-networking/recipes-support/ntp/ntp/ntpdate
index 17b64d1335..17b64d1335 100755
--- a/meta-networking/recipes-support/ntp/files/ntpdate
+++ b/meta-networking/recipes-support/ntp/ntp/ntpdate
diff --git a/meta-networking/recipes-support/ntp/files/ntpdate.default b/meta-networking/recipes-support/ntp/ntp/ntpdate.default
index 486b6e07d3..486b6e07d3 100644
--- a/meta-networking/recipes-support/ntp/files/ntpdate.default
+++ b/meta-networking/recipes-support/ntp/ntp/ntpdate.default
diff --git a/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb b/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb
deleted file mode 100644
index 588a1b03c9..0000000000
--- a/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require ntp.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI[md5sum] = "00df80a84ec9528fcfb09498075525bc"
-SRC_URI[sha256sum] = "d6ab8371f9d31e594eb6922823d5ccd03dcc4e9d84b0e23ea25ac1405432f91c"
diff --git a/meta-networking/recipes-support/ntp/ntp.inc b/meta-networking/recipes-support/ntp/ntp_4.2.8.bb
index 49f9901e1e..e802ee700b 100644
--- a/meta-networking/recipes-support/ntp/ntp.inc
+++ b/meta-networking/recipes-support/ntp/ntp_4.2.8.bb
@@ -6,14 +6,12 @@ or satellite receiver or modem."
HOMEPAGE = "http://support.ntp.org"
SECTION = "console/network"
LICENSE = "NTP"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fea4b50c33b18c2194b4b1c9ca512670"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ebe123f74017224947c78d472407c10f"
-INC_PR = "r6"
+DEPENDS = "pps-tools libevent"
SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
- file://tickadj.c.patch \
file://ntp-4.2.4_p6-nano.patch \
- file://openssl-check.patch \
file://ntpd \
file://ntp.conf \
file://ntpdate \
@@ -23,20 +21,32 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g
file://sntp.service \
file://sntp \
file://ntpd.list \
+ file://ntp-4.2.8-ntp-keygen-no-openssl.patch \
"
-inherit autotools update-rc.d useradd systemd
+SRC_URI[md5sum] = "6972a626be6150db8cfbd0b63d8719e7"
+SRC_URI[sha256sum] = "2e920df8b6a5a410567a73767fa458c00c7f0acec3213e69ed0134414a50d8ee"
+
+inherit autotools update-rc.d useradd systemd pkgconfig
# The ac_cv_header_readline_history is to stop ntpdc depending on either
# readline or curses
-EXTRA_OECONF += "--with-net-snmp-config=no --without-ntpsnmpd ac_cv_header_readline_history_h=no --with-binsubdir=sbin"
+EXTRA_OECONF += "--with-net-snmp-config=no \
+ --without-ntpsnmpd \
+ ac_cv_header_readline_history_h=no \
+ --with-yielding_select=yes \
+ --with-locfile=redhat \
+ "
CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED"
USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --home-dir /var/lib/ntp \
+NTP_USER_HOME ?= "/var/lib/ntp"
+USERADD_PARAM_${PN} = "--system --home-dir ${NTP_USER_HOME} \
+ --no-create-home \
--shell /bin/false --user-group ntp"
-PACKAGECONFIG ??= "cap"
+# NB: debug is default-enabled by NTP; keep it default-enabled here.
+PACKAGECONFIG ??= "cap debug"
PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \
--with-openssl-incdir=${STAGING_INCDIR} \
--with-crypto, \
@@ -44,6 +54,7 @@ PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \
openssl"
PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap"
PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline"
+PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging"
do_install_append() {
install -d ${D}${sysconfdir}/init.d
@@ -52,6 +63,9 @@ do_install_append() {
install -d ${D}${bindir}
install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync
+ install -m 755 -d ${D}${NTP_USER_HOME}
+ chown ntp:ntp ${D}${NTP_USER_HOME}
+
# Fix hardcoded paths in scripts
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
@@ -60,8 +74,10 @@ do_install_append() {
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync
sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntptrace
sed -i '/use/i use warnings;' ${D}${sbindir}/ntptrace
- sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait
+ sed -i '1s,#!.*perl,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait
sed -i '/use/i use warnings;' ${D}${sbindir}/ntp-wait
+ sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/calc_tickadj
+ sed -i '/use/i use warnings;' ${D}${sbindir}/calc_tickadj
install -d ${D}/${sysconfdir}/default
install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate
@@ -106,10 +122,12 @@ RCONFLICTS_ntpdate += "ntpdate-systemd"
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 \
"
FILES_${PN}-tickadj = "${sbindir}/tickadj"
-FILES_${PN}-utils = "${sbindir}"
+FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib"
+RDEPENDS_${PN}-utils += "perl"
FILES_ntpdate = "${sbindir}/ntpdate \
${sysconfdir}/network/if-up.d/ntpdate-sync \
${bindir}/ntpdate-sync \
@@ -118,6 +136,7 @@ FILES_ntpdate = "${sbindir}/ntpdate \
"
FILES_sntp = "${sbindir}/sntp \
${sysconfdir}/default/sntp \
+ ${systemd_unitdir}/system/sntp.service \
"
CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
diff --git a/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb b/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb
index b931d04702..a275238a3b 100644
--- a/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb
+++ b/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb
@@ -8,12 +8,12 @@ network layer throughput by transferring memory buffers from a source system \
across an interconnecting network to a destination system, either transferring \
data for a specified time interval, or alternatively transferring a specified \
number of bytes."
-HOMEPAGE = "http://www.nuttcp.net/nuttcp/Welcome%20Page.html"
+HOMEPAGE = "http://www.nuttcp.net/Welcome%20Page.html"
LICENSE = "GPL-2.0"
SECTION = "net"
-LIC_FILES_CHKSUM = "file://nuttcp-${PV}.c;beginline=4;endline=30;md5=ae7045c3c3616092e07d87f04ba0d960"
+LIC_FILES_CHKSUM = "file://${BP}.c;beginline=4;endline=30;md5=ae7045c3c3616092e07d87f04ba0d960"
-SRC_URI = "http://lcp.nrl.navy.mil/nuttcp/beta/nuttcp-${PV}.c"
+SRC_URI = "http://nuttcp.net/${BPN}/beta/${BP}.c"
SRC_URI[md5sum] = "1ebf4a08bad2a295a8155f02995e8754"
SRC_URI[sha256sum] = "c6e33810ccce67260f8d5d627f60e429d44f532365c58ed5673d035e2a59c4db"
diff --git a/meta-networking/recipes-support/openvpn/openvpn/openvpn@.service b/meta-networking/recipes-support/openvpn/openvpn/openvpn@.service
new file mode 100644
index 0000000000..358dcb791a
--- /dev/null
+++ b/meta-networking/recipes-support/openvpn/openvpn/openvpn@.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
+After=syslog.target network.target
+
+[Service]
+PrivateTmp=true
+Type=forking
+PIDFile=/var/run/openvpn/%i.pid
+ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.1.3.bb b/meta-networking/recipes-support/openvpn/openvpn_2.1.3.bb
deleted file mode 100644
index 9ef0fbf0b5..0000000000
--- a/meta-networking/recipes-support/openvpn/openvpn_2.1.3.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "A full-featured SSL VPN solution via tun device"
-HOMEPAGE = "http://openvpn.sourceforge.net"
-SECTION = "console/network"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5aac200199fde47501876cba7263cb0c"
-DEPENDS = "lzo openssl"
-
-inherit autotools
-
-SRC_URI = "http://openvpn.net/release/openvpn-${PV}.tar.gz \
- file://openvpn"
-
-SRC_URI[md5sum] = "7486d3e270ba4b033e311d3e022a0ad7"
-SRC_URI[sha256sum] = "5185181df2e6043bd667377bc92e36ea5a5bd7600af209654f109b6403ca5b36"
-
-CFLAGS += "-fno-inline"
-
-# I want openvpn to be able to read password from file (hrw)
-EXTRA_OECONF += "--enable-password-save"
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -d ${D}/${sysconfdir}/openvpn
- install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
-}
-
-RRECOMMENDS_${PN} = "kernel-module-tun"
diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb b/meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb
new file mode 100644
index 0000000000..58ddcc813f
--- /dev/null
+++ b/meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb
@@ -0,0 +1,63 @@
+SUMMARY = "A full-featured SSL VPN solution via tun device."
+HOMEPAGE = "http://openvpn.sourceforge.net"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5aac200199fde47501876cba7263cb0c"
+DEPENDS = "lzo openssl iproute2 ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+inherit autotools systemd
+
+SRC_URI = "http://swupdate.openvpn.org/community/releases/openvpn-${PV}.tar.gz \
+ file://openvpn \
+ file://openvpn@.service "
+
+SRC_URI[md5sum] = "6ca03fe0fd093e0d01601abee808835c"
+SRC_URI[sha256sum] = "7baed2ff39c12e1a1a289ec0b46fcc49ff094ca58b8d8d5f29b36ac649ee5b26"
+
+SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+CFLAGS += "-fno-inline"
+
+# I want openvpn to be able to read password from file (hrw)
+EXTRA_OECONF += "--enable-password-save --enable-iproute2"
+EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
+
+# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
+EXTRA_OECONF += "IPROUTE=/sbin/ip"
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
+
+ install -d ${D}/${sysconfdir}/openvpn
+ install -d ${D}/${sysconfdir}/openvpn/sample
+ install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
+ install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
+ install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
+ install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
+
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service
+ install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service
+
+ install -d ${D}/${localstatedir}
+ install -d ${D}/${localstatedir}/lib
+ install -d -m 710 ${D}/${localstatedir}/lib/openvpn
+ install -d -m 755 ${D}/${localstatedir}/run/
+ install -d -m 755 ${D}/${localstatedir}/run/openvpn
+ fi
+}
+
+PACKAGES =+ " ${PN}-sample "
+
+RRECOMMENDS_${PN} = "kernel-module-tun"
+
+FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
+FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \
+ /run"
+FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \
+ ${systemd_unitdir}/system/openvpn@loopback-client.service \
+ ${sysconfdir}/openvpn/sample/"
diff --git a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb b/meta-networking/recipes-support/pimd/pimd_2.1.8.bb
new file mode 100644
index 0000000000..f0323618dd
--- /dev/null
+++ b/meta-networking/recipes-support/pimd/pimd_2.1.8.bb
@@ -0,0 +1,17 @@
+SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon."
+HOMEPAGE = "http://troglobit.com/pimd.html"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790"
+
+SRC_URI = "ftp://troglobit.com/pimd/${BP}.tar.bz2"
+SRC_URI[md5sum] = "a12448bc7c9bfcebf51a13ebf1ffa962"
+SRC_URI[sha256sum] = "01016940543a0a6131d4e6c91b595d47e187012c59a298eec14c3dbc38564b3a"
+
+CFLAGS += "-I ${S}/include "
+
+do_install() {
+ unset datadir
+ unset mandir
+ oe_runmake 'DESTDIR=${D}' install
+}
+
diff --git a/meta-networking/recipes-support/ssmping/files/0001-Makefile-tweak-install-dir.patch b/meta-networking/recipes-support/ssmping/files/0001-Makefile-tweak-install-dir.patch
new file mode 100644
index 0000000000..0cb981cf7a
--- /dev/null
+++ b/meta-networking/recipes-support/ssmping/files/0001-Makefile-tweak-install-dir.patch
@@ -0,0 +1,35 @@
+From 693cfce5431e191a3955fd56fa822927d92c9e43 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 7 Nov 2014 14:27:00 +0800
+Subject: [PATCH] Makefile: tweak install dir
+
+For oe-core, the man doc should be installed to /usr/share/man
+rather than /usr/locale/man.
+
+Upstream-Status: inappropriate (oe specific)
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index b5d12f8..9b2663c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -14,9 +14,9 @@ install: ssmping asmping ssmpingd mcfirst
+ install -D asmping $(DESTDIR)$(PREFIX)/bin/asmping
+ install -D ssmpingd $(DESTDIR)$(PREFIX)/bin/ssmpingd
+ install -D mcfirst $(DESTDIR)$(PREFIX)/bin/mcfirst
+- install -D ssmping.1 $(DESTDIR)$(PREFIX)/man/man1/ssmping.1
+- install -D asmping.1 $(DESTDIR)$(PREFIX)/man/man1/asmping.1
+- install -D mcfirst.1 $(DESTDIR)$(PREFIX)/man/man1/mcfirst.1
++ install -D ssmping.1 $(DESTDIR)$(PREFIX)/share/man/man1/ssmping.1
++ install -D asmping.1 $(DESTDIR)$(PREFIX)/share/man/man1/asmping.1
++ install -D mcfirst.1 $(DESTDIR)$(PREFIX)/share/man/man1/mcfirst.1
+
+ clean:
+ rm -f $(OBJ) joinch.o joingrp.o ssmping asmping ssmpingd mcfirst
+--
+1.9.1
+
diff --git a/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb b/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb
new file mode 100644
index 0000000000..0eaa7ca4cf
--- /dev/null
+++ b/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "ssmping is a tool for checking whether one can receive SSM from a given host"
+HOMEPAGE = "http://www.venaas.no/multicast/ssmping/"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://asmping.c;beginline=2;endline=11;md5=1ca8d1a1ca931e5cfe604ebf20a78b71"
+
+SRC_URI = "http://www.venaas.no/multicast/ssmping/${BP}.tar.gz \
+ file://0001-Makefile-tweak-install-dir.patch \
+"
+SRC_URI[md5sum] = "ad8e3d13f6d72918f73be7e7975d7fad"
+SRC_URI[sha256sum] = "22103a37eaa28489169a0927bc01e0596c3485fc4d29fc8456c07fd2c70fca6d"
+
+CFLAGS += "-D_GNU_SOURCE "
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' 'PREFIX=${prefix}' install
+}
diff --git a/meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch b/meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch
deleted file mode 100644
index ad3459e995..0000000000
--- a/meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From b980ba7757dcfedd756aa055b3271ea58cf85aa6 Mon Sep 17 00:00:00 2001
-From: Martin Willi <martin@revosec.ch>
-Date: Thu, 20 Feb 2014 16:08:43 +0100
-Subject: [PATCH] ikev2: Reject CREATE_CHILD_SA exchange on unestablished
- IKE_SAs
-
-Prevents a responder peer to trick us into established state by starting
-IKE_SA rekeying before the IKE_SA has been authenticated during IKE_AUTH.
-
-Fixes CVE-2014-2338 for 5.x versions of strongSwan.
----
- src/libcharon/sa/ikev2/task_manager_v2.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/src/libcharon/sa/ikev2/task_manager_v2.c b/src/libcharon/sa/ikev2/task_manager_v2.c
-index ac3be90..a5252ab 100644
---- a/src/libcharon/sa/ikev2/task_manager_v2.c
-+++ b/src/libcharon/sa/ikev2/task_manager_v2.c
-@@ -780,6 +780,15 @@ static status_t process_request(private_
- case CREATE_CHILD_SA:
- { /* FIXME: we should prevent this on mediation connections */
- bool notify_found = FALSE, ts_found = FALSE;
-+
-+ if (this->ike_sa->get_state(this->ike_sa) == IKE_CREATED ||
-+ this->ike_sa->get_state(this->ike_sa) == IKE_CONNECTING)
-+ {
-+ DBG1(DBG_IKE, "received CREATE_CHILD_SA request for "
-+ "unestablished IKE_SA, rejected");
-+ return FAILED;
-+ }
-+
- enumerator = message->create_payload_enumerator(message);
- while (enumerator->enumerate(enumerator, &payload))
- {
---
-1.8.1.2
diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb b/meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb
index f8116e3d07..6b913190c2 100644
--- a/meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb
+++ b/meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb
@@ -9,11 +9,10 @@ DEPENDS = "gmp openssl flex-native flex bison-native"
SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
file://fix-funtion-parameter.patch \
- file://strongswan-5.0.0-5.1.2_reject_child_sa.patch \
"
-SRC_URI[md5sum] = "e3af3d493d22286be3cd794533a8966a"
-SRC_URI[sha256sum] = "fbf2a668221fc4a36a34bdeac2dfeda25b96f572d551df022585177953622406"
+SRC_URI[md5sum] = "dd3717c0aa59ab4591ca1812941ebb82"
+SRC_URI[sha256sum] = "ea51ab33b5bb39fecaf10668833a9936583b42145948ae9da1ab98f74e939215"
EXTRA_OECONF = "--enable-gmp \
--enable-openssl \
@@ -31,7 +30,7 @@ PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,"
PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
-inherit autotools systemd
+inherit autotools systemd pkgconfig
RRECOMMENDS_${PN} = "kernel-module-ipsec"
diff --git a/meta-networking/recipes-support/stunnel/stunnel_4.56.bb b/meta-networking/recipes-support/stunnel/stunnel_4.56.bb
index 938f043a9d..74f2234f0f 100644
--- a/meta-networking/recipes-support/stunnel/stunnel_4.56.bb
+++ b/meta-networking/recipes-support/stunnel/stunnel_4.56.bb
@@ -3,7 +3,9 @@ DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-sta
SECTION = "net"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=f41ebed8571077706fee0b860c4d6666"
-DEPENDS = "openssl"
+DEPENDS = "openssl zlib tcp-wrappers"
+
+RDEPENDS_${PN} += "perl"
SRC_URI = "https://www.stunnel.org/downloads/archive/4.x/${BP}.tar.gz"
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/0001-minimal-IEEE802.15.4-allowed.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/0001-minimal-IEEE802.15.4-allowed.patch
deleted file mode 100644
index 9d3d60d4d7..0000000000
--- a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/0001-minimal-IEEE802.15.4-allowed.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Sergey Lapin <slapin@slind.org>
-Date: Wed, 28 Jan 2009 16:34:15 +0300
-Subject: [PATCH] minimal IEEE802.15.4 allowed
-
----
- tcpdump.c | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/tcpdump.c b/tcpdump.c
-index 06683af..fbc944c 100644
---- a/tcpdump.c
-+++ b/tcpdump.c
-@@ -282,6 +282,9 @@ static struct printer printers[] = {
- #ifdef DLT_MFR
- { mfr_if_print, DLT_MFR },
- #endif
-+#ifdef DLT_IEEE802_15_4
-+ { raw_if_print, DLT_IEEE802_15_4 },
-+#endif
- #if defined(DLT_BLUETOOTH_HCI_H4_WITH_PHDR) && defined(HAVE_PCAP_BLUETOOTH_H)
- { bt_if_print, DLT_BLUETOOTH_HCI_H4_WITH_PHDR},
- #endif
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/ipv6-cross.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/ipv6-cross.patch
deleted file mode 100644
index 7eba2c5a6d..0000000000
--- a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/ipv6-cross.patch
+++ /dev/null
@@ -1,41 +0,0 @@
----
- configure.in | 12 ++++++++----
- 1 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index eb3e5e8..11257c9 100644
---- a/configure.in
-+++ b/configure.in
-@@ -181,8 +181,9 @@ yes) AC_MSG_RESULT(yes)
- ipv6=no
- ;;
- esac ],
--
-- AC_TRY_RUN([ /* AF_INET6 available check */
-+[
-+ if test x"$cross_compiling" != "xyes"; then
-+ AC_TRY_RUN([ /* AF_INET6 avalable check */
- #include <sys/types.h>
- #include <sys/socket.h>
- main()
-@@ -201,7 +202,10 @@ main()
- ipv6=no],
- [ AC_MSG_RESULT(no)
- ipv6=no]
--))
-+ )
-+else
-+ AC_MSG_FAILURE([Unable to check for ipv6 when crosscompiling, please specify.])
-+fi])
-
- ipv6type=unknown
- ipv6lib=none
-@@ -316,7 +320,7 @@ if test "$ipv6" = "yes" -a "$ipv6lib" != "none"; then
- fi
-
-
--if test "$ipv6" = "yes"; then
-+if test x"$cross_compiling" != "xyes" -a "$ipv6" = "yes"; then
- #
- # XXX - on Tru64 UNIX 5.1, there is no "getaddrinfo()"
- # function in libc; there are "ngetaddrinfo()" and
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/tcpdump_configure_no_-O2.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/tcpdump_configure_no_-O2.patch
deleted file mode 100644
index 7929da5b1f..0000000000
--- a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/tcpdump_configure_no_-O2.patch
+++ /dev/null
@@ -1,42 +0,0 @@
----
- configure | 8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure b/configure
-index cb51d19..73d51af 100755
---- a/configure
-+++ b/configure
-@@ -2691,13 +2691,13 @@ if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
- elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
-- CFLAGS="-g -O2"
-+ CFLAGS="-g"
- else
- CFLAGS="-g"
- fi
- else
- if test "$GCC" = yes; then
-- CFLAGS="-O2"
-+ CFLAGS=""
- else
- CFLAGS=
- fi
-@@ -2830,7 +2830,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
- if test "$GCC" = yes ; then
- if test "$SHLICC2" = yes ; then
- ac_cv_lbl_gcc_vers=2
-- V_CCOPT="-O2"
-+ V_CCOPT=""
- else
- { echo "$as_me:$LINENO: checking gcc version" >&5
- echo $ECHO_N "checking gcc version... $ECHO_C" >&6; }
-@@ -2847,7 +2847,7 @@ fi
- { echo "$as_me:$LINENO: result: $ac_cv_lbl_gcc_vers" >&5
- echo "${ECHO_T}$ac_cv_lbl_gcc_vers" >&6; }
- if test $ac_cv_lbl_gcc_vers -gt 1 ; then
-- V_CCOPT="-O2"
-+ V_CCOPT=""
- fi
- fi
- else
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/add-ptest.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/add-ptest.patch
new file mode 100644
index 0000000000..358f6050f6
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/add-ptest.patch
@@ -0,0 +1,38 @@
+From 7b259580800e259d232229dc89f97058b56e2fe8 Mon Sep 17 00:00:00 2001
+From: "Hongjun.Yang" <hongjun.yang@windriver.com>
+Date: Wed, 22 Oct 2014 10:02:48 +0800
+Subject: [PATCH] Add ptest for tcpdump
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com>
+---
+ Makefile.in | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 8c35a45..4fb8ae6 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -428,9 +428,17 @@ distclean:
+ tests/failure-outputs.txt
+ rm -rf autom4te.cache tests/DIFF tests/NEW
+
+-check: tcpdump
++buildtest-TESTS: tcpdump
++
++runtest-PTEST:
+ (cd tests && ./TESTrun.sh)
+
++install-ptest:
++ cp -r tests $(DESTDIR)
++ cp -r config.h $(DESTDIR)
++ install -m 0755 Makefile $(DESTDIR)
++ ln -sf /usr/sbin/tcpdump $(DESTDIR)/tcpdump
++
+ tags: $(TAGFILES)
+ ctags -wtd $(TAGFILES)
+
+--
+1.9.1
+
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/configure.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/configure.patch
index 3697420fd3..3697420fd3 100644
--- a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/configure.patch
+++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/configure.patch
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/run-ptest b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/run-ptest
new file mode 100755
index 0000000000..c03a8b8ef3
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+make -k runtest-PTEST | sed -e '/: passed/ s/^/PASS: /g' \
+ -e '/: failed/ s/^/FAIL: /g' \
+ -e 's/: passed//g' \
+ -e 's/: failed//g'
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-configure-dlpi.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-configure-dlpi.patch
new file mode 100644
index 0000000000..50e2d54399
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-configure-dlpi.patch
@@ -0,0 +1,31 @@
+[PATCH] tcpdump: cross-compiling not check dlpi.
+
+For cross-compiling on Linux platforms, we do not need to check libdlpi
+since it is only placed on Solaris.
+Also, checking libdlpi in native /lib would cause do_qa_configure fail.
+
+Upstream-Status: Pending.
+
+Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
+---
+ configure.in | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 7f9591c..ca277c0 100644
+--- a/configure.in
++++ b/configure.in
+@@ -716,7 +716,9 @@ don't.])
+ fi
+
+ # libdlpi is needed for Solaris 11 and later.
+-AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi" LDFLAGS="-L/lib $LDFLAGS", ,-L/lib)
++if test "$cross_compiling" != yes; then
++ AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi" LDFLAGS="-L/lib $LDFLAGS", ,-L/lib)
++fi
+
+ dnl portability macros for getaddrinfo/getnameinfo
+ dnl
+--
+1.7.5.4
+
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-cross-getaddrinfo.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-cross-getaddrinfo.patch
new file mode 100644
index 0000000000..b414b72e9d
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-cross-getaddrinfo.patch
@@ -0,0 +1,23 @@
+Fix getaddinfo check when cross compiling
+
+Upstream-Status: Pending.
+
+AC_TRY_RUN defaults to td_cv_buggygetaddrinfo=yes when
+cross-compiling. So this change indicates that we
+are cross-compiling.
+
+Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
+
+diff --git a/configure.in b/configure.in
+index ca277c0..283035e 100644
+--- a/configure.in
++++ b/configure.in
+@@ -434,7 +434,7 @@ main()
+ ],
+ td_cv_buggygetaddrinfo=no,
+ td_cv_buggygetaddrinfo=yes,
+- td_cv_buggygetaddrinfo=yes)])
++ td_cv_buggygetaddrinfo=cross)])
+ if test "$td_cv_buggygetaddrinfo" = no; then
+ AC_MSG_RESULT(good)
+ else
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/unnecessary-to-check-libpcap.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/unnecessary-to-check-libpcap.patch
new file mode 100644
index 0000000000..d7a3ac23b1
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/unnecessary-to-check-libpcap.patch
@@ -0,0 +1,33 @@
+unnecessary to check libpcap
+
+Upstream-Status: Pending
+
+since the check of libpcap did not consider the cross-compile, lead to the
+below error:
+ This autoconf log indicates errors, it looked at host include and/or
+ library paths while determining system capabilities.
+
+In fact, the libpcap has been added into the tcpdump's DEPENDS, not need to
+check if libpcap existed.
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index 06fade1..9125de7 100644
+--- a/configure.in
++++ b/configure.in
+@@ -567,7 +567,7 @@ AC_SEARCH_LIBS(getrpcbynumber, nsl,
+ dnl AC_CHECK_LIB(z, uncompress)
+ dnl AC_CHECK_HEADERS(zlib.h)
+
+-AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS)
++#AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS)
+
+ #
+ # Check for these after AC_LBL_LIBPCAP, so we link with the appropriate
+--
+1.7.9.5
+
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump_4.3.0.bb b/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb
index 0d88990abf..1fdaf308d8 100644
--- a/meta-networking/recipes-support/tcpdump/tcpdump_4.3.0.bb
+++ b/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb
@@ -6,20 +6,24 @@ SECTION = "console/network"
DEPENDS = "libpcap"
SRC_URI = " \
- http://www.tcpdump.org/release/tcpdump-${PV}.tar.gz \
- file://tcpdump_configure_no_-O2.patch \
- file://0001-minimal-IEEE802.15.4-allowed.patch \
- file://ipv6-cross.patch \
+ http://www.tcpdump.org/release/${BP}.tar.gz \
file://configure.patch \
+ file://unnecessary-to-check-libpcap.patch \
+ file://tcpdump-configure-dlpi.patch \
+ file://tcpdump-cross-getaddrinfo.patch \
+ file://add-ptest.patch \
+ file://run-ptest \
"
-SRC_URI[md5sum] = "a3fe4d30ac85ff5467c889ff46b7e1e8"
-SRC_URI[sha256sum] = "efd08b610210d39977ec3175fa82dad9fbd33587930081be2a905a712dba4286"
+SRC_URI[md5sum] = "dab267ec30216a069747d10314079ec7"
+SRC_URI[sha256sum] = "4c88c2a9aeb4047074f344fc9b2b6577b219972d359e192f6d12ccf983a13fd7"
+export LIBS=" -lpcap"
-inherit autotools-brokensep
+inherit autotools-brokensep ptest
CACHED_CONFIGUREVARS = "ac_cv_linux_vers=${ac_cv_linux_vers=2}"
-EXTRA_OECONF = "--without-crypto \
- ${@base_contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6', '--disable-ipv6', d)}"
+PACKAGECONFIG ??= "openssl ipv6"
+PACKAGECONFIG[openssl] = "--with-crypto=yes, --without-openssl --without-crypto, openssl"
+PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6,"
EXTRA_AUTORECONF += " -I m4"
@@ -41,3 +45,7 @@ do_install_append() {
# tcpdump 4.0.0 installs a copy to /usr/sbin/tcpdump.4.0.0
rm -f ${D}${sbindir}/tcpdump.${PV}
}
+
+do_compile_ptest() {
+ oe_runmake buildtest-TESTS
+}
diff --git a/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-1.2a3-time.patch b/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-1.2a3-time.patch
new file mode 100644
index 0000000000..386b7f83ac
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-1.2a3-time.patch
@@ -0,0 +1,75 @@
+Upstream-Status: Pending [from tcpdump-4.1.1-1.fc14.src.rpm]
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
+--- tcpslice-1.2a3.orig/search.c 2000-09-10 10:52:40.000000000 +0200
++++ tcpslice-1.2a3/search.c 2006-07-28 14:56:55.000000000 +0200
+@@ -53,7 +53,7 @@
+ /* Size of a packet header in bytes; easier than typing the sizeof() all
+ * the time ...
+ */
+-#define PACKET_HDR_LEN (sizeof( struct pcap_pkthdr ))
++#define PACKET_HDR_LEN (sizeof( struct pcap_sf_pkthdr ))
+
+ extern int snaplen;
+
+@@ -111,16 +111,24 @@
+ static void
+ extract_header( pcap_t *p, u_char *buf, struct pcap_pkthdr *hdr )
+ {
+- memcpy((char *) hdr, (char *) buf, sizeof(struct pcap_pkthdr));
++ struct pcap_sf_pkthdr hdri;
++
++ memcpy((char *) &hdri, (char *) buf, sizeof(struct pcap_sf_pkthdr));
+
+ if ( pcap_is_swapped( p ) )
+ {
+- hdr->ts.tv_sec = SWAPLONG(hdr->ts.tv_sec);
+- hdr->ts.tv_usec = SWAPLONG(hdr->ts.tv_usec);
+- hdr->len = SWAPLONG(hdr->len);
+- hdr->caplen = SWAPLONG(hdr->caplen);
++ hdr->ts.tv_sec = SWAPLONG(hdri.ts.tv_sec);
++ hdr->ts.tv_usec = SWAPLONG(hdri.ts.tv_usec);
++ hdr->len = SWAPLONG(hdri.len);
++ hdr->caplen = SWAPLONG(hdri.caplen);
++ }
++ else
++ {
++ hdr->ts.tv_sec = hdri.ts.tv_sec;
++ hdr->ts.tv_usec = hdri.ts.tv_usec;
++ hdr->len = hdri.len;
++ hdr->caplen = hdri.caplen;
+ }
+-
+ /*
+ * From bpf/libpcap/savefile.c:
+ *
+--- tcpslice-1.2a3.orig/tcpslice.h 1995-11-02 00:40:53.000000000 +0100
++++ tcpslice-1.2a3/tcpslice.h 2006-07-28 14:56:55.000000000 +0200
+@@ -20,6 +20,26 @@
+ */
+
+
++#include <time.h>
++/* #include <net/bpf.h> */
++
++/*
++ * This is a timeval as stored in disk in a dumpfile.
++ * It has to use the same types everywhere, independent of the actual
++ * `struct timeval'
++ */
++
++struct pcap_timeval {
++ bpf_int32 tv_sec; /* seconds */
++ bpf_int32 tv_usec; /* microseconds */
++};
++
++struct pcap_sf_pkthdr {
++ struct pcap_timeval ts; /* time stamp */
++ bpf_u_int32 caplen; /* length of portion present */
++ bpf_u_int32 len; /* length this packet (off wire) */
++};
++
+ time_t gwtm2secs( struct tm *tm );
+
+ int sf_find_end( struct pcap *p, struct timeval *first_timestamp,
diff --git a/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-CVS.20010207-bpf.patch b/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-CVS.20010207-bpf.patch
new file mode 100644
index 0000000000..0a7359311d
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-CVS.20010207-bpf.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Pending [from tcpdump-4.1.1-1.fc14.src.rpm]
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+diff -ur tcpdump-3.8.1/tcpslice/tcpslice.c tcpdump-3.8.1.new/tcpslice/tcpslice.c
+--- tcpslice/tcpslice.c 2004-01-15 17:35:53.000000000 +0100
++++ tcpslice/tcpslice.c 2004-01-15 16:12:57.000000000 +0100
+@@ -35,7 +35,7 @@
+ #include <sys/file.h>
+ #include <sys/stat.h>
+
+-#include <net/bpf.h>
++/* #include <net/bpf.h> */
+
+ #include <ctype.h>
+ #ifdef HAVE_FCNTL_H
diff --git a/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb b/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb
new file mode 100644
index 0000000000..203d143b5d
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb
@@ -0,0 +1,35 @@
+SUMMARY = "tcpslice"
+DESCRIPTION = "A tool for extracting parts of a tcpdump packet trace."
+HOMEPAGE = "http://www.tcpdump.org/related.html"
+SECTION = "console/network"
+
+LICENSE = "BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://tcpslice.c;endline=20;md5=99519e2e5234d1662a4ce16baa62c64e"
+
+SRC_URI = "ftp://ftp.ee.lbl.gov/${BP}.tar.gz \
+ file://tcpslice-1.2a3-time.patch \
+ file://tcpslice-CVS.20010207-bpf.patch \
+ "
+SRC_URI[md5sum] = "e329cbeb7e589f132d92c3447c477190"
+SRC_URI[sha256sum] = "4096e8debc898cfaa16b5306f1c42f8d18b19e30e60da8d4deb781c8f684c840"
+
+inherit autotools-brokensep
+
+DEPENDS += "libpcap"
+
+# We do not want to autoreconf. We must specify srcdir as ".".
+# We have to set the ac_cv_* cache variables as well as pass the normal
+# cross-compilation options to configure!
+#
+do_configure () {
+ oe_runconf \
+ --srcdir="." \
+ ac_cv_build=${BUILD_SYS} \
+ ac_cv_host=${HOST_SYS} \
+ ac_cv_target=${HOST_SYS}
+}
+
+do_install_prepend () {
+ mkdir -p ${D}/usr/sbin
+}
+
diff --git a/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch
new file mode 100644
index 0000000000..50f024c67b
--- /dev/null
+++ b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch
@@ -0,0 +1,33 @@
+tcpreplay: improve search for libpcap
+
+Add a test which will find libpcap if $testdir/.. is a sysroot.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -350,14 +350,20 @@ for testdir in $trypcapdir /usr/local /o
+ if test -f "${testdir}/include/pcap.h" -a $foundpcap = no ; then
+ LPCAPINC="${testdir}/include/pcap.h"
+ LPCAPINCDIR="${testdir}/include"
++ # If testdir/.. is a sysroot, then sDir should point to where the libraries are.
++ sDir=$(readlink -m ${testdir}/../${libdir})
+ if test $dynamic_link = yes; then
+- if test -f "${testdir}/lib64/libpcap${shrext_cmds}" ; then
++ if test -f "${sDir}/libpcap${shrext_cmds}" ; then
++ LPCAPLIB="-L${sDir} -lpcap"
++ elif test -f "${testdir}/lib64/libpcap${shrext_cmds}" ; then
+ LPCAPLIB="-L${testdir}/lib64 -lpcap"
+ elif test -f "${testdir}/lib/libpcap${shrext_cmds}" ; then
+ LPCAPLIB="-L${testdir}/lib -lpcap"
+ else
+ AC_ERROR([Unable to find libpcap in ${testdir}])
+ fi
++ elif test -f "${sDir}/libpcap.${libext}" ; then
++ LPCAPLIB="${sDir}/libpcap.${libext}"
+ elif test -f "${testdir}/lib64/libpcap.${libext}" ; then
+ LPCAPLIB="${testdir}/lib64/libpcap.${libext}"
+ elif test -f "${testdir}/lib/libpcap.${libext}" ; then
diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb
index d211888826..9ecb695fde 100644
--- a/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb
+++ b/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb
@@ -10,6 +10,7 @@ SRC_URI = "http://prdownloads.sourceforge.net/tcpreplay/${PV}/tcpreplay-${PV}.ta
file://tcpreplay-3.4.4-cross-compile.patch \
file://tcpreplay-3.4.4-no-bfp-support.patch \
file://tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch \
+ file://tcpreplay-3.4.4-improve-search-for-libpcap.patch \
"
SRC_URI[md5sum] = "22725feb9b2590809f9350308ec65180"
SRC_URI[sha256sum] = "7a809c58ddec86407fd6e5597ac883d7874a19bea81d716bb2b1c6e3b0e7b58f"
@@ -18,5 +19,5 @@ DEPENDS = "libpcap"
EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr"
-inherit siteinfo autotools
+inherit siteinfo autotools-brokensep
diff --git a/meta-networking/recipes-support/tnftp/tnftp/tnftp-autotools.patch b/meta-networking/recipes-support/tnftp/tnftp/tnftp-autotools.patch
new file mode 100644
index 0000000000..1bda576bc2
--- /dev/null
+++ b/meta-networking/recipes-support/tnftp/tnftp/tnftp-autotools.patch
@@ -0,0 +1,42 @@
+[PATCH] Update configure.ac and Makefile.am to resolve warnings/errors
+
+Upstream-Status: Pending
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ configure.ac | 2 ++
+ libnetbsd/Makefile.am | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index a96d2ab..b3b3069 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,9 +71,11 @@ AH_TEMPLATE([WITH_SSL],
+ #
+ # Checks for programs.
+ #
++AM_PROG_AR()
+ AC_PROG_CC()
+ AC_PROG_AWK()
+ AC_PROG_LIBTOOL()
++AM_PROG_CC_C_O()
+
+ #
+ # Checks for tool features.
+diff --git a/libnetbsd/Makefile.am b/libnetbsd/Makefile.am
+index 3e5c3ce..39bb12d 100644
+--- a/libnetbsd/Makefile.am
++++ b/libnetbsd/Makefile.am
+@@ -5,7 +5,7 @@ noinst_LTLIBRARIES = libnetbsd.la
+ libnetbsd_la_SOURCES =
+
+
+-CPPFLAGS = \
++AM_CPPFLAGS = \
+ -I$(srcdir) \
+ -I$(top_srcdir) \
+ -I$(top_builddir)
+--
+1.7.10.4
+
diff --git a/meta-networking/recipes-support/tnftp/tnftp_20130505.bb b/meta-networking/recipes-support/tnftp/tnftp_20130505.bb
new file mode 100644
index 0000000000..eda9d5c0f0
--- /dev/null
+++ b/meta-networking/recipes-support/tnftp/tnftp_20130505.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Enhanced NetBSD ftp client"
+DESCRIPTION = "tnftp (formerly known as lukemftp) is a port of the NetBSD FTP client \
+to other systems. It offers many enhancements over the traditional \
+BSD FTP client, including command-line editing, command-line fetches \
+of FTP and HTTP URLs (including via proxies), command-line uploads of \
+FTP URLs, context-sensitive word completion, dynamic progress bar, \
+IPv6 support, modification time preservation, paging of local and \
+remote files, passive mode support (with fallback to active mode), \
+SOCKS support, TIS FWTK gate-ftp server support, and transfer rate \
+throttling."
+
+SECTION = "console/network"
+LICENSE = "BSD-4-Clause"
+
+DEPENDS = "ncurses"
+
+SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \
+ file://tnftp-autotools.patch \
+ "
+
+inherit autotools update-alternatives pkgconfig
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "ftp"
+ALTERNATIVE_LINK_NAME_${PN} = "${bindir}/ftp"
+ALTERNATIVE_TARGET_${PN} = "${bindir}/tnftp"
+
+FILES_${PN} = "${bindir}/tnftp"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6d6796cb166a9bb050958241dad9479e"
+SRC_URI[md5sum] = "66e218d02ec7d9fc39ab70ba2900305a"
+SRC_URI[sha256sum] = "6f650e25f6fd51538f677b789b49379f367ae9f1dee74c94cfe24d92abc2cffb"
+
+PACKAGECONFIG ?= "openssl"
+PACKAGECONFIG[openssl] = "--enable-ssl, --disable-ssl --with-ssl=no, openssl"
diff --git a/meta-networking/recipes-support/traceroute/traceroute_2.0.18.bb b/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb
index 236bd12c30..7bdbe16175 100644
--- a/meta-networking/recipes-support/traceroute/traceroute_2.0.18.bb
+++ b/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb
@@ -7,20 +7,20 @@ tool. If you're having network connectivity problems, traceroute will \
show you where the trouble is coming from along the route."
SECTION = "console/network"
HOMEPAGE = "http://traceroute.sourceforge.net/"
-LICENSE = "GPL-2.0 LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff"
-
-PR = "r1"
+LICENSE = "GPL-2.0+ & LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
inherit update-alternatives
-SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/traceroute-2.0.18/traceroute-2.0.18.tar.gz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/${BP}/${BP}.tar.gz \
file://filter-out-the-patches-from-subdirs.patch \
"
-SRC_URI[md5sum] = "b7254149b7f081cce07f4b9e065ba5ef"
-SRC_URI[sha256sum] = "5994a88520927fefe3c9754aaf1e02b4d0f3f8fb1f521a68fa86215c3fcab9ef"
+SRC_URI[md5sum] = "79289adabd6f3ebf9160fc0815ab3150"
+SRC_URI[sha256sum] = "f7ac93ef30b13a587292b8d6a7e2538a65bc978a3a576eab238c392b884e96e0"
+
+EXTRA_OEMAKE = "VPATH=${STAGING_LIBDIR}"
do_compile() {
export LDFLAGS="${TARGET_LDFLAGS} -L${S}/libsupp"
@@ -40,5 +40,6 @@ do_install() {
}
+ALTERNATIVE_PRIORITY = "60"
ALTERNATIVE_${PN} = "traceroute"
ALTERNATIVE_LINK_NAME[traceroute] = "${bindir}/traceroute"
diff --git a/meta-networking/recipes-support/wireshark/README b/meta-networking/recipes-support/wireshark/README
new file mode 100644
index 0000000000..63b5b72631
--- /dev/null
+++ b/meta-networking/recipes-support/wireshark/README
@@ -0,0 +1,45 @@
+#
+Wireshark - Notes
+
+URL: http://www.wireshark.org/
+User Guide: http://www.wireshark.org/docs/wsug_html_chunked/
+Secruity advisories: http://www.wireshark.org/security/
+
+Wireshark is slowly moving away from gtk and towards QT as their graphical stack.
+Currently gtk is supported with this release and I plan on integrating QT.
+
+
+
+Adding the wireshark to your build
+========================================
+
+via local.conf
+IMAGE_INSTALL_append = " wireshark"
+
+Adding the wireshark to your graphical build
+========================================
+via local.conf
+IMAGE_INSTALL_append = " wireshark"
+
+and one of:
+
+EXTRA_IMAGE_FEATURES += "x11-base"
+
+or use the "core-image-x11"
+
+
+Maintenance
+-----------
+
+Send patches, comments or questions to openembedded-devel@lists.openembedded.org
+
+When sending single patches, please use something like:
+
+ git send-email -1 -M \
+ --to openembedded-devel@lists.openembedded.org \
+ --cc akuster@mvista.com \
+ --subject-prefix=meta-networking][PATCH
+
+Maintainer: Armin Kuster <akuster@mvista.com>
+
+
diff --git a/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch b/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch
new file mode 100644
index 0000000000..64a08add79
--- /dev/null
+++ b/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch
@@ -0,0 +1,46 @@
+[PATCH] Do not set CC_FOR_BUILD flags
+
+Upstream-status: Pending
+
+AC_WIRESHARK_COMPILER_FLAGS_CHECK() is checking which options CC is supported,
+and put the supported options into CFLAGS, but it should not put them into
+CFLAGS_FOR_BUILD. since CC and BUILD_CC can be different, CFLAGS_FOR_BUILD is
+used by BUILD_CC
+
+BUILD_CC is used to generated host tools, do not use the gcc's optimised options,
+do not effect the running of host tools. so do not set CC_FOR_BUILD flags.
+
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+---
+ acinclude.m4 | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 136fc27..8d3d360 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1755,10 +1755,6 @@ if test "x$ac_supports_gcc_flags" = "xyes" ; then
+ # just the new option.
+ #
+ CFLAGS="$CFLAGS_saved $GCC_OPTION"
+- #
+- # Add it to the flags we use when building build tools.
+- #
+- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION"
+ ],
+ [
+ AC_MSG_RESULT(yes)
+@@ -1771,10 +1767,6 @@ if test "x$ac_supports_gcc_flags" = "xyes" ; then
+ # just the new option.
+ #
+ CFLAGS="$CFLAGS_saved $GCC_OPTION"
+- #
+- # Add it to the flags we use when building build tools.
+- #
+- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION"
+ fi
+ ],
+ [
+--
+1.9.1
+
diff --git a/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb b/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb
new file mode 100644
index 0000000000..7604bd7ff9
--- /dev/null
+++ b/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb
@@ -0,0 +1,56 @@
+DESCRIPTION = "wireshark - a popular network protocol analyzer"
+HOMEPAGE = "http://www.wireshark.org"
+SECTION = "network"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://README.linux;md5=631e077455b7972172eb149195e065b0"
+
+DEPENDS = "perl-native libcap libpcap pcre expat glib-2.0 sbc"
+
+SRC_URI = " \
+ http://wiresharkdownloads.riverbed.com/wireshark/src/wireshark-${PV}.tar.bz2 \
+ file://Do-not-set-CC_FOR_BUILD-flags.patch \
+"
+
+PE = "1"
+
+SRC_URI[md5sum] = "e6318b8451d4e56d39bd911da296ef19"
+SRC_URI[sha256sum] = "69950b9dcb1a630982b5f680554d73d27ee0dc856fc6aeef88c8d04eb5ac33ea"
+
+inherit autotools pkgconfig
+
+ARM_INSTRUCTION_SET = "arm"
+
+# Works with either gtk+ or gtk3.
+WHICH_GTK = "gtk3"
+
+PACKAGECONFIG ??= "gnutls gcrypt libnl"
+PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "${WHICH_GTK} graphics", "", d)}"
+PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)}"
+
+PACKAGECONFIG[libsmi] = "--with-libsmi=yes, --with-libsmi=no, libsmi"
+PACKAGECONFIG[libnl] = "--with-libnl=yes, --with-libnl=no, libnl"
+PACKAGECONFIG[portaudio] = "--with-portaudio=yes, --with-portaudio=no, portaudio-v19"
+PACKAGECONFIG[gtk2] = "--with-gtk2=yes, --with-gtk2=no, gtk+"
+PACKAGECONFIG[gtk3] = "--with-gtk3=yes, --with-gtk3=no, gtk+3"
+PACKAGECONFIG[graphics] = "--enable-wireshark, --disable-wireshark,"
+PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6,"
+PACKAGECONFIG[gnutls] = "--with-gnutls=yes, --with-gnutls=no, gnutls"
+PACKAGECONFIG[gcrypt] = "--with-gcrypt=yes, --with-gcrypt=no, libgcrypt"
+PACKAGECONFIG[krb5] = "--with-krb5=yes, --with-krb5=no, krb5"
+PACKAGECONFIG[lua] = "--with-lua=yes, --with-lua=no, lua"
+PACKAGECONFIG[zlib] = "--with-zlib=yes, --with-zlib=no, zlib"
+PACKAGECONFIG[geoip] = "--with-geoip=yes, --with-geoip=no, geoip"
+
+# these next two options require addional layers
+PACKAGECONFIG[adns] = "--with-adns=yes, --with-adns=no, adns"
+PACKAGECONFIG[c-ares] = "--with-c-ares=yes, --with-c-ares=no, c-ares"
+
+EXTRA_OECONF = "--with-qt=no --enable-usr-local=no --enable-tshark"
+
+do_configure_prepend() {
+ # force to use fallback
+ sed -i -e '/^glib_prefix/s/=.*$/=""/' ${S}/aclocal-flags
+}
+
+ALLOW_EMPTY_${PN} = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-oe/classes/breakpad.bbclass b/meta-oe/classes/breakpad.bbclass
index e4d6808a60..b3abf278d6 100644
--- a/meta-oe/classes/breakpad.bbclass
+++ b/meta-oe/classes/breakpad.bbclass
@@ -24,7 +24,7 @@ python () {
PACKAGE_PREPROCESS_FUNCS += "breakpad_package_preprocess"
breakpad_package_preprocess () {
mkdir -p ${PKGD}/usr/share/breakpad-syms
- find ${D} -name ${BREAKPAD_BIN} -exec sh -c "dump_syms {} > ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}.syms" \;
+ find ${D} -name ${BREAKPAD_BIN} -exec sh -c "dump_syms {} > ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}.sym" \;
}
PACKAGES =+ "${PN}-breakpad"
diff --git a/meta-oe/classes/gpe.bbclass b/meta-oe/classes/gpe.bbclass
index 2adbd48419..9fc136590a 100644
--- a/meta-oe/classes/gpe.bbclass
+++ b/meta-oe/classes/gpe.bbclass
@@ -1,6 +1,6 @@
DEPENDS_prepend = "virtual/libintl intltool-native "
GPE_TARBALL_SUFFIX ?= "gz"
-SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.${GPE_TARBALL_SUFFIX}"
+SRC_URI = "${GPE_MIRROR}/${BP}.tar.${GPE_TARBALL_SUFFIX}"
FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry"
SECTION ?= "gpe"
diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf
index 2a5a4286a2..e2a89cdae9 100644
--- a/meta-oe/conf/layer.conf
+++ b/meta-oe/conf/layer.conf
@@ -23,6 +23,12 @@ BBFILE_PATTERN_openembedded-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_openembedded-layer = "6"
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_openembedded-layer = "1"
+
+LAYERDEPENDS_openembedded-layer = "core"
+
LICENSE_PATH += "${LAYERDIR}/licenses"
SIGGEN_EXCLUDERECIPES_ABISAFE += " \
diff --git a/meta-oe/licenses/BSD-0-Clause b/meta-oe/licenses/BSD-0-Clause
new file mode 100644
index 0000000000..328bdd6aee
--- /dev/null
+++ b/meta-oe/licenses/BSD-0-Clause
@@ -0,0 +1,12 @@
+Copyright (C) <YEAR> by <OWNER>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, 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/GPL-2.0-with-lmbench-restriction b/meta-oe/licenses/GPL-2.0-with-lmbench-restriction
new file mode 100644
index 0000000000..3e1f7cc6d3
--- /dev/null
+++ b/meta-oe/licenses/GPL-2.0-with-lmbench-restriction
@@ -0,0 +1,108 @@
+%M% %I% %E%
+
+The set of programs and documentation known as "lmbench" are distributed
+under the Free Software Foundation's General Public License with the
+following additional restrictions (which override any conflicting
+restrictions in the GPL):
+
+1. You may not distribute results in any public forum, in any publication,
+ or in any other way if you have modified the benchmarks.
+
+2. You may not distribute the results for a fee of any kind. This includes
+ web sites which generate revenue from advertising.
+
+If you have modifications or enhancements that you wish included in
+future versions, please mail those to me, Larry McVoy, at lm@bitmover.com.
+
+=========================================================================
+
+Rationale for the publication restrictions:
+
+In summary:
+
+ a) LMbench is designed to measure enough of an OS that if you do well in
+ all catagories, you've covered latency and bandwidth in networking,
+ disks, file systems, VM systems, and memory systems.
+ b) Multiple times in the past people have wanted to report partial results.
+ Without exception, they were doing so to show a skewed view of whatever
+ it was they were measuring (for example, one OS fit small processes into
+ segments and used the segment register to switch them, getting good
+ results, but did not want to report large process context switches
+ because those didn't look as good).
+ c) We insist that if you formally report LMbench results, you have to
+ report all of them and make the raw results file easily available.
+ Reporting all of them means in that same publication, a pointer
+ does not count. Formally, in this context, means in a paper,
+ on a web site, etc., but does not mean the exchange of results
+ between OS developers who are tuning a particular subsystem.
+
+We have a lot of history with benchmarking and feel strongly that there
+is little to be gained and a lot to be lost if we allowed the results
+to be published in isolation, without the complete story being told.
+
+There has been a lot of discussion about this, with people not liking this
+restriction, more or less on the freedom principle as far as I can tell.
+We're not swayed by that, our position is that we are doing the right
+thing for the OS community and will stick to our guns on this one.
+
+It would be a different matter if there were 3 other competing
+benchmarking systems out there that did what LMbench does and didn't have
+the same reporting rules. There aren't and as long as that is the case,
+I see no reason to change my mind and lots of reasons not to do so. I'm
+sorry if I'm a pain in the ass on this topic, but I'm doing the right
+thing for you and the sooner people realize that the sooner we can get on
+to real work.
+
+Operating system design is a largely an art of balancing tradeoffs.
+In many cases improving one part of the system has negative effects
+on other parts of the system. The art is choosing which parts to
+optimize and which to not optimize. Just like in computer architecture,
+you can optimize the common instructions (RISC) or the uncommon
+instructions (CISC), but in either case there is usually a cost to
+pay (in RISC uncommon instructions are more expensive than common
+instructions, and in CISC common instructions are more expensive
+than required). The art lies in knowing which operations are
+important and optmizing those while minimizing the impact on the
+rest of the system.
+
+Since lmbench gives a good overview of many important system features,
+users may see the performance of the system as a whole, and can
+see where tradeoffs may have been made. This is the driving force
+behind the publication restriction: any idiot can optimize certain
+subsystems while completely destroying overall system performance.
+If said idiot publishes *only* the numbers relating to the optimized
+subsystem, then the costs of the optimization are hidden and readers
+will mistakenly believe that the optimization is a good idea. By
+including the publication restriction readers would be able to
+detect that the optimization improved the subsystem performance
+while damaging the rest of the system performance and would be able
+to make an informed decision as to the merits of the optimization.
+
+Note that these restrictions only apply to *publications*. We
+intend and encourage lmbench's use during design, development,
+and tweaking of systems and applications. If you are tuning the
+linux or BSD TCP stack, then by all means, use the networking
+benchmarks to evaluate the performance effects of various
+modifications; Swap results with other developers; use the
+networking numbers in isolation. The restrictions only kick
+in when you go to *publish* the results. If you sped up the
+TCP stack by a factor of 2 and want to publish a paper with the
+various tweaks or algorithms used to accomplish this goal, then
+you can publish the networking numbers to show the improvement.
+However, the paper *must* also include the rest of the standard
+lmbench numbers to show how your tweaks may (or may not) have
+impacted the rest of the system. The full set of numbers may
+be included in an appendix, but they *must* be included in the
+paper.
+
+This helps protect the community from adopting flawed technologies
+based on incomplete data. It also helps protect the community from
+misleading marketing which tries to sell systems based on partial
+(skewed) lmbench performance results.
+
+We have seen many cases in the past where partial or misleading
+benchmark results have caused great harm to the community, and
+we want to ensure that our benchmark is not used to perpetrate
+further harm and support false or misleading claims.
+
+
diff --git a/meta-oe/licenses/OML b/meta-oe/licenses/OML
new file mode 100644
index 0000000000..7e6bdfded7
--- /dev/null
+++ b/meta-oe/licenses/OML
@@ -0,0 +1,28 @@
+This FastCGI application library source and object code (the
+"Software") and its documentation (the "Documentation") are
+copyrighted by Open Market, Inc ("Open Market"). The following terms
+apply to all files associated with the Software and Documentation
+unless explicitly disclaimed in individual files.
+
+Open Market permits you to use, copy, modify, distribute, and license
+this Software and the Documentation for any purpose, provided that
+existing copyright notices are retained in all copies and that this
+notice is included verbatim in any distributions. No written
+agreement, license, or royalty fee is required for any of the
+authorized uses. Modifications to this Software and Documentation may
+be copyrighted by their authors and need not follow the licensing
+terms described here. If modifications to this Software and
+Documentation have new licensing terms, the new terms must be clearly
+indicated on the first page of each file where they apply.
+
+OPEN MARKET MAKES NO EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE
+SOFTWARE OR THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION ANY
+WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN
+NO EVENT SHALL OPEN MARKET BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY
+DAMAGES ARISING FROM OR RELATING TO THIS SOFTWARE OR THE
+DOCUMENTATION, INCLUDING, WITHOUT LIMITATION, ANY INDIRECT, SPECIAL OR
+CONSEQUENTIAL DAMAGES OR SIMILAR DAMAGES, INCLUDING LOST PROFITS OR
+LOST DATA, EVEN IF OPEN MARKET HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS".
+OPEN MARKET HAS NO LIABILITY IN CONTRACT, TORT, NEGLIGENCE OR
+OTHERWISE ARISING OUT OF THIS SOFTWARE OR THE DOCUMENTATION.
diff --git a/meta-oe/licenses/OpenLDAP b/meta-oe/licenses/OpenLDAP
new file mode 100644
index 0000000000..05ad7571e4
--- /dev/null
+++ b/meta-oe/licenses/OpenLDAP
@@ -0,0 +1,47 @@
+The OpenLDAP Public License
+ Version 2.8, 17 August 2003
+
+Redistribution and use of this software and associated documentation
+("Software"), with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions in source form must retain copyright statements
+ and notices,
+
+2. Redistributions in binary form must reproduce applicable copyright
+ statements and notices, this list of conditions, and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution, and
+
+3. Redistributions must contain a verbatim copy of this document.
+
+The OpenLDAP Foundation may revise this license from time to time.
+Each revision is distinguished by a version number. You may use
+this Software under terms of this license revision or under the
+terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
+CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
+OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+The names of the authors and copyright holders must not be used in
+advertising or otherwise to promote the sale, use or other dealing
+in this Software without specific, written prior permission. Title
+to copyright in this Software shall at all times remain with copyright
+holders.
+
+OpenLDAP is a registered trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
+California, USA. All Rights Reserved. Permission to copy and
+distribute verbatim copies of this document is granted.
diff --git a/meta-oe/licenses/SMAIL_GPL b/meta-oe/licenses/SMAIL_GPL
deleted file mode 100644
index dfc3fd16cf..0000000000
--- a/meta-oe/licenses/SMAIL_GPL
+++ /dev/null
@@ -1,164 +0,0 @@
-This is the Debian GNU/Linux package debianutils.
-
-It is an original Debian package. Programs in it were maintained by
-Guy Maor <maor@debian.org>, and are now maintained by Clint Adams
-<schizo@debian.org>.
-
-All its programs except readlink, savelog, and which may be
-redistributed under the terms of the GNU GPL, Version 2 or later,
-found on Debian systems in the file /usr/share/common-licenses/GPL.
-
-which is in the public domain.
-
-readlink is Copyright (c) 1997 Kenneth Stailey, and may also be
-distributed under the terms of the BSD copyright.
-
-savelog may be redistributed under the following terms: (The rest of
-this file consists of savelog's distribution terms.)
-
-#ident "@(#)smail:RELEASE-3_2:COPYING,v 1.2 1996/06/14 18:59:10 woods Exp"
-
- SMAIL GENERAL PUBLIC LICENSE
- (Clarified 11 Feb 1988)
-
- Copyright (C) 1988 Landon Curt Noll & Ronald S. Karr
- Copyright (C) 1992 Ronald S. Karr
- Copyleft (GNU) 1988 Landon Curt Noll & Ronald S. Karr
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license, but changing it is not allowed. You can also
- use this wording to make the terms for other programs.
-
- The license agreements of most software companies keep you at the
-mercy of those companies. By contrast, our general public license is
-intended to give everyone the right to share SMAIL. To make sure that
-you get the rights we want you to have, we need to make restrictions
-that forbid anyone to deny you these rights or to ask you to surrender
-the rights. Hence this license agreement.
-
- Specifically, we want to make sure that you have the right to give
-away copies of SMAIL, that you receive source code or else can get it
-if you want it, that you can change SMAIL or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To make sure that everyone has such rights, we have to forbid you to
-deprive anyone else of these rights. For example, if you distribute
-copies of SMAIL, you must give the recipients all the rights that you
-have. You must make sure that they, too, receive or can get the
-source code. And you must tell them their rights.
-
- Also, for our own protection, we must make certain that everyone
-finds out that there is no warranty for SMAIL. If SMAIL is modified by
-someone else and passed on, we want its recipients to know that what
-they have is not what we distributed, so that any problems introduced
-by others will not reflect on our reputation.
-
- Therefore we (Landon Curt Noll and Ronald S. Karr) make the following
-terms which say what you must do to be allowed to distribute or change
-SMAIL.
-
-
- COPYING POLICIES
-
- 1. You may copy and distribute verbatim copies of SMAIL source code
-as you receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy a valid copyright notice "Copyright
-(C) 1988 Landon Curt Noll & Ronald S. Karr" (or with whatever year is
-appropriate); keep intact the notices on all files that refer to this
-License Agreement and to the absence of any warranty; and give any
-other recipients of the SMAIL program a copy of this License
-Agreement along with the program. You may charge a distribution fee
-for the physical act of transferring a copy.
-
- 2. You may modify your copy or copies of SMAIL or any portion of it,
-and copy and distribute such modifications under the terms of
-Paragraph 1 above, provided that you also do the following:
-
- a) cause the modified files to carry prominent notices stating
- that you changed the files and the date of any change; and
-
- b) cause the whole of any work that you distribute or publish,
- that in whole or in part contains or is a derivative of SMAIL or
- any part thereof, to be licensed at no charge to all third
- parties on terms identical to those contained in this License
- Agreement (except that you may choose to grant more extensive
- warranty protection to some or all third parties, at your option).
-
- c) You may charge a distribution fee for the physical act of
- transferring a copy, and you may at your option offer warranty
- protection in exchange for a fee.
-
-Mere aggregation of another unrelated program with this program (or its
-derivative) on a volume of a storage or distribution medium does not bring
-the other program under the scope of these terms.
-
- 3. You may copy and distribute SMAIL (or a portion or derivative of it,
-under Paragraph 2) in object code or executable form under the terms of
-Paragraphs 1 and 2 above provided that you also do one of the following:
-
- a) accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of
- Paragraphs 1 and 2 above; or,
-
- b) accompany it with a written offer, valid for at least three
- years, to give any third party free (except for a nominal
- shipping charge) a complete machine-readable copy of the
- corresponding source code, to be distributed under the terms of
- Paragraphs 1 and 2 above; or,
-
- c) accompany it with the information you received as to where the
- corresponding source code may be obtained. (This alternative is
- allowed only for non-commercial distribution and only if you
- received the program in object code or executable form alone.)
-
-For an executable file, complete source code means all the source code for
-all modules it contains; but, as a special exception, it need not include
-source code for modules which are standard libraries that accompany the
-operating system on which the executable file runs.
-
- 4. You may not copy, sublicense, distribute or transfer SMAIL
-except as expressly provided under this License Agreement. Any attempt
-otherwise to copy, sublicense, distribute or transfer SMAIL is void and
-your rights to use the program under this License agreement shall be
-automatically terminated. However, parties who have received computer
-software programs from you with this License Agreement will not have
-their licenses terminated so long as such parties remain in full compliance.
-
- 5. If you wish to incorporate parts of SMAIL into other free
-programs whose distribution conditions are different, write to Landon
-Curt Noll & Ronald S. Karr via the Free Software Foundation at 51
-Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. We have not yet
-worked out a simple rule that can be stated here, but we will often
-permit this. We will be guided by the two goals of preserving the
-free status of all derivatives of our free software and of promoting
-the sharing and reuse of software.
-
-Your comments and suggestions about our licensing policies and our
-software are welcome! This contract was based on the contract made by
-the Free Software Foundation. Please contact the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
-USA, or call (617) 542-5942 for details on copylefted material in
-general.
-
- NO WARRANTY
-
- BECAUSE SMAIL IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY NO
-WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING, LANDON CURT NOLL & RONALD S. KARR AND/OR
-OTHER PARTIES PROVIDE SMAIL "AS IS" WITHOUT WARRANTY OF ANY KIND,
-EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF SMAIL IS WITH
-YOU. SHOULD SMAIL PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL LANDON CURT NOLL &
-RONALD S. KARR AND/OR ANY OTHER PARTY WHO MAY MODIFY AND REDISTRIBUTE
-SMAIL AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
-(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
-INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE
-PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS) SMAIL, EVEN IF YOU HAVE
-BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY
-ANY OTHER PARTY.
diff --git a/meta-oe/licenses/nbench-byte b/meta-oe/licenses/nbench-byte
new file mode 100644
index 0000000000..7e47ba62b4
--- /dev/null
+++ b/meta-oe/licenses/nbench-byte
@@ -0,0 +1,10 @@
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb
index f8a23d73b0..2c1217e347 100644
--- a/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb
+++ b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb
@@ -28,3 +28,5 @@ PACKAGES =+ "bonnie-scripts"
FILES_${PN} = "${sbindir}"
FILES_bonnie-scripts = "${bindir}"
+
+RDEPENDS_bonnie-scripts += "perl"
diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb
index 8ec5e95451..14e3fc4f38 100644
--- a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb
+++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb
@@ -8,17 +8,18 @@ DL_DIR_append = "/${PN}-${PV}"
COMPATIBLE_MACHINE = "(${@bb.utils.contains("TUNE_FEATURES", "neon", "${MACHINE}", "Invalid!", d)})"
SRC_URI = "http://hardwarebug.org/files/burn.S;name=mru \
- http://github.com/downloads/ssvb/ssvb.github.com/ssvb-cpuburn-a8.S;name=ssvb"
+ https://raw.githubusercontent.com/ssvb/cpuburn-arm/dd5c5ba58d2b0b23cfab4a286f9d3f5510000f20/cpuburn-a8.S;name=ssvb"
+
SRC_URI[mru.md5sum] = "823abc72c2cd448e87df9bc5355a4456"
SRC_URI[mru.sha256sum] = "01d9fc04f83740c513c25401dcc89c11b2a5a6013e70bfca42b7b02129f88cd2"
-SRC_URI[ssvb.md5sum] = "0acc570d943c41c7f8602b9ff6fa111d"
-SRC_URI[ssvb.sha256sum] = "bfddd3226a499ffdf71bb58c05ccdc6dac5bb2c2c3bdb10ac610ee0b60aac087"
+SRC_URI[ssvb.md5sum] = "ba0ef2939a3b3b487523448c67544e94"
+SRC_URI[ssvb.sha256sum] = "ce42ebdc71c876a33d9f7534355ef76cefa0d00ddb19ad69cf05a266c861d08d"
S = "${WORKDIR}"
do_compile() {
${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn
- ${CC} ${CFLAGS} ${LDFLAGS} ssvb-cpuburn-a8.S -o burn-neona8
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-neona8
}
do_install() {
diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb
index 3ff0449bd6..708b6d2ea7 100644
--- a/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb
+++ b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb
@@ -8,14 +8,17 @@ LICENSE = "GPLv3+ & SGIv1"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552"
-DEPENDS = "libpng12 jpeg"
+DEPENDS = "libpng12 jpeg virtual/libx11"
+
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz"
SRC_URI[md5sum] = "739859cf57d4c8a23452c43e84f66e56"
SRC_URI[sha256sum] = "bded41aaf918ce062d9b81e42cc5be943e6a80bc4ff9d046983b96102c3df6b5"
-inherit waf pkgconfig
+inherit waf pkgconfig distro_features_check
PACKAGECONFIG ?= "gl gles2"
diff --git a/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch
new file mode 100644
index 0000000000..e8a029790b
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch
@@ -0,0 +1,52 @@
+iperf: fix out of tree configuration
+
+The configure step uses a package header to check for support of types/declares,
+this package header encapsulates all the required system header for providing
+the needed resources. When configured from an out of tree directory the package
+header is not found due to the hard path.
+We now make the path for package header relative to our 'srcdir' so it is
+found appropriately.
+
+Signed-off-by: Awais Belal <awais_belal@mentor.com>
+---
+diff --git a/configure.ac b/configure.ac
+index 2b3fd20..d420f9e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -176,8 +176,8 @@ dnl Check for system services
+
+ dnl check for multicast
+ if test "$ac_cv_multicast" != no; then
+- AC_CHECK_TYPES(struct ip_mreq,,,[#include "compat/headers_slim.h"])
+- AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"])
++ AC_CHECK_TYPES(struct ip_mreq,,,[#include "${srcdir}/compat/headers_slim.h"])
++ AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"])
+ AC_MSG_CHECKING(for multicast support)
+ ac_cv_multicast=no
+ if test "$ac_cv_have_decl_IP_ADD_MEMBERSHIP" = yes; then
+@@ -193,9 +193,9 @@ fi
+
+ dnl check for IPv6
+ if test "$ac_cv_have_ipv6" != no; then
+- AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "compat/headers_slim.h"])
+- AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "compat/headers_slim.h"])
+- AC_CHECK_DECLS(AF_INET6,,,[#include "compat/headers_slim.h"])
++ AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "${srcdir}/compat/headers_slim.h"])
++ AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "${srcdir}/compat/headers_slim.h"])
++ AC_CHECK_DECLS(AF_INET6,,,[#include "${srcdir}/compat/headers_slim.h"])
+ AC_MSG_CHECKING(for IPv6 headers and structures)
+ ac_cv_have_ipv6=no
+ if test "$ac_cv_type_struct_sockaddr_storage" = yes; then
+@@ -211,9 +211,9 @@ fi
+
+ if test "$ac_cv_have_ipv6" = yes; then
+ if test "$ac_cv_multicast" = yes; then
+- AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "compat/headers_slim.h"])
+- AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"])
+- AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "compat/headers_slim.h"])
++ AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "${srcdir}/compat/headers_slim.h"])
++ AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"])
++ AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "${srcdir}/compat/headers_slim.h"])
+ AC_MSG_CHECKING(for IPv6 multicast support)
+ ac_cv_have_ipv6_multicast=no
+ if test "$ac_cv_type_struct_ipv6_mreq" = yes; then
diff --git a/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
index a2077162d0..20adc0db93 100644
--- a/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
+++ b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
@@ -4,8 +4,9 @@ SECTION = "console/network"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298"
-SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${PN}-${PV}.tar.gz \
+SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${BP}.tar.gz \
file://iperf-2.0.5_ManPage.patch \
+ file://0001-fix-out-of-tree-config.patch \
"
SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016"
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch
new file mode 100644
index 0000000000..a27b61e01f
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch
@@ -0,0 +1,19 @@
+Pass the 'foreign' option to automake to enable iperf3 to build.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Ben Shelton <ben.shelton@ni.com>
+---
+
+diff -rupN iperf-3.0.10.old/configure.ac iperf-3.0.10/configure.ac
+--- iperf-3.0.10.old/configure.ac 2014-12-16 13:39:58.000000000 -0600
++++ iperf-3.0.10/configure.ac 2014-12-29 15:09:27.534992643 -0600
+@@ -32,7 +32,7 @@ AC_CONFIG_AUX_DIR(config)
+
+
+ # Initialize the automake system
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+
+ AM_MAINTAINER_MODE
+ AM_CONFIG_HEADER(src/config.h)
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch
new file mode 100644
index 0000000000..445570dd4c
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch
@@ -0,0 +1,107 @@
+The Makefiles for the examples only work properly when the build is
+done in the same directory as the source. Fix this in Makefile.am and
+run bootstrap.sh to regenerate Makefile.in.
+
+Upstream-Status: Pending [iperf-dev@googlegroups.com]
+
+Signed-off-by: Ben Shelton <ben.shelton@ni.com>
+---
+
+diff -rupN iperf-3.0.10.old/examples/Makefile.am iperf-3.0.10/examples/Makefile.am
+--- iperf-3.0.10.old/examples/Makefile.am 2014-12-16 13:39:58.000000000 -0600
++++ iperf-3.0.10/examples/Makefile.am 2014-12-29 17:12:02.238979626 -0600
+@@ -2,11 +2,13 @@ noinst_PROGRAMS = mic mis # Build, but
+
+ mic_SOURCES = mic.c
+ mic_CFLAGS = -g
+-mic_LDADD = ../src/libiperf.la
++mic_LDADD = $(top_builddir)/src/libiperf.la
+ mic_LDFLAGS = -g
++mic_CPPFLAGS = -I$(top_srcdir)/src
+
+ mis_SOURCES = mis.c
+ mis_CFLAGS = -g
+-mis_LDADD = ../src/libiperf.la
++mis_LDADD = $(top_builddir)/src/libiperf.la
+ mis_LDFLAGS = -g
++mis_CPPFLAGS = -I$(top_srcdir)/src
+
+diff -rupN iperf-3.0.10.old/examples/Makefile.in iperf-3.0.10/examples/Makefile.in
+--- iperf-3.0.10.old/examples/Makefile.in 2014-12-16 13:39:58.000000000 -0600
++++ iperf-3.0.10/examples/Makefile.in 2014-12-29 17:12:07.518979616 -0600
+@@ -94,7 +94,7 @@ CONFIG_CLEAN_VPATH_FILES =
+ PROGRAMS = $(noinst_PROGRAMS)
+ am_mic_OBJECTS = mic-mic.$(OBJEXT)
+ mic_OBJECTS = $(am_mic_OBJECTS)
+-mic_DEPENDENCIES = ../src/libiperf.la
++mic_DEPENDENCIES = $(top_builddir)/src/libiperf.la
+ AM_V_lt = $(am__v_lt_@AM_V@)
+ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+ am__v_lt_0 = --silent
+@@ -104,7 +104,7 @@ mic_LINK = $(LIBTOOL) $(AM_V_lt) --tag=C
+ $(mic_LDFLAGS) $(LDFLAGS) -o $@
+ am_mis_OBJECTS = mis-mis.$(OBJEXT)
+ mis_OBJECTS = $(am_mis_OBJECTS)
+-mis_DEPENDENCIES = ../src/libiperf.la
++mis_DEPENDENCIES = $(top_builddir)/src/libiperf.la
+ mis_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mis_CFLAGS) $(CFLAGS) \
+ $(mis_LDFLAGS) $(LDFLAGS) -o $@
+@@ -286,12 +286,14 @@ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ mic_SOURCES = mic.c
+ mic_CFLAGS = -g
+-mic_LDADD = ../src/libiperf.la
++mic_LDADD = $(top_builddir)/src/libiperf.la
+ mic_LDFLAGS = -g
++mic_CPPFLAGS = -I$(top_srcdir)/src
+ mis_SOURCES = mis.c
+ mis_CFLAGS = -g
+-mis_LDADD = ../src/libiperf.la
++mis_LDADD = $(top_builddir)/src/libiperf.la
+ mis_LDFLAGS = -g
++mis_CPPFLAGS = -I$(top_srcdir)/src
+ all: all-am
+
+ .SUFFIXES:
+@@ -375,32 +377,32 @@ distclean-compile:
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+ mic-mic.o: mic.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.o -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.o -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c
+ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo $(DEPDIR)/mic-mic.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' object='mic-mic.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c
+
+ mic-mic.obj: mic.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.obj -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi`
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.obj -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi`
+ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo $(DEPDIR)/mic-mic.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' object='mic-mic.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi`
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi`
+
+ mis-mis.o: mis.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.o -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.o -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c
+ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo $(DEPDIR)/mis-mis.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' object='mis-mis.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c
+
+ mis-mis.obj: mis.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.obj -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi`
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.obj -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi`
+ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo $(DEPDIR)/mis-mis.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' object='mis-mis.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi`
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi`
+
+ mostlyclean-libtool:
+ -rm -f *.lo
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
new file mode 100644
index 0000000000..b4d2b6193d
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Network benchmark tool"
+DESCRIPTION = "\
+iperf is a tool for active measurements of the maximum achievable bandwidth \
+on IP networks. It supports tuning of various parameters related to timing, \
+protocols, and buffers. For each test it reports the bandwidth, loss, and \
+other parameters."
+HOMEPAGE = "http://software.es.net/iperf/"
+SECTION = "console/network"
+BUGTRACKER = "https://github.com/esnet/iperf/issues"
+AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ab59a0c3a4bc3954d1ece68ea19d77a4"
+
+SRC_URI = "\
+ git://github.com/esnet/iperf.git;branch=3.0-STABLE \
+ file://automake-foreign.patch \
+ file://fix-examples.patch \
+"
+
+PV = "3.0.10+gitr${SRCPV}"
+SRCREV = "de420cc741dd8967ebc57f80b7712556442de81b"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch
new file mode 100644
index 0000000000..f6147cbf35
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch
@@ -0,0 +1,38 @@
+From 5af6dec8764375ca4f13bd9fed96af090228351a Mon Sep 17 00:00:00 2001
+From: "Gary S. Robertson" <gary.robertson@linaro.org>
+Date: Mon, 11 Aug 2014 11:06:04 -0500
+Subject: [libhugetlbfs][PATCH] Extend arm32 support to include BE variants
+
+This patch applies the same technique used by Koen Kool in the following patch
+which was accepted by the libhugetlbfs project:
+
+[0a4f6] Add aarch64_be_support 2014-03-31 10:52:37
+
+It modifies the libhugetlbfs Makefile to mark all 32-bit arm architectures
+as supported by the libhugetlbfs build. Builds and successful functional
+tests have been performed for armv7a LE and BE runtime platforms.
+
+This patch replaces and renders obsolete the following patch:
+arm32-support.patch submitted by: Chunrong Guo <B40290@freescale.com>
+
+Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 91502e1..ba79607 100644
+--- a/Makefile
++++ b/Makefile
+@@ -59,7 +59,7 @@ ELF32 = elf32ppclinux
+ TMPLIB32 = lib
+ CPPFLAGS += -DPPC_NO_SEGMENTS
+ else
+-ifeq ($(ARCH),armv7l)
++ifneq (,$(findstring arm,$(ARCH)))
+ CC32 = $(CC)
+ TMPLIB32 = lib
+ ELF32 += armelf_linux_eabi
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch
new file mode 100644
index 0000000000..2718275112
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch
@@ -0,0 +1,32 @@
+From a0166583ba5f7b6a6d2de434f633126fb12c9d29 Mon Sep 17 00:00:00 2001
+From: "Gary S. Robertson" <gary.robertson@linaro.org>
+Date: Wed, 24 Sep 2014 15:27:31 -0500
+Subject: [PATCH] Makefile: Recognize all ix86 arches
+
+In a non-native build scenario, the makefile
+only recognized i386 or x86_64 arches. Added support
+to recognize i486, i586, i686.
+
+Upstream Status: Accepted by libhugetlbfs project
+
+Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 91502e1..0bfaee8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -71,7 +71,7 @@ ELF64 = aarch64elf
+ TMPLIB64 = lib64
+ CUSTOM_LDSCRIPTS = no
+ else
+-ifeq ($(ARCH),i386)
++ifneq (,$(filter i386 i486 i586 i686,$(ARCH)))
+ CC32 = $(CC)
+ ELF32 = elf_i386
+ TMPLIB32 = lib
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch
deleted file mode 100644
index da60ba0aee..0000000000
--- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Subject: [PATCH] aarch64: fix page size not properly computed
-
-There's 2 issues fixed:
-* typo on MB variable (MB -> $MB)
-* some linker variants are missing (linux and big endian)
- - aarch64elfb
- - aarch64linux
- - aarch64linuxb
-
-Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
-
-Upstream-Status: Submitted
----
- ld.hugetlbfs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ld.hugetlbfs b/ld.hugetlbfs
-index df446dd..6553547 100755
---- a/ld.hugetlbfs
-+++ b/ld.hugetlbfs
-@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;;
- elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;;
- elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
- elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
--armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;;
-+armelf_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
- esac
-
- if [ "$HTLB_ALIGN" == "slice" ]; then
---
-1.9.2
-
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch
new file mode 100644
index 0000000000..4e5b7bbbbc
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch
@@ -0,0 +1,57 @@
+From 1ab6f7f9b34fc745451140fc21db6763dffc5785 Mon Sep 17 00:00:00 2001
+From: "Gary S. Robertson" <gary.robertson@linaro.org>
+Date: Thu, 25 Sep 2014 14:57:06 -0500
+Subject: [PATCH] ld.hugetlbfs: arm arches - fix page size and text offset
+ setup
+
+There's 3 issues fixed:
+* typo on MB variable (MB -> $MB)
+* some linker variants are missing (linux and big endian)
+ - armelfb_linux_eabi
+ - aarch64elfb
+ - aarch64linux
+ - aarch64linuxb
+* text segment offset was not specified for armv7 BE
+
+NOTE: This patch replaces and makes obsolete the following previously
+ submitted patch:
+
+ aarch64: fix page size not properly computed
+ by: Fathi Boudra <fathi.boudra@linaro.org>
+
+Upstream Status: Accepted at libhugetlbfs project
+
+Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
+---
+ ld.hugetlbfs | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/ld.hugetlbfs b/ld.hugetlbfs
+index df446dd..4417442 100755
+--- a/ld.hugetlbfs
++++ b/ld.hugetlbfs
+@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;;
+ elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;;
+ elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
+ elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
+-armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;;
++armelf*_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
+ esac
+
+ if [ "$HTLB_ALIGN" == "slice" ]; then
+@@ -96,9 +96,9 @@ if [ "$HTLB_ALIGN" == "slice" ]; then
+
+ # targeting the ARM platform one needs to explicitly set the text segment offset
+ # otherwise it will be NULL.
+- if [ "$EMU" == "armelf_linux_eabi" ]; then
+- HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE"
+- fi
++ case "$EMU" in
++ armelf*_linux_eabi) HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" ;;
++ esac
+ fi
+
+ ${LD} "${args[@]}" ${HTLBOPTS}
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
index 5645add6b8..4ce6a1901e 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -3,7 +3,11 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "sysfsutils perl"
-RDEPENDS_${PN} += "python python-io python-lang python-subprocess python-resource"
+RDEPENDS_${PN} += "bash perl python python-io python-lang python-subprocess python-resource"
+RDEPENDS_${PN}-tests += "bash"
+
+PV = "2.18"
+PE = "1"
SRCREV = "ea3f6b273f535aab38cefae30030774457bbbfe6"
SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \
@@ -12,16 +16,22 @@ SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \
file://tests-Makefile-install-static-4G-edge-testcases.patch \
file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \
file://0001-aarch64-fix-cross-compilation.patch \
- file://0001-aarch64-fix-page-size-not-properly-computed.patch \
+ file://0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch \
file://0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch \
+ file://0001-Extend-arm32-support-to-include-BE-variants.patch \
+ file://0001-Makefile-Recognize-all-ix86-arches.patch \
"
S = "${WORKDIR}/git"
-COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64).*-linux*"
+COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64|arm).*-linux*"
LIBARGS = "LIB32=${baselib} LIB64=${baselib}"
-EXTRA_OEMAKE = "'ARCH=${TARGET_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} V=1"
+LIBHUGETLBFS_ARCH = "${TARGET_ARCH}"
+LIBHUGETLBFS_ARCH_powerpc = "ppc"
+LIBHUGETLBFS_ARCH_powerpc64 = "ppc64"
+EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2"
+PARALLEL_MAKE = ""
CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0"
TARGET_CC_ARCH += "${LDFLAGS}"
@@ -43,12 +53,15 @@ do_install() {
install-tests
}
-PARALLEL_MAKE_pn-${PN} = ""
PACKAGES =+ "${PN}-perl ${PN}-tests "
+FILES_${PN} += "${libdir}/*.so"
+FILES_${PN}-dev = "${includedir}"
FILES_${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug"
FILES_${PN}-perl = "${libdir}/perl"
FILES_${PN}-tests += "${libdir}/libhugetlbfs/tests"
+INSANE_SKIP_${PN} = "dev-so"
+
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
new file mode 100644
index 0000000000..549a114d13
--- /dev/null
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
@@ -0,0 +1,206 @@
+lmbench: Can't proceed on some targets
+
+lmbench can't proceed on some targets. The memory check fails because the
+memory latency of each page is longer then 10us, which is a time limit set
+in the original memsize.c.
+
+The memory latency is very different on different targets due to the
+hardware and current system load. The targets with slower memory
+chips or heavy system load need much longer time to read or write
+the memory.
+
+This fix changes the fixed time limit of 10us to a specific value calculated
+from the runtime target.
+
+Also set an upper limit of memory size used for lmbench testing. The memory
+check sometimes fails if the target has a large amount of memory, for
+example more than 4G.
+
+Signed-off-by: Qingming Su <qingming.su@windriver.com>
+Signed-off-by: Fupan Li <fupan.li@windriver.com>
+
+Add and reword above comments
+
+Upstream-status: inappropriate [ configuration ]
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff --git a/scripts/config-run b/scripts/config-run
+index e1f7b6d..31b9256 100755
+--- a/scripts/config-run
++++ b/scripts/config-run
+@@ -214,6 +214,12 @@ The bigger the range, the more accurate the results, but larger sizes
+ take somewhat longer to run the benchmark.
+
+ EOF
++
++# By default, use 512M memory as the upper limit for lmbench test
++if [ $MB -gt 512 ];then
++MB=512
++fi
++
+ echo $ECHON "MB [default $MB]: $ECHOC"
+ #read TMP
+ TMP=""
+@@ -718,10 +724,10 @@ case $MAIL in
+ ;;
+ esac
+
+-INFO=`../scripts/info`
++INFO=`../scripts/hostinfo`
+ if [ $MAIL = yes ]
+ then if [ ! -f $INFO ]
+- then cp ../scripts/info-template $INFO
++ then cp ../scripts/hostinfo-template $INFO
+ chmod +w $INFO
+ REUSE=no
+ else
+@@ -765,7 +771,7 @@ EOF
+ then EDITOR=$TMP
+ fi
+ if [ X$EDITOR != "none" ]
+- then $EDITOR `../scripts/info`
++ then $EDITOR `../scripts/hostinfo`
+ fi
+ fi
+ fi
+diff --git a/src/Makefile b/src/Makefile
+index d1f0dc6..5098998 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -49,7 +49,7 @@ TARGET=`../scripts/target`
+ BINDIR=../bin/$(OS)
+ CONFIG=../bin/$(OS)/`../scripts/config`
+ UTILS=../scripts/target ../scripts/os ../scripts/gnu-os ../scripts/compiler \
+- ../scripts/info ../scripts/info-template ../scripts/version \
++ ../scripts/hostinfo ../scripts/hostinfo-template ../scripts/version \
+ ../scripts/config ../scripts/config-run ../scripts/results \
+ ../scripts/lmbench ../scripts/make ../scripts/build
+ INSTALL=cp
+@@ -240,7 +240,7 @@ $O/getopt.o : getopt.c $(INCS)
+ $(COMPILE) -c getopt.c -o $O/getopt.o
+
+ $(UTILS) :
+- -cd ../scripts; make get
++ -cd ../scripts; cp info hostinfo; cp info-template hostinfo-template
+
+ # Do not remove the next line, $(MAKE) depend needs it
+ # MAKEDEPEND follows
+diff --git a/src/memsize.c b/src/memsize.c
+index eb25a09..cf9fe0c 100644
+--- a/src/memsize.c
++++ b/src/memsize.c
+@@ -14,9 +14,12 @@ char *id = "$Id$\n";
+
+ #define CHK(x) if ((x) == -1) { perror("x"); exit(1); }
+
+-#ifndef TOO_LONG
+-#define TOO_LONG 10 /* usecs */
+-#endif
++//#ifndef TOO_LONG
++//#define TOO_LONG 10 /* usecs */
++//#endif
++
++#define MEMORY_SIZE_1MB (1024 * 1024)
++#define MEMORY_SIZE_8MB (8 * 1024 * 1024)
+
+ int alarm_triggered = 0;
+
+@@ -35,10 +38,10 @@ main(int ac, char **av)
+ size_t delta;
+
+ if (ac == 2) {
+- max = size = bytes(av[1]) * 1024 * 1024;
++ max = size = bytes(av[1]) * MEMORY_SIZE_1MB;
+ }
+- if (max < 1024 * 1024) {
+- max = size = 1024 * 1024 * 1024;
++ if (max < MEMORY_SIZE_1MB) {
++ max = size = 1024 * MEMORY_SIZE_1MB;
+ }
+ /*
+ * Binary search down and then binary search up
+@@ -48,7 +51,7 @@ main(int ac, char **av)
+ }
+ /* delta = size / (2 * 1024 * 1024) */
+ for (delta = (size >> 21); delta > 0; delta >>= 1) {
+- uint64 sz = (uint64)size + (uint64)delta * 1024 * 1024;
++ uint64 sz = (uint64)size + (uint64)delta * MEMORY_SIZE_1MB;
+ size_t check = sz;
+ if (max < sz) continue;
+ if (check < sz || !test_malloc(sz)) break;
+@@ -66,41 +69,58 @@ timeit(char *where, size_t size)
+ {
+ int sum = 0;
+ size_t n;
+- size_t s_prev;
++ size_t s_prev = MEMORY_SIZE_8MB;
+ size_t range;
+- size_t incr = 1024 * 1024;
++ size_t incr = MEMORY_SIZE_1MB;
+ size_t pagesize = getpagesize();
+- unsigned long long s;
+-
+- if (size < 1024*1024 - 16*1024) {
+- fprintf(stderr, "Bad size\n");
+- return;
+- }
++ size_t time_each_page = 0;
++ size_t too_long = 0;
++ unsigned long long s;
++
++ if (pagesize < MEMORY_SIZE_1MB)
++ range = MEMORY_SIZE_1MB;
++ else
++ range = MEMORY_SIZE_8MB;
++
++ incr = MEMORY_SIZE_1MB;
++
++ if (size < range) {
++ fprintf(stderr, "Bad size\n");
++ return;
++ }
++
++ //Touch range of memory, get the average time (usec) of operating each memory page on this system
++ start(0);
++ touchRange(where, range, pagesize);
++ sum = stop(0, 0);
++
++ if ((time_each_page = sum * pagesize / range) < 1)
++ time_each_page = 1;
++ //Set the uper limit of time spending on one page
++ too_long = 10 * time_each_page;
+
+- range = 1024 * 1024;
+- incr = 1024 * 1024;
+- touchRange(where, range, pagesize);
+ for (range += incr; range <= size; range += incr) {
+ n = range / pagesize;
+- set_alarm(n * TOO_LONG);
++ set_alarm(n * too_long);
+ touchRange(where + range - incr, incr, pagesize);
+ clear_alarm();
+- set_alarm(n * TOO_LONG);
++ set_alarm(n * too_long);
+ start(0);
+ touchRange(where, range, pagesize);
+ sum = stop(0, 0);
+ clear_alarm();
+- if ((sum / n) > TOO_LONG || alarm_triggered) {
++ if ((sum / n) > too_long || alarm_triggered) {
+ size = range - incr;
++ fprintf(stderr, "Error! Memory testing timeout! Touch one page of memory needs more than %d (usecs)\n ", too_long);
+ break;
+ }
+- for (s = 8 * 1024 * 1024; s <= range; s_prev = s, s *= 2)
++ for (s = s_prev; s <= range; s_prev = s, s *= 2)
+ if (s < s_prev) break;
+ incr = s / 8;
+ if (range < size && size < range + incr) {
+ incr = size - range;
+ }
+- fprintf(stderr, "%dMB OK\r", (int)(range/(1024*1024)));
++ fprintf(stderr, "%dMB OK\r", (int)(range/MEMORY_SIZE_1MB));
+ }
+ fprintf(stderr, "\n");
+ printf("%d\n", (int)(size>>20));
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch
new file mode 100644
index 0000000000..cda2f0c6d1
--- /dev/null
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch
@@ -0,0 +1,61 @@
+lmbench: Fix "make html" graph failure
+
+The html-list perl script cannot parse the first line of the result
+files about the lmbench version.
+
+Additional fixes are to make the result's html pages easier to understand.
+
+Signed-off-by: Lin Yu <lin.yu@windriver.com>
+Signed-off-by: Fupan Li <fupan.li@windriver.com>
+
+Reworded patch description.
+
+Upstream-status: inappropriate [ configuration ]
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff --git a/results/Makefile b/results/Makefile
+index 0935376..1ef9a15 100644
+--- a/results/Makefile
++++ b/results/Makefile
+@@ -186,6 +186,7 @@ paper:
+ # scratch makes you want a Ghz machine.
+ html: dirs
+ -make clean
++ make ps
+ #$(SCRIPTS)bghtml $(BG)
+ $(SCRIPTS)html-list $(LIST)
+ $(MK) LIST="$(LIST)" summary > HTML/summary.out 2> HTML/summary.errs
+diff --git a/scripts/html-list b/scripts/html-list
+index 9850461..6383115 100755
+--- a/scripts/html-list
++++ b/scripts/html-list
+@@ -14,7 +14,7 @@ open(H, ">HTML/specific.html");
+ print H <<EOF;
+ <title>LMBENCH System Results</title>
+ <h1>LMBENCH System Results</h1>
+-<h2><a href=summary>Summary of results</a></h2>
++<h2><a href=summary.out>Summary of results</a></h2>
+ <hr>
+ EOF
+
+@@ -47,7 +47,7 @@ foreach $os (@os) {
+ open(F, $file);
+ $_ = <F>;
+ close(F);
+- next unless /lmbench1.[01]/;
++ next unless /lmbench[0-9]+.[01]/;
+ chop;
+ $title = $_;
+ #s/.lmbench1.? results for //;
+@@ -103,10 +103,7 @@ EOF
+ if $i < $#os;
+ print S<<EOF;
+ <h4>$title</h4>
+-<a href=../$doc{$what}>Information on this benchmark</a> (Not up to date)
+ <p><IMG SRC="${what}${scale}$N.gif">\n<p>
+-<a href=../lmbench.html>
+-<img align=middle src="../gifs/arrows/b_arrow.gif">LMBENCH table of contents</a>
+ <a href=specific.html>
+ <img align=middle src=\"../gifs/graph.gif\">System results table of contents</a>
+ <p>
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
index 41db15000e..24cd0b0eaf 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -1,7 +1,7 @@
SUMMARY = "Tools for performance analysis"
HOMEPAGE = "http://lmbench.sourceforge.net/"
SECTION = "console/utils"
-LICENSE = "GPLv2"
+LICENSE = "GPLv2 & GPL-2.0-with-lmbench-restriction"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9"
@@ -14,8 +14,10 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
file://rename-line-binary.patch \
file://update-results-script.patch \
file://obey-ranlib.patch \
- file://update-config-script.patch \
- file://use-base_libdir-instead-of-hardcoded-lib.patch \
+ file://update-config-script.patch \
+ file://use-base_libdir-instead-of-hardcoded-lib.patch \
+ file://lmbench_result_html_report.patch \
+ file://fix-lmbench-memory-check-failure.patch \
"
SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
@@ -50,12 +52,12 @@ do_install () {
> ${D}${sysconfdir}/tmpfiles.d/lmbench.conf
fi
- oe_runmake 'BASE=${D}${prefix}' \
+ oe_runmake BASE="${D}${prefix}" MANDIR="${D}${mandir}" \
-C src install
mv ${D}${bindir}/line ${D}${bindir}/lm_line
install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
- sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${PN},;' \
- -e 's,^BINDIR=.*$,BINDIR=${libdir}/${PN},;' \
+ sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \
+ -e 's,^BINDIR=.*$,BINDIR=${libdir}/${BPN},;' \
-e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \
${D}${bindir}/lmbench-run
install -m 0755 ${S}/scripts/lmbench ${D}${bindir}
@@ -72,5 +74,5 @@ pkg_postinst_${PN} () {
fi
}
-RDEPENDS_${PN} = "debianutils"
+RDEPENDS_${PN} = "perl"
FILES_${PN} += "${datadir}/lmbench ${libdir}/lmbench"
diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch
new file mode 100644
index 0000000000..abdb4344bd
--- /dev/null
+++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch
@@ -0,0 +1,23 @@
+Makefile: add more dependencies to pointer.h
+
+Upstream-Status: Inappropriate [no upstream]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 915866d..edd9ea2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -122,7 +122,7 @@ emfloat.o: emfloat.h emfloat.c nmglobal.h pointer.h Makefile
+ pointer.h: Makefile
+ touch pointer.h ;
+
+-misc.o: misc.h misc.c Makefile
++misc.o: misc.h misc.c nmglobal.h pointer.h Makefile
+ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
+ -c misc.c
+
+
diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
index 37f3e46a7e..2eedd7e313 100644
--- a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
+++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
@@ -2,12 +2,13 @@ DESCRIPTION = "BYTE Magazine's native benchmarks (also called BYTEmark) \
designed to expose the capabilities of a system's CPU, FPU, \
and memory system."
HOMEPAGE = "http://www.tux.org/~mayer/linux/"
-LICENSE = "freely distributable"
+LICENSE = "nbench-byte"
LIC_FILES_CHKSUM = "file://README;beginline=57;endline=66;md5=020ef579f8fa5746b7e307a54707834f"
SECTION = "console/utils"
-SRC_URI = "http://www.tux.org/~mayer/linux/${PN}-${PV}.tar.gz \
- file://nbench_32bits.patch"
+SRC_URI = "http://www.tux.org/~mayer/linux/${BP}.tar.gz \
+ file://nbench_32bits.patch \
+ file://Makefile-add-more-dependencies-to-pointer.h.patch"
SRC_URI[md5sum] = "285dfab361080759d477ea1fe7d3093a"
SRC_URI[sha256sum] = "723dd073f80e9969639eb577d2af4b540fc29716b6eafdac488d8f5aed9101ac"
diff --git a/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb
new file mode 100644
index 0000000000..ef9f7352d5
--- /dev/null
+++ b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Phoronix Test Suite"
+DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
+and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "console/tests"
+
+SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
+SRC_URI[md5sum] = "51e52d883710dc516c5494bd1c377219"
+SRC_URI[sha256sum] = "1186f460691e2fe7a07df5edb8d8ed1ac0c65327512e646da2b2e3a60dda6cd9"
+S = "${WORKDIR}/phoronix-test-suite"
+
+do_install() {
+ DESTDIR=${D} ./install-sh ${exec_prefix}
+}
+
+RDEPENDS_${PN} = "php-cli"
+FILES_${PN} += " \
+ ${datadir}/phoronix-test-suite \
+ ${datadir}/appdata/phoronix-test-suite.appdata.xml \
+ ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \
+ ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \
+ ${datadir}/mime/packages/openbenchmarking-mime.xml \
+"
diff --git a/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
index af6c53c377..3267de2a05 100644
--- a/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
+++ b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
PR = "r1"
SRC_URI = "\
- http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${P}.tar.gz \
+ http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${BP}.tar.gz \
file://tiobench-makefile.patch \
file://avoid-glibc-clashes.patch \
"
diff --git a/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb b/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb
index 4e85194362..4cf3f1ceb5 100644
--- a/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb
+++ b/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f9ce51a65dd738dc1ae631d8b21c40e0"
PARALLEL_MAKE = ""
-DEPENDS = "libpcap libpcre"
+DEPENDS = "libpcap libpcre libdnet"
SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \
file://disable-run-test-program-while-cross-compiling.patch "
@@ -13,7 +13,11 @@ SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \
# these 2 create undeclared dependency on libdnet and libnetfilter-queue from meta-networking
# this error from test-dependencies script:
# daq/daq/latest lost dependency on libdnet libmnl libnetfilter-queue libnfnetlink
-EXTRA_OECONF += "--disable-nfq-module --disable-ipq-module"
+#
+# never look to /usr/local lib while cross compiling
+
+EXTRA_OECONF = "--disable-nfq-module --disable-ipq-module --includedir=${includedir} \
+ --with-libpcap-includes=${STAGING_INCDIR} --with-dnet-includes=${STAGING_LIBDIR}"
SRC_URI[md5sum] = "865bf9b750a2a2ca632591a3c70b0ea0"
SRC_URI[sha256sum] = "d65d1e67c4994e02c3142c49a648642e780b7e3d942b4a51f605309beac269a8"
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 714aa50bd9..0dac7cba33 100644
--- a/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
+++ b/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
@@ -1,11 +1,11 @@
SUMMARY = "GNU All Mobile Managment Utilities"
SECTION = "console/network"
-DEPENDS = "cmake-native virtual/libiconv libdbi mysql5"
+DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf"
HOMEPAGE = "http://www.gammu.org/"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}/${PV}/${PN}-${PV}.tar.bz2 \
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}.tar.bz2 \
file://gammurc \
file://gammu-smsdrc \
"
diff --git a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb b/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
index 356d5bdfe3..4826452866 100644
--- a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
+++ b/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
@@ -9,6 +9,11 @@ DEPENDS = "glib-2.0"
X11DEPENDS = " libxpm gtk+"
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG[bluez] = "--enable-bluetooth,--disable-bluetooth,bluez4"
+PACKAGECONFIG[libical] = "--enable-libical,--disable-libical,libical"
+PACKAGECONFIG[pcsc-lite] = "--enable-libpcsclite,--disable-libpcsclite,pcsc-lite"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0"
PACKAGECONFIG[x11] = ",--without-x,${X11DEPENDS}"
inherit autotools pkgconfig
diff --git a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init b/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init
deleted file mode 100644
index 79f74b681e..0000000000
--- a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-DAEMON=/usr/sbin/hostapd
-NAME=hostapd
-DESC="HOSTAP Daemon"
-ARGS="/etc/hostapd.conf -B"
-
-test -f $DAEMON || exit 0
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon -S -x $DAEMON -- $ARGS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon -K -x $DAEMON
- echo "$NAME."
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- reload)
- echo -n "Reloading $DESC: "
- killall -HUP $(basename ${DAEMON})
- echo "$NAME."
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|reload}"
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/defconfig b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/defconfig
index 2789640170..2789640170 100644
--- a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/defconfig
+++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/defconfig
diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service
new file mode 100644
index 0000000000..151c0504fc
--- /dev/null
+++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/hostapd.pid
+ExecStart=@SBINDIR@/hostapd @SYSCONFDIR@/hostapd.conf -P /run/hostapd.pid -B
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init
new file mode 100644
index 0000000000..8ba4e07940
--- /dev/null
+++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init
@@ -0,0 +1,58 @@
+#!/bin/sh
+DAEMON=/usr/sbin/hostapd
+NAME=hostapd
+DESC="HOSTAP Daemon"
+ARGS="/etc/hostapd.conf -B"
+
+test -f $DAEMON || exit 0
+
+set -e
+
+# source function library
+. /etc/init.d/functions
+
+delay_stop() {
+ count=0
+ while [ $count -lt 9 ] ; do
+ if pidof $DAEMON >/dev/null; then
+ sleep 1
+ else
+ return 0
+ fi
+ count=`expr $count + 1`
+ done
+ echo "Failed to stop $DESC."
+ return 1
+}
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ start-stop-daemon -S -x $DAEMON -- $ARGS
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon -K --oknodo -x $DAEMON
+ echo "$NAME."
+ ;;
+ restart)
+ $0 stop
+ delay_stop && $0 start
+ ;;
+ reload)
+ echo -n "Reloading $DESC: "
+ killall -HUP $(basename ${DAEMON})
+ echo "$NAME."
+ ;;
+ status)
+ status $DAEMON
+ exit $?
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|status}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-oe/recipes-connectivity/hostapd/hostap-daemon_1.0.bb b/meta-oe/recipes-connectivity/hostapd/hostapd_2.2.bb
index 1699103bfc..b75f2b9a7e 100644
--- a/meta-oe/recipes-connectivity/hostapd/hostap-daemon_1.0.bb
+++ b/meta-oe/recipes-connectivity/hostapd/hostapd_2.2.bb
@@ -1,13 +1,15 @@
HOMEPAGE = "http://hostap.epitest.fi"
SECTION = "kernel/userland"
LICENSE = "GPLv2 | BSD"
-LIC_FILES_CHKSUM = "file://README;md5=4d709ce0f9c84b87d148e16731f647e1"
+LIC_FILES_CHKSUM = "file://README;md5=0854a4da34ac3990770794d771fac7fd"
DEPENDS = "libnl openssl"
SUMMARY = "User space daemon for extended IEEE 802.11 management"
-inherit update-rc.d
+inherit update-rc.d systemd
INITSCRIPT_NAME = "hostapd"
+SYSTEMD_SERVICE_${PN} = "hostapd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
DEFAULT_PREFERENCE = "-1"
@@ -15,6 +17,7 @@ SRC_URI = " \
http://hostap.epitest.fi/releases/hostapd-${PV}.tar.gz \
file://defconfig \
file://init \
+ file://hostapd.service \
"
S = "${WORKDIR}/hostapd-${PV}/hostapd"
@@ -30,14 +33,16 @@ do_compile() {
}
do_install() {
- install -d ${D}${sbindir} ${D}${sysconfdir}/init.d
+ install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/
install -m 0644 ${S}/hostapd.conf ${D}${sysconfdir}
install -m 0755 ${S}/hostapd ${D}${sbindir}
install -m 0755 ${S}/hostapd_cli ${D}${sbindir}
install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
+ install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service
}
CONFFILES_${PN} += "${sysconfdir}/hostapd.conf"
-SRC_URI[md5sum] = "236247a7bbd4f60d5fa3e99849d1ffc9"
-SRC_URI[sha256sum] = "002e9dcb7e46cf82b5900a2fcf92b30fc8cdfd32a72d7fd4488588f1c013dfcc"
+SRC_URI[md5sum] = "23c1f78a693c3288802d516adb7fd289"
+SRC_URI[sha256sum] = "f15b6bcb434378860ea5b88dffed7f54d8cb71fff2146de0f006977a5e25a882"
diff --git a/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb b/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb
index 7880a06f0b..54d881d1c9 100644
--- a/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb
+++ b/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb
@@ -15,7 +15,8 @@ SRC_URI[sha256sum] = "bb6c0125db30b697f80837941c17372b7484c64d57a6920b8bfa7ee3de
S = "${WORKDIR}/irssi-${REALPV}"
-inherit autotools
-
-EXTRA_OECONF = "--enable-ssl"
+inherit autotools pkgconfig
+EXTRA_OECONF = "--enable-ssl \
+ --with-ncurses=${STAGING_EXECPREFIXDIR} \
+"
diff --git a/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch b/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch
index 97c00cd2d2..e64dd0ad91 100644
--- a/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch
+++ b/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch
@@ -9,18 +9,18 @@ Upstream-Status: Unknown
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
- version.sh | 16 +---------------
- 1 files changed, 1 insertions(+), 15 deletions(-)
+ version.sh | 16 +---------------
+ 1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/version.sh b/version.sh
-index 3fb9f6d..e4a56cb 100755
+index 11d124b..5d423c4 100755
--- a/version.sh
+++ b/version.sh
@@ -3,21 +3,7 @@
- VERSION="3.2"
+ VERSION="3.15"
OUT="$1"
--if head=`git rev-parse --verify HEAD 2>/dev/null`; then
+-if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then
- git update-index --refresh --unmerged > /dev/null
- descr=$(git describe)
-
@@ -41,4 +41,3 @@ index 3fb9f6d..e4a56cb 100755
echo "const char iw_version[] = \"$v\";" >> "$OUT"
--
1.7.7.3
-
diff --git a/meta-oe/recipes-connectivity/iw/iw_3.11.bb b/meta-oe/recipes-connectivity/iw/iw_3.15.bb
index d72a1401c0..7800e905ee 100644
--- a/meta-oe/recipes-connectivity/iw/iw_3.11.bb
+++ b/meta-oe/recipes-connectivity/iw/iw_3.15.bb
@@ -9,12 +9,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774"
DEPENDS = "libnl pkgconfig"
-SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.bz2 \
+SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \
file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \
"
-SRC_URI[md5sum] = "e633cf7c875c7d8b547abafc0d95f6c4"
-SRC_URI[sha256sum] = "09348d4f7371fad00c07cfb67b9e34f24403cbd9361f9634cfb4dff9cdd40139"
+SRC_URI[md5sum] = "ebb16e6c29b075e3a58b99552583fd79"
+SRC_URI[sha256sum] = "1223ebab68dc337f16ed80c45af37b78f112ea091e919eafe96a4cbd63942081"
EXTRA_OEMAKE = ""
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch b/meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch
new file mode 100644
index 0000000000..08526610aa
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch
@@ -0,0 +1,92 @@
+From af0ed4df4dfae762ab5fb605f5a0c8f59cb4f6ca Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Thu, 21 Aug 2014 13:52:07 -0400
+Subject: [PATCH] Return only new keys in randkey [CVE-2014-5351]
+
+In kadmind's randkey operation, if a client specifies the keepold
+flag, do not include the preserved old keys in the response.
+
+CVE-2014-5351:
+
+An authenticated remote attacker can retrieve the current keys for a
+service principal when generating a new set of keys for that
+principal. The attacker needs to be authenticated as a user who has
+the elevated privilege for randomizing the keys of other principals.
+
+Normally, when a Kerberos administrator randomizes the keys of a
+service principal, kadmind returns only the new keys. This prevents
+an administrator who lacks legitimate privileged access to a service
+from forging tickets to authenticate to that service. If the
+"keepold" flag to the kadmin randkey RPC operation is true, kadmind
+retains the old keys in the KDC database as intended, but also
+unexpectedly returns the old keys to the client, which exposes the
+service to ticket forgery attacks from the administrator.
+
+A mitigating factor is that legitimate clients of the affected service
+will start failing to authenticate to the service once they begin to
+receive service tickets encrypted in the new keys. The affected
+service will be unable to decrypt the newly issued tickets, possibly
+alerting the legitimate administrator of the affected service.
+
+CVSSv2: AV:N/AC:H/Au:S/C:P/I:N/A:N/E:POC/RL:OF/RC:C
+
+[tlyu@mit.edu: CVE description and CVSS score]
+
+ticket: 8018 (new)
+target_version: 1.13
+tags: pullup
+
+Upstream-Status: Backport
+---
+ src/lib/kadm5/srv/svr_principal.c | 21 ++++++++++++++++++---
+ 1 files changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/lib/kadm5/srv/svr_principal.c b/lib/kadm5/srv/svr_principal.c
+index 5d358bd..d4e74cc 100644
+--- a/lib/kadm5/srv/svr_principal.c
++++ b/lib/kadm5/srv/svr_principal.c
+@@ -344,6 +344,20 @@ check_1_6_dummy(kadm5_principal_ent_t entry, long mask,
+ *passptr = NULL;
+ }
+
++/* Return the number of keys with the newest kvno. Assumes that all key data
++ * with the newest kvno are at the front of the key data array. */
++static int
++count_new_keys(int n_key_data, krb5_key_data *key_data)
++{
++ int n;
++
++ for (n = 1; n < n_key_data; n++) {
++ if (key_data[n - 1].key_data_kvno != key_data[n].key_data_kvno)
++ return n;
++ }
++ return n_key_data;
++}
++
+ kadm5_ret_t
+ kadm5_create_principal(void *server_handle,
+ kadm5_principal_ent_t entry, long mask,
+@@ -1593,7 +1607,7 @@ kadm5_randkey_principal_3(void *server_handle,
+ osa_princ_ent_rec adb;
+ krb5_int32 now;
+ kadm5_policy_ent_rec pol;
+- int ret, last_pwd;
++ int ret, last_pwd, n_new_keys;
+ krb5_boolean have_pol = FALSE;
+ kadm5_server_handle_t handle = server_handle;
+ krb5_keyblock *act_mkey;
+@@ -1686,8 +1700,9 @@ kadm5_randkey_principal_3(void *server_handle,
+ kdb->fail_auth_count = 0;
+
+ if (keyblocks) {
+- ret = decrypt_key_data(handle->context,
+- kdb->n_key_data, kdb->key_data,
++ /* Return only the new keys added by krb5_dbe_crk. */
++ n_new_keys = count_new_keys(kdb->n_key_data, kdb->key_data);
++ ret = decrypt_key_data(handle->context, n_new_keys, kdb->key_data,
+ keyblocks, n_keys);
+ if (ret)
+ goto done;
+--
+1.7.4.1
+
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch b/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch
new file mode 100644
index 0000000000..d3e6937515
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch
@@ -0,0 +1,29 @@
+Modifies export-check.pl to use look for $ENV{'NM'} before
+defaulting to using 'nm'
+
+Upstream-Status: Pending
+
+Signed-off-by: Amy Fong <amy.fong@windriver.com>
+---
+
+ export-check.pl | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+Index: src/util/export-check.pl
+===================================================================
+--- src.orig/util/export-check.pl
++++ src/util/export-check.pl
+@@ -38,7 +38,12 @@
+ my($exfile, $libfile) = @ARGV;
+
+ @missing = ();
+-open NM, "nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!";
++if (defined($ENV{'NM'})) {
++ $nm = $ENV{'NM'};
++} else {
++ $nm = "nm";
++}
++open NM, "$nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!";
+ open EXPORT, "< $exfile" || die "can't read $exfile: $!";
+
+ @export = <EXPORT>;
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch b/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch
new file mode 100644
index 0000000000..f0182ee5db
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch
@@ -0,0 +1,48 @@
+Subject: [PATCH] debian: suppress /usr/lib in krb5-config
+
+Upstream-Status: Pending
+
+Handel multi-arch suppressions
+
+The patch is from debian.
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ src/build-tools/krb5-config.in | 14 +++++++++-----
+ 1 files changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/src/build-tools/krb5-config.in b/src/build-tools/krb5-config.in
+index f6184da..637bad7 100755
+--- a/src/build-tools/krb5-config.in
++++ b/src/build-tools/krb5-config.in
+@@ -138,6 +138,7 @@ if test -n "$do_help"; then
+ echo " [--defktname] Show built-in default keytab name"
+ echo " [--defcktname] Show built-in default client keytab name"
+ echo " [--cflags] Compile time CFLAGS"
++ echo " [--deps] Include dependent libraries"
+ echo " [--libs] List libraries required to link [LIBRARIES]"
+ echo "Libraries:"
+ echo " krb5 Kerberos 5 application"
+@@ -209,11 +210,14 @@ fi
+
+ if test -n "$do_libs"; then
+ # Assumes /usr/lib is the standard library directory everywhere...
+- if test "$libdir" = /usr/lib; then
+- libdirarg=
+- else
+- libdirarg="-L$libdir"
+- fi
++ case $libdir in
++ /usr/lib*)
++ libdirarg=
++ ;;
++ *)
++ libdirarg="-L$libdir"
++ ;;
++ esac
+ # Ugly gross hack for our build tree
+ lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \
+ -e 's/\$(PURE)//' \
+--
+1.7.1
+
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server
new file mode 100644
index 0000000000..2835929139
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server
@@ -0,0 +1,6 @@
+# Automatically generated. If you change anything in this file other than the
+# values of RUN_KADMIND or DAEMON_ARGS, first run dpkg-reconfigure
+# krb5-admin-server and disable managing the kadmin configuration with
+# debconf. Otherwise, changes will be overwritten.
+
+RUN_KADMIND=true
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc
new file mode 100644
index 0000000000..310bfcf8ad
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc
@@ -0,0 +1,5 @@
+# Automatically generated. Only the value of DAEMON_ARGS will be preserved.
+# If you change anything in this file other than DAEMON_ARGS, first run
+# dpkg-reconfigure krb5-kdc and disable managing the KDC configuration with
+# debconf. Otherwise, changes will be overwritten.
+
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server
new file mode 100755
index 0000000000..79238d4f40
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server
@@ -0,0 +1,140 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: krb5-admin-server
+# Required-Start: $local_fs $remote_fs $network $syslog
+# Required-Stop: $local_fs $remote_fs $network $syslog
+# Should-Start: krb5-kdc
+# Should-Stop: krb5-kdc
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: MIT Kerberos KDC administrative daemon
+# Description: Starts, stops, or restarts the MIT Kerberos KDC
+# administrative daemon (kadmind). This daemon answers
+# requests from kadmin clients and allows administrators
+# to create, delete, and modify principals in the KDC
+# database.
+### END INIT INFO
+
+# Author: Sam Hartman <hartmans@mit.edu>
+# Author: Russ Allbery <rra@debian.org>
+#
+# Based on the /etc/init.d/skeleton template as found in initscripts version
+# 2.86.ds1-15.
+
+# June, 2012: Adopted for yocto <amy.fong@windriver.com>
+
+PATH=/usr/sbin:/usr/bin:/sbin:/bin
+DESC="Kerberos administrative servers"
+NAME=kadmind
+DAEMON=/usr/sbin/$NAME
+DAEMON_ARGS=""
+SCRIPTNAME=/etc/init.d/krb5-admin-server
+DEFAULT=/etc/default/krb5-admin-server
+
+# Exit if the package is not installed.
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration if it is present.
+[ -r "$DEFAULT" ] && . "$DEFAULT"
+
+# Get the setting of VERBOSE and other rcS variables.
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+
+. /etc/init.d/functions
+
+ADMIN_SERVER_LOG=/var/log/kadmind.log
+[ -f $ADMIN_SERVER_LOG ] && (test ! -x /sbin/restorecon \
+ || /sbin/restorecon -F $ADMIN_SERVER_LOG)
+
+# Return
+# 0 if daemon has been started
+# 1 if daemon was already running
+# 2 if daemon could not be started
+do_start()
+{
+ start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \
+ > /dev/null || return 1
+ start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \
+ -- $DAEMON_ARGS || return 2
+}
+
+# Return
+# 0 if daemon has been stopped
+# 1 if daemon was already stopped
+# 2 if daemon could not be stopped
+# other if a failure occurred
+do_stop()
+{
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME
+ RETVAL="$?"
+ [ "$RETVAL" = 2 ] && return 2
+ return "$RETVAL"
+}
+
+
+case "$1" in
+ start)
+ if [ "$RUN_KADMIND" = false ] ; then
+ if [ "$VERBOSE" != no ] ; then
+ echo "Not starting $DESC per configuration"
+ fi
+ exit 0
+ fi
+ [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && echo 0 ;;
+ 2) [ "$VERBOSE" != no ] && echo 1 ;;
+ esac
+ ;;
+
+ stop)
+ [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && echo 0 ;;
+ 2) [ "$VERBOSE" != no ] && echo 1 ;;
+ esac
+ ;;
+
+ restart|force-reload)
+ if [ "$RUN_KADMIND" = false ] ; then
+ if [ "$VERBOSE" != no ] ; then
+ echo "Not restarting $DESC per configuration"
+ fi
+ exit 0
+ fi
+ echo "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) [ "$VERBOSE" != no ] && echo 0 ;;
+ *) [ "$VERBOSE" != no ] && echo 1 ;;
+ esac
+ ;;
+ *)
+ echo 1
+ ;;
+ esac
+ ;;
+
+ status)
+ pidofproc "$DAEMON" >/dev/null
+ status=$?
+ if [ $status -eq 0 ]; then
+ echo "$NAME is running."
+ else
+ echo "$NAME is not running."
+ fi
+ exit $status
+ ;;
+
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
+ exit 3
+ ;;
+esac
+
+:
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc
new file mode 100755
index 0000000000..865d1b9703
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc
@@ -0,0 +1,133 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: krb5-kdc
+# Required-Start: $local_fs $remote_fs $network $syslog
+# Required-Stop: $local_fs $remote_fs $network $syslog
+# X-Start-Before: $x-display-manager
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: MIT Kerberos KDC
+# Description: Starts, stops, or restarts the MIT Kerberos KDC. This
+# daemon responds to ticket requests from Kerberos
+# clients.
+### END INIT INFO
+
+# Author: Sam Hartman <hartmans@mit.edu>
+# Author: Russ Allbery <rra@debian.org>
+#
+# Based on the /etc/init.d/skeleton template as found in initscripts version
+# 2.86.ds1-15.
+
+# June, 2012: Adopted for yocto <amy.fong@windriver.com>
+
+PATH=/usr/sbin:/usr/bin:/sbin:/bin
+DESC="Kerberos KDC"
+NAME=krb5kdc
+DAEMON=/usr/sbin/$NAME
+DAEMON_ARGS=""
+SCRIPTNAME=/etc/init.d/krb5-kdc
+
+# Exit if the package is not installed.
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration if it is present.
+[ -r /etc/default/krb5-kdc ] && . /etc/default/krb5-kdc
+
+# Get the setting of VERBOSE and other rcS variables.
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+
+. /etc/init.d/functions
+
+# Return
+# 0 if daemon has been started
+# 1 if daemon was already running
+# 2 if daemon could not be started
+do_start_kdc()
+{
+ start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \
+ > /dev/null || return 1
+ start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \
+ -- $DAEMON_ARGS || return 2
+}
+
+
+# Return
+# 0 if daemon has been stopped
+# 1 if daemon was already stopped
+# 2 if daemon could not be stopped
+# other if a failure occurred
+do_stop_kdc()
+{
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME
+ RETVAL="$?"
+ [ "$RETVAL" = 2 ] && return 2
+ return "$RETVAL"
+}
+
+
+case "$1" in
+ start)
+ [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
+ do_start_kdc
+ case "$?" in
+ 0|1)
+ [ "$VERBOSE" != no ] && echo 0
+ ;;
+ 2)
+ [ "$VERBOSE" != no ] && echo 1
+ ;;
+ esac
+ ;;
+
+ stop)
+ [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
+ do_stop_kdc
+ case "$?" in
+ 0|1)
+ [ "$VERBOSE" != no ] && echo "krb524d"
+ ;;
+ 2)
+ [ "$VERBOSE" != no ] && echo 1
+ ;;
+ esac
+ ;;
+
+ restart|force-reload)
+ echo "Restarting $DESC" "$NAME"
+ do_stop_kdc
+ case "$?" in
+ 0|1)
+ do_start_kdc
+ case "$?" in
+ 0)
+ echo 0
+ ;;
+ 1|2)
+ echo 1
+ ;;
+ esac
+ ;;
+ *)
+ echo 1
+ ;;
+ esac
+ ;;
+
+ status)
+ pidofproc "$DAEMON" >/dev/null
+ status=$?
+ if [ $status -eq 0 ]; then
+ echo "$NAME is running."
+ else
+ echo "$NAME is not running."
+ fi
+ exit $status
+ ;;
+
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
+ exit 3
+ ;;
+esac
+
+:
diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb
deleted file mode 100644
index 5d255278dd..0000000000
--- a/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "A network authentication protocol"
-HOMEPAGE = "http://web.mit.edu/Kerberos/"
-SECTION = "console/network"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=1d9c8180d79838c02eb5eb1a3b184eb9"
-DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native"
-
-inherit autotools binconfig perlnative
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "http://web.mit.edu/kerberos/dist/${PN}/${SHRT_VER}/${P}-signed.tar \
- file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
-"
-SRC_URI[md5sum] = "56f0ae274b285320b8a597cb89442449"
-SRC_URI[sha256sum] = "9abd94bb94a70996da0f8d90408957154bb543271b097e86c63eb33e5f5751b5"
-
-S = "${WORKDIR}/${P}/src/"
-
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
-PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl"
-PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
-
-EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
-CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
- ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
- ac_cv_file__etc_TIMEZONE=no"
-
-CFLAGS_append += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
-LDFLAGS_append += "-lpthread"
-
-FILES_${PN}-doc += "${datadir}/examples"
-FILES_${PN} += "${datadir}/gnats"
-FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
-
-krb5_do_unpack() {
- # ${P}-signed.tar contains ${P}.tar.gz.asc and ${P}.tar.gz
- tar xzf ${WORKDIR}/${P}.tar.gz -C ${WORKDIR}/
-}
-
-python do_unpack() {
- bb.build.exec_func('base_do_unpack', d)
- bb.build.exec_func('krb5_do_unpack', d)
-}
-
-do_configure() {
- gnu-configize --force
- autoreconf
- oe_runconf
-}
diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb
new file mode 100644
index 0000000000..c492496b64
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb
@@ -0,0 +1,80 @@
+SUMMARY = "A network authentication protocol"
+DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \
+ Kerberos is a trusted third-party service. That means that there is a \
+ third party (the Kerberos server) that is trusted by all the entities on \
+ the network (users and services, usually called "principals"). \
+ . \
+ This is the MIT reference implementation of Kerberos V5. \
+ . \
+ This package contains the Kerberos key server (KDC). The KDC manages all \
+ authentication credentials for a Kerberos realm, holds the master keys \
+ for the realm, and responds to authentication requests. This package \
+ should be installed on both master and slave KDCs."
+
+HOMEPAGE = "http://web.mit.edu/Kerberos/"
+SECTION = "console/network"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=450c80c6258ce03387bd09df37638ebc"
+DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native"
+
+inherit autotools-brokensep binconfig perlnative
+
+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://0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch \
+ file://debian-suppress-usr-lib-in-krb5-config.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 \
+"
+SRC_URI[md5sum] = "357f1312b7720a0a591e22db0f7829fe"
+SRC_URI[sha256sum] = "09bd180107b5c2b3b7378c57c023fb02a103d4cac39d6f2dd600275d7a4f3744"
+
+S = "${WORKDIR}/${BP}/src/"
+
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
+PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl"
+PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+
+EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
+CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
+ ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
+ ac_cv_file__etc_TIMEZONE=no"
+
+CFLAGS_append += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
+LDFLAGS_append += "-lpthread"
+
+FILES_${PN} += "${datadir}/gnats"
+FILES_${PN}-doc += "${datadir}/examples"
+FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
+
+# As this recipe doesn't inherit update-rc.d, we need to add this dependency here
+RDEPENDS_${PN} += "initscripts-functions"
+
+krb5_do_unpack() {
+ # ${P}-signed.tar contains ${P}.tar.gz.asc and ${P}.tar.gz
+ tar xzf ${WORKDIR}/${BP}.tar.gz -C ${WORKDIR}/
+}
+
+python do_unpack() {
+ bb.build.exec_func('base_do_unpack', d)
+ bb.build.exec_func('krb5_do_unpack', d)
+}
+
+do_configure() {
+ gnu-configize --force
+ autoreconf
+ oe_runconf
+}
+
+do_install_append() {
+ mkdir -p ${D}/etc/init.d ${D}/etc/default
+ install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/etc/init.d
+ install -m 0644 ${WORKDIR}/etc/default/* ${D}/etc/default
+}
diff --git a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb
index 9f2cc49708..5256ce0d29 100644
--- a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb
+++ b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "\
#| configure:17888: checking for native large file support
#| configure:17891: error: in `/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4':
#| configure:17893: error: cannot run test program while cross compiling
-PNBLACKLIST[libimobiledevice] = "cannot run test program while cross compiling"
+PNBLACKLIST[libimobiledevice] ?= "cannot run test program while cross compiling"
HOMEPAGE ="http://www.libimobiledevice.org/"
diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp-1.1.5/glibc-2.20.patch b/meta-oe/recipes-connectivity/libmtp/libmtp-1.1.5/glibc-2.20.patch
new file mode 100644
index 0000000000..38b45c2a93
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libmtp/libmtp-1.1.5/glibc-2.20.patch
@@ -0,0 +1,36 @@
+
+Include config.h so we get the defines available for subsequent
+include files
+
+Fixes errors like
+
+| In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/beaglebone/usr/include/string.h:634:0,
+| from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/libmtp/1.1.5-r0/libmtp-1.1.5/src/util.c:36:
+| /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/libmtp/1.1.5-r0/libmtp-1.1.5/src/util.h:29:7: error: expected identifier or '(' before '__extension
+__'
+| char *strndup (const char *s, size_t n);
+| ^
+| /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/libmtp/1.1.5-r0/libmtp-1.1.5/src/util.c:111:7: error: expected identifier or '(' before '__extensio
+n__'
+| char *strndup (const char *s, size_t n)
+| ^
+| make[2]: *** [libmtp_la-util.lo] Error 1
+
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+Index: libmtp-1.1.5/src/util.c
+===================================================================
+--- libmtp-1.1.5.orig/src/util.c 2011-01-10 05:37:21.000000000 -0800
++++ libmtp-1.1.5/src/util.c 2014-09-03 23:50:44.703563888 -0700
+@@ -22,6 +22,8 @@
+ * Boston, MA 02111-1307, USA.
+ */
+
++#include "config.h"
++
+ /* MSVC does not have these */
+ #ifndef _MSC_VER
+ #include <sys/time.h>
diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb
index 0c92ff9694..de63c72f52 100644
--- a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb
+++ b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb
@@ -13,12 +13,13 @@ LIC_FILES_CHKSUM = "\
file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
"
-DEPENDS += "libusb1"
+DEPENDS += "libusb1 gettext-native"
SCM_URI = "git://git.code.sf.net/p/libmtp/code"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
file://69-libmtp.rules \
+ file://glibc-2.20.patch \
"
SRC_URI[md5sum] = "f80e45c0e6e5798c434bb1c26a7b602d"
SRC_URI[sha256sum] = "787679171baf8b3cf2fcc03196c705ab4d7cbc969bd71f9d3696be1ce7f1c63a"
diff --git a/meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch b/meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch
deleted file mode 100644
index 4f9d5a4315..0000000000
--- a/meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Use autoconf's endian check instead of the locally defined check
-so that we can determine the endianess without having to compile
-a program.
-
-Idea from http://www.security-lists.org/lists/libnet/2003/03/00001.html
-
-Also remove the old test from aclocal.m4.
-
-Rebased for libnet-1.1.6
-
-diff --git a/configure.in b/configure.in
-index e54c688..e2e768e 100644
---- a/configure.in
-+++ b/configure.in
-@@ -4,6 +4,7 @@ dnl All rights reserved.
- dnl
- dnl Process this file with autoconf to produce a configure script.
-
-+AC_PREREQ(2.52)
- AC_INIT(libnet, 1.1.6)
- AC_MSG_RESULT(beginning autoconfiguration process for libnet-${PACKAGE_VERSION} ...)
- AC_CANONICAL_SYSTEM
-@@ -38,7 +39,16 @@ dnl
- dnl And some custom things
- dnl
-
--AC_LIBNET_ENDIAN_CHECK
-+AC_C_BIGENDIAN([
-+ AC_DEFINE(LIBNET_BIG_ENDIAN)
-+ ENDIANESS="LIBNET_BIG_ENDIAN"
-+ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN"
-+],[
-+ AC_DEFINE(LIBNET_LIL_ENDIAN)
-+ ENDIANESS="LIBNET_LIL_ENDIAN"
-+ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN"
-+], AC_MSG_WARN(cannot detect endianess. try setting ac_cv_c_bigendian to yes or no))
-+
- dnl AC_LBL_LIBRARY_NET
-
- AC_SUBST(ENDIANESS)
diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb
deleted file mode 100644
index 0db074b1d3..0000000000
--- a/meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "A packet dissection and creation library"
-# libnet at packetfactory.net is dead
-HOMEPAGE = "https://github.com/sam-github/libnet"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=fb43d5727b2d3d1238545f75ce456ec3"
-DEPENDS = "libpcap"
-# There are major API changes beween libnet v1.0 and libnet v1.1
-PROVIDES = "libnet-1.1"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz \
- file://fix-endianess-test.patch"
-
-SRC_URI[md5sum] = "710296fe424a49344e5fcc0d09e53317"
-SRC_URI[sha256sum] = "d392bb5825c4b6b672fc93a0268433c86dc964e1500c279dc6d0711ea6ec467a"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-inherit autotools binconfig
-
-do_configure_prepend() {
- rm -f aclocal.m4 Makefile.am ltmain.sh
-}
diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
new file mode 100644
index 0000000000..a558e8096c
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A packet dissection and creation library"
+# libnet at packetfactory.net is dead
+HOMEPAGE = "https://github.com/sam-github/libnet"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=3ec839e00408b484d33b472a86b7c266"
+DEPENDS = "libpcap"
+# There are major API changes beween libnet v1.0 and libnet v1.1
+PROVIDES = "libnet-1.2rc2"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "f051e6e5bdecddb90f77c701c2ca1804"
+SRC_URI[sha256sum] = "72c380785ad44183005e654b47cc12485ee0228d7fa6b0a87109ff7614be4a63"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+inherit autotools binconfig
+
diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb
index a7f81e66fe..4af3a6a6a6 100644
--- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb
+++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb
@@ -6,12 +6,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
DEPENDS = "libsigc++-2.0 openssl cppunit"
-SRC_URI = "http://libtorrent.rakshasa.no/downloads/${PN}-${PV}.tar.gz \
+SRC_URI = "http://libtorrent.rakshasa.no/downloads/${BP}.tar.gz \
file://don-t-run-code-while-configuring-package.patch \
"
SRC_URI[md5sum] = "e94f6c590bb02aaf4d58618f738a85f2"
SRC_URI[sha256sum] = "34317d6783b7f8d0805274c9467475b5432a246c0de8e28fc16e3b0b43f35677"
-inherit autotools
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch
new file mode 100644
index 0000000000..b1d96ae5a7
--- /dev/null
+++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch
@@ -0,0 +1,37 @@
+From af485c638c61fa883212ea424e676fbf90bee594 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Tue, 1 Jul 2014 17:37:31 -0300
+Subject: [PATCH] build: Allow CC and prefix to be overriden
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/makefile b/makefile
+index 22e7d0d..809cc8f 100644
+--- a/makefile
++++ b/makefile
+@@ -18,7 +18,7 @@
+ KBUILD_OUTPUT =
+
+ DEBUG =
+-CC = $(CROSS_COMPILE)gcc
++CC ?= $(CROSS_COMPILE)gcc
+ VER = -DVER=$(version)
+ CFLAGS = -Wall $(VER) $(incdefs) $(DEBUG) $(EXTRA_CFLAGS)
+ LDLIBS = -lm -lrt $(EXTRA_LDFLAGS)
+@@ -35,7 +35,7 @@ incdefs := $(shell $(srcdir)/incdefs.sh)
+ version := $(shell $(srcdir)/version.sh $(srcdir))
+ VPATH = $(srcdir)
+
+-prefix = /usr/local
++prefix ?= /usr/local
+ sbindir = $(prefix)/sbin
+ mandir = $(prefix)/man
+ man8dir = $(mandir)/man8
+--
+1.7.10.4
+
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb
index 10d674405f..4ee0c8873b 100644
--- a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb
+++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb
@@ -2,13 +2,14 @@ DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz"
+SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \
+ file://build-Allow-CC-and-prefix-to-be-overriden.patch"
SRC_URI[md5sum] = "a37ad2b2ef7d1ebc4d64a66d3fe55cdf"
SRC_URI[sha256sum] = "6cfd5291fb7394cc9f25458927874a203971b66b76d1c9d6568e007d0cbd81f2"
-EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} ARCH=${TARGET_ARCH} \
- EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_ONESTEP_SYNC'"
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \
+ EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_ONESTEP_SYNC ${CFLAGS}'"
do_install () {
install -d ${D}/${bindir}
diff --git a/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb b/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb
index c8642768db..e512419095 100644
--- a/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb
+++ b/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c4f38aef94828f6b280e00d1173be689"
DEPENDS = "glib-2.0 libcheck openssl libidn"
-inherit gnomebase
+inherit gnomebase gtk-doc
PR = "r2"
diff --git a/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb b/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb
index 759c86e8ec..5ff18da057 100644
--- a/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb
+++ b/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb
@@ -1,4 +1,4 @@
-DEPENDS = "ppp udev glib-2.0"
+DEPENDS = "ppp udev glib-2.0 dbus-glib"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch b/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch
deleted file mode 100644
index bbcd021c13..0000000000
--- a/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1137846f778dc9f3be0c89cb2df18d3a37f844d7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 19 Apr 2013 18:34:09 +0200
-Subject: [PATCH] NetworkManager.service: remove reference to
- NetworkManager-wait-online.service
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* NetworkManager-wait-online.service crashes
-* NetworkManager works fine without NetworkManager-wait-online
-
-Upstream-Status: Inappropriate [config]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- data/NetworkManager.service.in | 1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in
-index 16b53b6..a2e913c 100644
---- a/data/NetworkManager.service.in
-+++ b/data/NetworkManager.service.in
-@@ -18,5 +18,4 @@ KillMode=process
- [Install]
- WantedBy=multi-user.target
- Alias=dbus-org.freedesktop.NetworkManager.service
--Also=NetworkManager-wait-online.service
-
---
-1.7.4.4
-
diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.0.bb b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb
index 3c7944dcc2..8d37c980e0 100644
--- a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.0.bb
+++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb
@@ -4,18 +4,17 @@ SECTION = "net/misc"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b"
-DEPENDS = "libnl dbus dbus-glib udev wireless-tools gnutls util-linux ppp"
+DEPENDS = "libnl dbus dbus-glib udev wireless-tools nss util-linux ppp"
inherit gnome gettext systemd
SRC_URI = " \
${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
file://0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch \
- file://0002-NetworkManager.service-remove-reference-to-NetworkMa.patch \
file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \
"
-SRC_URI[md5sum] = "38d28f6bd9220d85dfff47210706195c"
-SRC_URI[sha256sum] = "c366bcded6354d8186ad93c05d26d6a20bc550aa0391f974704e7a60e9f6096b"
+SRC_URI[md5sum] = "aad2558887e25417c52eb2deaade2f85"
+SRC_URI[sha256sum] = "064d27223d3824859df12e1fb25b787fec1c68bbc864dc52a0289b9211c4c972"
S = "${WORKDIR}/NetworkManager-${PV}"
@@ -26,11 +25,12 @@ EXTRA_OECONF = " \
--disable-ifnet \
--disable-ifcfg-suse \
--with-netconfig \
- --with-crypto=gnutls \
+ --with-crypto=nss \
--disable-more-warnings \
--with-dhclient=${base_sbindir}/dhclient \
--with-iptables=${sbindir}/iptables \
--with-tests \
+ --with-dnsmasq=${bindir}/dnsmasq \
"
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)}"
@@ -55,7 +55,7 @@ do_install_append () {
install -d ${D}${sysconfdir}/dbus-1/event.d
# Additional test binaries
install -d ${D}${bindir}
- install -m 0755 ${S}/test/.libs/libnm* ${D}${bindir}
+ install -m 0755 ${B}/test/.libs/libnm* ${D}${bindir}
# Install an empty VPN folder as nm-connection-editor will happily segfault without it :o.
# With or without VPN support built in ;).
@@ -81,7 +81,7 @@ FILES_${PN} += " \
${systemd_unitdir}/system/NetworkManager-wait-online.service \
"
-RRECOMMENDS_${PN} += "iptables"
+RRECOMMENDS_${PN} += "iptables dnsmasq"
RCONFLICTS_${PN} = "connman"
RDEPENDS_${PN} = " \
wpa-supplicant \
diff --git a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
index f12941e103..afe6106890 100644
--- a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
+++ b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
@@ -3,12 +3,13 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "gtk+ bluez4 dbus-glib imagemagick openobex"
+RCONFLICTS_${PN} = "bluez5"
SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz"
SRC_URI[md5sum] = "961ca5db6fe9c97024e133cc6203cc4d"
SRC_URI[sha256sum] = "b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f"
-inherit autotools-brokensep
+inherit autotools-brokensep pkgconfig
FILES_${PN} += "${datadir}/dbus-1/"
diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch b/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
new file mode 100644
index 0000000000..8abf8ae242
--- /dev/null
+++ b/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
@@ -0,0 +1,16 @@
+Fix detection of IrDA failing with B!=S
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+--- a/acinclude.m4 2014-05-24 14:05:41.757796816 +0100
++++ b/acinclude.m4 2014-05-24 14:03:06.556795536 +0100
+@@ -54,6 +54,7 @@
+ ])
+
+ AC_DEFUN([AC_PATH_IRDA_LINUX], [
++ CPPFLAGS="${CPPFLAGS} -I${srcdir}"
+ AC_CACHE_CHECK([for IrDA support], irda_found, [
+ AC_TRY_COMPILE([
+ #include <sys/socket.h>
diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
index 0d5cfef0c7..b07779dd56 100644
--- a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
+++ b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
@@ -10,15 +10,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz \
file://disable-cable-test.patch \
- file://libusb_crosscompile_check.patch"
+ file://libusb_crosscompile_check.patch \
+ file://separate_builddir.patch"
SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c"
SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f2cef41310e5a99d084de10aa9422935e65"
inherit autotools binconfig pkgconfig
-EXTRA_OECONF = "--enable-apps --enable-syslog \
- --with-usb=${STAGING_LIBDIR}/.. --with-bluez=${STAGING_LIBDIR}/.."
+EXTRA_OECONF = "--enable-apps --enable-syslog"
do_install_append() {
install -d ${D}${datadir}/aclocal
diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
index 206023e4f5..5589963913 100644
--- a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
+++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
@@ -8,6 +8,6 @@ S = "${WORKDIR}/git"
SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea"
PV = "0.0.0+gitr${SRCPV}"
-inherit autotools
+inherit autotools-brokensep
FILES_${PN} += "${base_libdir}/udev/rules.d/85-phonet-utils.rules"
diff --git a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb
new file mode 100644
index 0000000000..762ecd6279
--- /dev/null
+++ b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker"
+HOMEPAGE = "https://github.com/alanxz/rabbitmq-c"
+LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53"
+LICENSE = "MIT"
+
+SRC_URI = "https://github.com/alanxz/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[md5sum] = "aa8d4d0b949f508c0da25a9c20bd7da7"
+SRC_URI[sha256sum] = "1ec3c1141593b91c57bf1051657a1d64fb87da38760c7128a9622b107990f2f2"
+
+DEPENDS = "popt openssl"
+
+EXTRA_OECONF = "--disable-examples --enable-tools --disable-docs"
+
+inherit autotools pkgconfig
+
+PACKAGE_BEFORE_PN += "${PN}-tools"
+FILES_${PN}-tools = "${bindir}"
diff --git a/meta-oe/recipes-connectivity/rfkill/rfkill_0.4.bb b/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
index 62634c2293..3e644760ce 100644
--- a/meta-oe/recipes-connectivity/rfkill/rfkill_0.4.bb
+++ b/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
@@ -1,20 +1,20 @@
-SUMMARY = "rfkill CLI utility"
+SUMMARY = "Radio enable/disable command line utility"
HOMEPAGE = "http://linuxwireless.org/en/users/Documentation/rfkill"
SECTION = "base"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=c6036d0eb7edbfced28c4160e5d3fa94"
-PR = "r1"
-SRC_URI = "http://wireless.kernel.org/download/${PN}/${P}.tar.bz2 \
+SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.bz2 \
file://0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch \
file://dont.call.git.rev-parse.on.parent.dir.patch"
-SRC_URI[md5sum] = "727892c0fb35c80ee3849fbe89b45350"
-SRC_URI[sha256sum] = "ca10e4827a5f0a36e093aee6ad81b5febf81f8097d7d858889ac51ff364168c1"
+SRC_URI[md5sum] = "b957713a6cfbcd8ac0e94420aeddcf1a"
+SRC_URI[sha256sum] = "3e160cca504a53679f2b3254f31c53a4fb38a021bc50fed8eb57a436d33dfa07"
do_compile() {
oe_runmake
}
+
do_install() {
oe_runmake DESTDIR=${D} install
}
diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb
index adc112fefe..eb0a39af5c 100644
--- a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb
+++ b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb
@@ -3,14 +3,13 @@ HOMEPAGE = "http://libtorrent.rakshasa.no/"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libsigc++-2.0 curl cppunit libtorrent"
+DEPENDS = "libsigc++-2.0 curl cppunit libtorrent ncurses"
-SRC_URI = "http://libtorrent.rakshasa.no/downloads/${PN}-${PV}.tar.gz \
+SRC_URI = "http://libtorrent.rakshasa.no/downloads/${BP}.tar.gz \
file://don-t-run-code-while-configuring-package.patch \
"
SRC_URI[md5sum] = "0bf2f262faa8c8c8d3b11ce286ea2bf2"
SRC_URI[sha256sum] = "9e93ca41beb1afe74ad7ad8013e0d53ae3586c9b0e97263d722f721535cc7310"
-inherit autotools
-
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_221618_precise-64bit-prototype.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_221618_precise-64bit-prototype.patch
index 31108f2e89..31108f2e89 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_221618_precise-64bit-prototype.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_221618_precise-64bit-prototype.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch
index ea499a6eb3..d9cc633d48 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch
@@ -27,8 +27,8 @@ Index: samba/docs/manpages/smbspool.8
.sp -1
.IP \(bu 2.3
.\}
--The user argument (argv[2]) contains the print user\'s name and is presently not used by smbspool\&.
-+The user argument (argv[2]) contains the print user\'s name and is presently not used by smbspool except in Kerberos environments to access the user\'s ticket cache\&.
+-The user argument (argv[2]) contains the print user\*(Aqs name and is presently not used by smbspool\&.
++The user argument (argv[2]) contains the print user\*(Aqs name and is presently not used by smbspool except in Kerberos environments to access the user\'s ticket cache\&.
.RE
.sp
.RS 4
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch
index dcd94e425e..dcd94e425e 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_601406_fix-perl-path-in-example.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_601406_fix-perl-path-in-example.patch
index ba8b1f4255..ba8b1f4255 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_601406_fix-perl-path-in-example.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_601406_fix-perl-path-in-example.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_drop-using-samba-link.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_drop-using-samba-link.patch
index 0c54b6b0b7..0c54b6b0b7 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_drop-using-samba-link.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_drop-using-samba-link.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_fix-WHATSNEW-link.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_fix-WHATSNEW-link.patch
index c7dd043fbe..c7dd043fbe 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_fix-WHATSNEW-link.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_fix-WHATSNEW-link.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-core_pattern-cross-check.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-core_pattern-cross-check.patch
index 2d96189732..2d96189732 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-core_pattern-cross-check.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-core_pattern-cross-check.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-getaddrinfo-cross.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-getaddrinfo-cross.patch
index 84ecd498f5..84ecd498f5 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-getaddrinfo-cross.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-getaddrinfo-cross.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-libunwind.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-libunwind.patch
index 9a2cb00eba..9a2cb00eba 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-libunwind.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-libunwind.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation.patch
index 46ace234e9..73111fed72 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation.patch
@@ -6,7 +6,7 @@ Index: experimental/docs/manpages/swat.8
===================================================================
--- experimental.orig/docs/manpages/swat.8
+++ experimental/docs/manpages/swat.8
-@@ -111,86 +111,6 @@
+@@ -120,86 +120,6 @@
.RS 4
Print a summary of command line options\&.
.RE
@@ -73,7 +73,7 @@ Index: experimental/docs/manpages/swat.8
-/etc/services
-file\&.
-.PP
--the choice of port number isn\'t really important except that it should be less than 1024 and not currently used (using a number above 1024 presents an obscure security hole depending on the implementation details of your
+-the choice of port number isn\*(Aqt really important except that it should be less than 1024 and not currently used (using a number above 1024 presents an obscure security hole depending on the implementation details of your
-inetd
-daemon)\&.
-.PP
@@ -93,7 +93,7 @@ Index: experimental/docs/manpages/swat.8
.SH "LAUNCHING"
.PP
To launch SWAT just run your favorite web browser and point it at "http://localhost:901/"\&.
-@@ -208,14 +128,11 @@
+@@ -217,14 +137,11 @@
This file must contain a mapping of service name (e\&.g\&., swat) to service port (e\&.g\&., 901) and protocol type (e\&.g\&., tcp)\&.
.RE
.PP
@@ -260,20 +260,20 @@ Index: experimental/docs/manpages/winbindd.8
===================================================================
--- experimental.orig/docs/manpages/winbindd.8
+++ experimental/docs/manpages/winbindd.8
-@@ -550,16 +550,16 @@
+@@ -539,16 +539,16 @@
file are owned by root\&.
.RE
.PP
-$LOCKDIR/winbindd_privileged/pipe
+/var/run/samba/winbindd_privileged/pipe
.RS 4
- The UNIX pipe over which \'privileged\' clients communicate with the
+ The UNIX pipe over which \*(Aqprivileged\*(Aq clients communicate with the
winbindd
program\&. For security reasons, access to some winbindd functions \- like those needed by the
ntlm_auth
--utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on $LOCKDIR/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the
+-utility \- is restricted\&. By default, only users in the \*(Aqroot\*(Aq group will get this access, however the administrator may change the group permissions on $LOCKDIR/winbindd_privileged to allow programs like \*(Aqsquid\*(Aq to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the
-$LOCKDIR/winbindd_privileged
-+utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on /var/run/samba/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the
++utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on /var/run/samba/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the
+/var/run/samba/winbindd_privileged
directory and
-$LOCKDIR/winbindd_privileged/pipe
@@ -281,7 +281,7 @@ Index: experimental/docs/manpages/winbindd.8
file are owned by root\&.
.RE
.PP
-@@ -568,15 +568,12 @@
+@@ -557,15 +557,12 @@
Implementation of name service switch library\&.
.RE
.PP
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation2.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation2.patch
index 902e8e2308..af8da32d50 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation2.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation2.patch
@@ -212,8 +212,8 @@ Index: samba/docs/manpages/nmbd.8
\fBsmb.conf\fR(5),
\fBsmbclient\fR(1),
-\fBtestparm\fR(1),
--\fBtestprns\fR(1), and the Internet RFC\'s
-+\fBtestparm\fR(1), and the Internet RFC\'s
+-\fBtestprns\fR(1), and the Internet RFC\*(Aqs
++\fBtestparm\fR(1), and the Internet RFC\*(Aqs
rfc1001\&.txt,
rfc1002\&.txt\&. In addition the CIFS (formerly SMB) specification is available as a link from the Web page
http://samba\&.org/cifs/\&.
@@ -269,8 +269,8 @@ Index: samba/docs/manpages/smbd.8
\fBsmb.conf\fR(5),
\fBsmbclient\fR(1),
-\fBtestparm\fR(1),
--\fBtestprns\fR(1), and the Internet RFC\'s
-+\fBtestparm\fR(1), and the Internet RFC\'s
+-\fBtestprns\fR(1), and the Internet RFC\*(Aqs
++\fBtestparm\fR(1), and the Internet RFC\*(Aqs
rfc1001\&.txt,
rfc1002\&.txt\&. In addition the CIFS (formerly SMB) specification is available as a link from the Web page
http://samba\&.org/cifs/\&.
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/dont-build-VFS-examples.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/dont-build-VFS-examples.patch
index beff7db676..beff7db676 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/dont-build-VFS-examples.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/dont-build-VFS-examples.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/fhs-filespaths.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/fhs-filespaths.patch
index e7c6b9995e..e7c6b9995e 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/fhs-filespaths.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/fhs-filespaths.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/installswat.sh.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/installswat.sh.patch
index 3f08e493ad..3f08e493ad 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/installswat.sh.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/installswat.sh.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/libutil_drop_AI_ADDRCONFIG.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/libutil_drop_AI_ADDRCONFIG.patch
index d3473ea402..d3473ea402 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/libutil_drop_AI_ADDRCONFIG.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/libutil_drop_AI_ADDRCONFIG.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/only_export_public_symbols.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/only_export_public_symbols.patch
index f4fbd56a15..f4fbd56a15 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/only_export_public_symbols.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/only_export_public_symbols.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/pam-examples.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/pam-examples.patch
index 9b36e14e3c..9b36e14e3c 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/pam-examples.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/pam-examples.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/shadow_copy2_backport.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/shadow_copy2_backport.patch
index dbd10489fa..dbd10489fa 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/shadow_copy2_backport.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/shadow_copy2_backport.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbclient-pager.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbclient-pager.patch
index 429f2cec46..429f2cec46 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbclient-pager.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbclient-pager.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtar-bashism.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtar-bashism.patch
index 27a47cb51c..27a47cb51c 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtar-bashism.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtar-bashism.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtorture-manpage.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtorture-manpage.patch
index 59930b5e5f..59930b5e5f 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtorture-manpage.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtorture-manpage.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/undefined-symbols.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/undefined-symbols.patch
index 3ab0027eeb..5babc1e384 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/undefined-symbols.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/undefined-symbols.patch
@@ -13,12 +13,12 @@ Index: experimental/source3/Makefile.in
===================================================================
--- experimental.orig/source3/Makefile.in
+++ experimental/source3/Makefile.in
-@@ -2281,7 +2281,7 @@
+@@ -2594,7 +2594,7 @@
- $(LIBSMBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) $(LIBSMBCLIENT_SYMS) $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
+ $(LIBSMBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) $(LIBSMBCLIENT_SYMS) $(LIBTALLOC) $(LIBTEVENT) $(LIBTDB) $(LIBWBCLIENT)
@echo Linking shared library $@
- @$(SHLD_DSO) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) \
+ @$(SHLD_DSO) -Wl,-z,defs $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) \
- $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) $(LIBS) \
+ $(LIBTALLOC_LIBS) $(LIBTEVENT_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) $(LIBS) \
$(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) $(ZLIB_LIBS) $(PTHREAD_LDFLAGS) \
@SONAMEFLAG@`basename $@`
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/usershare.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/usershare.patch
index 3673db751a..3673db751a 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/usershare.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/usershare.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/waf-as-source.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/waf-as-source.patch
index 985ed5af1f..985ed5af1f 100644
--- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/waf-as-source.patch
+++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/waf-as-source.patch
diff --git a/meta-oe/recipes-connectivity/samba/samba-basic.inc b/meta-oe/recipes-connectivity/samba/samba-basic.inc
index d0fa8e603e..e9f891f8c3 100644
--- a/meta-oe/recipes-connectivity/samba/samba-basic.inc
+++ b/meta-oe/recipes-connectivity/samba/samba-basic.inc
@@ -40,6 +40,7 @@ FILES_winbind = "${sbindir}/winbindd \
${bindir}/wbinfo \
${bindir}/ntlm_auth \
${sysconfdir}/init.d/winbind \
+ ${systemd_unitdir}/system/winbind.service \
"
FILES_libwinbind = "${libdir}/idmap/*.so \
${libdir}/pdb \
diff --git a/meta-oe/recipes-connectivity/samba/samba.inc b/meta-oe/recipes-connectivity/samba/samba.inc
index 39fc8143f0..b04a9dda44 100644
--- a/meta-oe/recipes-connectivity/samba/samba.inc
+++ b/meta-oe/recipes-connectivity/samba/samba.inc
@@ -8,11 +8,20 @@ SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \
file://init.samba \
file://init.winbind \
file://tdb.pc \
+ file://nmb.service \
+ file://smb.service \
+ file://winbind.service \
"
S = "${WORKDIR}/samba-${PV}/source"
-inherit autotools-brokensep update-rc.d
+inherit autotools-brokensep update-rc.d systemd
+
+SYSTEMD_PACKAGES = "${PN} winbind"
+SYSTEMD_SERVICE_${PN} = "nmb.service smb.service"
+SYSTEMD_SERVICE_winbind = "winbind.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+SYSTEMD_AUTO_ENABLE_winbind = "disable"
SAMBAMMAP = "no"
SAMBAMMAP_libc-glibc = "yes"
@@ -28,7 +37,7 @@ EXTRA_OECONF='--disable-cups \
--with-privatedir=${sysconfdir}/samba/private \
--with-lockdir=${localstatedir}/lock \
--with-piddir=${localstatedir}/run \
- --with-logfilebase=${localstatedir}/log \
+ --with-logfilebase=${localstatedir}/log/samba \
--libdir=${libdir} \
--with-mandir=${mandir} \
--with-swatdir=${datadir}/swat \
@@ -43,7 +52,9 @@ EXTRA_OECONF='--disable-cups \
PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
PACKAGECONFIG[fam] = "--enable-fam,--disable-fam,gamin"
-PACKAGECONFIG[talloc] = "--with-libtalloc,--without-libtalloc,talloc"
+PACKAGECONFIG[talloc] = "--enable-external-libtalloc --with-libtalloc, --disable-external-libtalloc --without-libtalloc, talloc"
+PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_valgrind_h=yes ac_cv_header_valgrind_memcheck_h=yes, \
+ ac_cv_header_valgrind_valgrind_h=no ac_cv_header_valgrind_memcheck_h=no, valgrind"
INITSCRIPT_PACKAGES = "samba winbind"
INITSCRIPT_NAME_samba = "samba"
@@ -103,6 +114,35 @@ do_install_append() {
# usershare mount place
mkdir -p ${D}${localstatedir}/lib/samba/usershares
+
+ # Remove sysinit script if sysvinit is not in DISTRO_FEATURES
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
+ rm -rf ${D}${sysconfdir}/init.d/
+ fi
+
+ install -d ${D}${systemd_unitdir}/system
+ for i in nmb smb winbind; do
+ install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system
+ done
+ sed -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -i ${D}${systemd_unitdir}/system/*.service
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d ${localstatedir}/log/samba 0755 root root -" \
+ > ${D}${sysconfdir}/tmpfiles.d/99-${BPN}.conf
+ fi
+}
+
+DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}"
+pkg_postinst_${PN} () {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then
+ if [ -n "$D" ]; then
+ OPTS="--root=$D"
+ fi
+ systemctl $OPTS mask samba.service
+ fi
}
pkg_postinst_libnss-winbind () {
diff --git a/meta-oe/recipes-connectivity/samba/samba/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch b/meta-oe/recipes-connectivity/samba/samba/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch
new file mode 100644
index 0000000000..586867d8fd
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch
@@ -0,0 +1,68 @@
+Upstream-Status: Backport
+
+From b07ade6e6fcc8b844cf1fb8b6038617281c4c2d0 Mon Sep 17 00:00:00 2001
+From: Alexander Bokovoy <ab@samba.org>
+Date: Wed, 6 Feb 2013 10:17:57 +0200
+Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output
+
+Commit b07ade6e6fcc8b844cf1fb8b6038617281c4c2d0 v3-6-stable
+
+When PIDL calls out to C preprocessor to expand IDL files
+and parse the output, it filters out linemarkers and line control
+information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
+and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control
+
+With gcc 4.8 stdc-predef.h is included automatically and linemarker for the
+file has extended flags that PIDL couldn't parse ('system header that needs to
+be extern "C" protected for C++')
+
+Thanks to Jakub Jelinek <jakub@redhat.com> for explanation of the linemarker format.
+
+Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517
+
+Reviewed-by: Andreas Schneider <asn@samba.org>
+(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526)
+
+Signed-off-by: Andreas Schneider <asn@samba.org>
+
+Fix bug #9636 - pidl can't parse new linemarkers in preprocessor output.
+(cherry picked from commit 643571470f2e4cd2f58bd60ac7189abb826d33cc)
+(cherry picked from commit b5a8afd6550e9091d169d3010751913bb483fc4b)
+---
+ pidl/idl.yp | 4 +++-
+ pidl/lib/Parse/Pidl/IDL.pm | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/pidl/idl.yp b/pidl/idl.yp
+index b5c5185..c8a65f6 100644
+--- a/pidl/idl.yp
++++ b/pidl/idl.yp
+@@ -610,7 +610,9 @@ again:
+
+ for ($parser->YYData->{INPUT}) {
+ if (/^\#/) {
+- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
++ # Linemarker format is described at
++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
+ $parser->YYData->{LINE} = $1-1;
+ $parser->YYData->{FILE} = $2;
+ goto again;
+diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm
+index d4820ff..6927c89 100644
+--- a/pidl/lib/Parse/Pidl/IDL.pm
++++ b/pidl/lib/Parse/Pidl/IDL.pm
+@@ -2576,7 +2576,9 @@ again:
+
+ for ($parser->YYData->{INPUT}) {
+ if (/^\#/) {
+- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
++ # Linemarker format is described at
++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
+ $parser->YYData->{LINE} = $1-1;
+ $parser->YYData->{FILE} = $2;
+ goto again;
+--
+1.7.5.4
+
diff --git a/meta-oe/recipes-connectivity/samba/samba/init.samba b/meta-oe/recipes-connectivity/samba/samba/init.samba
index cb57b17de4..6a44ac468e 100644
--- a/meta-oe/recipes-connectivity/samba/samba/init.samba
+++ b/meta-oe/recipes-connectivity/samba/samba/init.samba
@@ -55,4 +55,4 @@ case "$1" in
exit 1
esac
-exit 0 \ No newline at end of file
+exit 0
diff --git a/meta-oe/recipes-connectivity/samba/samba/nmb.service b/meta-oe/recipes-connectivity/samba/samba/nmb.service
new file mode 100644
index 0000000000..91b997533d
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba/nmb.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Samba NMB Daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/nmbd.pid
+ExecStart=@SBINDIR@/nmbd
+ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/samba/samba/smb.service b/meta-oe/recipes-connectivity/samba/samba/smb.service
new file mode 100644
index 0000000000..bc0707a343
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba/smb.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Samba SMB Daemon
+After=syslog.target network.target nmb.service winbind.service
+
+[Service]
+Type=forking
+PIDFile=/var/run/smbd.pid
+LimitNOFILE=16384
+ExecStart=@SBINDIR@/smbd
+ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/samba/samba/winbind.service b/meta-oe/recipes-connectivity/samba/samba/winbind.service
new file mode 100644
index 0000000000..bff6fb8e19
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba/winbind.service
@@ -0,0 +1,12 @@
+i[Unit]
+Description=Samba Winbind Daemon
+After=syslog.target network.target nmb.service
+
+[Service]
+Type=forking
+PIDFile=/var/run/winbindd.pid
+ExecStart=@SBINDIR@/winbindd
+ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/samba/samba_3.6.8.bb b/meta-oe/recipes-connectivity/samba/samba_3.6.24.bb
index 20b609de5f..8860da0889 100644
--- a/meta-oe/recipes-connectivity/samba/samba_3.6.8.bb
+++ b/meta-oe/recipes-connectivity/samba/samba_3.6.24.bb
@@ -3,8 +3,6 @@ require samba-basic.inc
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://../COPYING;md5=d32239bcb673463ab874e80d47fae504"
-PR = "r8"
-
SRC_URI += "\
file://config-h.patch \
file://documentation.patch;patchdir=.. \
@@ -31,8 +29,8 @@ SRC_URI += "\
file://configure-disable-core_pattern-cross-check.patch;patchdir=.. \
file://configure-libunwind.patch;patchdir=.. \
"
-SRC_URI[md5sum] = "fbb245863eeef2fffe172df779a217be"
-SRC_URI[sha256sum] = "4f5a171a8d902c6b4f822ed875c51eb8339196d9ccf0ecd7f6521c966b3514de"
+SRC_URI[md5sum] = "d98425c0c2b73e08f048d31ffc727fb0"
+SRC_URI[sha256sum] = "11d0bd04b734731970259efc6692b8e749ff671a9b56d8cc5fa98c192ab234a7"
S = "${WORKDIR}/samba-${PV}/source3"
diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb
index 987719003b..8fe6a6f9c8 100644
--- a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb
+++ b/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb
@@ -3,7 +3,7 @@ SECTION = "console/network"
HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://INSTALL;md5=0659eb117294c490ae3853facd7a6ddd"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
diff --git a/meta-oe/recipes-connectivity/soft66/soft66_git.bb b/meta-oe/recipes-connectivity/soft66/soft66_git.bb
index 3255152041..b6495267c9 100644
--- a/meta-oe/recipes-connectivity/soft66/soft66_git.bb
+++ b/meta-oe/recipes-connectivity/soft66/soft66_git.bb
@@ -1,8 +1,10 @@
SUMMARY = "Library and tools for Soft66ADD and related SDR radio receivers"
-LICENSE = "GPLv3 LGPLv3+"
+LICENSE = "GPLv3 & LGPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 "
+PNBLACKLIST[soft66] ?= "BROKEN: depends on broken libftdi"
+
DEPENDS = "libftdi"
PV = "0.1.3+gitr${SRCPV}"
diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch b/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch
new file mode 100644
index 0000000000..a7737fbf03
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch
@@ -0,0 +1,18 @@
+Fix double reference to this file to work with recent autoconf+automake
+
+RP 1/2/10
+
+Upstream-Status: Inappropriate [configuration]
+
+Index: libtelepathy-0.3.3/src/Makefile.am
+===================================================================
+--- libtelepathy-0.3.3.orig/src/Makefile.am 2010-02-01 13:13:50.869038984 +0000
++++ libtelepathy-0.3.3/src/Makefile.am 2010-02-01 13:14:23.267789456 +0000
+@@ -27,7 +27,6 @@
+ tp-chan-type-text-gen.h \
+ tp-chan-type-tubes-gen.h \
+ tp-conn-iface-aliasing-gen.h \
+- tp-conn-iface-avatars-gen.h \
+ tp-conn-iface-capabilities-gen.h \
+ tp-conn-iface-contact-info-gen.h \
+ tp-conn-iface-forwarding-gen.h \
diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch b/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch
new file mode 100644
index 0000000000..37679ab761
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Inappropriate [configuration]
+
+Index: libtelepathy-0.3.1/configure.ac
+===================================================================
+--- libtelepathy-0.3.1.orig/configure.ac 2007-11-22 19:05:56.000000000 +0000
++++ libtelepathy-0.3.1/configure.ac 2008-01-04 12:07:28.000000000 +0000
+@@ -51,7 +51,7 @@
+ AC_MSG_ERROR([xsltproc (from the libxslt source package) is required])
+ fi
+
+-AC_CHECK_PROGS([PYTHON], [python2.3 python2.4 python2.5 python])
++AC_CHECK_PROGS([PYTHON], [python2.5 python2.4 python2.3 python])
+ if test -z "$PYTHON"; then
+ AC_MSG_ERROR([Python is required to compile this package])
+ fi
diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb b/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
new file mode 100644
index 0000000000..f13e7093c8
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Telepathy framework"
+DESCRIPTION = "Telepathy is a D-Bus framework for unifying real time \
+communication, including instant messaging, voice calls and video calls. It \
+abstracts differences between protocols to provide a unified interface for \
+applications."
+HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
+DEPENDS = "glib-2.0 dbus dbus-glib telepathy-glib libxslt-native"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://src/tp-conn.c;beginline=1;endline=19;md5=4c58069f77d601cc59200bce5396c7cb"
+PR = "r5"
+
+SRC_URI = "http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-${PV}.tar.gz \
+ file://prefer_python_2.5.patch \
+ file://doublefix.patch"
+
+SRC_URI[md5sum] = "490ca1a0c614d4466394b72d43bf7370"
+SRC_URI[sha256sum] = "e0d230be855125163579743418203c6f6be2f10f98c4f065735c1dc9ed115878"
+
+inherit autotools pkgconfig pythonnative
+
+FILES_${PN} += "${datadir}/telepathy \
+ ${datadir}/dbus-1"
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb
new file mode 100644
index 0000000000..6b8c20c381
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Telepathy Framework glib-base helper library"
+DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers"
+HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
+DEPENDS = "glib-2.0 dbus python-native-runtime dbus-native dbus-glib libxslt-native"
+LICENSE = "LGPLv2.1+"
+
+SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz"
+SRC_URI[md5sum] = "93c429e37750b25dcf8de86bb514664f"
+SRC_URI[sha256sum] = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
+
+inherit autotools pkgconfig gettext
+
+FILES_${PN} += "${datadir}/telepathy \
+ ${datadir}/dbus-1"
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch
new file mode 100644
index 0000000000..2cd2c78c31
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Pending
+
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+--- a/extensions/Makefile.am
++++ b/extensions/Makefile.am
+@@ -37,8 +37,8 @@ _gen/all.xml: all.xml $(wildcard $(srcdi
+ --xinclude $(tools_dir)/identity.xsl \
+ $< > $@
+
+-extensions.html: _gen/all.xml $(tools_dir)/doc-generator.xsl
++extensions.html _gen/svc-gtk-doc.h: _gen/all.xml $(tools_dir)/doc-generator.xsl
+ $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) \
+ $(tools_dir)/doc-generator.xsl \
+ $< > $@
+
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
new file mode 100644
index 0000000000..ca09f6daf3
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Telepathy IRC connection manager"
+DESCRIPTION = "Telepathy implementation of the Internet Relay Chat protocols."
+HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
+DEPENDS = "glib-2.0 dbus telepathy-glib openssl libxslt-native"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://src/idle.c;beginline=1;endline=19;md5=b06b1e2594423111a1a7910b0eefc7f9"
+
+SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
+ file://fix-svc-gtk-doc.h-target.patch"
+SRC_URI[md5sum] = "92a2de5198284cbd3c430b0d1a971a86"
+SRC_URI[sha256sum] = "3013ad4b38d14ee630b8cc8ada5e95ccaa849b9a6fe15d2eaf6d0717d76f2fab"
+
+inherit autotools pkgconfig pythonnative
+
+FILES_${PN} += "${datadir}/telepathy \
+ ${datadir}/dbus-1"
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch
new file mode 100644
index 0000000000..ece1da6bc3
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch
@@ -0,0 +1,76 @@
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Sun, 22 Sep 2013 23:21:01 -0400
+Subject: [PATCH] src/Makefile.am: fix race issue for _gen/gtypes.h and _gen/gtypes-body.h
+
+There might be an error when parallel build:
+
+[snip]
+Traceback (most recent call last):
+ File "/path/to/tools/glib-gtypes-generator.py", line 304, in <module>
+ GTypesGenerator(dom, argv[1], argv[2])()
+ File "/path/to/tools/glib-gtypes-generator.py", line 295, in __call__
+ file_set_contents(self.output + '.h', ''.join(self.header))
+ File "/path/to/tools/libtpcodegen.py", line 42, in file_set_contents
+ os.rename(filename + '.tmp', filename)
+OSError: [Errno 2] No such file or directory
+[snip]
+
+This is a race issue, the _gen/gtypes.h and _gen/gtypes-body.h may
+write(remove/rename) _gen/gtypes.tmp at the same time, then there would
+be the error.
+
+There was a similar bug in telepathy-glib which was already fixed, we use the
+similar patch to fix it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ src/Makefile.am | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -288,7 +288,11 @@ _gen/interfaces-body.h: _gen/mcd.xml \
+ $(tools_dir)/glib-interfaces-body-generator.xsl \
+ $< > $@
+
+-_gen/gtypes.h _gen/gtypes-body.h: _gen/mcd.xml \
++# do nothing, output as a side-effect
++_gen/gtypes.h: _gen/gtypes-body.h
++ @:
++
++_gen/gtypes-body.h: _gen/mcd.xml \
+ $(top_srcdir)/tools/glib-gtypes-generator.py
+ $(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/glib-gtypes-generator.py \
+ $< _gen/gtypes mc
+@@ -309,7 +313,11 @@ _gen/%.xml: %.xml $(wildcard $(top_srcdir)/xml/*.xml) Makefile.am
+ $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \
+ $< > $@
+
+-_gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \
++# do nothing, output as a side-effect
++_gen/cli-%.h: _gen/cli-%-body.h
++ @:
++
++_gen/cli-%-body.h: _gen/%.xml \
+ $(tools_dir)/glib-client-gen.py Makefile.am
+ $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-client-gen.py \
+ --group=`echo $* | tr x- x_` \
+@@ -317,7 +325,11 @@ _gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \
+ --tp-proxy-api=0.7.6 \
+ $< Mc_Cli _gen/cli-$*
+
+-_gen/svc-%.c _gen/svc-%.h: _gen/%.xml \
++# do nothing, output as a side-effect
++_gen/svc-%.h: _gen/svc-%.c
++ @:
++
++_gen/svc-%.c: _gen/%.xml \
+ $(tools_dir)/glib-ginterface-gen.py Makefile.am
+ $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-ginterface-gen.py \
+ --filename=_gen/svc-$* \
+--
+1.7.10.4
+
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
new file mode 100644
index 0000000000..9ae68ddea9
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Central control for Telepathy IM connection managers"
+HOMEPAGE = "http://telepathy.freedesktop.org/wiki/Mission_Control/"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://src/request.h;beginline=1;endline=21;md5=f80534d9af1c33291b3b79609f196eb2"
+SECTION = "libs"
+DEPENDS = "libtelepathy dbus-glib gconf libxslt-native"
+
+SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-mission-control/${BP}.tar.gz \
+ file://tmc-Makefile-fix-race.patch \
+ "
+SRC_URI[md5sum] = "421115a35b9e427807326877f86e7f43"
+SRC_URI[sha256sum] = "14ceb7d53535b43d44b8271ad11319d1d0fe6d193d154636b9e62b42799b9723"
+
+inherit autotools-brokensep pkgconfig pythonnative
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,upower"
+
+# to select connman or nm you need to use "connectivity" and "connman" or "nm", default is to disable both
+PACKAGECONFIG[connectivity] = ",--with-connectivity=no"
+PACKAGECONFIG[connman] = "--with-connectivity=connman,,connman"
+PACKAGECONFIG[nm] = "--with-connectivity=nm,,networkmanager"
+
+PACKAGES =+ " \
+ libmissioncontrol \
+ libmissioncontrol-config \
+ libmissioncontrol-server \
+ libmissioncontrol-dev \
+ libmissioncontrol-config-dev \
+ libmissioncontrol-server-dev \
+ libmissioncontrol-dbg \
+ libmissioncontrol-config-dbg \
+ libmissioncontrol-server-dbg \
+"
+
+FILES_${PN} += "${datadir}/dbus* ${datadir}/glib-2.0/schemas"
+
+FILES_libmissioncontrol = "${libdir}/libmissioncontrol.so.*"
+FILES_libmissioncontrol-config = "${libdir}/libmissioncontrol-config.so.*"
+FILES_libmissioncontrol-server = "${libdir}/libmissioncontrol-server.so.*"
+
+FILES_libmissioncontrol-dev = "${libdir}/libmissioncontrol.* \
+ ${includedir}/libmissioncontrol/ \
+ ${libdir}/pkgconfig/libmissioncontrol.pc"
+FILES_libmissioncontrol-config-dev = "${libdir}/libmissioncontrol-config.*"
+FILES_libmissioncontrol-server-dev = "${libdir}/libmissioncontrol-server.*"
+
+FILES_libmissioncontrol-dbg = "${libdir}/.debug/libmissioncontrol.so.*"
+FILES_libmissioncontrol-config-dbg = "${libdir}/.debug/libmissioncontrol-config.so.*"
+FILES_libmissioncontrol-server-dbg = "${libdir}/.debug/libmissioncontrol-server.so.*"
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch
new file mode 100644
index 0000000000..248824606e
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch
@@ -0,0 +1,43 @@
+Add dependency of __init__.py
+
+Tasks must be done after exec of __init__, which creates the
+src/_generated directory that tasks are based on.
+
+Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
+
+Upstream-Status: Submitted
+(However it seems that this project is out of maintanence.)
+
+diff -ruN telepathy-python-0.15.19-orig/src/Makefile.am telepathy-python-0.15.19/src/Makefile.am
+--- telepathy-python-0.15.19-orig/src/Makefile.am 2011-03-10 08:51:49.000000000 +0800
++++ telepathy-python-0.15.19/src/Makefile.am 2011-03-10 08:54:45.000000000 +0800
+@@ -39,17 +39,17 @@
+ XSLTPROC_OPTS = --nonet --novalid --xinclude
+ tools_dir = $(top_srcdir)/tools
+
+-_generated/interfaces.py: $(tools_dir)/python-interfaces-generator.xsl $(wildcard $(spec_dir)/*.xml)
++_generated/interfaces.py: _generated/__init__.py $(tools_dir)/python-interfaces-generator.xsl $(wildcard $(spec_dir)/*.xml)
+ $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \
+ $(tools_dir)/python-interfaces-generator.xsl \
+ $(spec_dir)/all.xml
+
+-_generated/constants.py: $(tools_dir)/python-constants-generator.xsl $(wildcard $(spec_dir)/*.xml)
++_generated/constants.py: _generated/__init__.py $(tools_dir)/python-constants-generator.xsl $(wildcard $(spec_dir)/*.xml)
+ $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \
+ $(tools_dir)/python-constants-generator.xsl \
+ $(spec_dir)/all.xml
+
+-_generated/errors.py: $(tools_dir)/python-errors-generator.xsl $(wildcard $(spec_dir)/*.xml)
++_generated/errors.py: _generated/__init__.py $(tools_dir)/python-errors-generator.xsl $(wildcard $(spec_dir)/*.xml)
+ $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \
+ $(tools_dir)/python-errors-generator.xsl \
+ $(spec_dir)/all.xml
+@@ -58,7 +58,7 @@
+ $(AM_V_GEN)$(mkdir_p) $(dir $@)
+ @echo "# Placeholder for package" > $@
+
+-_generated/%.py: $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml
++_generated/%.py: _generated/__init__.py $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml
+ $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \
+ $(tools_dir)/spec-to-python.xsl \
+ $(spec_dir)/$*.xml
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch
new file mode 100644
index 0000000000..df95a4c138
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch
@@ -0,0 +1,26 @@
+commit f6c67662145de889055a86a6b3b12c70a45fc8d5
+Author: Dongxiao Xu <dongxiao.xu@intel.com>
+Date: Wed Sep 7 16:02:20 2011 +0800
+
+ Avoid duplicated installation of errors.py
+
+ newer version of autotools don't seem to like listing files to install
+ twice. Remove one errors.py from the installation list.
+
+ Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
+
+ Upstream-Status: Inappropirate [upstream inactive]
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 5c27dfe..7536e43 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -11,7 +11,7 @@ telepathy_PYTHON = \
+
+ # telepathy._generated.* auto-generated modules
+ spec_dir = $(top_srcdir)/spec
+-spec_files := $(patsubst $(spec_dir)%.xml,_generated%.py,$(wildcard $(spec_dir)/*.xml))
++spec_files := $(filter-out _generated/errors.py, $(patsubst $(spec_dir)%.xml,_generated%.py,$(wildcard $(spec_dir)/*.xml)))
+
+ BUILT_SOURCES = \
+ _generated/interfaces.py \
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch
new file mode 100644
index 0000000000..f613fdce4d
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+automake 1.12 has deprecated use of mkdir_p, and it recommends
+use of MKDIR_P instead. Changed the code to avoid these kind
+of warning-errors.
+
+| make[1]: _generated/: Command not found
+| make[1]: *** [_generated/__init__.py] Error 127
+| make[1]: Leaving directory `/srv/home/nitin/builds2/build0/tmp/work/i586-poky-linux/telepathy-python-0.15.19-r4/telepathy-python-0.15.19/src'
+| make: *** [all-recursive] Error 1
+
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+2012/07/10
+Index: telepathy-python-0.15.19/src/Makefile.am
+===================================================================
+--- telepathy-python-0.15.19.orig/src/Makefile.am
++++ telepathy-python-0.15.19/src/Makefile.am
+@@ -55,7 +55,7 @@ _generated/errors.py: _generated/__init_
+ $(spec_dir)/all.xml
+
+ _generated/__init__.py:
+- $(AM_V_GEN)$(mkdir_p) $(dir $@)
++ $(AM_V_GEN)$(MKDIR_P) $(dir $@)
+ @echo "# Placeholder for package" > $@
+
+ _generated/%.py: _generated/__init__.py $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
new file mode 100644
index 0000000000..b7aea24a79
--- /dev/null
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Telepathy IM framework - Python package"
+HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://src/utils.py;beginline=1;endline=17;md5=9a07d1a9791a7429a14e7b25c6c86822"
+
+DEPENDS = "libxslt-native"
+RDEPENDS_${PN} += "python-dbus"
+
+SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
+ file://parallel_make.patch \
+ file://remove_duplicate_install.patch \
+ file://telepathy-python_fix_for_automake_1.12.patch"
+
+PR = "r6"
+
+inherit autotools pythonnative
+
+SRC_URI[md5sum] = "f7ca25ab3c88874015b7e9728f7f3017"
+SRC_URI[sha256sum] = "244c0e1bf4bbd78ae298ea659fe10bf3a73738db550156767cc2477aedf72376"
+
+FILES_${PN} += "\
+ ${libdir}/python*/site-packages/telepathy/*.py \
+ ${libdir}/python*/site-packages/telepathy/*/*.py \
+"
+
+do_install_append () {
+ rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyc
+ rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyo
+ rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyc
+ rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyo
+}
diff --git a/meta-oe/recipes-connectivity/umip/umip_1.0.bb b/meta-oe/recipes-connectivity/umip/umip_1.0.bb
new file mode 100644
index 0000000000..76901abf70
--- /dev/null
+++ b/meta-oe/recipes-connectivity/umip/umip_1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Mobile IPv6 and NEMO for Linux"
+DESCRIPTION = "UMIP is an open source implementation of Mobile IPv6 and NEMO \
+Basic Support for Linux. It is released under the GPLv2 license. It supports \
+the following IETF RFC: RFC6275 (Mobile IPv6), RFC3963 (NEMO), RFC3776 and \
+RFC4877 (IPsec and IKEv2)."
+HOMEPAGE = "http://umip.org/"
+SECTION = "System Environment/Base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33"
+DEPENDS = "rpm indent-native"
+
+SRC_URI = "git://git.umip.org/umip.git"
+SRCREV = "428974c2d0d8e75a2750a3ab0488708c5dfdd8e3"
+
+S = "${WORKDIR}/git"
+EXTRA_OE_CONF = "--enable-vt"
+
+inherit autotools-brokensep
diff --git a/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
index af1ebf3024..f7adf4c9f4 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
+++ b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
DEPENDS = "wvstreams"
RDEPENDS_${PN} = "ppp"
-SRC_URI = "http://${PN}.googlecode.com/files/${PN}-${PV}.tar.bz2 \
+SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.bz2 \
file://typo_pon.wvdial.1.patch \
"
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
index 00df2b8800..8a77b5bec4 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
@@ -4,9 +4,9 @@ SUMMARY = "WvStreams is a network programming library in C++"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
-DEPENDS = "zlib openssl (>= 0.9.8)"
+DEPENDS = "zlib openssl (>= 0.9.8) dbus readline"
-SRC_URI = "http://${PN}.googlecode.com/files/${PN}-${PV}.tar.gz \
+SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \
file://04_signed_request.diff \
file://05_gcc.diff \
file://06_gcc-4.7.diff \
@@ -16,7 +16,7 @@ SRC_URI = "http://${PN}.googlecode.com/files/${PN}-${PV}.tar.gz \
SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c"
SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633"
-inherit autotools pkgconfig
+inherit autotools-brokensep pkgconfig
PARALLEL_MAKE = ""
diff --git a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch
new file mode 100644
index 0000000000..43096d2bce
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch
@@ -0,0 +1,292 @@
+Upstream-Status: Inappropriate
+
+This patch lets you build Ice with OpenEmbedded. I doubt you could do
+a regular build after applying this patch.
+
+From bc622ce74fa03a935278d21736a5a251466e1798 Mon Sep 17 00:00:00 2001
+From: Tom Rondeau <tom@trondeau.com>
+Date: Wed, 16 Apr 2014 14:34:51 -0400
+Subject: [PATCH] Modify Makefiles for cross compile
+
+---
+ config/Make.common.rules | 20 +++++++------
+ cpp/Makefile | 9 +++---
+ cpp/config/Make.rules | 32 ++++++++++++--------
+ cpp/config/Make.rules.Linux | 18 ++---------
+ cpp/src/IceStorm/FreezeDB/Makefile | 2 +-
+ py/config/Make.rules | 58 +++++++++++++++++++-----------------
+ 6 files changed, 70 insertions(+), 69 deletions(-)
+
+diff --git a/config/Make.common.rules b/config/Make.common.rules
+index d7b1d59..a3fb17e 100644
+--- a/config/Make.common.rules
++++ b/config/Make.common.rules
+@@ -65,9 +65,9 @@ ifeq ($(UNAME),Linux)
+ #
+ # Some Linux distributions like Debian/Ubuntu don't use /usr/lib64.
+ #
+- ifeq ($(shell test -d /usr/lib64 && echo 0),0)
+- lp64suffix = 64
+- endif
++ #ifeq ($(shell test -d /usr/lib64 && echo 0),0)
++ # lp64suffix = 64
++ #endif
+ ifeq ($(LP64),)
+ LP64 = yes
+ endif
+@@ -244,12 +244,13 @@ else
+ slicedir = $(ice_dir)/slice
+ endif
+
+-ifeq ($(prefix), /usr)
+- install_slicedir = /usr/share/Ice-$(VERSION)/slice
+-else
+- install_slicedir = $(prefix)/slice
+-endif
++#ifeq ($(prefix), /usr)
++# install_slicedir = /usr/share/Ice-$(VERSION)/slice
++#else
++# install_slicedir = $(prefix)/slice
++#endif
+
++install_slicedir = $(prefix)/slice
+ #
+ # Set environment variables for the Slice translator.
+ #
+@@ -265,7 +266,8 @@ ifneq ($(ice_dir), /usr)
+ endif
+
+ ifeq ($(UNAME),Linux)
+- export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
++ #export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
++ export LD_LIBRARY_PATH := $(ICE_HOME)/lib:$(LD_LIBRARY_PATH)
+ endif
+
+ ifeq ($(UNAME),SunOS)
+diff --git a/cpp/Makefile b/cpp/Makefile
+index a68f113..1f44f57 100644
+--- a/cpp/Makefile
++++ b/cpp/Makefile
+@@ -11,11 +11,12 @@ top_srcdir = .
+
+ include $(top_srcdir)/config/Make.rules
+
+-SUBDIRS = config src include test
++#SUBDIRS = config src include test
++SUBDIRS = config src include
+
+-ifeq ($(shell uname | grep MINGW),)
+-SUBDIRS := $(SUBDIRS) demo
+-endif
++#ifeq ($(shell uname | grep MINGW),)
++#SUBDIRS := $(SUBDIRS) demo
++#endif
+
+ INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) \
+ $(install_configdir) $(install_mandir)
+diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules
+index 37461ae..197c5e8 100644
+--- a/cpp/config/Make.rules
++++ b/cpp/config/Make.rules
+@@ -175,11 +175,12 @@ headerdir = $(top_srcdir)/include
+ # includedir is not handled the same as bindir and libdir
+ # because it is used in the .depend files
+ #
+-ifdef ice_src_dist
+- includedir = $(top_srcdir)/include
+-else
+- includedir = $(ice_dir)/include
+-endif
++#ifdef ice_src_dist
++# includedir = $(top_srcdir)/include
++#else
++# includedir = $(ice_dir)/include
++#endif
++includedir = $(top_srcdir)/include
+
+ #
+ # Platform specific definitions
+@@ -277,14 +278,17 @@ ICECPPFLAGS = -I$(slicedir)
+ SLICE2CPPFLAGS = $(ICECPPFLAGS)
+
+ ifeq ($(ice_dir), /usr)
+- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS)
++ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS)
+ else
+ CPPFLAGS += -I$(includedir)
+- ifdef ice_src_dist
+- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
+- else
+- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix)
+- endif
++# We must always build using the libraries in the source tree, the host's are obviously
++# not what we want for the target
++ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) $(call rpathlink,$(libdir))
++# ifdef ice_src_dist
++# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
++# else
++# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix)
++# endif
+ endif
+
+ ifeq ($(FLEX_NOLINE),yes)
+@@ -313,8 +317,10 @@ endif
+
+ ifdef ice_src_dist
+ SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION))
+- SLICE2CPP = $(bindir)/slice2cpp
+- SLICE2FREEZE = $(bindir)/slice2freeze
++# SLICE2CPP = $(bindir)/slice2cpp
++# SLICE2FREEZE = $(bindir)/slice2freeze
++ SLICE2CPP = $(ICE_HOME)/bin/slice2cpp
++ SLICE2FREEZE = $(ICE_HOME)/bin/slice2freeze
+ else
+ SLICEPARSERLIB = $(ice_dir)/$(libsubdir)$(cpp11suffix)/$(call mklibfilename,Slice,$(VERSION))
+ SLICE2CPP = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2cpp
+diff --git a/cpp/config/Make.rules.Linux b/cpp/config/Make.rules.Linux
+index 5d5717c..8363c6e 100644
+--- a/cpp/config/Make.rules.Linux
++++ b/cpp/config/Make.rules.Linux
+@@ -31,7 +31,7 @@ ifeq ($(CXX),c++)
+ CXX = g++
+ endif
+
+-ifeq ($(CXX),g++)
++#ifeq ($(CXX),g++)
+
+ ifneq ($(SUSE_i586),)
+ CXXARCHFLAGS += -march=i586
+@@ -71,14 +71,6 @@ ifeq ($(CXX),g++)
+ CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
+ endif
+
+- ifeq ($(MACHINE),x86_64)
+- ifeq ($(LP64),yes)
+- CXXARCHFLAGS += -m64
+- else
+- CXXARCHFLAGS += -m32
+- endif
+- endif
+-
+ CXXFLAGS = $(CXXARCHFLAGS) -Wall -Werror -pthread
+
+ ifneq ($(GENPIC),no)
+@@ -102,15 +94,11 @@ ifeq ($(CXX),g++)
+
+ rpathlink = -Wl,-rpath-link,$(1)
+
+- ifneq ($(embedded_runpath_prefix),)
+- LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,$(runpath_libdir)
+- else
+- LDPLATFORMFLAGS = -Wl,--enable-new-dtags
+- endif
++ LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,../../../lib
+
+ LDPLATFORMFLAGS += -rdynamic
+
+-endif
++#endif
+
+ ifeq ($(CXX),icpc)
+ $(warning ===================================================================)
+diff --git a/cpp/src/IceStorm/FreezeDB/Makefile b/cpp/src/IceStorm/FreezeDB/Makefile
+index 7c844b7..cf15cb1 100644
+--- a/cpp/src/IceStorm/FreezeDB/Makefile
++++ b/cpp/src/IceStorm/FreezeDB/Makefile
+@@ -66,7 +66,7 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
+
+ $(MIGRATE): $(MOBJS)
+ rm -f $@
+- $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS)
++ $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) -ldb_cxx
+
+ # The slice2freeze rules are structured like this to avoid issues with
+ # parallel make.
+diff --git a/py/config/Make.rules b/py/config/Make.rules
+index 43ce01b..1349342 100644
+--- a/py/config/Make.rules
++++ b/py/config/Make.rules
+@@ -92,21 +92,23 @@ ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0)
+ include $(top_srcdir)/config/Make.rules.$(UNAME)
+ else
+ include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME)
+-endif
++endif
+
+ libdir = $(top_srcdir)/python
+-ifneq ($(prefix), /usr)
+-install_pythondir = $(prefix)/python
+-install_libdir = $(prefix)/python
+-else
+- ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0)
+- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
+- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
+- else
+- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
+- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
+- endif
+-endif
++#ifneq ($(prefix), /usr)
++#install_pythondir = $(prefix)/python
++#install_libdir = $(prefix)/python
++#else
++# ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0)
++# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
++# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
++# else
++# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
++# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
++# endif
++#endif
++install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
++install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
+
+ ifeq ($(UNAME),SunOS)
+ ifeq ($(LP64),yes)
+@@ -115,19 +117,21 @@ ifeq ($(UNAME),SunOS)
+ endif
+ endif
+
+-ifdef ice_src_dist
+- ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
+- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
+- else
+- ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir)
+- endif
+- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
+- ICE_FLAGS = -I$(ice_cpp_dir)/include
+-endif
+-ifdef ice_bin_dist
+- ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
+- ICE_FLAGS = -I$(ice_dir)/include
+-endif
++#ifdef ice_src_dist
++# ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
++# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
++# else
++# ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir)
++# endif
++# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
++# ICE_FLAGS = -I$(ice_cpp_dir)/include
++#endif
++#ifdef ice_bin_dist
++# ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
++# ICE_FLAGS = -I$(ice_dir)/include
++#endif
++ICE_LIB_DIR = -L$(top_srcdir)/../cpp/lib
++ICE_FLAGS = -I$(ice_cpp_dir)/include
+ ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil
+
+ ifneq ($(embedded_runpath_prefix),)
+@@ -137,7 +141,7 @@ endif
+ CPPFLAGS =
+ ICECPPFLAGS = -I$(slicedir)
+ SLICE2PYFLAGS = $(ICECPPFLAGS)
+-LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
++LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
+
+ ifdef ice_src_dist
+ ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb
new file mode 100644
index 0000000000..2b6f56ed4f
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb
@@ -0,0 +1,87 @@
+DESCRIPTION = "The Internet Communications Engine"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://ICE_LICENSE;md5=3dc3037023cc2ae6b2c5b995da529515"
+DEPENDS = "bzip2 expat openssl python db mcpp"
+DEPENDS_prepend_class-target = "zeroc-ice-native "
+
+SRC_URI = "http://www.zeroc.com/download/Ice/3.5/Ice-${PV}.tar.gz \
+ file://0002-Modify-Makefile-for-cross-compile.patch \
+ "
+SRC_URI[md5sum] = "f00c59983cc904bca977133c0a9b3e80"
+SRC_URI[sha256sum] = "989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b70493af392"
+
+#| MapDb.cpp: In constructor 'Freeze::MapDb::MapDb(const ConnectionIPtr&, const string&, const string&, const string&, const KeyCompareBasePtr&, const std::vector<IceUtil::Handle<Freeze::MapIndexBase> >&, bool)':
+#| MapDb.cpp:138:46: error: call of overloaded 'set_bt_compare(int (*)(DB*, const DBT*, const DBT*))' is ambiguous
+#| MapDb.cpp:138:46: note: candidates are:
+#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272:14: note: virtual int Db::set_bt_compare(bt_compare_fcn_type) <near match>
+#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272:14: note: no known conversion for argument 1 from 'int (*)(DB*, const DBT*, const DBT*) {aka int (*)(__db*, const __db_dbt*, const __db_dbt*)}' to 'bt_compare_fcn_type {aka int (*)(__db*, const __db_dbt*, const __db_dbt*, long unsigned int*)}'
+#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: virtual int Db::set_bt_compare(int (*)(Db*, const Dbt*, const Dbt*, size_t*)) <near match>
+#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: no known conversion for argument 1 from 'int (*)(DB*, const DBT*, const DBT*) {aka int (*)(__db*, const __db_dbt*, const __db_dbt*)}' to 'int (*)(Db*, const Dbt*, const Dbt*, size_t*) {aka int (*)(Db*, const Dbt*, const Dbt*, long unsigned int*)}'
+#| make[3]: *** [MapDb.o] Error 1
+PNBLACKLIST[zeroc-ice] ?= "BROKEN: not compatible with default db version"
+
+S = "${WORKDIR}/Ice-${PV}"
+
+inherit python-dir pkgconfig
+
+export PYTHON_VERSION = "python2.7"
+
+do_configure() {
+ :
+}
+
+do_compile_prepend_class-target () {
+ export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
+ export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
+ export ICE_HOME="${STAGING_DIR_NATIVE}/usr"
+}
+
+do_compile_prepend_class-nativesdk () {
+ export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
+ export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
+ export ICE_HOME="${STAGING_DIR_NATIVE}/usr"
+}
+
+do_compile_prepend_class-native () {
+ export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
+ export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
+ export ICE_HOME="${S}/cpp"
+}
+
+do_compile() {
+ oe_runmake -C ${S} cpp
+ oe_runmake -C ${S} py
+}
+
+do_install_prepend_class-target () {
+ export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
+ export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
+ export ICE_HOME="${STAGING_DIR_NATIVE}/usr"
+}
+
+do_install_prepend_class-nativesdk () {
+ export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
+ export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
+ export ICE_HOME="${STAGING_DIR_NATIVE}/usr"
+}
+
+do_install_prepend_class-native () {
+ export ICE_HOME="${S}/cpp"
+}
+
+do_install() {
+ oe_runmake -C ${S}/cpp prefix=${D}${prefix} install install-common
+ oe_runmake -C ${S}/py prefix=${D}${prefix} install
+}
+
+PACKAGES += "${PN}-python ${PN}-python-dev ${PN}-python-dbg"
+
+FILES_${PN}-doc += "${prefix}/man/man1"
+FILES_${PN} += "${prefix}/*LICENSE ${libdir}/ImportKey.class ${prefix}/RELEASE_NOTES ${prefix}/CHANGES"
+FILES_${PN}-dev += "${includedir} ${prefix}/slice ${prefix}/config"
+FILES_${PN}-python-dev = "${PYTHON_SITEPACKAGES_DIR}/IcePy.so"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.py ${PYTHON_SITEPACKAGES_DIR}/IcePy.so.* ${PYTHON_SITEPACKAGES_DIR}/Ice*/*.py"
+FILES_${PN}-python-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug"
+FILES_${PN}-dev += "${bindir}/slice* ${datadir}/Ice-${PV}/slice/*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
new file mode 100644
index 0000000000..34099766c7
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "C++ bindings for ZeroMQ"
+HOMEPAGE = "http://www.zeromq.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
+DEPENDS = "zeromq"
+SRCREV = "ee47ae4cddc304741526c9bb2035f98c3274e0ec"
+
+SRC_URI = "git://github.com/zeromq/cppzmq.git"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ install -d ${D}/usr/include
+ install -m 0755 ${S}/zmq.hpp ${D}/usr/include/
+}
+
+PACKAGES = "${PN}-dev"
+
+RDEPENDS_${PN}-dev = "zeromq-dev"
diff --git a/meta-oe/recipes-connectivity/zeromq/files/run-ptest b/meta-oe/recipes-connectivity/zeromq/files/run-ptest
new file mode 100755
index 0000000000..48b9cd9fc5
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zeromq/files/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+cd tests
+for i in `ls *`; do
+ if [ ./$i ] ; then
+ echo "PASS: $i"
+ else
+ echo "FAIL: $i"
+ fi
+done
diff --git a/meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb b/meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb
new file mode 100644
index 0000000000..80907fa7c0
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
+HOMEPAGE = "http://www.zeromq.org"
+LICENSE = "LGPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
+
+SRC_URI = "http://download.zeromq.org/zeromq-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "f3c3defbb5ef6cc000ca65e529fdab3b"
+SRC_URI[sha256sum] = "1ef71d46e94f33e27dd5a1661ed626cd39be4d2d6967792a275040e34457d399"
+
+S = "${WORKDIR}/zeromq-${PV}"
+
+#Uncomment to choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select
+#EXTRA_OECONF += "--with-poller=kqueue"
+#CFLAGS_append += "-O0"
+#CXXFLAGS_append += "-O0"
+
+inherit autotools ptest
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests
+}
diff --git a/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch b/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch
new file mode 100644
index 0000000000..abd7ff4166
--- /dev/null
+++ b/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch
@@ -0,0 +1,34 @@
+Upstream-Status: Inappropriate [configuration]
+
+Index: eggdbus-0.6/docs/eggdbus/Makefile.am
+===================================================================
+--- eggdbus-0.6.orig/docs/eggdbus/Makefile.am
++++ eggdbus-0.6/docs/eggdbus/Makefile.am
+@@ -87,11 +87,7 @@ HTML_IMAGES = \
+ # Extra options to supply to gtkdoc-fixref
+ FIXXREF_OPTIONS=
+
+-if ENABLE_GTK_DOC
+-include $(top_srcdir)/gtk-doc.make
+-else
+ CLEANFILES =
+-endif
+
+ CLEANFILES += *~ \
+ eggdbus-scan.* \
+Index: eggdbus-0.6/docs/tests/Makefile.am
+===================================================================
+--- eggdbus-0.6.orig/docs/tests/Makefile.am
++++ eggdbus-0.6/docs/tests/Makefile.am
+@@ -65,11 +65,7 @@ HTML_IMAGES = \
+ # Extra options to supply to gtkdoc-fixref
+ FIXXREF_OPTIONS=
+
+-if ENABLE_GTK_DOC
+-include $(top_srcdir)/gtk-doc.make
+-else
+ CLEANFILES =
+-endif
+
+ CLEANFILES += *~ \
+ tests-scan.* \
diff --git a/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch b/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch
new file mode 100644
index 0000000000..a605a34c8e
--- /dev/null
+++ b/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch
@@ -0,0 +1,28 @@
+Upstream-Status: Inappropriate [configuration]
+
+Index: eggdbus-0.6/src/eggdbus/Makefile.am
+===================================================================
+--- eggdbus-0.6.orig/src/eggdbus/Makefile.am
++++ eggdbus-0.6/src/eggdbus/Makefile.am
+@@ -130,7 +130,7 @@ BUILT_SOURCES = \
+ $(NULL)
+
+ eggdbus-built-sources.stamp : eggdbus-binding-tool Makefile.am org.freedesktop.DBus.xml org.freedesktop.DBus.Peer.xml org.freedesktop.DBus.Properties.xml org.freedesktop.DBus.Introspectable.xml eggdbus-glib-genmarshal
+- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \
++ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \
+ --namespace EggDBus \
+ --dbus-namespace org.freedesktop.DBus \
+ --interfaces-only \
+Index: eggdbus-0.6/src/tests/Makefile.am
+===================================================================
+--- eggdbus-0.6.orig/src/tests/Makefile.am
++++ eggdbus-0.6/src/tests/Makefile.am
+@@ -25,7 +25,7 @@ BUILT_SOURCES = \
+ $(NULL)
+
+ test-built-sources.stamp : Makefile.am $(top_builddir)/src/eggdbus/eggdbus-binding-tool com.example.Frob.xml com.example.Tweak.xml com.example.Twiddle.xml
+- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \
++ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \
+ --namespace "Test" \
+ --dbus-namespace "com.example" \
+ --include-header testtypes.h \
diff --git a/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb b/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb
new file mode 100644
index 0000000000..cc28ec77cd
--- /dev/null
+++ b/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb
@@ -0,0 +1,33 @@
+SUMMARY = "An alternative to dbug-glib."
+DESCRIPTION = "An alternative to dbus-glib. It is designed specifically to \
+make it comfortable to work with very large and potentially \
+complex D-Bus services like e.g. DeviceKit-disks"
+
+HOMEPAGE = "http://cgit.freedesktop.org/~david/eggdbus"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
+ file://src/eggdbus/eggdbus.h;md5=6b312aef57ed8d738b3f131ad037d6c2"
+
+DEPENDS = "dbus glib-2.0 dbus-glib eggdbus-native"
+DEPENDS_class-native = "dbus-native glib-2.0-native dbus-glib-native"
+
+SRC_URI = "http://cgit.freedesktop.org/~david/${BPN}/snapshot/${BPN}-${PV}.tar.bz2 \
+ file://gtk-doc.patch \
+"
+SRC_URI_append_class-target = "file://marshal.patch"
+SRC_URI[md5sum] = "0a111faa54dfba2cf432c2c8e8a76e06"
+SRC_URI[sha256sum] = "3ad26e271c1a879bafcd181e065fe0ed53b542299a773c3188c9edb25b895ed1"
+
+inherit autotools gtk-doc
+
+EXTRA_OECONF = " --disable-man-pages "
+
+BBCLASSEXTEND = "native"
+
+PARALLEL_MAKE = ""
+
+do_configure_prepend() {
+ # Create ChangeLog to walk around automake error.
+ # " Makefile.am: error: required file './ChangeLog' not found "
+ touch ${S}/ChangeLog
+}
diff --git a/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb b/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb
index e68eb50a18..71daf9dea1 100644
--- a/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb
+++ b/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb
@@ -27,3 +27,5 @@ do_install_append() {
FILES_${PN} = "${libdir}/lib*.so.*"
FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
+
+RDEPENDS_${PN}-dev = "perl"
diff --git a/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb b/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.4.0.bb
index 6a09fdac45..8e214c969d 100644
--- a/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb
+++ b/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.4.0.bb
@@ -2,16 +2,16 @@ DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructi
HOMEPAGE = "http://libjpeg-turbo.org/"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=12;md5=78fa8dbac547bb5b2a0e6457a6cfe21d \
- file://jpeglib.h;endline=14;md5=a08bb0a80f782a9f8da313cc4015ed6f \
- file://djpeg.c;endline=9;md5=7629c51aed78174711c20a40194a8f1b \
+LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=12;md5=cad955d15145c3fdceec6855e078e953 \
+ file://jpeglib.h;endline=14;md5=dfc803dc51ae21178d1376ec73c4454d \
+ file://djpeg.c;endline=9;md5=e93a8f2061e8a0ac71c7a485c10489e2 \
"
BASEPV = "${@d.getVar('PV',True).split('+')[1]}"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${BASEPV}.tar.gz"
-SRC_URI[md5sum] = "2c3a68129dac443a72815ff5bb374b05"
-SRC_URI[sha256sum] = "c132907417ddc40ed552fe53d6b91d5fecbb14a356a60ddc7ea50d6be9666fb9"
+SRC_URI[md5sum] = "039153dabe61e1ac8d9323b5522b56b0"
+SRC_URI[sha256sum] = "d93ad8546b510244f863b39b4c0da0fa4c0d53a77b61a8a3880f258c232bbbee"
S = "${WORKDIR}/${BPN}-${BASEPV}"
diff --git a/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
index a18822f724..82960f1120 100644
--- a/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
+++ b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
@@ -12,10 +12,19 @@ index d4aadb1..0e36756 100644
# Optional: auto-generate the ChangeLog file from the git log on make dist
include $(top_srcdir)/macros/dist-changelog.am
diff --git a/examples/Makefile.am b/examples/Makefile.am
-index d9541ca..c28b49c 100644
+index d9541ca..c27e088 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
-@@ -36,6 +36,23 @@ check_PROGRAMS = \
+@@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I. $(LIBXMLXX_CFLAGS)
+ AM_CXXFLAGS = $(LIBXMLXX_WXXFLAGS)
+ LDADD = $(top_builddir)/libxml++/libxml++-$(LIBXMLXX_API_VERSION).la $(LIBXMLXX_LIBS)
+
++LOG_DRIVER = $(SHELL) ../macros/test-driver
++
+ check_PROGRAMS = \
+ dom_build/dom_build \
+ dom_parse_entities/dom_parse_entities \
+@@ -36,6 +38,23 @@ check_PROGRAMS = \
schemavalidation/schemavalidation \
textreader/textreader
@@ -39,20 +48,20 @@ index d9541ca..c28b49c 100644
# Shell scripts that call the example programs.
check_SCRIPTS = \
dom_build/make_check.sh \
-@@ -147,10 +164,10 @@ dist_noinst_DATA = \
+@@ -147,10 +166,10 @@ dist_noinst_DATA = \
# file are located in different directories.
dom_read_write/make_check.sh: Makefile
echo '# Generated and used by "make check"' >$@
- echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
-+ echo 'dom_read_write/.libs/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
++ echo 'cd dom_read_write && .libs/dom_read_write "example.xml" example_output.xml >/dev/null' >>$@
chmod +x $@
-script_template = cd "$(srcdir)/<!progname!>" && "$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null
-+script_template = cd "$(srcdir)/<!progname!>" && ".libs/<!progname!>" >/dev/null
++script_template = cd "<!progname!>" && ".libs/<!progname!>" >/dev/null
standard_scripts = $(filter-out dom_read_write/make_check.sh,$(check_SCRIPTS))
# All other script files are generated like so:
-@@ -162,3 +179,18 @@ $(standard_scripts): Makefile
+@@ -162,3 +181,18 @@ $(standard_scripts): Makefile
CLEANFILES = \
dom_read_write/example_output.xml \
$(check_SCRIPTS)
@@ -65,9 +74,9 @@ index d9541ca..c28b49c 100644
+ $(MKDIR_P) $(DESTDIR)/examples
+ cp --parents $(check_DOTLIBS) $(DESTDIR)/examples
+ cp --parents $(check_SCRIPTS) $(DESTDIR)/examples
-+ cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples
++ cd $(srcdir) && cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples
+ cp Makefile $(DESTDIR)/examples
+ $(MKDIR_P) $(DESTDIR)/macros
-+ cp ../macros/test-driver $(DESTDIR)/macros
++ cp $(srcdir)/../macros/test-driver $(DESTDIR)/macros
+ sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile
+
diff --git a/meta-oe/recipes-core/llvm/llvm.inc b/meta-oe/recipes-core/llvm/llvm.inc
index 525dd3caca..26bac33105 100644
--- a/meta-oe/recipes-core/llvm/llvm.inc
+++ b/meta-oe/recipes-core/llvm/llvm.inc
@@ -25,13 +25,90 @@ HOMEPAGE = "http://llvm.org"
LICENSE = "NCSA"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=d0a3ef0d3e0e8f5cf59e5ffc273ab1f8"
-# 2.* inherits also cmake
-# 3.* inherits also automake
-inherit perlnative pythonnative
+DEPENDS = "libffi libxml2-native llvm-common"
+
+inherit perlnative pythonnative autotools
LLVM_RELEASE = "${PV}"
LLVM_DIR = "llvm${LLVM_RELEASE}"
+SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz"
+S = "${WORKDIR}/llvm-${PV}.src"
+
+LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build"
+LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
+
+EXTRA_OECONF += "--disable-assertions \
+ --enable-debug-runtime \
+ --disable-expensive-checks \
+ --enable-bindings=none \
+ --enable-keep-symbols \
+ --enable-libffi \
+ --enable-optimized \
+ --enable-shared \
+ --enable-targets=host-only"
+EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1"
+
+do_configure_prepend() {
+ # Remove RPATHs
+ sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules
+
+ # Drop "svn" suffix from version string
+ sed -i 's/${PV}svn/${PV}/g' ${S}/configure
+
+ # Fix paths in llvm-config
+ sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
+ sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp
+
+ # Fails to build unless using separate directory from source
+ mkdir -p ${LLVM_BUILD_DIR}
+ cd ${LLVM_BUILD_DIR}
+}
+
+do_compile() {
+ cd ${LLVM_BUILD_DIR}
+ oe_runmake \
+ AR="${BUILD_AR}" \
+ CC="${BUILD_CC}" \
+ CFLAGS="${BUILD_CFLAGS}" \
+ CXX="${BUILD_CXX}" \
+ CXXFLAGS="${BUILD_CXXFLAGS}" \
+ CPP="${BUILD_CPP}" \
+ CPPFLAGS="${BUILD_CPPFLAGS}" \
+ NM="${BUILD_NM}" \
+ RANLIB="${BUILD_RANLIB}" \
+ PATH="${STAGING_BINDIR_NATIVE}:$PATH" \
+ cross-compile-build-tools
+ oe_runmake
+}
+
+do_install() {
+ cd ${LLVM_BUILD_DIR}
+ oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install
+
+ mv ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-llvm-config-host ${LLVM_INSTALL_DIR}/llvm-config-host
+
+ install -d ${D}${bindir}/${LLVM_DIR}
+ mv ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/
+
+ install -d ${D}${includedir}/${LLVM_DIR}
+ mv ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/
+
+ install -d ${D}${libdir}/${LLVM_DIR}
+ mv ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/
+ ln -s ${LLVM_DIR}/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so
+
+ install -d ${D}${docdir}/${LLVM_DIR}
+ mv ${LLVM_INSTALL_DIR}${prefix}/docs/llvm/* ${D}${docdir}/${LLVM_DIR}
+}
+
+SYSROOT_PREPROCESS_FUNCS += "llvm_sysroot_preprocess"
+
+llvm_sysroot_preprocess() {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ mv ${LLVM_INSTALL_DIR}/llvm-config-host ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV}
+}
+
ALLOW_EMPTY_${PN} = "1"
ALLOW_EMPTY_${PN}-staticdev = "1"
FILES_${PN} = ""
@@ -50,6 +127,8 @@ FILES_${PN}-dev = "${bindir}/${LLVM_DIR} \
PACKAGES_DYNAMIC = "^libllvm-.*$"
+INSANE_SKIP_libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so"
+
python llvm_populate_packages() {
libdir = bb.data.expand('${libdir}', d)
libllvm_libdir = bb.data.expand('${libdir}/${LLVM_DIR}', d)
@@ -58,8 +137,6 @@ python llvm_populate_packages() {
split_staticdev_packages = do_split_packages(d, libllvm_libdir, '^lib(.*)\.a$', 'libllvm${LLVM_RELEASE}-%s-staticdev', 'Split staticdev package for %s', allow_dirs=True)
if split_packages:
pn = d.getVar('PN', True)
- for package in split_packages:
- d.appendVar('INSANE_SKIP_' + package, ' dev-so')
d.appendVar('RDEPENDS_' + pn, ' '+' '.join(split_packages))
d.appendVar('RDEPENDS_' + pn + '-dbg', ' '+' '.join(split_dbg_packages))
d.appendVar('RDEPENDS_' + pn + '-staticdev', ' '+' '.join(split_staticdev_packages))
diff --git a/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch b/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch
deleted file mode 100644
index a7f7bbe359..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch
+++ /dev/null
@@ -1,20 +0,0 @@
----
- ARMJITInfo.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
---- a/lib/Target/ARM/ARMJITInfo.cpp
-+++ b/lib/Target/ARM/ARMJITInfo.cpp
-@@ -99,7 +99,13 @@
- // The above twiddling of the saved return addresses allows us to
- // deallocate everything, including the LR the stub saved, all in one
- // pop instruction.
-+#ifndef __thumb__
- "ldmia sp!, {r0, r1, r2, r3, lr, pc}\n"
-+#else
-+ // thumb dont allow lr and pc to be poped in the same instruction.
-+ "pop {r0, r1, r2, r3, lr}\n"
-+ "pop {pc}\n"
-+#endif
- );
- #else // Not an ARM host
- void ARMCompilationCallback() {
diff --git a/meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch b/meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch
deleted file mode 100644
index ee5cbafd1c..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-Index: llvm-2.8/lib/ExecutionEngine/JIT/JIT.cpp
-===================================================================
---- llvm-2.8.orig/lib/ExecutionEngine/JIT/JIT.cpp 2010-08-17 18:19:18.000000000 +0200
-+++ llvm-2.8/lib/ExecutionEngine/JIT/JIT.cpp 2011-12-19 21:16:21.884288536 +0100
-@@ -252,7 +252,12 @@
- MutexGuard guard(Lock);
- JITs.erase(jit);
- }
-- void *getPointerToNamedFunction(const char *Name) const {
-+ bool empty() {
-+ MutexGuard guard(Lock);
-+ return JITs.empty();
-+ }
-+ void *getPointerToNamedFunction(const char *Name,
-+ bool AbortOnFailure = true) const {
- MutexGuard guard(Lock);
- assert(JITs.size() != 0 && "No Jit registered");
- //search function in every instance of JIT
-@@ -264,7 +269,19 @@
- }
- // The function is not available : fallback on the first created (will
- // search in symbol of the current program/library)
-- return (*JITs.begin())->getPointerToNamedFunction(Name);
-+ return (*JITs.begin())->getPointerToNamedFunction(Name, AbortOnFailure);
-+ }
-+ void *getPointerToGlobalIfAvailable(GlobalValue *V) const {
-+ MutexGuard guard(Lock);
-+ assert(JITs.size() != 0 && "No Jit registered");
-+ //search function in every instance of JIT
-+ for (SmallPtrSet<JIT*, 1>::const_iterator Jit = JITs.begin(),
-+ end = JITs.end();
-+ Jit != end; ++Jit) {
-+ if (void *Ptr = (*Jit)->getPointerToGlobalIfAvailable(V))
-+ return Ptr;
-+ }
-+ return 0;
- }
- };
- ManagedStatic<JitPool> AllJits;
-@@ -280,6 +297,22 @@
- }
- }
-
-+extern "C" {
-+ // getPointerToNamedFunctionOrNull - same as the above, but returns
-+ // NULL instead of aborting if the function cannot be found.
-+ void *getPointerToNamedFunctionOrNull(const char *Name) {
-+ return !AllJits->empty() ? AllJits->getPointerToNamedFunction(Name, false) : 0;
-+ }
-+}
-+
-+extern "C" {
-+ // getPointerToGlobalIfAvailable - same as the above, but for global
-+ // variables, and only for those that have been codegened already.
-+ void *getPointerToGlobalIfAvailable(GlobalValue *V) {
-+ return !AllJits->empty() ? AllJits->getPointerToGlobalIfAvailable(V) : 0;
-+ }
-+}
-+
- JIT::JIT(Module *M, TargetMachine &tm, TargetJITInfo &tji,
- JITMemoryManager *JMM, CodeGenOpt::Level OptLevel, bool GVsWithCode)
- : ExecutionEngine(M), TM(tm), TJI(tji), AllocateGVsWithCode(GVsWithCode),
-Index: llvm-2.8/lib/Target/ARM/ARMISelLowering.cpp
-===================================================================
---- llvm-2.8.orig/lib/Target/ARM/ARMISelLowering.cpp 2010-09-03 03:35:08.000000000 +0200
-+++ llvm-2.8/lib/Target/ARM/ARMISelLowering.cpp 2011-12-19 21:16:21.884288536 +0100
-@@ -1119,6 +1119,9 @@
- }
- }
-
-+extern "C" void *getPointerToNamedFunctionOrNull(const char *Name);
-+extern "C" void *getPointerToGlobalIfAvailable(GlobalValue *Value);
-+
- /// LowerCall - Lowering a call into a callseq_start <-
- /// ARMISD:CALL <- callseq_end chain. Also add input and output parameter
- /// nodes.
-@@ -1272,6 +1275,26 @@
- InFlag =SDValue();
- }
-
-+ EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy();
-+
-+ // XXX Work around for http://llvm.org/bugs/show_bug.cgi?id=5201
-+ // and http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=399
-+ // for Shark.
-+ //
-+ // If the callee is an ExternalSymbol node, and the symbol can be
-+ // resolved to a function pointer, then insert that pointer as a
-+ // constant. This causes the next block of code to fall into the
-+ // block that emits an indirect call. This works around
-+ //
-+ // This works for Shark because the only kinds of call that Shark
-+ // makes that do not already fall into the indirect call block are
-+ // calls to pre-existing external functions.
-+ if (ExternalSymbolSDNode *S = dyn_cast<ExternalSymbolSDNode>(Callee)) {
-+ void *FuncPtr = getPointerToNamedFunctionOrNull(S->getSymbol());
-+ if (FuncPtr)
-+ Callee = DAG.getConstant((uint64_t) FuncPtr, PtrVT);
-+ }
-+
- // If the callee is a GlobalAddress/ExternalSymbol node (quite common, every
- // direct call is) turn it into a TargetGlobalAddress/TargetExternalSymbol
- // node so that legalize doesn't hack it.
-Index: llvm-2.8/tools/llc/CMakeLists.txt
-===================================================================
---- llvm-2.8.orig/tools/llc/CMakeLists.txt 2009-09-03 00:45:31.000000000 +0200
-+++ llvm-2.8/tools/llc/CMakeLists.txt 2011-12-19 21:16:21.884288536 +0100
-@@ -1,4 +1,4 @@
--set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} bitreader asmparser)
-+set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} jit bitreader asmparser)
-
- add_llvm_tool(llc
- llc.cpp
diff --git a/meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch b/meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch
deleted file mode 100644
index 1c51b30639..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: llvm-2.8/lib/ExecutionEngine/JIT/Intercept.cpp
-===================================================================
---- llvm-2.8.orig/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-14 18:31:21.008318473 +0200
-+++ llvm-2.8/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-14 18:32:53.523734850 +0200
-@@ -19,6 +19,7 @@
- #include "llvm/Support/ErrorHandling.h"
- #include "llvm/System/DynamicLibrary.h"
- #include "llvm/Config/config.h"
-+#include <unistd.h>
- using namespace llvm;
-
- // AtExitHandlers - List of functions to call when the program exits,
diff --git a/meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch b/meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch
deleted file mode 100644
index fddc6743e6..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: llvm-2.8/tools/CMakeLists.txt
-===================================================================
---- llvm-2.8.orig/tools/CMakeLists.txt 2010-08-24 11:16:51.000000000 +0200
-+++ llvm-2.8/tools/CMakeLists.txt 2011-12-21 16:47:47.718508763 +0100
-@@ -14,7 +14,6 @@
- add_subdirectory(opt)
- add_subdirectory(llvm-as)
- add_subdirectory(llvm-dis)
--add_subdirectory(llvm-mc)
-
- add_subdirectory(llc)
- add_subdirectory(llvm-ranlib)
diff --git a/meta-oe/recipes-core/llvm/llvm2.8_2.8.bb b/meta-oe/recipes-core/llvm/llvm2.8_2.8.bb
deleted file mode 100644
index 4d0b3c83cb..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.8_2.8.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require llvm.inc
-require llvm2.inc
-
-PR = "r3"
-
-SRC_URI += " \
- file://30may-llvm2.8-pr399-ppc-arm.patch \
- file://0019-issue6065.patch \
- file://add-unistd.patch \
- file://llvm-mc_disable.patch \
-"
-
-EXTRA_OECMAKE += " -DBUILD_SHARED_LIBS:BOOL=OFF "
-
-SRC_URI[md5sum] = "220d361b4d17051ff4bb21c64abe05ba"
-SRC_URI[sha256sum] = "25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b"
diff --git a/meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch b/meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch
deleted file mode 100644
index aff3d1d06d..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- llvm-2.9.orig/lib/Target/ARM/ARMJITInfo.cpp 2013-04-19 14:49:28.063566919 +0200
-+++ llvm-2.9/lib/Target/ARM/ARMJITInfo.cpp 2013-04-19 15:24:31.065435029 +0200
-@@ -59,7 +59,17 @@
- // for the real target function right now. We have to act as if this
- // whole compilation callback doesn't exist as far as the caller is
- // concerned, so we can't just preserve the callee saved regs.
-+ // stmdb introduced in http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp?diff_format=h&r1=57911&r2=57910&pathrev=57911
-+ // but fails on armv4t
-+ // | {standard input}: Assembler messages:
-+ // | {standard input}:22: Error: selected processor does not support Thumb mode `stmdb sp!,{r0,r1,r2,r3,lr}'
-+ // | {standard input}:31: Error: lo register required -- `ldmia sp!,{r0,r1,r2,r3,lr}'
-+ // | {standard input}:32: Error: lo register required -- `ldr pc,[sp],#4'
-+#ifndef __thumb__
- "stmdb sp!, {r0, r1, r2, r3, lr}\n"
-+#else
-+ "push {r0, r1, r2, r3, lr}\n"
-+#endif
- #if (defined(__VFP_FP__) && !defined(__SOFTFP__))
- "fstmfdd sp!, {d0, d1, d2, d3, d4, d5, d6, d7}\n"
- #endif
-@@ -99,8 +109,14 @@
- // The above twiddling of the saved return addresses allows us to
- // deallocate everything, including the LR the stub saved, with two
- // updating load instructions.
-+#ifndef __thumb__
- "ldmia sp!, {r0, r1, r2, r3, lr}\n"
- "ldr pc, [sp], #4\n"
-+#else
-+ // thumb dont allow lr and pc to be poped in the same instruction.
-+ "pop {r0, r1, r2, r3, lr}\n"
-+ "pop {pc}\n"
-+#endif
- );
- #else // Not an ARM host
- void ARMCompilationCallback() {
diff --git a/meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch b/meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch
deleted file mode 100644
index 4cf8d44640..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Upstream-Status: Pending
-
-Imported from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673266
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
---- a/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:11:46.956180361 +0200
-+++ b/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:14:35.256184996 +0200
-@@ -52,6 +52,7 @@
- #include <sys/stat.h>
- #endif
- #include <fcntl.h>
-+#include <unistd.h>
- /* stat functions are redirecting to __xstat with a version number. On x86-64
- * linking with libc_nonshared.a and -Wl,--export-dynamic doesn't make 'stat'
- * available as an exported symbol, so we have to add it explicitly.
diff --git a/meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch b/meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch
deleted file mode 100644
index c3ae494645..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: llvm-2.9/include/llvm/Support/FEnv.h
-===================================================================
---- llvm-2.9.orig/include/llvm/Support/FEnv.h 2010-11-29 20:44:50.000000000 +0100
-+++ llvm-2.9/include/llvm/Support/FEnv.h 2011-11-18 18:42:22.580161297 +0100
-@@ -17,6 +17,9 @@
-
- #include "llvm/Config/config.h"
- #include <cerrno>
-+
-+#undef HAVE_FENV_H
-+
- #ifdef HAVE_FENV_H
- #include <fenv.h>
- #endif
diff --git a/meta-oe/recipes-core/llvm/llvm2.9_2.9.bb b/meta-oe/recipes-core/llvm/llvm2.9_2.9.bb
deleted file mode 100644
index 44504b8e1f..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.9_2.9.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require llvm.inc
-require llvm2.inc
-
-PR = "r3"
-
-SRC_URI += "file://0035-gcc-4.7.patch"
-
-ARM_INSTRUCTION_SET = "arm"
-
-# 0019-issue6065.patch is still needed but a bit modified, because it was resolved by
-# http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp?r1=120304&r2=124694&pathrev=124694
-# http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp?diff_format=h&r1=57911&r2=57910&pathrev=57911
-# and still it fails with
-# {standard input}:31: Error: invalid register list to push/pop instruction -- `pop {r0,r1,r2,r3,lr}'
-# make[2]: *** [lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMJITInfo.cpp.o] Error 1
-# SRC_URI += "file://0019-issue6065.patch"
-
-SRC_URI_append_libc-uclibc = " file://arm_fenv_uclibc.patch "
-
-SRC_URI[md5sum] = "793138412d2af2c7c7f54615f8943771"
-SRC_URI[sha256sum] = "661236cfa17428b48cfa9cbb9909f7569c64b8ecd219fd91dbc00e3b557b3779"
diff --git a/meta-oe/recipes-core/llvm/llvm2.inc b/meta-oe/recipes-core/llvm/llvm2.inc
deleted file mode 100644
index a1f6ce87d4..0000000000
--- a/meta-oe/recipes-core/llvm/llvm2.inc
+++ /dev/null
@@ -1,170 +0,0 @@
-DEPENDS = "llvm${LLVM_RELEASE}-native llvm-common perl-native"
-DEPENDS_class-native = "llvm-common-native cmake-native"
-
-SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.tgz"
-S = "${WORKDIR}/llvm-${PV}"
-
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=0ac5f799a2d89477c75b0a378b221855"
-
-inherit cmake
-
-# Defines the LLVM supported arches. By now we always build either for ${BUILD}
-# (native) or ${TARGET}. In the future it may make sense to enable all backends
-# for the non-native build. The decision which backends are used is made by
-# the 3rd party program or library that uses llvm anyway.
-LLVM_ARCH = "${@get_llvm_arch(d)}"
-
-# This is used for generating the install directory for the llvm libraries,
-# binaries and headers. It makes side by side installation of those possible.
-LLVM_RELEASE = "${PV}"
-
-BBCLASSEXTEND = "native"
-
-LLVM_INSTALL_DIR = "${B}/llvm-install"
-
-# other architectures require X86 available,
-LLVM_EXTRA_ARCH = "X86;"
-LLVM_EXTRA_ARCH_x86 = ""
-LLVM_EXTRA_ARCH_x86-64 = ""
-
-EXTRA_OECMAKE = "\
- -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/${LLVM_DIR}/tblgen \
- -DLLVM_TARGETS_TO_BUILD="${LLVM_EXTRA_ARCH}${LLVM_ARCH}" \
- -DCMAKE_LINKER:FILEPATH=${LD} \
- -DCMAKE_AR:FILEPATH=${AR} \
- -DCMAKE_OBJCOPY:FILEPATH=${OBJCOPY} \
- -DCMAKE_OBJDUMP:FILEPATH=${OBJDUMP} \
- -DCMAKE_RANLIB:FILEPATH=${RANLIB} \
- -DCMAKE_STRIP:FILEPATH=${STRIP} \
- -DNM_PATH:FILEPATH=${NM} \
- -DLLVM_ENABLE_PIC:BOOL=ON \
- -DLLVM_TARGET_ARCH:STRING=${LLVM_ARCH} \
- -DLLVM_ENABLE_ASSERTIONS:BOOL=ON \
- -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
- -DBUILD_SHARED_LIBS:BOOL=ON \
- -DCMAKE_SKIP_BUILD_RPATH:BOOL=ON \
-"
-
-# We need to reset this to avoid breakage as we build out of tree
-TOOLCHAIN_OPTIONS = ""
-
-# the difference to the non-native build is that we do not need
-# to declare the location of the tblgen executable.
-EXTRA_OECMAKE_class-native = "\
- -DLLVM_TARGETS_TO_BUILD=${LLVM_ARCH} \
- -DCMAKE_LINKER:FILEPATH=${LD} \
- -DCMAKE_AR:FILEPATH=${AR} \
- -DCMAKE_OBJCOPY:FILEPATH=${OBJCOPY} \
- -DCMAKE_OBJDUMP:FILEPATH=${OBJDUMP} \
- -DCMAKE_RANLIB:FILEPATH=${RANLIB} \
- -DCMAKE_STRIP:FILEPATH=${STRIP} \
- -DNM_PATH:FILEPATH=${NM} \
-"
-
-base_do_compile_prepend() {
- # Avoid *** No rule to make target `native/bin/tblgen', needed by `include/llvm/Intrinsics.gen.tmp'
- oe_runmake tblgen
-}
-
-do_install() {
- # Install into a private directory to be able to reorganize the files.
- cd ${B}
- oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install
-
- # Create our custom target directories
- install -d ${D}${bindir}/${LLVM_DIR}
- install -d ${D}${includedir}/${LLVM_DIR}
- install -d ${D}${libdir}/${LLVM_DIR}
-
- # Move headers into their own directory
- cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm \
- ${D}${includedir}/${LLVM_DIR}/
- cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm-c \
- ${D}${includedir}/${LLVM_DIR}/
-
- find ${LLVM_INSTALL_DIR}/${prefix}/lib -name "*" -maxdepth 1 -exec \
- install {} ${D}${libdir}/${LLVM_DIR} \;
-
- # I dont know another way out. Binaries are installed into a special subdir
- find ${LLVM_INSTALL_DIR}/${prefix}/bin -name "*" -maxdepth 1 -exec \
- install {} ${D}${bindir}/${LLVM_DIR} \;
-
- # LLVM does not install this by default.
- install bin/tblgen ${D}${bindir}/${LLVM_DIR}
-}
-
-SYSROOT_PREPROCESS_FUNCS_append_class-target = " llvm_sysroot_preprocess"
-
-llvm_sysroot_preprocess() {
- cd ${B}
-
- # Fix the paths in the config script to make it find the binaries and
- # library files. Doing so allows 3rd party configure scripts working
- # unmodified.
- sed -e's!my.*ABS_RUN_DIR =.*!my $ABS_RUN_DIR = "${STAGING_DIR_TARGET}";!' \
- -e's!my.*INCLUDEDIR =.*!my $INCLUDEDIR = "${STAGING_INCDIR}/${LLVM_DIR}";!' \
- -e's!my.*LIBDIR.*!my $LIBDIR = "${STAGING_LIBDIR}/${LLVM_DIR}";!' \
- -e's!my.*BINDIR.*!my $BINDIR = "${STAGING_BINDIR}/${LLVM_DIR}";!' \
- bin/llvm-config > bin/llvm-config${LLVM_RELEASE}
-
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
- install -m 0755 bin/llvm-config${LLVM_RELEASE} ${SYSROOT_DESTDIR}${bindir_crossscripts}
-}
-
-do_install_class-native() {
- # Install into a private directory to be able to reorganize the files.
- cd ${B}
- oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install
-
- # Create our custom target directories
- install -d ${D}${bindir}/${LLVM_DIR}
- install -d ${D}${includedir}/${LLVM_DIR}
- install -d ${D}${libdir}/${LLVM_DIR}
-
- # Move headers into their own directory
- cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm \
- ${D}${includedir}/${LLVM_DIR}/
- cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm-c \
- ${D}${includedir}/${LLVM_DIR}/
-
- find ${LLVM_INSTALL_DIR}/${prefix}/lib -name "*" -maxdepth 1 -exec \
- install {} ${D}${libdir}/${LLVM_DIR} \;
-
- # I dont know another way out. Binaries are installed into a special subdir
- find ${LLVM_INSTALL_DIR}/${prefix}/bin -name "*" -maxdepth 1 -exec \
- install {} ${D}${bindir}/${LLVM_DIR} \;
-
- # LLVM does not install this by default.
- install bin/tblgen ${D}${bindir}/${LLVM_DIR}
-
- # Fix the paths in the config script to make it find the binaries and
- # library files. Doing so allows 3rd party configure scripts working
- # unmodified.
- sed -e's!my.*ABS_RUN_DIR =.*!my $ABS_RUN_DIR = "${STAGING_DIR_TARGET}";!' \
- -e's!my.*INCLUDEDIR =.*!my $INCLUDEDIR = "${STAGING_INCDIR}/${LLVM_DIR}";!' \
- -e's!my.*LIBDIR.*!my $LIBDIR = "${STAGING_LIBDIR}/${LLVM_DIR}";!' \
- -e's!my.*BINDIR.*!my $BINDIR = "${STAGING_BINDIR}/${LLVM_DIR}";!' \
- bin/llvm-config > bin/llvm-config${LLVM_RELEASE}
-
- install -d ${D}${bindir}
- install -m 0755 bin/llvm-config${LLVM_RELEASE} ${D}${bindir}
-}
-
-# Retrieve the target in a way that is compatible to the arch
-# value in llvm (>= 2.5)
-def get_llvm_arch(d):
- import bb;
-
- arch = bb.data.getVar('TARGET_ARCH', d, 1)
- if arch == "x86_64" or arch == "i486" or arch == "i586" or arch == "i686":
- arch = "X86"
- elif arch == "arm":
- arch = "ARM"
- elif arch == "mipsel" or arch == "mips":
- arch = "mips"
- elif arch == "powerpc" or arch == "powerpc64":
- arch = "PowerPC"
- else:
- bb.warn("%s does not support %s yet" % (bb.data.getVar('PN', d, 1), arch) );
-
- return arch
diff --git a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
index 65db1a8941..4617efa8b7 100644
--- a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
+++ b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
@@ -1,5 +1,4 @@
require llvm.inc
-require llvm3.inc
DEPENDS += "zlib"
EXTRA_OECONF += "--enable-zlib"
diff --git a/meta-oe/recipes-core/llvm/llvm3.inc b/meta-oe/recipes-core/llvm/llvm3.inc
deleted file mode 100644
index a5bd896c60..0000000000
--- a/meta-oe/recipes-core/llvm/llvm3.inc
+++ /dev/null
@@ -1,80 +0,0 @@
-DEPENDS = "libffi libxml2-native llvm-common"
-
-SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz"
-S = "${WORKDIR}/llvm-${PV}.src"
-
-inherit autotools
-
-LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build"
-LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
-
-EXTRA_OECONF += "--disable-assertions \
- --enable-debug-runtime \
- --disable-expensive-checks \
- --enable-bindings=none \
- --enable-keep-symbols \
- --enable-libffi \
- --enable-optimized \
- --enable-shared \
- --enable-targets=host-only"
-EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1"
-
-do_configure_prepend() {
- # Remove RPATHs
- sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules
-
- # Drop "svn" suffix from version string
- sed -i 's/${PV}svn/${PV}/g' ${S}/configure
-
- # Fix paths in llvm-config
- sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
- sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp
-
- # Fails to build unless using separate directory from source
- mkdir -p ${LLVM_BUILD_DIR}
- cd ${LLVM_BUILD_DIR}
-}
-
-do_compile() {
- cd ${LLVM_BUILD_DIR}
- oe_runmake \
- AR="${BUILD_AR}" \
- CC="${BUILD_CC}" \
- CFLAGS="${BUILD_CFLAGS}" \
- CXX="${BUILD_CXX}" \
- CXXFLAGS="${BUILD_CXXFLAGS}" \
- CPP="${BUILD_CPP}" \
- CPPFLAGS="${BUILD_CPPFLAGS}" \
- NM="${BUILD_NM}" \
- RANLIB="${BUILD_RANLIB}" \
- PATH="${STAGING_BINDIR_NATIVE}:$PATH" \
- cross-compile-build-tools
- oe_runmake
-}
-
-do_install() {
- cd ${LLVM_BUILD_DIR}
- oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install
-
- mv ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-llvm-config-host ${LLVM_INSTALL_DIR}/llvm-config-host
-
- install -d ${D}${bindir}/${LLVM_DIR}
- mv ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/
-
- install -d ${D}${includedir}/${LLVM_DIR}
- mv ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/
-
- install -d ${D}${libdir}/${LLVM_DIR}
- mv ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/
- ln -s ${LLVM_DIR}/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so
-
- install -d ${D}${docdir}/${LLVM_DIR}
- mv ${LLVM_INSTALL_DIR}${prefix}/docs/llvm/* ${D}${docdir}/${LLVM_DIR}
-}
-
-SYSROOT_PREPROCESS_FUNCS += "llvm_sysroot_preprocess"
-
-llvm_sysroot_preprocess() {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
- mv ${LLVM_INSTALL_DIR}/llvm-config-host ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV}
-}
diff --git a/meta-oe/recipes-core/meta/distro-feed-configs.bb b/meta-oe/recipes-core/meta/distro-feed-configs.bb
index dde86569e7..ea5ca38486 100644
--- a/meta-oe/recipes-core/meta/distro-feed-configs.bb
+++ b/meta-oe/recipes-core/meta/distro-feed-configs.bb
@@ -5,10 +5,11 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
DISTRO_FEED_PREFIX ?= "remote"
DISTRO_FEED_URI ?= "http://my-distribution.example/remote-feed/"
+DISTRO_FEED_ARCHS ?= "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}"
do_compile() {
mkdir -p ${S}/${sysconfdir}/opkg
- for feed in all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}; do
+ for feed in ${DISTRO_FEED_ARCHS}; do
echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf
done
}
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
index 08db94344e..20b16527e9 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
@@ -7,11 +7,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d
PR = "r13"
-inherit packagegroup
-
-# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH
-#
PACKAGE_ARCH = "${MACHINE_ARCH}"
+inherit packagegroup
# Poke extra recomendations into the list using your machine.conf
#
@@ -23,9 +20,6 @@ MACHINE_EXTRA_RRECOMMENDS ?= ""
#
TASK_BASIC_SSHDAEMON ?= "dropbear openssh-sftp openssh-sftp-server"
-RPROVIDES_${PN} += "task-basic"
-RREPLACES_${PN} += "task-basic"
-RCONFLICTS_${PN} += "task-basic"
#
# The section below is designed to match with packagegroup-boot, but doesn't depend on it to allow for more freedom
# when writing image recipes.
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
index 3b634f3a74..f50443d812 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
@@ -4,11 +4,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d
PR = "r58"
-inherit packagegroup
-
-# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH
-#
PACKAGE_ARCH = "${MACHINE_ARCH}"
+inherit packagegroup
#
# those ones can be set in machine config to supply packages needed to get machine booting
@@ -19,10 +16,6 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
# Make sure we build the kernel
DEPENDS = "virtual/kernel"
-RPROVIDES_${PN} += "task-boot"
-RREPLACES_${PN} += "task-boot"
-RCONFLICTS_${PN} += "task-boot"
-
#
# minimal set of packages - needed to boot
#
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb b/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb
index fbba23ca22..2a4b067ba2 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb
@@ -10,13 +10,6 @@ inherit packagegroup allarch
PACKAGES += "${PN}-debug"
-RPROVIDES_${PN} += "task-cli-tools"
-RPROVIDES_${PN}-debug += "task-cli-tools-debug"
-RREPLACES_${PN} += "task-cli-tools"
-RREPLACES_${PN}-debug += "task-cli-tools-debug"
-RCONFLICTS_${PN} += "task-cli-tools"
-RCONFLICTS_${PN}-debug += "task-cli-tools-debug"
-
RDEPENDS_${PN} = "\
dbus-daemon-proxy \
dosfstools \
diff --git a/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch b/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch
new file mode 100644
index 0000000000..e071f22b16
--- /dev/null
+++ b/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch
@@ -0,0 +1,383 @@
+From 27f5ca9f1e212e5ab00cde0bfc91282fc7ff5e16 Mon Sep 17 00:00:00 2001
+From: Paul Barker <paul@paulbarker.me.uk>
+Date: Mon, 18 Aug 2014 12:18:16 +0000
+Subject: [PATCH] Match paths with busybox
+
+To ensure that toybox can be installed alongside busybox without confusing
+update-alternatives, the paths of the links installed by toybox should match
+those installed by busybox. This is accomplished by changing the flags of a few
+tools within toybox.
+
+v2:
+ - Forward ported from v0.4.9 to v0.5.0
+ - Move new 'mount' command
+
+Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
+
+Upstream-status: Inappropriate
+ (specific to update-alternatives use in OpenEmbedded)
+---
+ toys/lsb/mount.c | 2 +-
+ toys/lsb/pidof.c | 2 +-
+ toys/other/chvt.c | 2 +-
+ toys/other/ifconfig.c | 2 +-
+ toys/other/insmod.c | 2 +-
+ toys/other/lsmod.c | 2 +-
+ toys/other/netcat.c | 2 +-
+ toys/other/pivot_root.c | 2 +-
+ toys/other/readlink.c | 2 +-
+ toys/other/reboot.c | 6 +++---
+ toys/other/rfkill.c | 2 +-
+ toys/other/rmmod.c | 2 +-
+ toys/other/swapoff.c | 2 +-
+ toys/other/swapon.c | 2 +-
+ toys/other/sysctl.c | 2 +-
+ toys/posix/cut.c | 2 +-
+ toys/posix/df.c | 2 +-
+ toys/posix/head.c | 2 +-
+ toys/posix/id.c | 6 +++---
+ toys/posix/mkfifo.c | 2 +-
+ toys/posix/renice.c | 2 +-
+ toys/posix/tail.c | 2 +-
+ toys/posix/tee.c | 2 +-
+ toys/posix/uniq.c | 2 +-
+ toys/posix/who.c | 2 +-
+ 25 files changed, 29 insertions(+), 29 deletions(-)
+
+diff --git a/toys/lsb/mount.c b/toys/lsb/mount.c
+index 01f5c32..65a5aa2 100644
+--- a/toys/lsb/mount.c
++++ b/toys/lsb/mount.c
+@@ -6,7 +6,7 @@
+ * Note: -hV is bad spec, haven't implemented -FsLU yet
+ * no mtab (/proc/mounts does it) so -n is NOP.
+
+-USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
++USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_BIN|TOYFLAG_STAYROOT))
+ USE_NFSMOUNT(NEWTOY(nfsmount, "?<2>2", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
+
+ config MOUNT
+diff --git a/toys/lsb/pidof.c b/toys/lsb/pidof.c
+index 51b742f..a8fc8ef 100644
+--- a/toys/lsb/pidof.c
++++ b/toys/lsb/pidof.c
+@@ -5,7 +5,7 @@
+ *
+ * http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/pidof.html
+
+-USE_PIDOF(NEWTOY(pidof, "<1so:", TOYFLAG_USR|TOYFLAG_BIN))
++USE_PIDOF(NEWTOY(pidof, "<1so:", TOYFLAG_BIN))
+
+ config PIDOF
+ bool "pidof"
+diff --git a/toys/other/chvt.c b/toys/other/chvt.c
+index 6544265..a93327f 100644
+--- a/toys/other/chvt.c
++++ b/toys/other/chvt.c
+@@ -2,7 +2,7 @@
+ *
+ * Copyright (C) 2008 David Anders <danders@amltd.com>
+
+-USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_SBIN))
++USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config CHVT
+ bool "chvt"
+diff --git a/toys/other/ifconfig.c b/toys/other/ifconfig.c
+index f5d4215..5e7c54c 100644
+--- a/toys/other/ifconfig.c
++++ b/toys/other/ifconfig.c
+@@ -6,7 +6,7 @@
+ *
+ * Not in SUSv4.
+
+-USE_IFCONFIG(NEWTOY(ifconfig, "?a", TOYFLAG_BIN))
++USE_IFCONFIG(NEWTOY(ifconfig, "?a", TOYFLAG_SBIN))
+
+ config IFCONFIG
+ bool "ifconfig"
+diff --git a/toys/other/insmod.c b/toys/other/insmod.c
+index 8aa959a..75fd7cd 100644
+--- a/toys/other/insmod.c
++++ b/toys/other/insmod.c
+@@ -2,7 +2,7 @@
+ *
+ * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
+
+-USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
++USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+
+ config INSMOD
+ bool "insmod"
+diff --git a/toys/other/lsmod.c b/toys/other/lsmod.c
+index b8f5d82..4d16048 100644
+--- a/toys/other/lsmod.c
++++ b/toys/other/lsmod.c
+@@ -2,7 +2,7 @@
+ *
+ * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
+
+-USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_BIN))
++USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_SBIN))
+
+ config LSMOD
+ bool "lsmod"
+diff --git a/toys/other/netcat.c b/toys/other/netcat.c
+index 3c6f630..188c3d1 100644
+--- a/toys/other/netcat.c
++++ b/toys/other/netcat.c
+@@ -4,7 +4,7 @@
+ *
+ * TODO: udp, ipv6, genericize for telnet/microcom/tail-f
+
+-USE_NETCAT(OLDTOY(nc, netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN))
++USE_NETCAT(OLDTOY(nc, netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_USR|TOYFLAG_BIN))
+ USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN))
+
+ config NETCAT
+diff --git a/toys/other/pivot_root.c b/toys/other/pivot_root.c
+index 3e4beac..ce3d3a8 100644
+--- a/toys/other/pivot_root.c
++++ b/toys/other/pivot_root.c
+@@ -2,7 +2,7 @@
+ *
+ * Copyright 2012 Rob Landley <rob@landley.net>
+
+-USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_USR|TOYFLAG_BIN))
++USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_SBIN))
+
+ config PIVOT_ROOT
+ bool "pivot_root"
+diff --git a/toys/other/readlink.c b/toys/other/readlink.c
+index 1c33362..fecd1ef 100644
+--- a/toys/other/readlink.c
++++ b/toys/other/readlink.c
+@@ -2,7 +2,7 @@
+ *
+ * Copyright 2007 Rob Landley <rob@landley.net>
+
+-USE_READLINK(NEWTOY(readlink, "<1>1fenq[-fe]", TOYFLAG_BIN))
++USE_READLINK(NEWTOY(readlink, "<1>1fenq[-fe]", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config READLINK
+ bool "readlink"
+diff --git a/toys/other/reboot.c b/toys/other/reboot.c
+index 5cbc4f8..f8baafc 100644
+--- a/toys/other/reboot.c
++++ b/toys/other/reboot.c
+@@ -2,9 +2,9 @@
+ *
+ * Copyright 2013 Elie De Brauwer <eliedebrauwer@gmail.com>
+
+-USE_REBOOT(NEWTOY(reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+-USE_REBOOT(OLDTOY(halt, reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+-USE_REBOOT(OLDTOY(poweroff, reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
++USE_REBOOT(NEWTOY(reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
++USE_REBOOT(OLDTOY(halt, reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
++USE_REBOOT(OLDTOY(poweroff, reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+
+ config REBOOT
+ bool "reboot"
+diff --git a/toys/other/rfkill.c b/toys/other/rfkill.c
+index af3efe1..7527ec7 100644
+--- a/toys/other/rfkill.c
++++ b/toys/other/rfkill.c
+@@ -5,7 +5,7 @@
+ *
+ * No Standard
+
+-USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_SBIN))
++USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_USR|TOYFLAG_SBIN))
+
+ config RFKILL
+ bool "rfkill"
+diff --git a/toys/other/rmmod.c b/toys/other/rmmod.c
+index b789acc..10c134c 100644
+--- a/toys/other/rmmod.c
++++ b/toys/other/rmmod.c
+@@ -2,7 +2,7 @@
+ *
+ * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
+
+-USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
++USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+
+ config RMMOD
+ bool "rmmod"
+diff --git a/toys/other/swapoff.c b/toys/other/swapoff.c
+index b89e915..fb17130 100644
+--- a/toys/other/swapoff.c
++++ b/toys/other/swapoff.c
+@@ -2,7 +2,7 @@
+ *
+ * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
+
+-USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
++USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+
+ config SWAPOFF
+ bool "swapoff"
+diff --git a/toys/other/swapon.c b/toys/other/swapon.c
+index 49f1249..838d382 100644
+--- a/toys/other/swapon.c
++++ b/toys/other/swapon.c
+@@ -2,7 +2,7 @@
+ *
+ * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
+
+-USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
++USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+
+ config SWAPON
+ bool "swapon"
+diff --git a/toys/other/sysctl.c b/toys/other/sysctl.c
+index 8e57ca1..0c6c640 100644
+--- a/toys/other/sysctl.c
++++ b/toys/other/sysctl.c
+@@ -5,7 +5,7 @@
+ *
+ * No Standard
+
+-USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_USR|TOYFLAG_BIN))
++USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_SBIN))
+
+ config SYSCTL
+ bool "sysctl"
+diff --git a/toys/posix/cut.c b/toys/posix/cut.c
+index 7f10c5e..1ab3ce8 100644
+--- a/toys/posix/cut.c
++++ b/toys/posix/cut.c
+@@ -5,7 +5,7 @@
+ *
+ * http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cut.html
+
+-USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_BIN))
++USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config CUT
+ bool "cut"
+diff --git a/toys/posix/df.c b/toys/posix/df.c
+index afb296b..6296dc9 100644
+--- a/toys/posix/df.c
++++ b/toys/posix/df.c
+@@ -4,7 +4,7 @@
+ *
+ * See http://opengroup.org/onlinepubs/9699919799/utilities/df.html
+
+-USE_DF(NEWTOY(df, "Pkt*a", TOYFLAG_USR|TOYFLAG_SBIN))
++USE_DF(NEWTOY(df, "Pkt*a", TOYFLAG_BIN))
+
+ config DF
+ bool "df"
+diff --git a/toys/posix/head.c b/toys/posix/head.c
+index e8517d4..3ac4373 100644
+--- a/toys/posix/head.c
++++ b/toys/posix/head.c
+@@ -4,7 +4,7 @@
+ *
+ * See http://opengroup.org/onlinepubs/9699919799/utilities/head.html
+
+-USE_HEAD(NEWTOY(head, "n#<0=10", TOYFLAG_BIN))
++USE_HEAD(NEWTOY(head, "n#<0=10", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config HEAD
+ bool "head"
+diff --git a/toys/posix/id.c b/toys/posix/id.c
+index b4d9c00..df79419 100644
+--- a/toys/posix/id.c
++++ b/toys/posix/id.c
+@@ -6,10 +6,10 @@
+ *
+ * See http://opengroup.org/onlinepubs/9699919799/utilities/id.html
+
+-USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_BIN))
++USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_USR|TOYFLAG_BIN))
+ USE_GROUPS(OLDTOY(groups, id, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+-USE_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_BIN))
+-USE_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_BIN))
++USE_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_USR|TOYFLAG_BIN))
++USE_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config ID
+ bool "id"
+diff --git a/toys/posix/mkfifo.c b/toys/posix/mkfifo.c
+index 15fab70..4e0fca3 100644
+--- a/toys/posix/mkfifo.c
++++ b/toys/posix/mkfifo.c
+@@ -4,7 +4,7 @@
+ *
+ * See http://opengroup.org/onlinepubs/9699919799/utilities/mkfifo.html
+
+-USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_BIN))
++USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config MKFIFO
+ bool "mkfifo"
+diff --git a/toys/posix/renice.c b/toys/posix/renice.c
+index 8c20644..489eb13 100644
+--- a/toys/posix/renice.c
++++ b/toys/posix/renice.c
+@@ -4,7 +4,7 @@
+ *
+ * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/renice.html
+
+-USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_BIN))
++USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config RENICE
+ bool "renice"
+diff --git a/toys/posix/tail.c b/toys/posix/tail.c
+index e1048be..ba0a55a 100644
+--- a/toys/posix/tail.c
++++ b/toys/posix/tail.c
+@@ -4,7 +4,7 @@
+ *
+ * See http://opengroup.org/onlinepubs/9699919799/utilities/tail.html
+
+-USE_TAIL(NEWTOY(tail, "fc-n-[-cn]", TOYFLAG_BIN))
++USE_TAIL(NEWTOY(tail, "fc-n-[-cn]", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config TAIL
+ bool "tail"
+diff --git a/toys/posix/tee.c b/toys/posix/tee.c
+index 0388510..5574088 100644
+--- a/toys/posix/tee.c
++++ b/toys/posix/tee.c
+@@ -4,7 +4,7 @@
+ *
+ * See http://opengroup.org/onlinepubs/9699919799/utilities/tee.html
+
+-USE_TEE(NEWTOY(tee, "ia", TOYFLAG_BIN))
++USE_TEE(NEWTOY(tee, "ia", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config TEE
+ bool "tee"
+diff --git a/toys/posix/uniq.c b/toys/posix/uniq.c
+index 3cfdb94..c127cfe 100644
+--- a/toys/posix/uniq.c
++++ b/toys/posix/uniq.c
+@@ -4,7 +4,7 @@
+ *
+ * See http://opengroup.org/onlinepubs/9699919799/utilities/uniq.html
+
+-USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_BIN))
++USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config UNIQ
+ bool "uniq"
+diff --git a/toys/posix/who.c b/toys/posix/who.c
+index 2c8a2e6..d5cd001 100644
+--- a/toys/posix/who.c
++++ b/toys/posix/who.c
+@@ -9,7 +9,7 @@
+ * Posix says to support many options (-abdHlmpqrstTu) but this
+ * isn't aimed at minicomputers with modem pools.
+
+-USE_WHO(NEWTOY(who, "a", TOYFLAG_BIN))
++USE_WHO(NEWTOY(who, "a", TOYFLAG_USR|TOYFLAG_BIN))
+
+ config WHO
+ bool "who"
+--
+2.1.2
+
diff --git a/meta-oe/recipes-core/toybox/toybox_0.5.0.bb b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb
new file mode 100644
index 0000000000..9bdba4da5c
--- /dev/null
+++ b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb
@@ -0,0 +1,64 @@
+SUMMARY = "Toybox combines common utilities together into a single executable."
+HOMEPAGE = "http://www.landley.net/toybox/"
+
+SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.bz2 \
+ file://0001-Match-paths-with-busybox.patch"
+SRC_URI[md5sum] = "2cb6e8b34134038d86048e117f77765f"
+SRC_URI[sha256sum] = "2718b42154be041435df48d5b5140f4e307767c36b1017e0c8d0da7f75b327a7"
+
+LICENSE = "BSD-0-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
+
+SECTION = "base"
+
+do_configure() {
+ oe_runmake defconfig
+
+ # Disable killall5 as it isn't managed by update-alternatives
+ sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
+}
+
+do_compile() {
+ oe_runmake toybox_unstripped
+
+ # Create a list of links needed
+ oe_runmake generated/instlist
+ ./generated/instlist long | sed -e 's#^#/#' > toybox.links
+}
+
+do_install() {
+ # Install manually instead of using 'make install'
+ install -d ${D}${base_bindir}
+ if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
+ install -m 4755 ${B}/toybox_unstripped ${D}${base_bindir}/toybox
+ else
+ install -m 0755 ${B}/toybox_unstripped ${D}${base_bindir}/toybox
+ fi
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
+}
+
+inherit update-alternatives
+
+# If you've chosen to install toybox you probably want it to take precedence
+# over busybox where possible but not over other packages
+ALTERNATIVE_PRIORITY = "60"
+
+python do_package_prepend () {
+ # Read links from /etc/toybox.links and create appropriate
+ # update-alternatives variables
+
+ dvar = d.getVar('D', True)
+ pn = d.getVar('PN', True)
+ target = "/bin/toybox"
+
+ f = open('%s/etc/toybox.links' % (dvar), 'r')
+ for alt_link_name in f:
+ alt_link_name = alt_link_name.strip()
+ alt_name = os.path.basename(alt_link_name)
+ d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
+ d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
+ f.close()
+}
diff --git a/meta-oe/recipes-core/usleep/files/GPLv2.patch b/meta-oe/recipes-core/usleep/files/GPLv2.patch
new file mode 100644
index 0000000000..1ee8181f12
--- /dev/null
+++ b/meta-oe/recipes-core/usleep/files/GPLv2.patch
@@ -0,0 +1,347 @@
+Upstream-Status: Inappropriate [licensing]
+
+diff --git a/COPYING b/COPYING
+new file mode 100644
+index 0000000..d511905
+--- /dev/null
++++ b/COPYING
+@@ -0,0 +1,339 @@
++ GNU GENERAL PUBLIC LICENSE
++ Version 2, June 1991
++
++ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
++ Everyone is permitted to copy and distribute verbatim copies
++ of this license document, but changing it is not allowed.
++
++ Preamble
++
++ The licenses for most software are designed to take away your
++freedom to share and change it. By contrast, the GNU General Public
++License is intended to guarantee your freedom to share and change free
++software--to make sure the software is free for all its users. This
++General Public License applies to most of the Free Software
++Foundation's software and to any other program whose authors commit to
++using it. (Some other Free Software Foundation software is covered by
++the GNU Lesser General Public License instead.) You can apply it to
++your programs, too.
++
++ When we speak of free software, we are referring to freedom, not
++price. Our General Public Licenses are designed to make sure that you
++have the freedom to distribute copies of free software (and charge for
++this service if you wish), that you receive source code or can get it
++if you want it, that you can change the software or use pieces of it
++in new free programs; and that you know you can do these things.
++
++ To protect your rights, we need to make restrictions that forbid
++anyone to deny you these rights or to ask you to surrender the rights.
++These restrictions translate to certain responsibilities for you if you
++distribute copies of the software, or if you modify it.
++
++ For example, if you distribute copies of such a program, whether
++gratis or for a fee, you must give the recipients all the rights that
++you have. You must make sure that they, too, receive or can get the
++source code. And you must show them these terms so they know their
++rights.
++
++ We protect your rights with two steps: (1) copyright the software, and
++(2) offer you this license which gives you legal permission to copy,
++distribute and/or modify the software.
++
++ Also, for each author's protection and ours, we want to make certain
++that everyone understands that there is no warranty for this free
++software. If the software is modified by someone else and passed on, we
++want its recipients to know that what they have is not the original, so
++that any problems introduced by others will not reflect on the original
++authors' reputations.
++
++ Finally, any free program is threatened constantly by software
++patents. We wish to avoid the danger that redistributors of a free
++program will individually obtain patent licenses, in effect making the
++program proprietary. To prevent this, we have made it clear that any
++patent must be licensed for everyone's free use or not licensed at all.
++
++ The precise terms and conditions for copying, distribution and
++modification follow.
++
++ GNU GENERAL PUBLIC LICENSE
++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
++
++ 0. This License applies to any program or other work which contains
++a notice placed by the copyright holder saying it may be distributed
++under the terms of this General Public License. The "Program", below,
++refers to any such program or work, and a "work based on the Program"
++means either the Program or any derivative work under copyright law:
++that is to say, a work containing the Program or a portion of it,
++either verbatim or with modifications and/or translated into another
++language. (Hereinafter, translation is included without limitation in
++the term "modification".) Each licensee is addressed as "you".
++
++Activities other than copying, distribution and modification are not
++covered by this License; they are outside its scope. The act of
++running the Program is not restricted, and the output from the Program
++is covered only if its contents constitute a work based on the
++Program (independent of having been made by running the Program).
++Whether that is true depends on what the Program does.
++
++ 1. You may copy and distribute verbatim copies of the Program's
++source code as you receive it, in any medium, provided that you
++conspicuously and appropriately publish on each copy an appropriate
++copyright notice and disclaimer of warranty; keep intact all the
++notices that refer to this License and to the absence of any warranty;
++and give any other recipients of the Program a copy of this License
++along with the Program.
++
++You may charge a fee for the physical act of transferring a copy, and
++you may at your option offer warranty protection in exchange for a fee.
++
++ 2. You may modify your copy or copies of the Program or any portion
++of it, thus forming a work based on the Program, and copy and
++distribute such modifications or work under the terms of Section 1
++above, provided that you also meet all of these conditions:
++
++ a) You must cause the modified files to carry prominent notices
++ stating that you changed the files and the date of any change.
++
++ b) You must cause any work that you distribute or publish, that in
++ whole or in part contains or is derived from the Program or any
++ part thereof, to be licensed as a whole at no charge to all third
++ parties under the terms of this License.
++
++ c) If the modified program normally reads commands interactively
++ when run, you must cause it, when started running for such
++ interactive use in the most ordinary way, to print or display an
++ announcement including an appropriate copyright notice and a
++ notice that there is no warranty (or else, saying that you provide
++ a warranty) and that users may redistribute the program under
++ these conditions, and telling the user how to view a copy of this
++ License. (Exception: if the Program itself is interactive but
++ does not normally print such an announcement, your work based on
++ the Program is not required to print an announcement.)
++
++These requirements apply to the modified work as a whole. If
++identifiable sections of that work are not derived from the Program,
++and can be reasonably considered independent and separate works in
++themselves, then this License, and its terms, do not apply to those
++sections when you distribute them as separate works. But when you
++distribute the same sections as part of a whole which is a work based
++on the Program, the distribution of the whole must be on the terms of
++this License, whose permissions for other licensees extend to the
++entire whole, and thus to each and every part regardless of who wrote it.
++
++Thus, it is not the intent of this section to claim rights or contest
++your rights to work written entirely by you; rather, the intent is to
++exercise the right to control the distribution of derivative or
++collective works based on the Program.
++
++In addition, mere aggregation of another work not based on the Program
++with the Program (or with a work based on the Program) on a volume of
++a storage or distribution medium does not bring the other work under
++the scope of this License.
++
++ 3. You may copy and distribute the Program (or a work based on it,
++under Section 2) in object code or executable form under the terms of
++Sections 1 and 2 above provided that you also do one of the following:
++
++ a) Accompany it with the complete corresponding machine-readable
++ source code, which must be distributed under the terms of Sections
++ 1 and 2 above on a medium customarily used for software interchange; or,
++
++ b) Accompany it with a written offer, valid for at least three
++ years, to give any third party, for a charge no more than your
++ cost of physically performing source distribution, a complete
++ machine-readable copy of the corresponding source code, to be
++ distributed under the terms of Sections 1 and 2 above on a medium
++ customarily used for software interchange; or,
++
++ c) Accompany it with the information you received as to the offer
++ to distribute corresponding source code. (This alternative is
++ allowed only for noncommercial distribution and only if you
++ received the program in object code or executable form with such
++ an offer, in accord with Subsection b above.)
++
++The source code for a work means the preferred form of the work for
++making modifications to it. For an executable work, complete source
++code means all the source code for all modules it contains, plus any
++associated interface definition files, plus the scripts used to
++control compilation and installation of the executable. However, as a
++special exception, the source code distributed need not include
++anything that is normally distributed (in either source or binary
++form) with the major components (compiler, kernel, and so on) of the
++operating system on which the executable runs, unless that component
++itself accompanies the executable.
++
++If distribution of executable or object code is made by offering
++access to copy from a designated place, then offering equivalent
++access to copy the source code from the same place counts as
++distribution of the source code, even though third parties are not
++compelled to copy the source along with the object code.
++
++ 4. You may not copy, modify, sublicense, or distribute the Program
++except as expressly provided under this License. Any attempt
++otherwise to copy, modify, sublicense or distribute the Program is
++void, and will automatically terminate your rights under this License.
++However, parties who have received copies, or rights, from you under
++this License will not have their licenses terminated so long as such
++parties remain in full compliance.
++
++ 5. You are not required to accept this License, since you have not
++signed it. However, nothing else grants you permission to modify or
++distribute the Program or its derivative works. These actions are
++prohibited by law if you do not accept this License. Therefore, by
++modifying or distributing the Program (or any work based on the
++Program), you indicate your acceptance of this License to do so, and
++all its terms and conditions for copying, distributing or modifying
++the Program or works based on it.
++
++ 6. Each time you redistribute the Program (or any work based on the
++Program), the recipient automatically receives a license from the
++original licensor to copy, distribute or modify the Program subject to
++these terms and conditions. You may not impose any further
++restrictions on the recipients' exercise of the rights granted herein.
++You are not responsible for enforcing compliance by third parties to
++this License.
++
++ 7. If, as a consequence of a court judgment or allegation of patent
++infringement or for any other reason (not limited to patent issues),
++conditions are imposed on you (whether by court order, agreement or
++otherwise) that contradict the conditions of this License, they do not
++excuse you from the conditions of this License. If you cannot
++distribute so as to satisfy simultaneously your obligations under this
++License and any other pertinent obligations, then as a consequence you
++may not distribute the Program at all. For example, if a patent
++license would not permit royalty-free redistribution of the Program by
++all those who receive copies directly or indirectly through you, then
++the only way you could satisfy both it and this License would be to
++refrain entirely from distribution of the Program.
++
++If any portion of this section is held invalid or unenforceable under
++any particular circumstance, the balance of the section is intended to
++apply and the section as a whole is intended to apply in other
++circumstances.
++
++It is not the purpose of this section to induce you to infringe any
++patents or other property right claims or to contest validity of any
++such claims; this section has the sole purpose of protecting the
++integrity of the free software distribution system, which is
++implemented by public license practices. Many people have made
++generous contributions to the wide range of software distributed
++through that system in reliance on consistent application of that
++system; it is up to the author/donor to decide if he or she is willing
++to distribute software through any other system and a licensee cannot
++impose that choice.
++
++This section is intended to make thoroughly clear what is believed to
++be a consequence of the rest of this License.
++
++ 8. If the distribution and/or use of the Program is restricted in
++certain countries either by patents or by copyrighted interfaces, the
++original copyright holder who places the Program under this License
++may add an explicit geographical distribution limitation excluding
++those countries, so that distribution is permitted only in or among
++countries not thus excluded. In such case, this License incorporates
++the limitation as if written in the body of this License.
++
++ 9. The Free Software Foundation may publish revised and/or new versions
++of the General Public License from time to time. Such new versions will
++be similar in spirit to the present version, but may differ in detail to
++address new problems or concerns.
++
++Each version is given a distinguishing version number. If the Program
++specifies a version number of this License which applies to it and "any
++later version", you have the option of following the terms and conditions
++either of that version or of any later version published by the Free
++Software Foundation. If the Program does not specify a version number of
++this License, you may choose any version ever published by the Free Software
++Foundation.
++
++ 10. If you wish to incorporate parts of the Program into other free
++programs whose distribution conditions are different, write to the author
++to ask for permission. For software which is copyrighted by the Free
++Software Foundation, write to the Free Software Foundation; we sometimes
++make exceptions for this. Our decision will be guided by the two goals
++of preserving the free status of all derivatives of our free software and
++of promoting the sharing and reuse of software generally.
++
++ NO WARRANTY
++
++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
++REPAIR OR CORRECTION.
++
++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGES.
++
++ END OF TERMS AND CONDITIONS
++
++ How to Apply These Terms to Your New Programs
++
++ If you develop a new program, and you want it to be of the greatest
++possible use to the public, the best way to achieve this is to make it
++free software which everyone can redistribute and change under these terms.
++
++ To do so, attach the following notices to the program. It is safest
++to attach them to the start of each source file to most effectively
++convey the exclusion of warranty; and each file should have at least
++the "copyright" line and a pointer to where the full notice is found.
++
++ <one line to give the program's name and a brief idea of what it does.>
++ Copyright (C) <year> <name of author>
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License along
++ with this program; if not, write to the Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++
++Also add information on how to contact you by electronic and paper mail.
++
++If the program is interactive, make it output a short notice like this
++when it starts in an interactive mode:
++
++ Gnomovision version 69, Copyright (C) year name of author
++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
++ This is free software, and you are welcome to redistribute it
++ under certain conditions; type `show c' for details.
++
++The hypothetical commands `show w' and `show c' should show the appropriate
++parts of the General Public License. Of course, the commands you use may
++be called something other than `show w' and `show c'; they could even be
++mouse-clicks or menu items--whatever suits your program.
++
++You should also get your employer (if you work as a programmer) or your
++school, if any, to sign a "copyright disclaimer" for the program, if
++necessary. Here is a sample; alter the names:
++
++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
++ `Gnomovision' (which makes passes at compilers) written by James Hacker.
++
++ <signature of Ty Coon>, 1 April 1989
++ Ty Coon, President of Vice
++
++This General Public License does not permit incorporating your program into
++proprietary programs. If your program is a subroutine library, you may
++consider it more useful to permit linking proprietary applications with the
++library. If this is what you want to do, use the GNU Lesser General
++Public License instead of this License.
diff --git a/meta-oe/recipes-core/usleep/files/usleep.1 b/meta-oe/recipes-core/usleep/files/usleep.1
new file mode 100644
index 0000000000..2d7520f779
--- /dev/null
+++ b/meta-oe/recipes-core/usleep/files/usleep.1
@@ -0,0 +1,25 @@
+.TH USLEEP 1 "Red Hat, Inc" \" -*- nroff -*-
+.SH NAME
+usleep \- sleep some number of microseconds
+.SH SYNOPSIS
+.B usleep
+[\fInumber\fP]
+.SH DESCRIPTION
+.B usleep
+sleeps some number of microseconds. The default is 1.
+.SH OPTIONS
+\fI--usage\fP
+Show short usage message.
+.TP
+\fI--help, -?\fP
+Print help information.
+.TP
+\fI-v, --version\fP
+Print version information.
+.SH BUGS
+Probably not accurate on many machines down to the microsecond. Count
+on precision only to -4 or maybe -5.
+.SH AUTHOR
+Donald Barnes <djb@redhat.com>
+.br
+Erik Troan <ewt@redhat.com>
diff --git a/meta-oe/recipes-core/usleep/files/usleep.c b/meta-oe/recipes-core/usleep/files/usleep.c
new file mode 100644
index 0000000000..a5e7d9d715
--- /dev/null
+++ b/meta-oe/recipes-core/usleep/files/usleep.c
@@ -0,0 +1,82 @@
+/*
+ * usleep
+ *
+ * Written by Donald Barnes <djb@redhat.com> for Red Hat, Inc.
+ *
+ * Copyright (c) 1997-2003 Red Hat, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 2,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "popt.h"
+
+int main(int argc, char **argv) {
+ unsigned long count;
+ poptContext optCon;
+ int showVersion = 0;
+ int showOot = 0;
+ int rc;
+ char * countStr = NULL;
+ struct poptOption options[] = {
+ { "version", 'v', POPT_ARG_NONE, &showVersion, 0,
+ "Display the version of this program, and exit" },
+ { "oot", 'o', POPT_ARG_NONE, &showOot, 0,
+ "oot says hey!" },
+ POPT_AUTOHELP
+ { 0, 0, 0, 0, 0 }
+ };
+
+ optCon = poptGetContext("usleep", argc, argv, options,0);
+ /*poptReadDefaultConfig(optCon, 1);*/
+ poptSetOtherOptionHelp(optCon, "[microseconds]");
+
+ if ((rc = poptGetNextOpt(optCon)) < -1) {
+ fprintf(stderr, "usleep: bad argument %s: %s\n",
+ poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
+ poptStrerror(rc));
+ return 2;
+ }
+
+ if (showVersion) {
+ printf("usleep version 1.2\n usleep --help for more info\n");
+ return 0;
+ }
+
+ if (showOot) {
+ printf("oot says hey!\n");
+ return 0;
+ }
+
+ countStr = poptGetArg(optCon);
+
+ if (countStr == NULL) count = 1;
+
+ else if (countStr && poptGetArg(optCon)) {
+ fprintf(stderr, "%s: exactly one argument (number of microseconds) "
+ "must be used\n", argv[0]);
+ return 2;
+ }
+
+ else count = strtoul(countStr, NULL, 0);
+
+ usleep(count);
+ return 0;
+}
diff --git a/meta-oe/recipes-core/usleep/usleep_1.0.bb b/meta-oe/recipes-core/usleep/usleep_1.0.bb
new file mode 100644
index 0000000000..2ef4b7c024
--- /dev/null
+++ b/meta-oe/recipes-core/usleep/usleep_1.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A user tool to support sleeping some number of microseconds"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+PR = "r0"
+
+S = "${WORKDIR}"
+DEPENDS = "popt"
+
+SRC_URI = "file://usleep.c \
+ file://usleep.1 \
+ file://GPLv2.patch \
+"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} usleep.c -o usleep -lpopt
+}
+
+do_install() {
+ install -d ${D}${base_bindir}
+ install -d ${D}${mandir}/man1
+
+ install -m 0755 ${WORKDIR}/usleep ${D}${base_bindir}
+ install -m 0644 ${WORKDIR}/usleep.1 ${D}${mandir}/man1
+}
diff --git a/meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch b/meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch
new file mode 100644
index 0000000000..25b13862bd
--- /dev/null
+++ b/meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch
@@ -0,0 +1,40 @@
+diff -rupN cgdb-0.6.7-OLD/configure.in cgdb-0.6.7/configure.in
+--- cgdb-0.6.7-OLD/configure.in 2013-01-14 05:31:53.000000000 -0600
++++ cgdb-0.6.7/configure.in 2014-05-08 13:18:13.864632180 -0500
+@@ -65,8 +65,9 @@ AC_CHECK_HEADERS([getopt.h],
+ [AC_DEFINE(HAVE_GETOPT_H, 1, have getopt_long)])
+
+ dnl determine if /dev/ptmx is available for pseudo terminals
+-AC_CHECK_FILE([/dev/ptmx],
+- [AC_DEFINE(HAVE_DEV_PTMX, 1, have /dev/ptmx)])
++dnl AC_CHECK_FILE([/dev/ptmx],
++dnl [AC_DEFINE(HAVE_DEV_PTMX, 1, have /dev/ptmx)])
++AC_DEFINE(HAVE_DEV_PTMX, 1, have /dev/ptmx)
+
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+@@ -167,15 +168,15 @@ fi
+
+ dnl Make sure there is a version of readline that CGDB supports.
+ dnl Simply putting 5.1* -> 5.9* just to take into accout future versions.
+-RL_LIB_READLINE_VERSION
+-case "$ac_cv_rl_version" in
+-5.1*|5.2*|5.3*|5.4*|5.5*|5.6*|5.7*|5.8*|5.9*|6*|7*|8*|9*) ;;
+-*) AC_MSG_ERROR([CGDB requires GNU readline 5.1 or greater to link.
+- If you used --with-readline instead of using the system readline library,
+- make sure to set the correct readline library on the linker search path
+- via LD_LIBRARY_PATH or some other facility.])
+- ;;
+-esac
++dnl RL_LIB_READLINE_VERSION
++dnl case "$ac_cv_rl_version" in
++dnl 5.1*|5.2*|5.3*|5.4*|5.5*|5.6*|5.7*|5.8*|5.9*|6*|7*|8*|9*) ;;
++dnl *) AC_MSG_ERROR([CGDB requires GNU readline 5.1 or greater to link.
++dnl If you used --with-readline instead of using the system readline library,
++dnl make sure to set the correct readline library on the linker search path
++dnl via LD_LIBRARY_PATH or some other facility.])
++dnl ;;
++dnl esac
+
+ dnl This will DEFINE the readline headers.
+ RL_LIB_READLINE_INCLUDES
diff --git a/meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb b/meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb
new file mode 100644
index 0000000000..26b2782f0a
--- /dev/null
+++ b/meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb
@@ -0,0 +1,16 @@
+SUMMARY = "curses-based interface to gdb"
+HOMEPAGE = "http://cgdb.github.io/"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "readline ncurses gdb"
+
+SRC_URI = "http://cgdb.me/files/cgdb-${PV}.tar.gz \
+ file://configfix.patch"
+SRC_URI[md5sum] = "e2d9a973d2683faf8130a82703bf6a31"
+SRC_URI[sha256sum] = "074ed31d1e827a04574add8c27d391447d75313e85ff938005d8ec939499fda9"
+
+EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} --with-ncurses=${STAGING_LIBDIR}"
+
+inherit autotools
+
diff --git a/meta-oe/recipes-devtools/cloud9/cloud9/index.js b/meta-oe/recipes-devtools/cloud9/cloud9/index.js
index e40dd6dc26..88c9a19f0e 100644
--- a/meta-oe/recipes-devtools/cloud9/cloud9/index.js
+++ b/meta-oe/recipes-devtools/cloud9/cloud9/index.js
@@ -1,2 +1,2 @@
var o3 = require('./o3.js')
-module.exports = o3.xml; \ No newline at end of file
+module.exports = o3.xml;
diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
index fe57d9e4b6..eebccf01be 100644
--- a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
+++ b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
@@ -7,9 +7,10 @@ LICENSE = "BSD & Apache-2.0"
HOMEPAGE = "http://concurrencykit.org"
SECTION = "base"
+PV = "0.4.3+git${SRCPV}"
SRCREV = "900d203aa9e41288545368ea40da0bee89f7907f"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f12611e65e064515ce264249b2bdea98"
-SRC_URI = "git://git.concurrencykit.org/ck.git \
+SRC_URI = "git://github.com/concurrencykit/ck.git;protocol=https \
file://cross.patch \
"
@@ -17,7 +18,7 @@ S = "${WORKDIR}/git"
COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64).*-linux*"
-inherit autotools
+inherit autotools-brokensep
PLAT_powerpc64 = "ppc64"
PLAT ?= "${HOST_ARCH}"
diff --git a/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch b/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch
new file mode 100644
index 0000000000..2eb8af7130
--- /dev/null
+++ b/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch
@@ -0,0 +1,45 @@
+Index: dejagnu-1.4.4/configure.in
+===================================================================
+--- dejagnu-1.4.4.orig/configure.in 2014-07-18 07:05:49.997481207 +0000
++++ dejagnu-1.4.4/configure.in 2014-07-18 07:05:50.085481210 +0000
+@@ -1,10 +1,10 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_PREREQ(2.13)
+-AC_INIT(runtest.exp)
++AC_INIT(dejagnu, 1.4.4)
+ dnl AC_CONFIG_AUX_DIR(..)
+
+ dnl These are required by automake
+-AM_INIT_AUTOMAKE(dejagnu, 1.4.4)
++AM_INIT_AUTOMAKE([foreign])
+ AM_MAINTAINER_MODE
+ AC_PROG_MAKE_SET
+
+Index: dejagnu-1.4.4/example/calc/configure.in
+===================================================================
+--- dejagnu-1.4.4.orig/example/calc/configure.in 2002-04-26 03:32:40.000000000 +0000
++++ dejagnu-1.4.4/example/calc/configure.in 2014-07-18 07:11:59.085491266 +0000
+@@ -1,8 +1,8 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_PREREQ(2.5)
+-AC_INIT(calc.c)
++AC_INIT(calc, 1.1)
+ AM_CONFIG_HEADER(calc.h)
+-AM_INIT_AUTOMAKE(calc, 1.1)
++AM_INIT_AUTOMAKE([foreign])
+
+ AC_PROG_CC
+ AC_PROG_INSTALL
+Index: dejagnu-1.4.4/example/hello/configure.in
+===================================================================
+--- dejagnu-1.4.4.orig/example/hello/configure.in 2002-08-31 05:46:16.000000000 +0000
++++ dejagnu-1.4.4/example/hello/configure.in 2014-07-18 07:12:23.721491937 +0000
+@@ -25,7 +25,7 @@
+ # ------------------------------------------------------------------------
+
+ AC_INIT(helloworld, demo-version, philip.wilsey@ieee.org)
+-AM_INIT_AUTOMAKE(helloworld, demo-version)
++AM_INIT_AUTOMAKE([foreign])
+
+ #AC_CONFIG_SRCDIR([hello.cc])
+ #AC_CONFIG_HEADER([config.h])
diff --git a/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb b/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
index f5fe9b9f22..63726b2328 100644
--- a/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
+++ b/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
@@ -5,7 +5,8 @@ SECTION = "devel"
inherit autotools
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://configure.patch"
SRC_URI[md5sum] = "053f18fd5d00873de365413cab17a666"
SRC_URI[sha256sum] = "d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d"
diff --git a/meta-oe/recipes-devtools/geany/geany_1.23.bb b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb
index 4e0d4bf8c6..f765e2c8d2 100644
--- a/meta-oe/recipes-devtools/geany/geany_1.23.bb
+++ b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb
@@ -7,10 +7,10 @@ DEPENDS = "gtk+"
inherit autotools pkgconfig perlnative
SRC_URI = " \
- http://download.geany.org/${PN}-${PV}.tar.bz2 \
+ http://download.geany.org/${BP}.tar.bz2 \
file://0001-configure.ac-remove-additional-c-test.patch \
"
-SRC_URI[md5sum] = "4290e8c32305e916f57bb0f0233bbec2"
-SRC_URI[sha256sum] = "cdd4a772694803c837ae59e56f7bdc2faba174509317211f522e7d25dfcbe8b0"
+SRC_URI[md5sum] = "d225104cef3973164d70116d46239606"
+SRC_URI[sha256sum] = "7fb505d9b01fe6874890525f837644a6a38c23a372bb068c65ef3673108a8c33"
FILES_${PN} += "${datadir}/icons"
diff --git a/meta-oe/recipes-devtools/glade/glade3_3.8.2.bb b/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb
index eec40e401f..4e7ef9b5ca 100644
--- a/meta-oe/recipes-devtools/glade/glade3_3.8.2.bb
+++ b/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb
@@ -2,20 +2,22 @@ SUMMARY = "Glade - A User Interface Designer"
HOMEPAGE = "http://www.gnu.org/software/gnash"
LICENSE = "GPLv2 & LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
- file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7"
-DEPENDS = "gtk+ gnome-doc-utils-native"
-
-PR = "r1"
+ file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "gtk+ gnome-doc-utils-native gnome-common libxml2"
inherit autotools pkgconfig pythonnative
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \
file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch"
-SRC_URI[md5sum] = "b5da0ce717b2dc710e93a10b97c0f9ce"
-SRC_URI[sha256sum] = "f180a5018eee6e3fe574854cb025af897dd9962b01d17d5752e626876d388b19"
+SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f"
+SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735"
EXTRA_OECONF += "--disable-scrollkeeper"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gnome] = "--enable-gnome,--disable-gnome,libbonoboui libgnomeui"
+
do_configure_prepend() {
sed -i '/^if HAVE_GNOME_DOC_UTILS/,/^endif/d' ${S}/Makefile.am
}
diff --git a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
index d6cfd35629..9768a6e716 100644
--- a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
+++ b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
@@ -8,6 +8,6 @@ SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BPN}-${PV}.tar.gz \
SRC_URI[md5sum] = "5c5374d4f265b0abe4daef1d03f87104"
SRC_URI[sha256sum] = "05f0216dd0c25a17859de66357f64da5033375b6fbf5f31ca54867311160b64d"
-inherit autotools
+inherit autotools pkgconfig
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/jq/files/automake-once-fix.patch b/meta-oe/recipes-devtools/jq/files/automake-once-fix.patch
deleted file mode 100644
index 0a1d1a2222..0000000000
--- a/meta-oe/recipes-devtools/jq/files/automake-once-fix.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Upstream-Status: Applied
-https://github.com/stedolan/jq/commit/f0d1c39b5bbb4ccc517773eb635ba7f38ec7da1a
-
-Fixes build with automake-1.14
-
-diff --git a/configure.ac b/configure.ac
-index 76a49a9..d6d2d38 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4,7 +4,7 @@ AC_INIT([jq], [1.3], [mu@netsoc.tcd.ie],
- dnl Created autoconf implementation thompson@dtosolutions, 26NOV12
- AC_PREREQ([2.61])
- AC_CONFIG_AUX_DIR([config])
--AM_INIT_AUTOMAKE([parallel-tests foreign])
-+AM_INIT_AUTOMAKE([parallel-tests foreign -Wall])
- AM_SILENT_RULES([yes])
- AC_PROG_CC
- AC_PROG_CC_STDC
-@@ -66,7 +66,6 @@ AC_SUBST([BUNDLER], ["$bundle_cmd"])
-
- dnl AC_CONFIG_MACRO_DIR([m4])
- AC_CONFIG_HEADERS(config.h)
--AM_INIT_AUTOMAKE([-Wall])
- AC_CONFIG_FILES([Makefile])
- AC_OUTPUT
-
---
-1.8.5.4
-
diff --git a/meta-oe/recipes-devtools/jq/jq_1.3.bb b/meta-oe/recipes-devtools/jq/jq_1.4.bb
index c58b472801..6e50803a37 100644
--- a/meta-oe/recipes-devtools/jq/jq_1.3.bb
+++ b/meta-oe/recipes-devtools/jq/jq_1.4.bb
@@ -12,10 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=244a1fb9cf472474a062d67069dec653"
DEPENDS = "flex-native bison-native"
SRC_URI = "http://stedolan.github.io/${BPN}/download/source/${BP}.tar.gz \
- file://automake-once-fix.patch \
"
-SRC_URI[md5sum] = "26081b05d22525eca5cbdd8f9f4db17d"
-SRC_URI[sha256sum] = "623f23c36abfc1d96d85020cf421b56f90a229d566f26a4a0d3e8536244bfed7"
+SRC_URI[md5sum] = "e3c75a4f805bb5342c9f4b3603fb248f"
+SRC_URI[sha256sum] = "998c41babeb57b4304e65b4eb73094279b3ab1e63801b6b4bddd487ce009b39d"
inherit autotools
diff --git a/meta-oe/recipes-devtools/libgee/libgee.inc b/meta-oe/recipes-devtools/libgee/libgee.inc
index c681285440..fcfd0776e9 100644
--- a/meta-oe/recipes-devtools/libgee/libgee.inc
+++ b/meta-oe/recipes-devtools/libgee/libgee.inc
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
INC_PR = "r6"
PE = "1"
-inherit autotools vala
+inherit autotools vala pkgconfig
do_configure_prepend() {
MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
for i in ${MACROS}; do
diff --git a/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb b/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb
index 6201774721..c9c5c673ae 100644
--- a/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb
+++ b/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb
@@ -3,7 +3,7 @@ SECTION = "libs"
HOMEPAGE = "http://sourceforge.net/projects/log4cplus/"
BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/"
-LICENSE = "Apache-2.0 BSD-2-Clause"
+LICENSE = "Apache-2.0 & BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=65053a46f707ee2b93f09ad22f692170"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz"
diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch
deleted file mode 100644
index 0b4ee64551..0000000000
--- a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From e0fc5bea466c16b9d754a8ac8d0453e396678a2c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 19 Feb 2014 20:28:07 -0800
-Subject: [PATCH] KERNEL_INC in modern kernel should point at toplevel
- kerneldir
-
-Reason is kernel headers are not only in toplevel
-include/ but also in toplevel arch/ dir
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 031d8bc..73e9b3c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -245,15 +245,15 @@ endif
-
- modules_edma:
- @echo "Going to compile edma test kernel modules for $(PLATFORM)"
-- cd testcases/ddt/edma_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM)
-+ cd testcases/ddt/edma_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM)
-
- modules_gpio:
- @echo "Going to compile gpio test kernel modules for $(PLATFORM)"
-- cd testcases/ddt/gpio_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM)
-+ cd testcases/ddt/gpio_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM)
-
- modules_ipc:
- @echo "Going to compile IPC test kernel modules for $(PLATFORM)"
-- cd testcases/ddt/ipc_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM)
-+ cd testcases/ddt/ipc_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM)
-
- modules: $(MODULES_TO_BUILD)
-
---
-1.9.0
-
diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.5.bb
index a70d5b9753..db62ac63a5 100644
--- a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb
+++ b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.5.bb
@@ -3,21 +3,21 @@ HOMEPAGE = "http://arago-project.org/git/projects/test-automation/ltp-ddt.git"
SECTION = "console/utils"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-PR = "r1"
PROVIDES += "ltp"
DEPENDS += "zip-native virtual/kernel alsa-lib"
-inherit autotools module-base kernel-module-split
+RDEPENDS_${PN} += "pm-qa"
+
+inherit autotools-brokensep module-base kernel-module-split
PACKAGE_ARCH = "${MACHINE_ARCH}"
-SRCREV = "4f77e2e33357d2b23211ecd22f27f521aa01469a"
+SRCREV = "903f70a11eb77cbad62d7ecbe7dcbaf61be8ff99"
BRANCH ?= "master"
SRC_URI = "git://arago-project.org/git/projects/test-automation/ltp-ddt.git;branch=${BRANCH} \
file://0001-wdt_test_suite-Make-sure-to-include-generated-header.patch \
- file://0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch \
"
S = "${WORKDIR}/git"
@@ -28,12 +28,16 @@ EXTRA_OEMAKE_append = " \
prefix=${LTPROOT} \
CROSS_COMPILE=${HOST_PREFIX} \
SKIP_IDCHECK=1 \
+ KERNEL_PATH=${STAGING_KERNEL_DIR} \
KERNEL_INC=${STAGING_KERNEL_DIR} \
KERNEL_USR_INC=${STAGING_INCDIR} \
ALSA_INCPATH=${STAGING_INCDIR} \
ALSA_LIBPATH=${STAGING_LIBDIR} \
PLATFORM=${MACHINE} \
RANLIB=${RANLIB} \
+ DESTDIR=${D} \
+ CC='${CC}' \
+ KERNEL_CC='${KERNEL_CC}' \
"
TARGET_CC_ARCH += "${LDFLAGS}"
@@ -64,14 +68,19 @@ do_configure() {
kmoddir = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/ddt"
do_compile_append () {
- oe_runmake DESTDIR=${D} modules
+ oe_runmake modules
}
do_install() {
- oe_runmake DESTDIR=${D} install
+ oe_runmake install
install -d ${D}${datadir}
install -d ${D}${kmoddir}
cp -a ${D}${LTPROOT}/share/* ${D}${datadir}
rm -rf ${D}${LTPROOT}/share/
mv ${D}${LTPROOT}/testcases/bin/ddt/*.ko ${D}${kmoddir}
}
+
+# do_make_scripts should be a separate task for the lock to work
+addtask make_scripts before do_compile
+do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
+do_make_scripts[deptask] = "do_populate_sysroot"
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch b/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch
new file mode 100644
index 0000000000..4f89d8f2e6
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch
@@ -0,0 +1,36 @@
+From 887a403e38f590ebf1d04ce600d94cb7a351744c Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Mon, 1 Dec 2014 00:57:42 -0500
+Subject: [PATCH] ltrace: allow to enable/disable selinux support
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+---
+ configure.ac | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6fe5e3b..189885a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -125,8 +125,14 @@ AC_SUBST(libstdcxx_LIBS)
+
+
+ dnl Check security_get_boolean_active availability.
+-AC_CHECK_HEADERS(selinux/selinux.h)
+-AC_CHECK_LIB(selinux, security_get_boolean_active)
++AC_ARG_ENABLE([selinux],
++ AS_HELP_STRING([--enable-selinux],[enable SELinux support [default=auto]]),
++ [], [enable_selinux=auto])
++
++if test x$enable_selinux != xno; then
++ AC_CHECK_HEADERS(selinux/selinux.h)
++ AC_CHECK_LIB(selinux, security_get_boolean_active)
++fi
+
+ dnl Whether (and which) elfutils libdw.so to use for unwinding.
+ AC_ARG_WITH(elfutils,
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch b/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch
index 8f3c0ecea1..8f3c0ecea1 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index 149af52dc0..69848483d7 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -9,17 +9,24 @@ HOMEPAGE = "http://ltrace.org/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+PE = "1"
+PV = "7.2+git${SRCPV}"
SRCREV = "f44b28421979cec88d6d6a778fc27a8cd514f508"
DEPENDS = "elfutils"
RDEPENDS_${PN} = "elfutils"
SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git \
file://ltrace-0.7.2-unused-typedef.patch \
+ file://configure-allow-to-disable-selinux-support.patch \
"
S = "${WORKDIR}/git"
inherit autotools
+PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+
do_configure_prepend () {
- ./autogen.sh
+ ( cd ${S}; ./autogen.sh )
}
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch b/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch
deleted file mode 100644
index 4f0331ebb6..0000000000
--- a/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch
+++ /dev/null
@@ -1,605 +0,0 @@
-diff -Nurd lua-5.1.5/src/lcode.c lua-5.1.5/src/lcode.c
---- lua-5.1.5/src/lcode.c 2011-01-31 16:53:16.000000000 +0200
-+++ lua-5.1.5/src/lcode.c 2012-11-28 21:12:23.958419501 +0200
-@@ -642,6 +642,17 @@
- case OP_POW: r = luai_numpow(v1, v2); break;
- case OP_UNM: r = luai_numunm(v1); break;
- case OP_LEN: return 0; /* no constant folding for 'len' */
-+#if defined(LUA_BITWISE_OPERATORS)
-+ case OP_BOR: luai_logor(r, v1, v2); break;
-+ case OP_BAND: luai_logand(r, v1, v2); break;
-+ case OP_BXOR: luai_logxor(r, v1, v2); break;
-+ case OP_BLSHFT: luai_loglshft(r, v1, v2); break;
-+ case OP_BRSHFT: luai_logrshft(r, v1, v2); break;
-+ case OP_BNOT: luai_lognot(r, v1); break;
-+ case OP_INTDIV:
-+ if (v2 == 0) return 0; /* do not attempt to divide by 0 */
-+ r = luai_numintdiv(v1, v2); break;
-+#endif
- default: lua_assert(0); r = 0; break;
- }
- if (luai_numisnan(r)) return 0; /* do not attempt to produce NaN */
-@@ -654,7 +665,11 @@
- if (constfolding(op, e1, e2))
- return;
- else {
-+#if defined(LUA_BITWISE_OPERATORS)
-+ int o2 = (op != OP_UNM && op != OP_LEN && op != OP_BNOT) ? luaK_exp2RK(fs, e2) : 0;
-+#else
- int o2 = (op != OP_UNM && op != OP_LEN) ? luaK_exp2RK(fs, e2) : 0;
-+#endif
- int o1 = luaK_exp2RK(fs, e1);
- if (o1 > o2) {
- freeexp(fs, e1);
-@@ -690,6 +705,14 @@
- expdesc e2;
- e2.t = e2.f = NO_JUMP; e2.k = VKNUM; e2.u.nval = 0;
- switch (op) {
-+#if defined(LUA_BITWISE_OPERATORS)
-+ case OPR_BNOT: {
-+ if (e->k == VK)
-+ luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */
-+ codearith(fs, OP_BNOT, e, &e2);
-+ break;
-+ }
-+#endif
- case OPR_MINUS: {
- if (!isnumeral(e))
- luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */
-@@ -770,6 +793,14 @@
- case OPR_DIV: codearith(fs, OP_DIV, e1, e2); break;
- case OPR_MOD: codearith(fs, OP_MOD, e1, e2); break;
- case OPR_POW: codearith(fs, OP_POW, e1, e2); break;
-+#if defined(LUA_BITWISE_OPERATORS)
-+ case OPR_BOR: codearith(fs, OP_BOR, e1, e2); break;
-+ case OPR_BAND: codearith(fs, OP_BAND, e1, e2); break;
-+ case OPR_BXOR: codearith(fs, OP_BXOR, e1, e2); break;
-+ case OPR_BLSHFT: codearith(fs, OP_BLSHFT, e1, e2); break;
-+ case OPR_BRSHFT: codearith(fs, OP_BRSHFT, e1, e2); break;
-+ case OPR_INTDIV: codearith(fs, OP_INTDIV, e1, e2); break;
-+#endif
- case OPR_EQ: codecomp(fs, OP_EQ, 1, e1, e2); break;
- case OPR_NE: codecomp(fs, OP_EQ, 0, e1, e2); break;
- case OPR_LT: codecomp(fs, OP_LT, 1, e1, e2); break;
-diff -Nurd lua-5.1.5/src/lcode.h lua-5.1.5/src/lcode.h
---- lua-5.1.5/src/lcode.h 2007-12-27 15:02:25.000000000 +0200
-+++ lua-5.1.5/src/lcode.h 2012-11-28 21:12:23.958419501 +0200
-@@ -25,6 +25,9 @@
- */
- typedef enum BinOpr {
- OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW,
-+#if defined(LUA_BITWISE_OPERATORS)
-+ OPR_BOR, OPR_BAND, OPR_BXOR, OPR_BLSHFT, OPR_BRSHFT, OPR_INTDIV,
-+#endif
- OPR_CONCAT,
- OPR_NE, OPR_EQ,
- OPR_LT, OPR_LE, OPR_GT, OPR_GE,
-@@ -33,8 +36,11 @@
- } BinOpr;
-
-
-+#if defined(LUA_BITWISE_OPERATORS)
-+typedef enum UnOpr { OPR_BNOT, OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr;
-+#else
- typedef enum UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr;
--
-+#endif
-
- #define getcode(fs,e) ((fs)->f->code[(e)->u.s.info])
-
-diff -Nurd lua-5.1.5/src/ldebug.c lua-5.1.5/src/ldebug.c
---- lua-5.1.5/src/ldebug.c 2008-05-08 19:56:26.000000000 +0300
-+++ lua-5.1.5/src/ldebug.c 2012-11-28 21:12:23.958419501 +0200
-@@ -592,6 +592,16 @@
- luaG_typeerror(L, p2, "perform arithmetic on");
- }
-
-+#if defined (LUA_BITWISE_OPERATORS)
-+void luaG_logicerror (lua_State *L, const TValue *p1, const TValue *p2) {
-+ TValue temp;
-+ if (luaV_tonumber(p1, &temp) == NULL)
-+ p2 = p1; /* first operand is wrong */
-+ luaG_typeerror(L, p2, "perform bitwise operation on");
-+}
-+#endif
-+
-+
-
- int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) {
- const char *t1 = luaT_typenames[ttype(p1)];
-diff -Nurd lua-5.1.5/src/ldebug.h lua-5.1.5/src/ldebug.h
---- lua-5.1.5/src/ldebug.h 2007-12-27 15:02:25.000000000 +0200
-+++ lua-5.1.5/src/ldebug.h 2012-11-28 21:12:23.958419501 +0200
-@@ -30,4 +30,9 @@
- LUAI_FUNC int luaG_checkcode (const Proto *pt);
- LUAI_FUNC int luaG_checkopenop (Instruction i);
-
-+#if defined (LUA_BITWISE_OPERATORS)
-+LUAI_FUNC void luaG_logicerror (lua_State *L, const TValue *p1,
-+ const TValue *p2);
-+#endif
-+
- #endif
-diff -Nurd lua-5.1.5/src/llex.c lua-5.1.5/src/llex.c
---- lua-5.1.5/src/llex.c 2009-11-23 16:58:22.000000000 +0200
-+++ lua-5.1.5/src/llex.c 2012-11-28 21:12:23.958419501 +0200
-@@ -39,7 +39,11 @@
- "end", "false", "for", "function", "if",
- "in", "local", "nil", "not", "or", "repeat",
- "return", "then", "true", "until", "while",
-+#if defined(LUA_BITWISE_OPERATORS)
-+ "..", "...", "==", ">=", ">>", "<=", "<<", "^^", "~=", "!="
-+#else
- "..", "...", "==", ">=", "<=", "~=",
-+#endif
- "<number>", "<name>", "<string>", "<eof>",
- NULL
- };
-@@ -373,6 +377,30 @@
- if (ls->current != '=') return '=';
- else { next(ls); return TK_EQ; }
- }
-+#if defined(LUA_BITWISE_OPERATORS)
-+ case '<': {
-+ next(ls);
-+ if (ls->current == '=') { next(ls); return TK_LE; }
-+ else if (ls->current == '<') { next(ls); return TK_LSHFT; }
-+ else return '<';
-+ }
-+ case '>': {
-+ next(ls);
-+ if (ls->current == '=') { next(ls); return TK_GE; }
-+ else if (ls->current == '>') { next(ls); return TK_RSHFT; }
-+ else return '>';
-+ }
-+ case '^': {
-+ next(ls);
-+ if (ls->current != '^') return '^';
-+ else { next(ls); return TK_XOR; }
-+ }
-+ case '!': {
-+ next(ls);
-+ if (ls->current != '=') return '!';
-+ else { next(ls); return TK_NE; }
-+ }
-+#else
- case '<': {
- next(ls);
- if (ls->current != '=') return '<';
-@@ -381,8 +409,9 @@
- case '>': {
- next(ls);
- if (ls->current != '=') return '>';
-- else { next(ls); return TK_GE; }
-+ else { next(ls); return TK_GE; }
- }
-+#endif
- case '~': {
- next(ls);
- if (ls->current != '=') return '~';
-diff -Nurd lua-5.1.5/src/llex.h lua-5.1.5/src/llex.h
---- lua-5.1.5/src/llex.h 2007-12-27 15:02:25.000000000 +0200
-+++ lua-5.1.5/src/llex.h 2012-11-28 21:12:23.962419499 +0200
-@@ -28,7 +28,11 @@
- TK_IF, TK_IN, TK_LOCAL, TK_NIL, TK_NOT, TK_OR, TK_REPEAT,
- TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE,
- /* other terminal symbols */
-+#if defined(LUA_BITWISE_OPERATORS)
-+ TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LSHFT, TK_LE, TK_RSHFT, TK_XOR, TK_NE, TK_CNE, TK_NUMBER,
-+#else
- TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LE, TK_NE, TK_NUMBER,
-+#endif
- TK_NAME, TK_STRING, TK_EOS
- };
-
-diff -Nurd lua-5.1.5/src/lopcodes.c lua-5.1.5/src/lopcodes.c
---- lua-5.1.5/src/lopcodes.c 2007-12-27 15:02:25.000000000 +0200
-+++ lua-5.1.5/src/lopcodes.c 2012-11-28 21:12:23.962419499 +0200
-@@ -32,6 +32,15 @@
- "DIV",
- "MOD",
- "POW",
-+#if defined(LUA_BITWISE_OPERATORS)
-+ "BOR",
-+ "BAND",
-+ "OP_BXOR"
-+ "BLSHFT",
-+ "BRSHFT",
-+ "BNOT",
-+ "INTDIV",
-+#endif
- "UNM",
- "NOT",
- "LEN",
-@@ -78,6 +87,15 @@
- ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */
- ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */
- ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */
-+#if defined(LUA_BITWISE_OPERATORS)
-+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BOR */
-+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BAND */
-+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BXOR */
-+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BLSHFT */
-+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BRSHFT */
-+ ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_BNOT */
-+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_INTDIV */
-+#endif
- ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */
- ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */
- ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */
-diff -Nurd lua-5.1.5/src/lopcodes.h lua-5.1.5/src/lopcodes.h
---- lua-5.1.5/src/lopcodes.h 2007-12-27 15:02:25.000000000 +0200
-+++ lua-5.1.5/src/lopcodes.h 2012-11-28 21:12:23.962419499 +0200
-@@ -174,10 +174,20 @@
- OP_DIV,/* A B C R(A) := RK(B) / RK(C) */
- OP_MOD,/* A B C R(A) := RK(B) % RK(C) */
- OP_POW,/* A B C R(A) := RK(B) ^ RK(C) */
-+#if defined(LUA_BITWISE_OPERATORS)
-+OP_BOR,/* A B C R(A) := RK(B) | RK(C) */
-+OP_BAND,/* A B C R(A) := RK(B) & RK(C) */
-+OP_BXOR,/* A B C R(A) := RK(B) ^| RK(C) */
-+OP_BLSHFT,/* A B C R(A) := RK(B) << RK(C) */
-+OP_BRSHFT,/* A B C R(A) := RK(B) >> RK(C) */
-+OP_BNOT,/* A B R(A) := ~ R(B) */
-+OP_INTDIV,/* A B C R(A) := RK(B) \ RK(C) */
-+#endif
- OP_UNM,/* A B R(A) := -R(B) */
- OP_NOT,/* A B R(A) := not R(B) */
- OP_LEN,/* A B R(A) := length of R(B) */
-
-+
- OP_CONCAT,/* A B C R(A) := R(B).. ... ..R(C) */
-
- OP_JMP,/* sBx pc+=sBx */
-@@ -186,8 +196,8 @@
- OP_LT,/* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */
- OP_LE,/* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */
-
--OP_TEST,/* A C if not (R(A) <=> C) then pc++ */
--OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */
-+OP_TEST,/* A C if not (R(A) <=> C) then pc++ */
-+OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */
-
- OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */
- OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */
-@@ -197,8 +207,8 @@
- if R(A) <?= R(A+1) then { pc+=sBx; R(A+3)=R(A) }*/
- OP_FORPREP,/* A sBx R(A)-=R(A+2); pc+=sBx */
-
--OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2));
-- if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */
-+OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2));
-+ if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */
- OP_SETLIST,/* A B C R(A)[(C-1)*FPF+i] := R(A+i), 1 <= i <= B */
-
- OP_CLOSE,/* A close all variables in the stack up to (>=) R(A)*/
-diff -Nurd lua-5.1.5/src/lparser.c lua-5.1.5/src/lparser.c
---- lua-5.1.5/src/lparser.c 2011-10-21 22:31:42.000000000 +0300
-+++ lua-5.1.5/src/lparser.c 2012-11-28 21:12:23.962419499 +0200
-@@ -780,6 +780,9 @@
- case TK_NOT: return OPR_NOT;
- case '-': return OPR_MINUS;
- case '#': return OPR_LEN;
-+#if defined(LUA_BITWISE_OPERATORS)
-+ case '~': return OPR_BNOT;
-+#endif
- default: return OPR_NOUNOPR;
- }
- }
-@@ -793,6 +796,14 @@
- case '/': return OPR_DIV;
- case '%': return OPR_MOD;
- case '^': return OPR_POW;
-+#if defined(LUA_BITWISE_OPERATORS)
-+ case '|': return OPR_BOR;
-+ case '&': return OPR_BAND;
-+ case TK_XOR: return OPR_BXOR;
-+ case TK_LSHFT: return OPR_BLSHFT;
-+ case TK_RSHFT: return OPR_BRSHFT;
-+ case '\\': return OPR_INTDIV;
-+#endif
- case TK_CONCAT: return OPR_CONCAT;
- case TK_NE: return OPR_NE;
- case TK_EQ: return OPR_EQ;
-@@ -812,6 +823,9 @@
- lu_byte right; /* right priority */
- } priority[] = { /* ORDER OPR */
- {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `+' `-' `/' `%' */
-+#if defined(LUA_BITWISE_OPERATORS)
-+ {6, 6}, {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `|' `&' `!' `<<' `>>' `\' */
-+#endif
- {10, 9}, {5, 4}, /* power and concat (right associative) */
- {3, 3}, {3, 3}, /* equality and inequality */
- {3, 3}, {3, 3}, {3, 3}, {3, 3}, /* order */
-diff -Nurd lua-5.1.5/src/ltm.c lua-5.1.5/src/ltm.c
---- lua-5.1.5/src/ltm.c 2007-12-27 15:02:25.000000000 +0200
-+++ lua-5.1.5/src/ltm.c 2012-11-28 21:12:23.962419499 +0200
-@@ -34,6 +34,9 @@
- "__add", "__sub", "__mul", "__div", "__mod",
- "__pow", "__unm", "__len", "__lt", "__le",
- "__concat", "__call"
-+#if defined(LUA_BITWISE_OPERATORS)
-+ ,"__or", "__and", "__xor", "__shl", "__shr", "__not", "__intdiv"
-+#endif
- };
- int i;
- for (i=0; i<TM_N; i++) {
-diff -Nurd lua-5.1.5/src/ltm.h lua-5.1.5/src/ltm.h
---- lua-5.1.5/src/ltm.h 2007-12-27 15:02:25.000000000 +0200
-+++ lua-5.1.5/src/ltm.h 2012-11-28 21:12:23.962419499 +0200
-@@ -33,6 +33,15 @@
- TM_LE,
- TM_CONCAT,
- TM_CALL,
-+#if defined(LUA_BITWISE_OPERATORS)
-+ TM_BOR,
-+ TM_BAND,
-+ TM_BXOR,
-+ TM_BLSHFT,
-+ TM_BRSHFT,
-+ TM_BNOT,
-+ TM_INTDIV,
-+#endif
- TM_N /* number of elements in the enum */
- } TMS;
-
-diff -Nurd lua-5.1.5/src/luaconf.h lua-5.1.5/src/luaconf.h
---- lua-5.1.5/src/luaconf.h 2008-02-11 18:25:08.000000000 +0200
-+++ lua-5.1.5/src/luaconf.h 2012-11-28 21:12:23.962419499 +0200
-@@ -2,6 +2,7 @@
- ** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $
- ** Configuration file for Lua
- ** See Copyright Notice in lua.h
-+** Added logic operators : & | ^^ (xor) << >> ~, arithmetic operator \ (integer division) and != as an alternative to ~=
- */
-
-
-@@ -209,6 +210,12 @@
- */
- #define LUA_IDSIZE 60
-
-+/*
-+@@ LUA_BITWISE_OPERATORS enable logical operators | & ^| >> << ~ on lua_Number
-+@* but also arithmetic operator \ (integer division) and != as an alernative to ~=
-+*/
-+#define LUA_BITWISE_OPERATORS
-+
-
- /*
- ** {==================================================================
-@@ -216,6 +223,7 @@
- ** ===================================================================
- */
-
-+
- #if defined(lua_c) || defined(luaall_c)
-
- /*
-@@ -526,25 +534,6 @@
-
-
- /*
--@@ The luai_num* macros define the primitive operations over numbers.
--*/
--#if defined(LUA_CORE)
--#include <math.h>
--#define luai_numadd(a,b) ((a)+(b))
--#define luai_numsub(a,b) ((a)-(b))
--#define luai_nummul(a,b) ((a)*(b))
--#define luai_numdiv(a,b) ((a)/(b))
--#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b))
--#define luai_numpow(a,b) (pow(a,b))
--#define luai_numunm(a) (-(a))
--#define luai_numeq(a,b) ((a)==(b))
--#define luai_numlt(a,b) ((a)<(b))
--#define luai_numle(a,b) ((a)<=(b))
--#define luai_numisnan(a) (!luai_numeq((a), (a)))
--#endif
--
--
--/*
- @@ lua_number2int is a macro to convert lua_Number to int.
- @@ lua_number2integer is a macro to convert lua_Number to lua_Integer.
- ** CHANGE them if you know a faster way to convert a lua_Number to
-@@ -560,7 +549,7 @@
- /* On a Microsoft compiler, use assembler */
- #if defined(_MSC_VER)
-
--#define lua_number2int(i,d) __asm fld d __asm fistp i
-+#define lua_number2int(i,d) { __asm fld d __asm fistp i }
- #define lua_number2integer(i,n) lua_number2int(i, n)
-
- /* the next trick should work on any Pentium, but sometimes clashes
-@@ -582,6 +571,38 @@
-
- #endif
-
-+
-+/*
-+@@ The luai_num* macros define the primitive operations over numbers.
-+*/
-+#if defined(LUA_CORE)
-+#include <math.h>
-+#define luai_numadd(a,b) ((a)+(b))
-+#define luai_numsub(a,b) ((a)-(b))
-+#define luai_nummul(a,b) ((a)*(b))
-+#define luai_numdiv(a,b) ((a)/(b))
-+#ifdef LUA_BITWISE_OPERATORS
-+#define luai_numintdiv(a,b) (floor((a)/(b)))
-+#endif
-+#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b))
-+#define luai_numpow(a,b) (pow(a,b))
-+#define luai_numunm(a) (-(a))
-+#define luai_numeq(a,b) ((a)==(b))
-+#define luai_numlt(a,b) ((a)<(b))
-+#define luai_numle(a,b) ((a)<=(b))
-+#define luai_numisnan(a) (!luai_numeq((a), (a)))
-+
-+#if defined(LUA_BITWISE_OPERATORS)
-+#define luai_logor(r, a, b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai|bi; }
-+#define luai_logand(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai&bi; }
-+#define luai_logxor(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai^bi; }
-+#define luai_lognot(r,a) { lua_Integer ai; lua_number2int(ai,a); r = ~ai; }
-+#define luai_loglshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai<<bi; }
-+#define luai_logrshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai>>bi; }
-+#endif
-+
-+#endif
-+
- /* }================================================================== */
-
-
-diff -Nurd lua-5.1.5/src/lua.h lua-5.1.5/src/lua.h
---- lua-5.1.5/src/lua.h 2012-01-13 22:36:20.000000000 +0200
-+++ lua-5.1.5/src/lua.h 2012-11-28 21:13:01.266418680 +0200
-@@ -17,7 +17,7 @@
-
-
- #define LUA_VERSION "Lua 5.1"
--#define LUA_RELEASE "Lua 5.1.5"
-+#define LUA_RELEASE "Lua 5.1.5+bitwiseops"
- #define LUA_VERSION_NUM 501
- #define LUA_COPYRIGHT "Copyright (C) 1994-2012 Lua.org, PUC-Rio"
- #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes"
-diff -Nurd lua-5.1.5/src/lvm.c lua-5.1.5/src/lvm.c
---- lua-5.1.5/src/lvm.c 2011-08-17 23:43:11.000000000 +0300
-+++ lua-5.1.5/src/lvm.c 2012-11-28 21:12:23.966419498 +0200
-@@ -329,6 +329,9 @@
- case TM_MOD: setnvalue(ra, luai_nummod(nb, nc)); break;
- case TM_POW: setnvalue(ra, luai_numpow(nb, nc)); break;
- case TM_UNM: setnvalue(ra, luai_numunm(nb)); break;
-+#if defined(LUA_BITWISE_OPERATORS)
-+ case TM_INTDIV: setnvalue(ra, luai_numintdiv(nb, nc)); break;
-+#endif
- default: lua_assert(0); break;
- }
- }
-@@ -336,7 +339,30 @@
- luaG_aritherror(L, rb, rc);
- }
-
--
-+#if defined(LUA_BITWISE_OPERATORS)
-+static void Logic (lua_State *L, StkId ra, const TValue *rb,
-+ const TValue *rc, TMS op) {
-+ TValue tempb, tempc;
-+ const TValue *b, *c;
-+ if ((b = luaV_tonumber(rb, &tempb)) != NULL &&
-+ (c = luaV_tonumber(rc, &tempc)) != NULL) {
-+ lua_Number nb = nvalue(b), nc = nvalue(c);
-+ lua_Integer r;
-+ switch (op) {
-+ case TM_BLSHFT: luai_loglshft(r, nb, nc); break;
-+ case TM_BRSHFT: luai_logrshft(r, nb, nc); break;
-+ case TM_BOR: luai_logor(r, nb, nc); break;
-+ case TM_BAND: luai_logand(r, nb, nc); break;
-+ case TM_BXOR: luai_logxor(r, nb, nc); break;
-+ case TM_BNOT: luai_lognot(r, nb); break;
-+ default: lua_assert(0); r = 0; break;
-+ }
-+ setnvalue(ra, r);
-+ }
-+ else if (!call_binTM(L, rb, rc, ra, op))
-+ luaG_logicerror(L, rb, rc);
-+}
-+#endif
-
- /*
- ** some macros for common tasks in `luaV_execute'
-@@ -373,6 +399,22 @@
- }
-
-
-+#if defined(LUA_BITWISE_OPERATORS)
-+#define logic_op(op,tm) { \
-+ TValue *rb = RKB(i); \
-+ TValue *rc = RKC(i); \
-+ if (ttisnumber(rb) && ttisnumber(rc)) { \
-+ lua_Integer r; \
-+ lua_Number nb = nvalue(rb), nc = nvalue(rc); \
-+ op(r, nb, nc); \
-+ setnvalue(ra, r); \
-+ } \
-+ else \
-+ Protect(Logic(L, ra, rb, rc, tm)); \
-+ }
-+#endif
-+
-+
-
- void luaV_execute (lua_State *L, int nexeccalls) {
- LClosure *cl;
-@@ -506,6 +548,45 @@
- }
- continue;
- }
-+#if defined(LUA_BITWISE_OPERATORS)
-+ case OP_BOR: {
-+ logic_op(luai_logor, TM_BOR);
-+ continue;
-+ }
-+ case OP_BAND: {
-+ logic_op(luai_logand, TM_BAND);
-+ continue;
-+ }
-+ case OP_BXOR: {
-+ logic_op(luai_logxor, TM_BXOR);
-+ continue;
-+ }
-+ case OP_BLSHFT: {
-+ logic_op(luai_loglshft, TM_BLSHFT);
-+ continue;
-+ }
-+ case OP_BRSHFT: {
-+ logic_op(luai_logrshft, TM_BRSHFT);
-+ continue;
-+ }
-+ case OP_BNOT: {
-+ TValue *rb = RB(i);
-+ if (ttisnumber(rb)) {
-+ lua_Integer r;
-+ lua_Number nb = nvalue(rb);
-+ luai_lognot(r, nb);
-+ setnvalue(ra, r);
-+ }
-+ else {
-+ Protect(Logic(L, ra, rb, rb, TM_BNOT));
-+ }
-+ continue;
-+ }
-+ case OP_INTDIV: {
-+ arith_op(luai_numintdiv, TM_DIV);
-+ continue;
-+ }
-+#endif
- case OP_NOT: {
- int res = l_isfalse(RB(i)); /* next assignment may change this value */
- setbvalue(ra, res);
-diff -Nurd lua-5.1.5/test/bitwisepatchtest.lua lua-5.1.5/test/bitwisepatchtest.lua
---- lua-5.1.5/test/bitwisepatchtest.lua 1970-01-01 02:00:00.000000000 +0200
-+++ lua-5.1.5/test/bitwisepatchtest.lua 2012-11-28 21:12:23.966419498 +0200
-@@ -0,0 +1,24 @@
-+hex=function (i) return "0x"..string.format("%X", i) end
-+print(hex(0x54|0x55))
-+print(hex(0x54&0x66))
-+print(hex(0x54^|0x66))
-+print(hex(~0x54))
-+print(hex(0xF<< 4))
-+print(hex(0xF0>> 4))
-+a,b=0x54,0x55
-+print(hex(a),"|",hex(b), "=",hex(a|b))
-+print(hex(a),"|","0x55", "=",hex(a|0x55))
-+print(hex(a),"|","0x5|0x50 (", hex(0x5|0x50), ") =",hex(a|(0x5|0x50)))
-+a,b=0x54,0x66
-+print(hex(a),"&",hex(b), "=",hex(a&b))
-+print(hex(a),"&","0x66", "=",hex(a&0x66))
-+print(hex(a),"^|",hex(b), "=",hex(a^|b))
-+print(hex(a),"^|","0x66", "=",hex(a^|0x66))
-+print("~"..hex(a),"=",hex(~a))
-+a,b=0xF,0xF0
-+print(hex(a).."<<4","=",hex(a<<4))
-+print(hex(b)..">>4","=",hex(b>>4))
-+a,b=0xF,4
-+print(hex(a).."<<"..b,"=",hex(a<<b))
-+a,b=0xF0,4
-+print(hex(a)..">>"..b,"=",hex(a>>b))
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc b/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc
deleted file mode 100644
index 64c03d2b6c..0000000000
--- a/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=/usr
-libdir=${prefix}/lib
-includedir=${prefix}/include
-
-Name: Lua
-Description: Lua language engine
-Version: 5.1.5
-Requires:
-Libs: -L${libdir} -llua
-Libs.private: -lm
-Cflags: -I${includedir}
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch
deleted file mode 100644
index b64a6a26bf..0000000000
--- a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-lua.org patch 1 for lua-5.1.5.
-from http://www.lua.org/bugs.html
-
-Upstream-Status: Backport
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurd lua-5.1.5/src/Makefile lua-5.1.5/src/Makefile
---- lua-5.1.5/src/Makefile 2012-02-13 22:41:22.000000000 +0200
-+++ lua-5.1.5/src/Makefile 2013-10-25 11:29:49.769540434 +0300
-@@ -48,7 +48,7 @@
- a: $(ALL_A)
-
- $(LUA_A): $(CORE_O) $(LIB_O)
-- $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
-+ $(AR) $@ $(CORE_O) $(LIB_O)
- $(RANLIB) $@
-
- $(LUA_T): $(LUA_O) $(LUA_A)
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch
deleted file mode 100644
index 0c48ea2876..0000000000
--- a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-lua.org patch 2 for lua-5.1.5.
-from http://www.lua.org/bugs.html
-
-Upstream-Status: Backport
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurd lua-5.1.5/src/lzio.c lua-5.1.5/src/lzio.c
---- lua-5.1.5/src/lzio.c 2007-12-27 15:02:25.000000000 +0200
-+++ lua-5.1.5/src/lzio.c 2013-10-25 11:32:45.773536572 +0300
-@@ -22,10 +22,14 @@
- size_t size;
- lua_State *L = z->L;
- const char *buff;
-+ if (z->eoz) return EOZ;
- lua_unlock(L);
- buff = z->reader(L, z->data, &size);
- lua_lock(L);
-- if (buff == NULL || size == 0) return EOZ;
-+ if (buff == NULL || size == 0) {
-+ z->eoz = 1; /* avoid calling reader function next time */
-+ return EOZ;
-+ }
- z->n = size - 1;
- z->p = buff;
- return char2int(*(z->p++));
-@@ -51,6 +55,7 @@
- z->data = data;
- z->n = 0;
- z->p = NULL;
-+ z->eoz = 0;
- }
-
-
-diff -Nurd lua-5.1.5/src/lzio.h lua-5.1.5/src/lzio.h
---- lua-5.1.5/src/lzio.h 2007-12-27 15:02:25.000000000 +0200
-+++ lua-5.1.5/src/lzio.h 2013-10-25 11:31:50.301537789 +0300
-@@ -59,6 +59,7 @@
- lua_Reader reader;
- void* data; /* additional data */
- lua_State *L; /* Lua state (for reader) */
-+ int eoz; /* true if reader has no more data */
- };
-
-
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch b/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch
deleted file mode 100644
index 0555e81b19..0000000000
--- a/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: lua-5.1.4/src/Makefile
-===================================================================
---- lua-5.1.4.orig/src/Makefile 2010-10-16 09:51:52.000000000 +0200
-+++ lua-5.1.4/src/Makefile 2010-10-16 09:52:15.000000000 +0200
-@@ -12,7 +12,7 @@
- AR= ar rcu
- RANLIB= ranlib
- RM= rm -f
--LIBS= -lm $(MYLIBS)
-+LIBS= -lm -lpthread $(MYLIBS)
-
- MYCFLAGS=
- MYLDFLAGS=
diff --git a/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb b/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb
deleted file mode 100644
index f9469948e4..0000000000
--- a/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-DESCRIPTION = "Lua is a powerful light-weight programming language designed \
-for extending applications."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=59bdd99bb82238f238cf5c65c21604fd"
-HOMEPAGE = "http://www.lua.org/"
-
-PR = "r2"
-
-DEPENDS += "readline"
-SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz \
- file://bitwise_operators.patch \
- file://lua5.1.pc \
- file://luaorg_1.patch \
- file://luaorg_2.patch \
-"
-S = "${WORKDIR}/lua-${PV}"
-
-inherit pkgconfig binconfig
-
-UCLIBC_PATCHES += "file://uclibc-pthread.patch"
-SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}"
-
-TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
-EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'"
-
-do_configure_prepend() {
- sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
- sed -i -e s:lib/lua/5.1/:${base_libdir}/lua/5.1/:g src/luaconf.h
-}
-
-do_compile () {
- oe_runmake linux
-}
-
-do_install () {
- oe_runmake \
- 'INSTALL_TOP=${D}${prefix}' \
- 'INSTALL_BIN=${D}${bindir}' \
- 'INSTALL_INC=${D}${includedir}/' \
- 'INSTALL_MAN=${D}${mandir}/man1' \
- 'INSTALL_SHARE=${D}${datadir}/lua' \
- 'INSTALL_LIB=${D}${libdir}' \
- 'INSTALL_CMOD=${D}${libdir}/lua/5.1' \
- install
- install -d ${D}${libdir}/pkgconfig
- install -m 0644 ${WORKDIR}/lua5.1.pc ${D}${libdir}/pkgconfig/lua5.1.pc
- rmdir ${D}${libdir}/lua/5.1
- rmdir ${D}${libdir}/lua
- rmdir ${D}${datadir}/lua/5.1
- rmdir ${D}${datadir}/lua
-}
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "2e115fe26e435e33b0d5c022e4490567"
-SRC_URI[sha256sum] = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333"
diff --git a/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch b/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch
deleted file mode 100644
index b9f17f4e31..0000000000
--- a/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-Upstream-Status: Unknown
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-libluajit is having symbols that can't be
-resolved the reloc cannot accommodate an offset greater than 24 bits.
-
-Looking at libluajit with readelf -r, you see a bunch of entries that look like:
- 000082f0 00003c0a R_PPC_REL24 00000000 sqrt + 0
-
-These should not occur when the code is compiled and linked with -fPIC.
-
-It turns out that libluajit *is* compiled and linked with -fPIC, however...
-There is one assembler file called lj_vm.s which is generated during the build.
-This file is missing the `@plt' qualifier from external references.
-
-This file is generated by a program called buildvm. This in turn uses tables
-in a file called buildvm_arch.h which is generated by dynasm.lua.
-
-Index: LuaJIT-2.0.1/src/host/buildvm.c
-===================================================================
---- LuaJIT-2.0.1.orig/src/host/buildvm.c 2013-02-19 12:15:00.000000000 -0800
-+++ LuaJIT-2.0.1/src/host/buildvm.c 2013-05-14 20:26:05.933444512 -0700
-@@ -107,12 +107,14 @@
- #endif
- sprintf(name, "%s%s%s", symprefix, prefix, suffix);
- p = strchr(name, '@');
-+#if 0
- if (p) {
- if (!LJ_64 && (ctx->mode == BUILD_coffasm || ctx->mode == BUILD_peobj))
- name[0] = '@';
- else
- *p = '\0';
- }
-+#endif
- p = (char *)malloc(strlen(name)+1); /* MSVC doesn't like strdup. */
- strcpy(p, name);
- return p;
-Index: LuaJIT-2.0.1/src/vm_ppcspe.dasc
-===================================================================
---- LuaJIT-2.0.1.orig/src/vm_ppcspe.dasc 2013-02-19 12:15:00.000000000 -0800
-+++ LuaJIT-2.0.1/src/vm_ppcspe.dasc 2013-05-14 20:26:05.937444512 -0700
-@@ -1390,7 +1390,7 @@
- | checknum CARG2
- | evmergehi CARG1, CARG2, CARG2
- | checkfail ->fff_fallback
-- | bl extern func
-+ | bl extern func@plt
- | evmergelo CRET1, CRET1, CRET2
- | b ->fff_restv
- |.endmacro
-@@ -1405,7 +1405,7 @@
- | checknum CARG1
- | evmergehi CARG3, CARG4, CARG4
- | checkanyfail ->fff_fallback
-- | bl extern func
-+ | bl extern func@plt
- | evmergelo CRET1, CRET1, CRET2
- | b ->fff_restv
- |.endmacro
-@@ -1437,7 +1437,7 @@
- | checknum CARG2
- | evmergehi CARG1, CARG2, CARG2
- | checkfail ->fff_fallback
-- | bl extern log
-+ | bl extern log@plt
- | evmergelo CRET1, CRET1, CRET2
- | b ->fff_restv
- |
-@@ -1471,7 +1471,7 @@
- | checknum CARG1
- | checkanyfail ->fff_fallback
- | efdctsi CARG3, CARG4
-- | bl extern ldexp
-+ | bl extern ldexp@plt
- | evmergelo CRET1, CRET1, CRET2
- | b ->fff_restv
- |
-@@ -1484,7 +1484,7 @@
- | checkfail ->fff_fallback
- | la CARG3, DISPATCH_GL(tmptv)(DISPATCH)
- | lwz PC, FRAME_PC(BASE)
-- | bl extern frexp
-+ | bl extern frexp@plt
- | lwz TMP1, DISPATCH_GL(tmptv)(DISPATCH)
- | evmergelo CRET1, CRET1, CRET2
- | efdcfsi CRET2, TMP1
-@@ -1503,7 +1503,7 @@
- | checkfail ->fff_fallback
- | la CARG3, -8(BASE)
- | lwz PC, FRAME_PC(BASE)
-- | bl extern modf
-+ | bl extern modf@plt
- | evmergelo CRET1, CRET1, CRET2
- | la RA, -8(BASE)
- | evstdd CRET1, 0(BASE)
-@@ -2399,7 +2399,7 @@
- | checknum CARG1
- | evmergehi CARG3, CARG4, CARG4
- | checkanyfail ->vmeta_arith_vv
-- | bl extern pow
-+ | bl extern pow@plt
- | evmergelo CRET2, CRET1, CRET2
- | evstddx CRET2, BASE, RA
- | ins_next
diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb b/meta-oe/recipes-devtools/luajit/luajit_2.0.3.bb
index b719b48e09..48137e3852 100644
--- a/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb
+++ b/meta-oe/recipes-devtools/luajit/luajit_2.0.3.bb
@@ -1,27 +1,29 @@
SUMMARY = "Just-In-Time Compiler for Lua"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1793ef52a5d577794cd886a501a7f861"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=97b6446bbf9d55616838f821585c5978"
HOMEPAGE = "http://luajit.org"
-DEPENDS += "lua5.1"
-SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz;name=tarball \
+SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz \
file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \
- "
-SRC_URI[tarball.md5sum] = "112dfb82548b03377fbefbba2e0e3a5b"
-SRC_URI[tarball.sha256sum] = "c05202974a5890e777b181908ac237625b499aece026654d7cc33607e3f46c38"
-
-SRC_URI_append_fslmachine = " file://ppc-fixplt.patch "
+"
+SRC_URI[md5sum] = "f14e9104be513913810cd59c8c658dc0"
+SRC_URI[sha256sum] = "55be6cb2d101ed38acca32c5b1f99ae345904b365b642203194c585d27bebd79"
S = "${WORKDIR}/LuaJIT-${PV}"
inherit pkgconfig binconfig
+BBCLASSEXTEND = "native"
+
do_configure_prepend() {
sed -i -e s:/usr/local:${prefix}:g ${S}/Makefile
sed -i -e s:/lib$:${base_libdir}:g ${S}/Makefile
}
-EXTRA_OEMAKE = 'CROSS=${HOST_PREFIX} TARGET_CFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}"'
+EXTRA_OEMAKE = 'CROSS=${HOST_PREFIX} \
+ TARGET_CFLAGS="${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}" \
+ TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" \
+ TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}"'
EXTRA_OEMAKE_append_powerpc = ' HOST_CC="${BUILD_CC} -m32"'
EXTRA_OEMAKE_append_x86-64 = ' HOST_CC="${BUILD_CC}"'
EXTRA_OEMAKE_append_i586 = ' HOST_CC="${BUILD_CC} -m32"'
@@ -35,9 +37,9 @@ do_compile () {
do_install () {
oe_runmake 'DESTDIR=${D}' install
- rmdir ${D}${datadir}/lua/5.1 \
+ rmdir ${D}${datadir}/lua/5.* \
${D}${datadir}/lua \
- ${D}${libdir}/lua/5.1 \
+ ${D}${libdir}/lua/5.* \
${D}${libdir}/lua
}
diff --git a/meta-oe/recipes-devtools/memstat/memstat_1.0.bb b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
new file mode 100644
index 0000000000..825215372c
--- /dev/null
+++ b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Display virtual memory allocation"
+DESCRIPTION = "Lists all the processes, executables, and shared libraries \
+that are using up virtual memory. It's helpful to see how the shared memory \
+is used and which 'old' libs are loaded. \
+"
+HOMEPAGE = "http://memstattool.sourceforge.net/"
+SECTION = "devtool"
+
+LICENSE = "GPLv2"
+
+S = "${WORKDIR}/memstattool"
+
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=87be186443b1ac2cfa466f475e1ee0cb"
+
+SRC_URI = "http://sourceforge.net/projects/memstattool/files/memstat_${PV}.tar.gz \
+ "
+
+SRC_URI[md5sum] = "2c3acc0c62b2a18f6601b84e54aa7462"
+SRC_URI[sha256sum] = "245d5fc7fb87bcfd14486cd34917cae2856e799559ac568434af12c4852bce94"
+
+do_install_append(){
+ install -d ${D}${bindir}
+ install -m 0755 memstat ${D}${bindir}
+ install -d ${D}${sysconfdir}
+ install -m 0755 memstat.conf ${D}${sysconfdir}
+ install -d ${D}${mandir}/man1
+ install -m 0644 memstat.1 ${D}${mandir}/man1
+ install -d ${D}${docdir}/${BPN}
+ install -m 0644 memstat-tutorial.txt ${D}${docdir}/${BPN}
+}
diff --git a/meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb b/meta-oe/recipes-devtools/mercurial/mercurial-native_3.0.1.bb
index 516a9ecc41..9a5eebe32a 100644
--- a/meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb
+++ b/meta-oe/recipes-devtools/mercurial/mercurial-native_3.0.1.bb
@@ -4,11 +4,10 @@ SECTION = "console/utils"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "python-native"
-PR = "r2"
SRC_URI = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz"
-SRC_URI[md5sum] = "d4842129fa2732eb6ed1180467bc32e2"
-SRC_URI[sha256sum] = "711e4b1cd2924a7a88499d6c431a9122390183bf554d4e153edbb3b2f30123e0"
+SRC_URI[md5sum] = "15de301a673b77f839325dba10ed4fc0"
+SRC_URI[sha256sum] = "36e48b59a84ef5a222d06596971e955ac8217e56b076dfb94c8ce5a0c29fd705"
S = "${WORKDIR}/mercurial-${PV}"
diff --git a/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
new file mode 100644
index 0000000000..caebcb9eab
--- /dev/null
+++ b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
@@ -0,0 +1,19 @@
+SUMMARY = "utilies to read and write Intel model-specific registers"
+HOMEPAGE = "https://01.org/msr-tools"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://Makefile;beginline=1;endline=11;md5=678a3928c856042424c734f4a7586e65"
+SECTION = "devel"
+
+SRC_URI = "https://01.org/sites/default/files/downloads/msr-tools/msr-tools-${PV}.zip"
+SRC_URI[md5sum] = "67d18527f64fd707c9b7a79f13d19fd5"
+SRC_URI[sha256sum] = "f9457b5340f5f274da4239a461f0db6b514142b40461559d9c6150f05aab1d1e"
+
+S = "${WORKDIR}/msr-tools-master"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 rdmsr ${D}${sbindir}
+ install -m 0755 wrmsr ${D}${sbindir}
+}
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb
index 996d68ea6e..839bfa425f 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb
@@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=95a589a3257ab7dfe37d8a8379e3c72d"
DEPENDS = "openssl"
+inherit pythonnative
+
SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \
file://0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch \
"
@@ -38,5 +40,5 @@ do_install () {
RDEPENDS_${PN} = "curl python-shell python-datetime python-subprocess python-crypt python-textutils python-netclient "
RDEPENDS_${PN}_class-native = ""
-FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules ${libdir}/dtrace"
+FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules ${libdir}/dtrace ${libdir}/*"
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
index 9b8cc9a257..aafe63acfb 100644
--- a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
+++ b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
@@ -6,9 +6,9 @@ PR = "r1"
inherit packagegroup allarch
-RPROVIDES_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk"
-RREPLACES_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk"
-RCONFLICTS_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk"
+RPROVIDES_${PN} += "packagegroup-native-sdk"
+RREPLACES_${PN} += "packagegroup-native-sdk"
+RCONFLICTS_${PN} += "packagegroup-native-sdk"
RDEPENDS_${PN} = "gcc-symlinks g++-symlinks cpp cpp-symlinks \
binutils-symlinks \
perl-modules \
diff --git a/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb b/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
index 96cc468e38..59b0a43f4a 100644
--- a/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
+++ b/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
@@ -41,7 +41,6 @@ EXTRA_OECONF = "--with-security-framework=dummy \
do_configure_append() {
for i in $(find . -name Makefile) ; do
sed -i -e s:${STAGING_DIR_NATIVE}::g \
- -e s:${bindir}/mkdir:${STAGING_BINDIR_NATIVE}/mkdir:g \
-e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \
$i
done
diff --git a/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb b/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb
new file mode 100644
index 0000000000..66054a257f
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "\
+IPC::Run allows you run and interact with child processes \
+using files, pipes, and pseudo-ttys. Both system()-style and scripted \
+usages are supported and may be mixed. Likewise, functional and OO API \
+styles are both supported and may be mixed."
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
+DEPENDS = "perl"
+
+SRC_URI = "git://github.com/toddr/IPC-Run.git"
+SRCREV = "6bdf41e276e06d23e140783b13a6eaef4745c216"
+
+S = "${WORKDIR}/git"
+
+inherit cpan
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc
deleted file mode 100644
index b1bf79cfc0..0000000000
--- a/meta-oe/recipes-devtools/php/php.inc
+++ /dev/null
@@ -1,133 +0,0 @@
-DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the CGI."
-HOMEPAGE = "http://www.php.net"
-SECTION = "console/network"
-LICENSE = "PHP-3.0"
-BBCLASSEXTEND = "native"
-DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native \
- libc-client openssl"
-DEPENDS_virtclass-native = "zlib-native libxml2-native"
-
-INC_PR = "r5"
-
-# The new PHP downloads server groups PHP releases by major version so find
-# the major version of the PHP recipe.
-PHP_MAJVER = "${@d.getVar('PV',1).split('.')[0]}"
-
-SRC_URI = "http://museum.php.net/php${PHP_MAJVER}/php-${PV}.tar.bz2"
-
-S = "${WORKDIR}/php-${PV}"
-
-inherit autotools pkgconfig pythonnative gettext
-
-SSTATE_SCAN_FILES += "build-defs.h"
-
-# Common EXTRA_OECONF
-COMMON_EXTRA_OECONF = "--enable-sockets --enable-pcntl --enable-shared"
-EXTRA_OECONF = "--enable-mbstring \
- --enable-wddx \
- --enable-fpm \
- --with-imap=${STAGING_DIR_HOST} \
- --with-gettext=${STAGING_LIBDIR}/.. \
- --with-imap-ssl=${STAGING_DIR_HOST} \
- --with-zlib=${STAGING_LIBDIR}/.. \
- --with-iconv=${STAGING_LIBDIR}/.. \
- --with-libxml-dir=${STAGING_BINDIR_CROSS} \
- ${COMMON_EXTRA_OECONF} \
-"
-EXTRA_OECONF_virtclass-native = " \
- --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
- --with-libxml-dir=${STAGING_BINDIR_NATIVE} \
- ${COMMON_EXTRA_OECONF} \
-"
-
-PACKAGECONFIG ??= "mysql sqlite3"
-PACKAGECONFIG_class-native = ""
-
-PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \
- --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
- --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
- , \
- ,mysql5"
-
-PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
- --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
- , \
- ,sqlite3"
-
-export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
-export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
-CFLAGS += " -D_GNU_SOURCE"
-
-EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
-
-acpaths = ""
-
-do_install_append_pn-php-native() {
- rm -rf ${D}/${libdir}/php/.registry
- rm -rf ${D}/${libdir}/php/.channels
- rm -rf ${D}/${libdir}/php/.[a-z]*
-}
-
-# fixme
-do_install_append_pn-php() {
- install -d ${D}/${sysconfdir}/
- if [ -d ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ];then
- mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir}/* ${D}/${sysconfdir}/
- fi
- rm -rf ${D}/${TMPDIR}
- rm -rf ${D}/.registry
- rm -rf ${D}/.channels
- rm -rf ${D}/.[a-z]*
- rm -rf ${D}/var
- rm -f ${D}/${sysconfdir}/php-fpm.conf.default
- sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf
- install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf
- install -d ${D}/${sysconfdir}/apache2/conf.d
- install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
- install -d ${D}${sysconfdir}/init.d
- sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm
- sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm
- sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm
- install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm
- TMP=`dirname ${D}/${TMPDIR}`
- while test ${TMP} != ${D}; do
- rmdir ${TMP}
- TMP=`dirname ${TMP}`;
- done
-}
-
-PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
-
-RDEPENDS_${PN}-pear = "${PN}"
-RDEPENDS_${PN}-cli = "${PN}"
-RDEPENDS_${PN}-dev = "${PN}"
-
-INITSCRIPT_PACKAGES = "${PN}-fpm"
-inherit update-rc.d
-
-FILES_${PN}-dbg =+ "${bindir}/.debug"
-FILES_${PN}-doc += "${libdir}/php/doc"
-FILES_${PN}-cli = "${bindir}/php"
-FILES_${PN}-cgi = "${bindir}/php-cgi"
-FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm"
-FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
-CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf"
-CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
-INITSCRIPT_NAME_${PN}-fpm = "php-fpm"
-INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60"
-FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${libdir}/php/PEAR \
- ${libdir}/php/PEAR.php ${libdir}/php/System.php \
- ${libdir}php/peclcmd.php ${libdir}/php/pearcmd.php \
- ${libdir}/php/.channels ${libdir}/php/.channels/.alias \
- ${libdir}/php/.channels\__uri.reg \
- ${libdir}/php/.channels\pear.php.net.reg \
- ${libdir}/php/.channels/pecl.php.net.reg \
- ${libdir}/php/.registry ${libdir}/php/Archive/Tar.php \
- ${libdir}/php/Console/Getopt.php ${libdir}/php/OS/Guess.php \
- ${sysconfdir}/pear.conf"
-FILES_${PN}-dev = "${includedir}/php ${libdir}/build ${bindir}/phpize \
- ${bindir}/php-config ${libdir}/php/.depdb \
- ${libdir}/php/.depdblock ${libdir}/php/.filemap \
- ${libdir}/php/.lock ${libdir}/php/test"
-FILES_${PN} = "${libdir}/php"
-FILES_${PN} += "${bindir}"
diff --git a/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch b/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
new file mode 100644
index 0000000000..51a5e43b60
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
@@ -0,0 +1,90 @@
+From 003c9feaae6ed5c173edcea51193e49bc94ac39a Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen.kooi@linaro.org>
+Date: Tue, 17 Jun 2014 09:53:00 +0200
+Subject: [PATCH 3/8] acinclude: use pkgconfig for libxml2 config
+
+Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
+Upstream-Status: pending
+---
+ acinclude.m4 | 63 ++++++++++++++++++++++--------------------------------------
+ 1 file changed, 23 insertions(+), 40 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 206fcbf..a6c0d84 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2530,48 +2530,31 @@ dnl
+ dnl Common setup macro for libxml
+ dnl
+ AC_DEFUN([PHP_SETUP_LIBXML], [
+-AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
+-[
+-
+- ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
+-
++PKG_CHECK_MODULES([LIBXML], [libxml-2.0 > 2.6.11], [
++ PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
++ PHP_EVAL_INCLINE($LIBXML_CFLAGS)
++
++ dnl Check that build works with given libs
++ AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
++ PHP_TEST_BUILD(xmlInitParser,
++ [
++ php_cv_libxml_build_works=yes
++ AC_MSG_RESULT(yes)
++ ], [
++ AC_MSG_RESULT(no)
++ AC_MSG_ERROR([build test failed. Please check the config.log for details.])
++ ], [
++ [$]$1
++ ])
++ ])
++ if test "$php_cv_libxml_build_works" = "yes"; then
++ AC_DEFINE(HAVE_LIBXML, 1, [ ])
++ fi
++ $2
++], [
++ AC_MSG_ERROR([$LIBXML_PKG_ERRORS])
+ ])
+
+- if test -x "$ac_cv_php_xml2_config_path"; then
+- XML2_CONFIG="$ac_cv_php_xml2_config_path"
+- libxml_full_version=`$XML2_CONFIG --version`
+- ac_IFS=$IFS
+- IFS="."
+- set $libxml_full_version
+- IFS=$ac_IFS
+- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
+- if test "$LIBXML_VERSION" -ge "2006011"; then
+- LIBXML_LIBS=`$XML2_CONFIG --libs`
+- LIBXML_INCS=`$XML2_CONFIG --cflags`
+- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
+- PHP_EVAL_INCLINE($LIBXML_INCS)
+-
+- dnl Check that build works with given libs
+- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
+- PHP_TEST_BUILD(xmlInitParser,
+- [
+- php_cv_libxml_build_works=yes
+- ], [
+- AC_MSG_RESULT(no)
+- AC_MSG_ERROR([build test failed. Please check the config.log for details.])
+- ], [
+- [$]$1
+- ])
+- ])
+- if test "$php_cv_libxml_build_works" = "yes"; then
+- AC_DEFINE(HAVE_LIBXML, 1, [ ])
+- fi
+- $2
+- else
+- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
+- fi
+-ifelse([$3],[],,[else $3])
+- fi
+ ])
+
+ dnl -------------------------------------------------------------------------
+--
+1.9.3
+
diff --git a/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch b/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
index 9b71e9d2cc..2f7d581555 100644
--- a/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
+++ b/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
@@ -1,18 +1,18 @@
-From 411ec4b31fdcc524f13fe5be80fd6769b7d16a5d Mon Sep 17 00:00:00 2001
+From ebc101e0728b9db6c687cff525e5dfc8eb0edbf3 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Thu, 3 Nov 2011 14:27:15 +0100
-Subject: [PATCH] php: don't use broken wrapper for mkdir
+Subject: [PATCH 2/8] php: don't use broken wrapper for mkdir
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
Upstream-Status: Inappropriate
- Makefile.global | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ Makefile.global | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.global b/Makefile.global
-index 8dad0e4..abdb5d2 100644
+index ff858c2..ae554b4 100644
--- a/Makefile.global
+++ b/Makefile.global
@@ -1,4 +1,4 @@
@@ -22,5 +22,5 @@ index 8dad0e4..abdb5d2 100644
INSTALL_DATA = $(INSTALL) -m 644
--
-1.7.2.5
+1.9.3
diff --git a/meta-webserver/recipes-php/modphp/files/70_mod_php5.conf b/meta-oe/recipes-devtools/php/php/70_mod_php5.conf
index 1de6fb11ac..1de6fb11ac 100644
--- a/meta-webserver/recipes-php/modphp/files/70_mod_php5.conf
+++ b/meta-oe/recipes-devtools/php/php/70_mod_php5.conf
diff --git a/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch b/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
index bf519d2934..30811a74bd 100644
--- a/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
+++ b/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
@@ -1,6 +1,10 @@
---- /orig-acinclude.m4 2007-02-20 15:03:25.000000000 +0200
-+++ /acinclude.m4 2007-02-20 15:03:24.000000000 +0200
-@@ -2359,12 +2359,9 @@
+Upstream-status: Unknown
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 4fd452e..206fcbf 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2532,12 +2532,9 @@ dnl
AC_DEFUN([PHP_SETUP_LIBXML], [
AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
[
@@ -14,5 +18,8 @@
+ ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
+
])
-
+
if test -x "$ac_cv_php_xml2_config_path"; then
+--
+1.9.3
+
diff --git a/meta-webserver/recipes-php/modphp/files/configure.patch b/meta-oe/recipes-devtools/php/php/configure.patch
index c5334c706e..c5334c706e 100644
--- a/meta-webserver/recipes-php/modphp/files/configure.patch
+++ b/meta-oe/recipes-devtools/php/php/configure.patch
diff --git a/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch b/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch
deleted file mode 100644
index b009347a21..0000000000
--- a/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 0b44f16ea2f18a08eb1249db6621840527eab5e0 Mon Sep 17 00:00:00 2001
-From: Jerome Loyet <fat@php.net>
-Date: Wed, 23 May 2012 11:40:22 +0200
-Subject: [PATCH] - Fixed bug #61839 (Unable to cross-compile PHP with
- --enable-fpm)
-
----
-Upstream-Status: Applied
-http://git.php.net/?p=php-src.git;a=commit;h=0b44f16ea2f18a08eb1249db6621840527eab5e0
-
- NEWS | 1 +
- sapi/fpm/config.m4 | 4 ++++
- 2 files changed, 5 insertions(+)
-
-diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4
-index 8962810..6c860c9 100644
---- a/sapi/fpm/config.m4
-+++ b/sapi/fpm/config.m4
-@@ -192,6 +192,8 @@ AC_DEFUN([AC_FPM_TRACE],
- have_ptrace=no
- have_broken_ptrace=yes
- AC_MSG_RESULT([no])
-+ ], [
-+ AC_MSG_RESULT([skipped (cross compiling)])
- ])
- fi
-
-@@ -264,6 +266,8 @@ AC_DEFUN([AC_FPM_TRACE],
- ], [
- proc_mem_file=""
- AC_MSG_RESULT([no])
-+ ], [
-+ AC_MSG_RESULT([skipped (cross compiling)])
- ])
- fi
-
---
-1.7.11.5
diff --git a/meta-oe/recipes-devtools/php/php/iconv.patch b/meta-oe/recipes-devtools/php/php/iconv.patch
index f3d2a16bbf..255fbb062c 100644
--- a/meta-oe/recipes-devtools/php/php/iconv.patch
+++ b/meta-oe/recipes-devtools/php/php/iconv.patch
@@ -1,8 +1,10 @@
+Upstream-status: Unknown
+
diff --git a/acinclude.m4 b/acinclude.m4
-index 4c28b80..d6491a1 100644
+index a6c0d84..df11abd 100644
--- a/acinclude.m4
+++ b/acinclude.m4
-@@ -2439,7 +2439,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
+@@ -2452,7 +2452,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
dnl Check libc first if no path is provided in --with-iconv
dnl
@@ -25,3 +27,6 @@ index d673b0a..1fbef13 100644
if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
PHP_ICONV_PREFIX="$i"
break
+--
+1.9.3
+
diff --git a/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
index 3695b7bc42..da04c2d953 100644
--- a/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
+++ b/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
@@ -1,8 +1,23 @@
-Index: php-5.2.11/ext/imap/config.m4
-===================================================================
---- php-5.2.11.orig/ext/imap/config.m4 2009-12-10 12:27:52.800974533 -0700
-+++ php-5.2.11/ext/imap/config.m4 2009-12-10 12:28:33.720976583 -0700
-@@ -103,7 +103,7 @@
+Upstream-status: Unknown
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index df11abd..06e7236 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2357,7 +2357,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
+ PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
+ fi
+
+- for i in $PHP_OPENSSL_DIR; do
++ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do
+ if test -r $i/include/openssl/evp.h; then
+ OPENSSL_INCDIR=$i/include
+ fi
+diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
+index 3fcf674..f08caf7 100644
+--- a/ext/imap/config.m4
++++ b/ext/imap/config.m4
+@@ -109,7 +109,7 @@ if test "$PHP_IMAP" != "no"; then
PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
AC_DEFINE(HAVE_IMAP,1,[ ])
@@ -11,13 +26,13 @@ Index: php-5.2.11/ext/imap/config.m4
IMAP_INC_CHK()
el[]IMAP_INC_CHK(/include/c-client)
el[]IMAP_INC_CHK(/include/imap)
-@@ -192,13 +192,7 @@
+@@ -198,13 +198,7 @@ if test "$PHP_IMAP" != "no"; then
AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
fi
-- if test -r "$IMAP_DIR/c-client/c-client.a"; then
+- if test ! -r "$IMAP_DIR/c-client/libc-client.a" && test -r "$IMAP_DIR/c-client/c-client.a" ; then
- ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1
-- elif test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then
+- elif test ! -r "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" && test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then
- ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1
- fi
-
@@ -26,16 +41,6 @@ Index: php-5.2.11/ext/imap/config.m4
IMAP_LIB=$lib
IMAP_LIB_CHK($PHP_LIBDIR)
IMAP_LIB_CHK(c-client)
-Index: php-5.2.11/acinclude.m4
-===================================================================
---- php-5.2.11.orig/acinclude.m4 2009-12-10 12:37:13.134722881 -0700
-+++ php-5.2.11/acinclude.m4 2009-12-10 12:37:39.342007053 -0700
-@@ -2338,7 +2338,7 @@
- PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
- fi
-
-- for i in $PHP_OPENSSL_DIR; do
-+ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do
- if test -r $i/include/openssl/evp.h; then
- OPENSSL_INCDIR=$i/include
- fi
+--
+1.9.3
+
diff --git a/meta-oe/recipes-devtools/php/php/pear-makefile.patch b/meta-oe/recipes-devtools/php/php/pear-makefile.patch
index 1928b98966..9927d2d967 100644
--- a/meta-oe/recipes-devtools/php/php/pear-makefile.patch
+++ b/meta-oe/recipes-devtools/php/php/pear-makefile.patch
@@ -1,5 +1,7 @@
+Upstream-status: Unknown
+
diff --git a/pear/Makefile.frag b/pear/Makefile.frag
-index 1f6f70e..b19a77c 100644
+index 00bacae..739eeca 100644
--- a/pear/Makefile.frag
+++ b/pear/Makefile.frag
@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix}
@@ -11,3 +13,6 @@ index 1f6f70e..b19a77c 100644
install-pear:
@echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
+--
+1.9.3
+
diff --git a/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/meta-oe/recipes-devtools/php/php/phar-makefile.patch
index 6fde251275..2851b0f8df 100644
--- a/meta-oe/recipes-devtools/php/php/phar-makefile.patch
+++ b/meta-oe/recipes-devtools/php/php/phar-makefile.patch
@@ -1,8 +1,15 @@
+Fix phar packaging
+
+Inherited from OE-Classic, with some additions to fix host paths leaking
+into the target package.
+
+Upstream-Status: Inappropriate [config]
+
diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
-index fc93d1d..9a8cd65 100755
+index 6516ddf..36e6cf4 100644
--- a/ext/phar/Makefile.frag
+++ b/ext/phar/Makefile.frag
-@@ -6,19 +6,8 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
PHP_PHARCMD_EXECUTABLE = ` \
@@ -19,8 +26,19 @@ index fc93d1d..9a8cd65 100755
- else \
- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
- fi;`
+-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
+ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
+
- PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
++PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
$(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
+ -@test -d $(builddir)/phar || mkdir $(builddir)/phar
+@@ -39,7 +28,7 @@ install-pharcmd: pharcmd
+ -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
+ $(INSTALL) $(builddir)/phar.phar $(INSTALL_ROOT)$(bindir)
+ -@rm -f $(INSTALL_ROOT)$(bindir)/phar
+- $(LN_S) -f $(INSTALL_ROOT)$(bindir)/phar.phar $(INSTALL_ROOT)$(bindir)/phar
++ $(LN_S) -f $(bindir)/phar.phar $(INSTALL_ROOT)$(bindir)/phar
+ @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man1
+ @$(INSTALL_DATA) $(builddir)/phar.1 $(INSTALL_ROOT)$(mandir)/man1/phar.1
+ @$(INSTALL_DATA) $(builddir)/phar.phar.1 $(INSTALL_ROOT)$(mandir)/man1/phar.phar.1
diff --git a/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/meta-oe/recipes-devtools/php/php/php_exec_native.patch
index 31be1b70b7..0506bddaf4 100644
--- a/meta-oe/recipes-devtools/php/php/php_exec_native.patch
+++ b/meta-oe/recipes-devtools/php/php/php_exec_native.patch
@@ -1,12 +1,10 @@
----
- sapi/cli/config.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+Upstream-status: Inappriate
---- php-5.4.14.orig/sapi/cli/config.m4
-+++ php-5.4.14/sapi/cli/config.m4
-@@ -34,11 +34,11 @@ if test "$PHP_CLI" != "no"; then
- BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
- ;;
+diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
+index cdfa1f7..0fe11e3 100644
+--- a/sapi/cli/config.m4
++++ b/sapi/cli/config.m4
+@@ -36,7 +36,7 @@ if test "$PHP_CLI" != "no"; then
esac
dnl Set executable for tests
@@ -15,5 +13,6 @@
PHP_SUBST(PHP_EXECUTABLE)
dnl Expose to Makefile
- PHP_SUBST(SAPI_CLI_PATH)
- PHP_SUBST(BUILD_CLI)
+--
+1.9.3
+
diff --git a/meta-webserver/recipes-php/modphp/files/pthread-check-threads-m4.patch b/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch
index 0c564cd88e..0c564cd88e 100644
--- a/meta-webserver/recipes-php/modphp/files/pthread-check-threads-m4.patch
+++ b/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch
diff --git a/meta-oe/recipes-devtools/php/php_5.4.14.bb b/meta-oe/recipes-devtools/php/php_5.4.14.bb
deleted file mode 100644
index 4e0efb1ede..0000000000
--- a/meta-oe/recipes-devtools/php/php_5.4.14.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cb564efdf78cce8ea6e4b5a4f7c05d97"
-
-PR = "${INC_PR}.0"
-
-SRC_URI += "file://acinclude-xml2-config.patch \
- file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch"
-
-SRC_URI_append_pn-php += "file://iconv.patch \
- file://imap-fix-autofoo.patch \
- file://pear-makefile.patch \
- file://phar-makefile.patch \
- file://php_exec_native.patch \
- file://fix-fpm-cross-compile.patch \
- file://php-fpm.conf \
- file://php-fpm-apache.conf \
-"
-
-SRC_URI[md5sum] = "cfdc044be2c582991a1fe0967898fa38"
-SRC_URI[sha256sum] = "5450f3843bc651eb3fb00601f0cce1930aaaf65c7c966c02fe4a46f9c81be20a"
diff --git a/meta-oe/recipes-devtools/php/php_5.5.20.bb b/meta-oe/recipes-devtools/php/php_5.5.20.bb
new file mode 100644
index 0000000000..cfda14b8b9
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php_5.5.20.bb
@@ -0,0 +1,237 @@
+SUMMARY = "A server-side, HTML-embedded scripting language"
+HOMEPAGE = "http://www.php.net"
+SECTION = "console/network"
+
+LICENSE = "PHP-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=52dd90569008fee5bcdbb22d945b1108"
+
+BBCLASSEXTEND = "native"
+DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native \
+ openssl libmcrypt"
+DEPENDS_class-native = "zlib-native libxml2-native"
+
+SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
+ file://acinclude-xml2-config.patch \
+ file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \
+ file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \
+ "
+
+SRC_URI_append_class-target += " \
+ file://iconv.patch \
+ file://imap-fix-autofoo.patch \
+ file://pear-makefile.patch \
+ file://phar-makefile.patch \
+ file://php_exec_native.patch \
+ file://php-fpm.conf \
+ file://php-fpm-apache.conf \
+ file://configure.patch \
+ file://pthread-check-threads-m4.patch \
+ file://70_mod_php5.conf \
+ "
+
+SRC_URI[md5sum] = "9dfc1d4d2b44fb7e2b4ee9651d032203"
+SRC_URI[sha256sum] = "f28a150d1cd8991bd1a41dce4fdff4e343d1dbe01a48b9b44bea74532ce0391a"
+
+S = "${WORKDIR}/php-${PV}"
+
+inherit autotools pkgconfig pythonnative gettext
+
+# phpize is not scanned for absolute paths by default (but php-config is).
+#
+SSTATE_SCAN_FILES += "phpize"
+SSTATE_SCAN_FILES += "build-defs.h"
+
+PHP_LIBDIR = "${libdir}/php5"
+
+# Common EXTRA_OECONF
+COMMON_EXTRA_OECONF = "--enable-sockets \
+ --enable-pcntl \
+ --enable-shared \
+ --disable-opcache \
+ --disable-rpath \
+ --with-pic \
+ --libdir=${PHP_LIBDIR} \
+"
+EXTRA_OECONF = "--enable-mbstring \
+ --enable-wddx \
+ --enable-fpm \
+ --enable-zip \
+ --with-libdir=${baselib} \
+ --with-gettext=${STAGING_LIBDIR}/.. \
+ --with-zlib=${STAGING_LIBDIR}/.. \
+ --with-iconv=${STAGING_LIBDIR}/.. \
+ --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
+ --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
+ --with-config-file-path=${sysconfdir}/php/apache2-php5 \
+ ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
+ ${COMMON_EXTRA_OECONF} \
+"
+EXTRA_OECONF_class-native = " \
+ --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
+ --without-iconv \
+ ${COMMON_EXTRA_OECONF} \
+"
+
+PACKAGECONFIG ??= "mysql sqlite3 imap \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG_class-native = ""
+
+PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \
+ --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
+ --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
+ ,--without-mysql --without-mysqli --without-pdo-mysql \
+ ,mysql5"
+
+PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
+ --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
+ , \
+ ,sqlite3"
+PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql"
+PACKAGECONFIG[soap] = "--enable-libxml --enable-soap, --disable-soap, libxml2"
+PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2"
+PACKAGECONFIG[pam] = ",,libpam"
+PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
+ --with-imap-ssl=${STAGING_DIR_HOST} \
+ ,--without-imap --without-imap-ssl \
+ ,uw-imap"
+
+
+export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
+export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
+CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
+
+EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
+
+acpaths = ""
+
+do_configure_prepend () {
+ rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4
+ find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_BINDIR_NATIVE}/httpd!'
+}
+
+do_configure_append() {
+ # No, libtool, we really don't want rpath set...
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool
+}
+
+do_install_append_class-native() {
+ rm -rf ${D}/${PHP_LIBDIR}/php/.registry
+ rm -rf ${D}/${PHP_LIBDIR}/php/.channels
+ rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]*
+}
+
+do_install_prepend() {
+ cat aclocal-copy/libtool.m4 aclocal-copy/lt~obsolete.m4 aclocal-copy/ltoptions.m4 \
+ aclocal-copy/ltsugar.m4 aclocal-copy/ltversion.m4 > ${S}/build/libtool.m4
+}
+
+do_install_prepend_class-target() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
+ # Install dummy config file so apxs doesn't fail
+ install -d ${D}${sysconfdir}/apache2
+ printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf
+ fi
+}
+
+# fixme
+do_install_append_class-target() {
+ install -d ${D}/${sysconfdir}/
+ if [ -d ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ];then
+ mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir}/* ${D}/${sysconfdir}/
+ fi
+ rm -rf ${D}/${TMPDIR}
+ rm -rf ${D}/.registry
+ rm -rf ${D}/.channels
+ rm -rf ${D}/.[a-z]*
+ rm -rf ${D}/var
+ rm -f ${D}/${sysconfdir}/php-fpm.conf.default
+ sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf
+ install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf
+ install -d ${D}/${sysconfdir}/apache2/conf.d
+ install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
+ install -d ${D}${sysconfdir}/init.d
+ sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm
+ TMP=`dirname ${D}/${TMPDIR}`
+ while test ${TMP} != ${D}; do
+ rmdir ${TMP}
+ TMP=`dirname ${TMP}`;
+ done
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
+ install -d ${D}${libdir}/apache2/modules
+ install -d ${D}${sysconfdir}/apache2/modules.d
+ install -d ${D}${sysconfdir}/php/apache2-php5
+ install -m 755 libs/libphp5.so ${D}${libdir}/apache2/modules
+ install -m 644 ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d
+ sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf
+ cat ${S}/php.ini-production | \
+ sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
+ > ${D}${sysconfdir}/php/apache2-php5/php.ini
+ rm -f ${D}${sysconfdir}/apache2/httpd.conf*
+ fi
+}
+
+SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess"
+
+php_sysroot_preprocess () {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+
+ sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize
+ sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config
+}
+
+MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}"
+
+PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
+
+RDEPENDS_${PN}-pear = "${PN}"
+RDEPENDS_${PN}-phar = "${PN}-cli"
+RDEPENDS_${PN}-cli = "${PN}"
+RDEPENDS_${PN}-modphp = "${PN} apache2"
+RDEPENDS_${PN}-dev = "${PN}"
+
+INITSCRIPT_PACKAGES = "${PN}-fpm"
+inherit update-rc.d
+
+FILES_${PN}-dbg =+ "${bindir}/.debug \
+ ${libdir}/apache2/modules/.debug"
+FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc"
+FILES_${PN}-cli = "${bindir}/php"
+FILES_${PN}-phar = "${bindir}/phar*"
+FILES_${PN}-cgi = "${bindir}/php-cgi"
+FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm"
+FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
+CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf"
+CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
+INITSCRIPT_NAME_${PN}-fpm = "php-fpm"
+INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60"
+FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \
+ ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \
+ ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \
+ ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \
+ ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \
+ ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \
+ ${PHP_LIBDIR}/php/data/PEAR \
+ ${sysconfdir}/pear.conf"
+FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \
+ ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \
+ ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \
+ ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test"
+FILES_${PN} = "${PHP_LIBDIR}/php"
+FILES_${PN} += "${bindir}"
+
+SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server"
+FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}"
+
+MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}"
+RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+
diff --git a/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb b/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
index 924334010f..dc16aef977 100644
--- a/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
+++ b/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
@@ -4,12 +4,12 @@ HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/Test
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-PV = "0.4.10"
+PV = "0.4.14"
BRANCH ?= "master"
-# Corresponds to tag pm-qa-v0.4.10
-SRCREV = "03a22d5ad7deb6021b2ec1d546a960d8a9878255"
+# Corresponds to tag pm-qa-v0.4.14
+SRCREV = "9111d1930f02337394cf16e84ad2a27f33607cbb"
SRC_URI = "git://git.linaro.org/power/pm-qa.git;protocol=git;branch=${BRANCH}"
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb
index c4ed5e64b7..a0db7bf95d 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb
+++ b/meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb
@@ -6,12 +6,14 @@ HOMEPAGE = "http://code.google.com/p/protobuf/"
SECTION = "console/tools"
LICENSE = "BSD-3-Clause"
+DEPENDS = "zlib"
+
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=af6809583bfde9a31595a58bb4a24514"
SRC_URI = "http://protobuf.googlecode.com/files/protobuf-${PV}.tar.gz"
-SRC_URI[md5sum] = "dc84e9912ea768baa1976cb7bbcea7b5"
-SRC_URI[sha256sum] = "eac6969b617f397247e805267da2b0db3ff9e5a9163b123503a192fbb5776567"
+SRC_URI[md5sum] = "b751f772bdeb2812a2a8e7202bf1dae8"
+SRC_URI[sha256sum] = "c55aa3dc538e6fd5eaf732f4eb6b98bdcb7cedb5b91d3b5bdcf29c98c293f58e"
EXTRA_OECONF += " --with-protoc=echo"
diff --git a/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch b/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch
deleted file mode 100644
index 9b9dd460bf..0000000000
--- a/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bfed128dfe9551a3a40b1ac4269f18ecfeac80a9 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 1 Oct 2011 11:46:30 +0200
-Subject: [PATCH] Don't append docs to _Extension.extension.__doc__
-
-* here it fails with TypeError: unsupported operand type(s) for +: 'NoneType' and 'str' in setup.py
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Cython/Distutils/extension.py | 1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/Cython/Distutils/extension.py b/Cython/Distutils/extension.py
-index a5a6638..e76c1e7 100644
---- a/Cython/Distutils/extension.py
-+++ b/Cython/Distutils/extension.py
-@@ -16,7 +16,6 @@ except ImportError:
- warnings = None
-
- class Extension(_Extension.Extension):
-- _Extension.Extension.__doc__ + \
- """pyrex_include_dirs : [string]
- list of directories to search for Pyrex header files (.pxd) (in
- Unix form for portability)
---
-1.7.6.1
-
diff --git a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch
deleted file mode 100644
index 6579aa4000..0000000000
--- a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -uNr PyQt-x11-gpl-4.9.5.orig/QtGui/sipQtGuiQSystemTrayIcon.cpp PyQt-x11-gpl-4.9.5/QtGui/sipQtGuiQSystemTrayIcon.cpp
---- PyQt-x11-gpl-4.9.5.orig/QtGui/sipQtGuiQSystemTrayIcon.cpp 2012-10-01 16:48:16.496700577 +0200
-+++ PyQt-x11-gpl-4.9.5/QtGui/sipQtGuiQSystemTrayIcon.cpp 2012-10-01 21:40:43.063130099 +0200
-@@ -993,8 +993,6 @@
- qtgui_untrack(sipCpp);
- #line 995 "QtGui/sipQtGuiQSystemTrayIcon.cpp"
-
-- QSystemTrayIcon *sipCpp = reinterpret_cast<QSystemTrayIcon *>(sipCppV);
--
- if (QThread::currentThread() == sipCpp->thread())
- delete sipCpp;
- else
diff --git a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff
deleted file mode 100644
index abdf70fab0..0000000000
--- a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff
+++ /dev/null
@@ -1,248 +0,0 @@
-## 03_qreal_float_support.dpatch by Michael Casadevall <sonicmctails@gmail.com>
-Index: python-qt4-4.8.3/configure.py
-===================================================================
---- python-qt4-4.8.3.orig/configure.py 2011-02-24 10:33:30.000000000 +0200
-+++ python-qt4-4.8.3/configure.py 2011-02-24 10:33:18.000000000 +0200
-@@ -2004,8 +2004,9 @@
- out << "PyQt_NoOpenGLES\\n";
- #endif
-
-- if (sizeof (qreal) != sizeof (double))
-+#if defined(QT_NO_FPU) || defined(QT_ARCH_ARM) || defined(QT_ARCH_WINDOWSCE)
- out << "PyQt_qreal_double\\n";
-+#endif
-
- return 0;
- }
-Index: python-qt4-4.8.3/sip/QtCore/qlist.sip
-===================================================================
---- python-qt4-4.8.3.orig/sip/QtCore/qlist.sip 2011-02-24 10:33:27.000000000 +0200
-+++ python-qt4-4.8.3/sip/QtCore/qlist.sip 2011-02-24 10:33:18.000000000 +0200
-@@ -811,3 +811,227 @@
- return sipGetState(sipTransferObj);
- %End
- };
-+
-+// If we're on an architecture where qreal != double, then we need to also
-+// explicately handle doubles. On architectures where qreal == double, they
-+// will automaticially be cast upwards
-+
-+%If (!PyQt_qreal_double)
-+
-+%If (Qt_4_3_0 -)
-+// QList<QPair<double, double> > is implemented as a Python list of 2-element tuples.
-+%MappedType QList<QPair<double, double> >
-+{
-+%TypeHeaderCode
-+#include <qlist.h>
-+#include <qpair.h>
-+%End
-+
-+%ConvertFromTypeCode
-+ // Create the list.
-+ PyObject *l;
-+
-+ if ((l = PyList_New(sipCpp->size())) == NULL)
-+ return NULL;
-+
-+ // Set the list elements.
-+ for (int i = 0; i < sipCpp->size(); ++i)
-+ {
-+ const QPair<double, double> &p = sipCpp->at(i);
-+ PyObject *pobj;
-+
-+ if ((pobj = Py_BuildValue((char *)"dd", p.first, p.second)) == NULL)
-+ {
-+ Py_DECREF(l);
-+
-+ return NULL;
-+ }
-+
-+ PyList_SET_ITEM(l, i, pobj);
-+ }
-+
-+ return l;
-+%End
-+
-+%ConvertToTypeCode
-+ SIP_SSIZE_T len;
-+
-+ // Check the type if that is all that is required.
-+ if (sipIsErr == NULL)
-+ {
-+ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
-+ return 0;
-+
-+ for (SIP_SSIZE_T i = 0; i < len; ++i)
-+ {
-+ PyObject *tup = PySequence_ITEM(sipPy, i);
-+
-+ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2)
-+ return 0;
-+ }
-+
-+ return 1;
-+ }
-+
-+ QList<QPair<double, double> > *ql = new QList<QPair<double, double> >;
-+ len = PySequence_Size(sipPy);
-+
-+ for (SIP_SSIZE_T i = 0; i < len; ++i)
-+ {
-+ PyObject *tup = PySequence_ITEM(sipPy, i);
-+
-+ double first = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
-+ double second = PyFloat_AsDouble(PySequence_ITEM(tup, 1));
-+
-+ ql->append(QPair<double, double>(first, second));
-+ }
-+
-+ *sipCppPtr = ql;
-+
-+ return sipGetState(sipTransferObj);
-+%End
-+};
-+%End
-+%If (Qt_4_3_0 -)
-+// QList<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples.
-+template<double, TYPE>
-+%MappedType QList<QPair<double, TYPE> >
-+{
-+%TypeHeaderCode
-+#include <qlist.h>
-+#include <qpair.h>
-+%End
-+
-+%ConvertFromTypeCode
-+ // Create the list.
-+ PyObject *l;
-+
-+ if ((l = PyList_New(sipCpp->size())) == NULL)
-+ return NULL;
-+
-+ // Set the list elements.
-+ for (int i = 0; i < sipCpp->size(); ++i)
-+ {
-+ const QPair<double, TYPE> &p = sipCpp->at(i);
-+ TYPE *t = new TYPE(p.second);
-+ PyObject *pobj;
-+
-+ if ((pobj = sipBuildResult(NULL, "(dB)", p.first, t, sipClass_TYPE, sipTransferObj)) == NULL)
-+ {
-+ Py_DECREF(l);
-+ delete t;
-+
-+ return NULL;
-+ }
-+
-+ PyList_SET_ITEM(l, i, pobj);
-+ }
-+
-+ return l;
-+%End
-+
-+%ConvertToTypeCode
-+ SIP_SSIZE_T len;
-+
-+ // Check the type if that is all that is required.
-+ if (sipIsErr == NULL)
-+ {
-+ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
-+ return 0;
-+
-+ for (SIP_SSIZE_T i = 0; i < len; ++i)
-+ {
-+ PyObject *tup = PySequence_ITEM(sipPy, i);
-+
-+ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2)
-+ return 0;
-+
-+ if (!sipCanConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, SIP_NOT_NONE))
-+ return 0;
-+ }
-+
-+ return 1;
-+ }
-+
-+ QList<QPair<double, TYPE> > *ql = new QList<QPair<double, TYPE> >;
-+ len = PySequence_Size(sipPy);
-+
-+ for (SIP_SSIZE_T i = 0; i < len; ++i)
-+ {
-+ PyObject *tup = PySequence_ITEM(sipPy, i);
-+ double d;
-+ int state;
-+
-+ d = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
-+ TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
-+
-+ if (*sipIsErr)
-+ {
-+ sipReleaseInstance(t, sipClass_TYPE, state);
-+
-+ delete ql;
-+ return 0;
-+ }
-+
-+ ql->append(QPair<double, TYPE>(d, *t));
-+
-+ sipReleaseInstance(t, sipClass_TYPE, state);
-+ }
-+
-+ *sipCppPtr = ql;
-+
-+ return sipGetState(sipTransferObj);
-+%End
-+};
-+%End
-+
-+// QList<double> is implemented as a Python list of doubles.
-+%MappedType QList<double>
-+{
-+%TypeHeaderCode
-+#include <qlist.h>
-+%End
-+
-+%ConvertFromTypeCode
-+ // Create the list.
-+ PyObject *l;
-+
-+ if ((l = PyList_New(sipCpp->size())) == NULL)
-+ return NULL;
-+
-+ // Set the list elements.
-+ for (int i = 0; i < sipCpp->size(); ++i)
-+ {
-+ PyObject *pobj;
-+
-+ if ((pobj = PyFloat_FromDouble(sipCpp->value(i))) == NULL)
-+ {
-+ Py_DECREF(l);
-+
-+ return NULL;
-+ }
-+
-+ PyList_SET_ITEM(l, i, pobj);
-+ }
-+
-+ return l;
-+%End
-+
-+%ConvertToTypeCode
-+ // Check the type if that is all that is required.
-+ if (sipIsErr == NULL)
-+ return (PySequence_Check(sipPy) && PySequence_Size(sipPy) >= 0);
-+
-+ QList<double> *ql = new QList<double>;
-+ SIP_SSIZE_T len = PySequence_Size(sipPy);
-+
-+ for (SIP_SSIZE_T i = 0; i < len; ++i)
-+ ql->append(PyFloat_AsDouble(PySequence_ITEM(sipPy, i)));
-+
-+ *sipCppPtr = ql;
-+
-+ return sipGetState(sipTransferObj);
-+%End
-+};
-+
-+%End
diff --git a/meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb b/meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb
new file mode 100644
index 0000000000..989f2cf515
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Python Qt4 Bindings"
+AUTHOR = "Phil Thomson @ riverbank.co.uk"
+HOMEPAGE = "http://riverbankcomputing.co.uk"
+SECTION = "devel/python"
+LICENSE = "GPLv2 & GPLv3 & GPL_EXCEPTION"
+LIC_FILES_CHKSUM = "\
+ file://GPL_EXCEPTION.TXT;md5=b73b0be471db679533dc94781c14af58 \
+ file://GPL_EXCEPTION_ADDENDUM.TXT;md5=c1e04ec2aa0911061005a801abf81e40 \
+ file://OPENSOURCE-NOTICE.TXT;md5=6ad9123620cc04a22c394753ad4767d7 \
+ file://LICENSE.GPL2;md5=577ff65f6653562af318bfc3944b1f20 \
+ file://LICENSE.GPL3;md5=feee51612c3c1191a1d5f41156fa2c75 \
+"
+DEPENDS = "sip sip-native qt4-x11-free python"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/pyqt/PyQt-x11-gpl-${PV}.tar.gz \
+"
+SRC_URI[md5sum] = "997c3e443165a89a559e0d96b061bf70"
+SRC_URI[sha256sum] = "853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686"
+
+S = "${WORKDIR}/PyQt-x11-gpl-${PV}"
+
+PARALLEL_MAKE = ""
+
+inherit qmake2 pythonnative python-dir distro_features_check
+# depends on qt4-x11-free
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DISABLED_FEATURES = "PyQt_Desktop_OpenGL PyQt_Accessibility PyQt_SessionManager"
+
+DISABLED_FEATURES_append_arm = " PyQt_qreal_double"
+
+do_configure() {
+ echo "py_platform = linux" > pyqt.cfg
+ echo "py_inc_dir = %(sysroot)/$includedir/python%(py_major).%(py_minor)" >> pyqt.cfg
+ echo "py_pylib_dir = %(sysroot)/${libdir}/python%(py_major).%(py_minor)" >> pyqt.cfg
+ echo "py_pylib_lib = python%(py_major).%(py_minor)mu" >> pyqt.cfg
+ echo "pyqt_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> pyqt.cfg
+ echo "pyqt_bin_dir = ${D}/${bindir}" >> pyqt.cfg
+ echo "pyqt_sip_dir = ${D}/${datadir}/sip/PyQt4" >> pyqt.cfg
+ echo "pyuic_interpreter = ${D}/${bindir}/python%(py_major).%(py_minor)" >> pyqt.cfg
+ echo "pyqt_disabled_features = ${DISABLED_FEATURES}" >> pyqt.cfg
+ echo "qt_shared = True" >> pyqt.cfg
+ echo "[Qt 4.8]" >> pyqt.cfg
+ echo "pyqt_modules = QtCore QtGui QtDeclarative QtNetwork QtSvg QtWebKit" >> pyqt.cfg
+ echo yes | python configure-ng.py --verbose --qmake ${STAGING_BINDIR_NATIVE}/qmake2 --configuration pyqt.cfg --sysroot ${STAGING_DIR_HOST}
+}
+do_install() {
+ oe_runmake install
+}
+
+RDEPENDS_${PN} = "python-core"
+
+FILES_${PN} += "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/PyQt4/"
+FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/*/.debug/"
+
diff --git a/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb b/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb
deleted file mode 100644
index 2f0e189ef4..0000000000
--- a/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb
+++ /dev/null
@@ -1,103 +0,0 @@
-SUMMARY = "Python Qt4 Bindings"
-HOMEPAGE = "http://riverbankcomputing.co.uk"
-AUTHOR = "Phil Thomson @ riverbank.co.uk"
-SECTION = "devel/python"
-LICENSE = "GPLv2 & GPLv3 & GPL_EXCEPTION"
-LIC_FILES_CHKSUM = "\
- file://GPL_EXCEPTION.TXT;md5=b73b0be471db679533dc94781c14af58 \
- file://GPL_EXCEPTION_ADDENDUM.TXT;md5=c1e04ec2aa0911061005a801abf81e40 \
- file://OPENSOURCE-NOTICE.TXT;md5=6ad9123620cc04a22c394753ad4767d7 \
- file://LICENSE.GPL2;md5=276c6b9cad5f85a3af3534299825feff \
- file://LICENSE.GPL3;md5=eda942b9c6ba7eb0f40fee79e94950d5 \
-"
-
-DEPENDS = "sip-native python-sip"
-RDEPENDS_${PN} = "python-core"
-
-PYQT_OE_VERSION = "Qt_4_8_3"
-PR = "r1"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/pyqt/PyQt-x11-gpl-${PV}.tar.gz \
- file://pyqt-generated.patch;apply=no \
-"
-SRC_URI[md5sum] = "514e1f9597771dc732ba75ba9fa5c6b6"
-SRC_URI[sha256sum] = "a350f9e5c6d8062671c0f29bf1a70824719b18175ce8372c29bf7c1eda44b18d"
-S = "${WORKDIR}/PyQt-x11-gpl-${PV}"
-
-# arm and mips machines need some extra patches
-SRC_URI_append_arm = "\
- file://qreal_float_support.diff \
-"
-
-SRC_URI_append_mipsel = "\
- file://qreal_float_support.diff \
-"
-
-inherit qt4x11 sip distutils-base
-
-PARALLEL_MAKE = ""
-
-QMAKE_PROFILES = "pyqt.pro"
-# NOTE: has to match with MIN(qt version we have in OE, last known Qt version by SIP/PyQt)
-EXTRA_SIPTAGS = "-tWS_X11 -t${PYQT_OE_VERSION} -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility"
-EXTRA_OEMAKE = " MAKEFLAGS= "
-
-# arm and mips need extra params for the qreal issue
-EXTRA_SIPTAGS_append_arm = " -x PyQt_qreal_double"
-EXTRA_SIPTAGS_append_mipsel = " -x PyQt_qreal_double"
-
-SIP_MODULES = "QtCore QtDeclarative QtGui QtNetwork QtSql QtSvg QtXml QtWebKit"
-MAKE_MODULES = "qpy ${SIP_MODULES}"
-
-EXTRA_QMAKEVARS_POST += "\
- INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \
- INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \
- INCLUDEPATH+=../qpy/QtCore \
- INCLUDEPATH+=../qpy/QtGui \
- INCLUDEPATH+=../qpy/QtDeclarative \
- INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtCore \
- INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtGui \
- INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtDeclarative \
- INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtWebKit \
- INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtNetwork \
-"
-FIX_QREAL = "\
-"
-
-do_generate_prepend() {
- for i in ${FIX_QREAL}; do
- sed -i -e s,qreal,float,g sip/$i
- done
-}
-
-do_configure_prepend() {
- printf "TEMPLATE=subdirs\nSUBDIRS=${MAKE_MODULES}\n" >pyqt.pro
- printf "TEMPLATE=subdirs\nSUBDIRS=QtCore QtDeclarative QtGui\n" >qpy/qpy.pro
- ln -sf ./qpycore.pro qpy/QtCore/QtCore.pro
- ln -sf ./qpydeclarative.pro qpy/QtDeclarative/QtDeclarative.pro
- ln -sf ./qpygui.pro qpy/QtGui/QtGui.pro
- echo "INCLUDEPATH+=${S}/QtCore" >>qpy/QtCore/QtCore.pro
- echo "INCLUDEPATH+=${S}/QtGui" >>qpy/QtGui/QtGui.pro
- echo "INCLUDEPATH+=${S}/QtDeclarative" >>qpy/QtDeclarative/QtDeclarative.pro
- echo "LIBS+=-L../qpy/QtGui/ -lqpygui" >>QtGui/QtGui.pro
- echo "LIBS+=-L../qpy/QtCore/ -lqpycore" >>QtCore/QtCore.pro
- echo "LIBS+=-L../qpy/QtDeclarative/ -lqpydeclarative" >>QtDeclarative/QtDeclarative.pro
- # hack for broken generated code (duplicated sipCpp declaration).
- patch -p1 < ${WORKDIR}/pyqt-generated.patch || echo "pyqt-generated.patch failed to apply, probably reexecuting do_configure, ignoring that"
-}
-
-do_install() {
- install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4
- install -d ${D}${datadir}/sip/qt/
- for module in ${SIP_MODULES}
- do
- install -m 0644 ${S}/sip/${module}/*.sip ${D}${datadir}/sip/qt/
- echo "from PyQt4.${module} import *\n" >> ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/Qt.py
- install -m 0755 ${module}/lib${module}.so ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/${module}.so
- done
- cp -pPR elementtree ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
- cp __init__.py ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
-}
-
-FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/qt/"
diff --git a/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb b/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb
deleted file mode 100644
index acabc97210..0000000000
--- a/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Runtime helper for sip-generated python wrapper libraries"
-SECTION = "devel/python"
-HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
-AUTHOR = "Phil Thompson"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://siplib.sbf.in;endline=15;md5=3d462bd8cb43db3e4be998fe155ae9cf"
-DEPENDS = "python"
-RDEPENDS_${PN} = "python-core"
-
-# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older
-#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz"
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz"
-SRC_URI[md5sum] = "b93442e745b3be2fad89de0686a76ce9"
-SRC_URI[sha256sum] = "1a9d3bf26c821f369c175f8e68946b79bc994da4f96e8f5ecff06e6ee7ac0528"
-
-S = "${WORKDIR}/sip-${PV}/siplib"
-
-inherit qt4x11 distutils-base
-
-EXTRA_QMAKEVARS_POST += " TEMPLATE=lib \
- CONFIG=console \
- DESTDIR= \
- VERSION=1.0.0 \
- TARGET=sip \
- DEFINES=SIP_QT_SUPPORT \
- INCLUDEPATH+=. \
- INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \
- INCLUDEPATH+=${STAGING_INCDIR}"
-
-
-do_configure_prepend() {
- cat siplib.sbf.in | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.pro
- cat siplib.c.in | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.c
- cat sip.h.in | sed -e s,@CFG_MODULE_NAME@,sip,g > sip.h
-}
-
-do_install() {
- install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/
- install -m 0755 libsip.so.1.0.0 ${D}${libdir}/${PYTHON_DIR}/site-packages/sip.so
- # sipconfig.py sipdistutils.py
- install -d ${D}${includedir}
- install -m 0644 ../siplib/sip.h ${D}${includedir}/sip.h
-}
-
-FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages/sip.so"
-
diff --git a/meta-oe/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch b/meta-oe/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch
new file mode 100644
index 0000000000..1b1128acab
--- /dev/null
+++ b/meta-oe/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch
@@ -0,0 +1,64 @@
+From 5c4d6d8538994d5fe9b3b46bfafaf0a605e3bda6 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen.kooi@linaro.org>
+Date: Tue, 17 Jun 2014 08:18:17 +0200
+Subject: [PATCH] configure: use pkg-config for pcre detection
+
+Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
+Upstream-Status: pending
+---
+ configure.ac | 38 +++++++-------------------------------
+ 1 file changed, 7 insertions(+), 31 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0c984b7..6edcec1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -70,38 +70,14 @@ AC_MSG_RESULT([$with_pcre])
+
+ dnl To make configuring easier, check for a locally built PCRE using the Tools/pcre-build.sh script
+ if test x"${with_pcre}" = xyes ; then
+- AC_MSG_CHECKING([whether to use local PCRE])
+- local_pcre_config=no
+- if test -z $PCRE_CONFIG; then
+- if test -f `pwd`/pcre/pcre-swig-install/bin/pcre-config; then
+- PCRE_CONFIG=`pwd`/pcre/pcre-swig-install/bin/pcre-config
+- local_pcre_config=$PCRE_CONFIG
+- fi
+- fi
+- AC_MSG_RESULT([$local_pcre_config])
+-fi
+-AS_IF([test "x$with_pcre" != xno],
+- [AX_PATH_GENERIC([pcre],
+- [], dnl Minimal version of PCRE we need -- accept any
+- [], dnl custom sed script for version parsing is not needed
+- [AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library])
+- LIBS="$LIBS $PCRE_LIBS"
+- CPPFLAGS="$CPPFLAGS $PCRE_CFLAGS"
+- ],
+- [AC_MSG_FAILURE([
+- Cannot find pcre-config script from PCRE (Perl Compatible Regular Expressions)
+- library package. This dependency is needed for configure to complete,
+- Either:
+- - Install the PCRE developer package on your system (preferred approach).
+- - Download the PCRE source tarball, build and install on your system
+- as you would for any package built from source distribution.
+- - Use the Tools/pcre-build.sh script to build PCRE just for SWIG to statically
+- link against. Run 'Tools/pcre-build.sh --help' for instructions.
+- (quite easy and does not require privileges to install PCRE on your system)
+- - Use configure --without-pcre to disable regular expressions support in SWIG
+- (not recommended).])
+- ])
++ PKG_CHECK_MODULES([PCRE], [libpcre], [
++ AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library])
++ LIBS="$LIBS $PCRE_LIBS"
++ CPPFLAGS="$CPPFLAGS $PCRE_CFLAGS"
++ ], [
++ AC_MSG_WARN([$PCRE_PKG_ERRORS])
+ ])
++fi
+
+
+ dnl CCache
+--
+1.9.3
+
diff --git a/meta-oe/recipes-devtools/swig/swig_2.0.12.bb b/meta-oe/recipes-devtools/swig/swig_2.0.12.bb
deleted file mode 100644
index 0fbcfa1bf5..0000000000
--- a/meta-oe/recipes-devtools/swig/swig_2.0.12.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch"
-
-SRC_URI[md5sum] = "c3fb0b2d710cc82ed0154b91e43085a4"
-SRC_URI[sha256sum] = "65e13f22a60cecd7279c59882ff8ebe1ffe34078e85c602821a541817a4317f7"
-
diff --git a/meta-oe/recipes-devtools/swig/swig_3.0.2.bb b/meta-oe/recipes-devtools/swig/swig_3.0.2.bb
new file mode 100644
index 0000000000..ac41914586
--- /dev/null
+++ b/meta-oe/recipes-devtools/swig/swig_3.0.2.bb
@@ -0,0 +1,8 @@
+require ${BPN}.inc
+
+SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch \
+ file://0001-configure-use-pkg-config-for-pcre-detection.patch \
+ "
+
+SRC_URI[md5sum] = "62f9b0d010cef36a13a010dc530d0d41"
+SRC_URI[sha256sum] = "a2669657cabcedc371f63c0457407a183e0b6b2ef4e7e303c1ec9a3964cc7813"
diff --git a/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb b/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
index c6bedea097..ab15a7e7f4 100644
--- a/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
+++ b/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
@@ -11,4 +11,6 @@ SRC_URI = "git://git.code.sf.net/p/tclap/code \
S = "${WORKDIR}/git"
inherit autotools
+ALLOW_EMPTY_${PN} = "1"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
index 1177d03688..14c6ce54c0 100644
--- a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
+++ b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
@@ -35,7 +35,9 @@ S = "${WORKDIR}/${BPN}${PV}/unix"
VER = "${@os.path.splitext(d.getVar('PV', True))[0]}"
LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
-inherit autotools
+inherit autotools distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_OECONF = "\
--enable-threads \
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch
new file mode 100644
index 0000000000..4434e839f8
--- /dev/null
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch
@@ -0,0 +1,82 @@
+Fix linking libraries built with -fPIC with this library
+
+Patch borrowed from Fedora
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+Upstream-Status: Pending
+
+diff -up imap-2007e/src/osdep/unix/Makefile.shared imap-2007e/src/osdep/unix/Makefile
+--- imap-2007e/src/osdep/unix/Makefile.shared 2009-07-07 19:28:02.909755512 -0500
++++ imap-2007e/src/osdep/unix/Makefile 2009-07-07 19:29:35.870006799 -0500
+@@ -170,6 +170,10 @@ BUILD=$(MAKE) build EXTRACFLAGS='$(EXTRA
+ EXTRADRIVERS='$(EXTRADRIVERS)' EXTRAAUTHENTICATORS='$(EXTRAAUTHENTICATORS)'\
+ PASSWDTYPE=$(PASSWDTYPE) SSLTYPE=$(SSLTYPE) IP=$(IP)
+
++# Need this for the shared library rule to work correctly
++.SUFFIXES: .o .so
++SOFILES=${BINARIES:.o=.so}
++
+
+ # Here if no make argument established
+
+@@ -845,18 +849,24 @@ vu2: # VAX Ultrix 2.3, etc.
+
+ # Build it!
+
+-build: clean once $(ARCHIVE)
++build: clean once $(ARCHIVE) $(SHLIBNAME)
+
+-all: $(ARCHIVE)
++all: $(ARCHIVE) $(SHLIBNAME)
+
+ $(ARCHIVE): $(BINARIES)
+ sh -c '$(RM) $(ARCHIVE) || true'
+ @$(CAT) ARCHIVE
+ @$(SH) ARCHIVE
+
+-.c.o:
+- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` $*.c
++$(SHLIBNAME): $(SOFILES)
++ gcc -shared -Wl,-soname,$(SHLIBNAME) -o $(SHLIBNAME) $(SOFILES) `cat LDFLAGS`
++ ln -s $(SHLIBNAME) lib$(SHLIBBASE).so
+
++.c.so: osdep.h
++ $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` ${@:.so=.c} -o $@
++
++.c.o:
++ $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` $*.c
+
+ # Cleanup
+
+@@ -895,8 +905,7 @@ utf8aux.o: mail.h misc.h osdep.h utf8.h
+
+
+ # OS-dependent
+-
+-osdep.o:mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \
++OSDEPS= mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \
+ osdep.h env_unix.h tcp_unix.h \
+ osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c ip_unix.c\
+ auths.c crexcl.c flockcyg.c flocklnx.c flocksim.c fsync.c \
+@@ -910,12 +919,19 @@ osdep.o:mail.h misc.h env.h fs.h ftl.h n
+ write.c sslstdio.c \
+ strerror.c strpbrk.c strstr.c strtok.c strtoul.c \
+ OSCFLAGS
++
++osdep.o: $(OSDEPS)
++ $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c
++ @echo ========================================================================
+ @echo Building OS-dependent module
+ @echo If you get No such file error messages for files x509.h, ssl.h,
+ @echo pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL
+ @echo is not installed on your system. Either install OpenSSL first
+ @echo or build with command: make `$(CAT) OSTYPE` SSLTYPE=none
+- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c
++ @echo ========================================================================
++
++osdep.so: $(OSDEPS)
++ $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `cat OSCFLAGS` -c osdep.c -o $@
+
+ osdep.c: osdepbas.c osdepckp.c osdeplog.c osdepssl.c
+ $(CAT) osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch
new file mode 100644
index 0000000000..6ec04761a3
--- /dev/null
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch
@@ -0,0 +1,20 @@
+Fix error found with "-Werror=format-security" flag
+
+Patch borrowed from Fedora
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+Upstream-Status: Pending
+
+diff -Naur imap-2007f.orig/src/osdep/unix/flocklnx.c imap-2007f/src/osdep/unix/flocklnx.c
+--- imap-2007f.orig/src/osdep/unix/flocklnx.c 2011-07-23 02:20:11.000000000 +0200
++++ imap-2007f/src/osdep/unix/flocklnx.c 2014-04-14 19:17:46.429000000 +0200
+@@ -57,7 +57,7 @@
+ case ENOLCK: /* lock table is full */
+ sprintf (tmp,"File locking failure: %s",strerror (errno));
+ mm_log (tmp,WARN); /* give the user a warning of what happened */
+- if (!logged++) syslog (LOG_ERR,tmp);
++ if (!logged++) syslog (LOG_ERR, "%s", tmp);
+ /* return failure if non-blocking lock */
+ if (op & LOCK_NB) return -1;
+ sleep (5); /* slow down in case it loops */
diff --git a/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch
index f729ee2074..f729ee2074 100644
--- a/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch
diff --git a/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
index 150ff9028d..52b689ed68 100644
--- a/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
@@ -4,25 +4,29 @@ SECTION = "devel"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a6a4ddbb7cd2999f6827ee143f6fcd97"
-DEPENDS = "openssl libpam"
-
-PR = "r1"
+DEPENDS = "openssl"
SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \
- file://quote_cctype.patch"
+ file://quote_cctype.patch \
+ file://imap-2007e-shared.patch \
+ file://imap-2007f-format-security.patch \
+ "
-SRC_URI[md5sum] = "7903800dc2604000016de070e0c55840"
-SRC_URI[sha256sum] = "4b1137b87249782496ec3eeacaf83bbf09312a7d2ae3aead262179041b55565f"
+SRC_URI[md5sum] = "2126fd125ea26b73b20f01fcd5940369"
+SRC_URI[sha256sum] = "53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28"
S = "${WORKDIR}/imap-${PV}"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG[pam] = ",,libpam"
+
EXTRA_OEMAKE = "CC='${CC}'"
HEADERS = "src/c-client/*.h src/osdep/unix/*.h c-client/auths.c c-client/linkage.c c-client/linkage.h c-client/osdep.h"
do_compile() {
echo "SSLINCLUDE=${STAGING_INCDIR} SSLLIB=${STAGING_LIBDIR}" > ${S}/SPECIALS
- oe_runmake lnp
+ oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'lnp', 'slx', d)}
}
do_install() {
@@ -32,4 +36,9 @@ do_install() {
install c-client/c-client.a ${D}${libdir}/libc-client.a
}
+RPROVIDES_${PN} = "libc-client"
+RREPLACES_${PN} = "libc-client"
+RCONFLICTS_${PN} = "libc-client"
+
ALLOW_EMPTY_${PN} = "1"
+
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
index a3db952221..7c8e341a3e 100644
--- a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
+++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
@@ -11,6 +11,6 @@ export XDG_DATA_DIRS = "${STAGING_DATADIR}"
SRC_URI = "http://downloads.freesmartphone.org/sources/${BPN}/${BP}.tar.bz2;name=archive"
-inherit autotools perlnative
+inherit autotools perlnative pkgconfig
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/acpica/acpica_20140424.bb b/meta-oe/recipes-extended/acpica/acpica_20140828.bb
index c302d27ba0..fb19c8858a 100644
--- a/meta-oe/recipes-extended/acpica/acpica_20140424.bb
+++ b/meta-oe/recipes-extended/acpica/acpica_20140828.bb
@@ -14,12 +14,12 @@ DEPENDS = "bison flex"
SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz \
file://no-werror.patch \
"
-SRC_URI[md5sum] = "733532f005fba5d1c5344440651b13d1"
-SRC_URI[sha256sum] = "72ece982bbbdfb1b17418f1feb3a9daaa01803d0d41dcf00e19d702cdf751bbc"
+SRC_URI[md5sum] = "6f05f0d10166a1b1ff6107f3d1cdf1e5"
+SRC_URI[sha256sum] = "01d8867656c5ba41dec307c4383ce676196ad4281ac2c9dec9f5be5fac6d888e"
S = "${WORKDIR}/acpica-unix2-${PV}"
-EXTRA_OEMAKE = "CC=${TARGET_PREFIX}gcc 'OPT_CFLAGS=-Wall'"
+EXTRA_OEMAKE = "CC='${CC}' 'OPT_CFLAGS=-Wall'"
do_install() {
install -D -p -m0755 generate/unix/bin*/iasl ${D}${bindir}/iasl
diff --git a/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch b/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch
index 116761d574..7c5d6b0443 100644
--- a/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch
+++ b/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch
@@ -326,8 +326,8 @@ diff -urN acpica-unix2-20130626/tests/aapits/Makefile acpica-unix2-20130626-aapi
--- acpica-unix2-20130626/tests/aapits/Makefile 2013-01-17 12:48:29.000000000 -0700
+++ acpica-unix2-20130626-aapits/tests/aapits/Makefile 2013-07-25 15:17:09.309236422 -0600
@@ -194,7 +194,7 @@
- CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include
-
+ CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_APITS -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include
+
-acpiexec : $(patsubst %.c,%.o, $(SRCS))
+$(PROG) : $(patsubst %.c,%.o, $(SRCS))
diff --git a/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch b/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch
index d38501b772..4d9e9974dd 100644
--- a/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch
+++ b/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch
@@ -8,19 +8,27 @@ Upstream-status: Unknown
diff -urN acpica-unix2-20140325/tests/aapits/Makefile acpica-unix2-20140325/tests/aapits/Makefile
--- acpica-unix2-20140325/tests/aapits/Makefile 2014-04-05 14:23:14.683636794 -0600
+++ acpica-unix2-20140325-aapits/tests/aapits/Makefile 2014-04-05 15:10:57.879184598 -0600
-@@ -20,6 +20,7 @@
- ../../source/components/hardware/hwxface.c \
+@@ -16,6 +16,7 @@
+ atosxfwrap.c \
+ osunixxf.c \
+ ../../source/common/ahids.c \
++ ../../source/common/ahuuids.c \
../../source/common/cmfsize.c \
../../source/common/getopt.c \
-+ ../../source/common/ahids.c \
- ../../source/components/debugger/dbcmds.c \
- ../../source/components/debugger/dbconvert.c \
- ../../source/components/debugger/dbdisply.c \
-@@ -154,6 +155,7 @@
- ../../source/components/tables/tbfadt.c \
- ../../source/components/tables/tbfind.c \
- ../../source/components/tables/tbinstal.c \
-+ ../../source/components/tables/tbdata.c \
- ../../source/components/tables/tbprint.c \
- ../../source/components/tables/tbutils.c \
- ../../source/components/tables/tbxface.c \
+ ../../source/components/hardware/hwtimer.c \
+@@ -174,6 +175,7 @@
+ ../../source/components/utilities/utexcep.c \
+ ../../source/components/utilities/utfileio.c \
+ ../../source/components/utilities/utglobal.c \
++ ../../source/components/utilities/uthex.c \
+ ../../source/components/utilities/utids.c \
+ ../../source/components/utilities/utinit.c \
+ ../../source/components/utilities/utlock.c \
+@@ -189,6 +191,7 @@
+ ../../source/components/utilities/utstate.c \
+ ../../source/components/utilities/utstring.c \
+ ../../source/components/utilities/uttrack.c \
++ ../../source/components/utilities/utuuid.c \
+ ../../source/components/utilities/utxface.c \
+ ../../source/components/utilities/utxferror.c \
+ ../../source/components/utilities/utxfinit.c \
diff --git a/meta-oe/recipes-extended/acpica/acpitests_20140424.bb b/meta-oe/recipes-extended/acpica/acpitests_20140828.bb
index 7e145bb2a6..da2658218e 100644
--- a/meta-oe/recipes-extended/acpica/acpitests_20140424.bb
+++ b/meta-oe/recipes-extended/acpica/acpitests_20140828.bb
@@ -10,15 +10,15 @@ SRC_URI = "https://acpica.org/sites/acpica/files/acpitests-unix-${PV}.tar.gz;nam
https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz;name=acpica \
file://aapits-linux.patch \
file://aapits-makefile.patch \
- "
-SRC_URI[acpitests.md5sum] = "bfc399cecb21e9491d362d8e480b2689"
-SRC_URI[acpitests.sha256sum] = "e7d7ff638872543909b38c2498e88958251ee6ce4d22bc13d4e3925771212c0e"
-SRC_URI[acpica.md5sum] = "733532f005fba5d1c5344440651b13d1"
-SRC_URI[acpica.sha256sum] = "72ece982bbbdfb1b17418f1feb3a9daaa01803d0d41dcf00e19d702cdf751bbc"
+"
+SRC_URI[acpitests.md5sum] = "db9d6fdaa8e3eb101d700ee5ba4938ed"
+SRC_URI[acpitests.sha256sum] = "e576c74bf1bf1c9f7348bf9419e05c8acfece7105abcdc052e66670c7af2cf00"
+SRC_URI[acpica.md5sum] = "6f05f0d10166a1b1ff6107f3d1cdf1e5"
+SRC_URI[acpica.sha256sum] = "01d8867656c5ba41dec307c4383ce676196ad4281ac2c9dec9f5be5fac6d888e"
S = "${WORKDIR}/acpitests-unix-${PV}"
-EXTRA_OEMAKE = "CC=${TARGET_PREFIX}gcc 'OPT_CFLAGS=-Wall'"
+EXTRA_OEMAKE = "'${HOST_CC_ARCH}' 'OPT_CFLAGS=-Wall'"
# The Makefiles expect a specific layout
do_compile() {
diff --git a/meta-oe/recipes-extended/anki/anki_0.4.3.bb b/meta-oe/recipes-extended/anki/anki_0.4.3.bb
index 7943ce8cd0..d441a7011c 100644
--- a/meta-oe/recipes-extended/anki/anki_0.4.3.bb
+++ b/meta-oe/recipes-extended/anki/anki_0.4.3.bb
@@ -1,4 +1,4 @@
require ${PN}-${PV}.inc
-RDEPENDS_${PN} = "python-pyqt python-sip libanki"
+RDEPENDS_${PN} = "python-pyqt sip libanki"
RRECOMMENDS_${PN} = "virtual-japanese-font"
diff --git a/meta-oe/recipes-extended/collectd/collectd/collectd.service b/meta-oe/recipes-extended/collectd/collectd/collectd.service
new file mode 100644
index 0000000000..d835b735f6
--- /dev/null
+++ b/meta-oe/recipes-extended/collectd/collectd/collectd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Collectd
+After=local-fs.target network.target
+Requires=local-fs.target network.target
+
+[Service]
+ExecStart=@SBINDIR@/collectd -C /etc/collectd.conf -f
+Restart=always
+RestartSec=10
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch b/meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch
new file mode 100644
index 0000000000..2596bedf90
--- /dev/null
+++ b/meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch
@@ -0,0 +1,102 @@
+This makes it forward compatible with glibc 2.20+ where _BSD_SOURCE
+macro has been deprecated.
+
+Fixes warnings like
+
+usr/include/features.h:148:3: error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Werror=cpp]
+| # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: collectd-5.4.1/configure.ac
+===================================================================
+--- collectd-5.4.1.orig/configure.ac 2014-09-03 01:21:10.666084244 -0700
++++ collectd-5.4.1/configure.ac 2014-09-03 01:31:27.794084244 -0700
+@@ -1288,6 +1288,7 @@
+
+ AC_CHECK_MEMBERS([struct udphdr.uh_dport, struct udphdr.uh_sport], [], [],
+ [#define _BSD_SOURCE
++#define _DEFAULT_SOURCE 1
+ #if HAVE_STDINT_H
+ # include <stdint.h>
+ #endif
+@@ -1309,6 +1310,7 @@
+ ])
+ AC_CHECK_MEMBERS([struct udphdr.dest, struct udphdr.source], [], [],
+ [#define _BSD_SOURCE
++#define _DEFAULT_SOURCE 1
+ #if HAVE_STDINT_H
+ # include <stdint.h>
+ #endif
+Index: collectd-5.4.1/src/dns.c
+===================================================================
+--- collectd-5.4.1.orig/src/dns.c 2014-01-26 00:09:14.856391886 -0800
++++ collectd-5.4.1/src/dns.c 2014-09-03 01:32:37.666084244 -0700
+@@ -22,6 +22,7 @@
+ **/
+
+ #define _BSD_SOURCE
++#define _DEFAULT_SOURCE 1
+
+ #include "collectd.h"
+ #include "common.h"
+Index: collectd-5.4.1/src/exec.c
+===================================================================
+--- collectd-5.4.1.orig/src/exec.c 2014-01-26 00:09:14.860391963 -0800
++++ collectd-5.4.1/src/exec.c 2014-09-03 01:32:28.874084244 -0700
+@@ -24,6 +24,7 @@
+ **/
+
+ #define _BSD_SOURCE /* For setgroups */
++#define _DEFAULT_SOURCE 1
+
+ #include "collectd.h"
+ #include "common.h"
+Index: collectd-5.4.1/src/load.c
+===================================================================
+--- collectd-5.4.1.orig/src/load.c 2014-01-26 00:09:23.532559941 -0800
++++ collectd-5.4.1/src/load.c 2014-09-03 01:32:51.462084244 -0700
+@@ -22,6 +22,7 @@
+ **/
+
+ #define _BSD_SOURCE
++#define _DEFAULT_SOURCE 1
+
+ #include "collectd.h"
+ #include "common.h"
+Index: collectd-5.4.1/src/network.c
+===================================================================
+--- collectd-5.4.1.orig/src/network.c 2014-01-26 00:09:23.532559941 -0800
++++ collectd-5.4.1/src/network.c 2014-09-03 01:32:44.522084244 -0700
+@@ -23,6 +23,7 @@
+ **/
+
+ #define _BSD_SOURCE /* For struct ip_mreq */
++#define _DEFAULT_SOURCE 1
+
+ #include "collectd.h"
+ #include "plugin.h"
+Index: collectd-5.4.1/src/ntpd.c
+===================================================================
+--- collectd-5.4.1.orig/src/ntpd.c 2014-01-26 00:09:14.880392351 -0800
++++ collectd-5.4.1/src/ntpd.c 2014-09-03 01:32:20.350084244 -0700
+@@ -20,6 +20,7 @@
+ **/
+
+ #define _BSD_SOURCE /* For NI_MAXHOST */
++#define _DEFAULT_SOURCE 1
+
+ #include "collectd.h"
+ #include "common.h"
+Index: collectd-5.4.1/src/utils_dns.c
+===================================================================
+--- collectd-5.4.1.orig/src/utils_dns.c 2014-01-26 00:09:14.908392893 -0800
++++ collectd-5.4.1/src/utils_dns.c 2014-09-03 01:31:47.062084244 -0700
+@@ -34,6 +34,7 @@
+ */
+
+ #define _BSD_SOURCE
++#define _DEFAULT_SOURCE 1
+
+ #include "collectd.h"
+ #include "plugin.h"
diff --git a/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
index 02b160109e..0e876ae85c 100644
--- a/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
+++ b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
@@ -7,11 +7,11 @@ Upstream-Status: Inappropriate [configuration]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-diff --git a/configure.in b/configure.in
-index 98395ed..81c3a2c 100644
---- a/configure.in
-+++ b/configure.in
-@@ -1777,11 +1777,11 @@ then
+Index: collectd-5.4.1/configure.ac
+===================================================================
+--- collectd-5.4.1.orig/configure.ac 2014-09-03 01:20:22.062084244 -0700
++++ collectd-5.4.1/configure.ac 2014-09-03 01:20:22.058084244 -0700
+@@ -1867,11 +1867,11 @@
GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags 2>/dev/null`
fi
diff --git a/meta-oe/recipes-extended/collectd/collectd_5.2.2.bb b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb
index 8585ff3c70..92b231c81e 100644
--- a/meta-oe/recipes-extended/collectd/collectd_5.2.2.bb
+++ b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb
@@ -3,17 +3,20 @@ DESCRIPTION = "collectd is a daemon which collects system performance statistics
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "rrdtool curl mysql5 libpcap libxml2 yajl libgcrypt libtool"
+DEPENDS = "rrdtool curl mysql5 libpcap libxml2 yajl libgcrypt libtool lvm2 libmnl"
SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \
file://no-gcrypt-badpath.patch \
file://collectd-version.patch \
- file://collectd.init"
+ file://glibc-2.20-compatiblity.patch \
+ file://collectd.init \
+ file://collectd.service"
+SRC_URI[md5sum] = "6f56c71c96573a7f4f7fb3bfab185974"
+SRC_URI[sha256sum] = "75452129f271cb0aad28e57f12a49070618bbb7b6a9d64cf869e8766fa2f66e0"
-SRC_URI[md5sum] = "29e61411e51845d5ae71ab676078867e"
-SRC_URI[sha256sum] = "7b8906d1c8866155b31820ef108be92abcee7fcd278d386bf0d449e704ba4696"
+inherit autotools pythonnative update-rc.d pkgconfig systemd
-inherit autotools pythonnative update-rc.d
+SYSTEMD_SERVICE_${PN} = "collectd.service"
# Floatingpoint layout, architecture dependent
# 'nothing', 'endianflip' or 'intswap'
@@ -30,6 +33,12 @@ PACKAGECONFIG[modbus] = "--enable-modbus,--disable-modbus,libmodbus"
PACKAGECONFIG[libowcapi] = "--with-libowcapi,--without-libowcapi,owfs"
PACKAGECONFIG[sensors] = "--enable-sensors --with-libsensors=yes, \
--disable-sensors --with-libsensors=no,lmsensors"
+PACKAGECONFIG[amqp] = "--enable-amqp --with-librabbitmq=yes, \
+ --disable-amqp --with-librabbitmq=no,rabbitmq-c"
+# protobuf-c, libvirt that are currently only available in meta-virtualization layer
+PACKAGECONFIG[pinba] = "--enable-pinba,--disable-pinba,protobuf-c-native protobuf-c"
+PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt"
+PACKAGECONFIG[libesmtp] = "--with-libesmtp,--without-libesmtp,libesmtp"
EXTRA_OECONF = " \
${FPLAYOUT} \
@@ -51,6 +60,12 @@ do_install_append() {
rmdir "${D}${localstatedir}/run"
rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+
+ # Install systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/collectd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_unitdir}/system/collectd.service
}
INITSCRIPT_NAME = "collectd"
diff --git a/meta-oe/recipes-extended/corosync/corosync_2.3.4.bb b/meta-oe/recipes-extended/corosync/corosync_2.3.4.bb
new file mode 100644
index 0000000000..b84257fc0d
--- /dev/null
+++ b/meta-oe/recipes-extended/corosync/corosync_2.3.4.bb
@@ -0,0 +1,61 @@
+SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces"
+DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \
+APIs and libraries, default configuration files, and an init script."
+HOMEPAGE = "http://corosync.github.io/corosync/"
+
+SECTION = "base"
+
+inherit autotools pkgconfig systemd
+
+SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \
+ "
+
+SRC_URI[md5sum] = "4b0f36a1dc014527e5b192265dbd7e70"
+SRC_URI[sha256sum] = "3dae93fb1cf5c560295253b0560cbc25421ed053ee373852864f3a60c03247d4"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
+
+DEPENDS = "groff-native nss libqb"
+
+SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_NAME = "corosync-daemon"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_unitdir}/system/,--with-systemddir="
+
+EXTRA_OECONF = "--disable-nss \
+ --with-upstartdir=%{_sysconfdir}/init \
+"
+EXTRA_OECONF += " --enable-nss "
+
+do_configure_prepend() {
+ ( cd ${S}
+ ${S}/autogen.sh )
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/sysconfig/
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
+ install -m 0644 ${S}/init/corosync-notifyd.conf.in ${D}${sysconfdir}/sysconfig/corosync-notifyd.conf
+ install -m 0644 ${S}/init/corosync.conf.in ${D}${sysconfdir}/sysconfig/corosync.conf
+ install -m 0644 ${S}/init/corosync.in ${D}${sysconfdir}/init.d/corosync
+ install -m 0644 ${S}/init/corosync-notifyd.in ${D}${sysconfdir}/init.d/corosync-notifyd
+
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/init/corosync.service.in ${D}${systemd_unitdir}/system/corosync.service
+ install -m 0644 ${S}/init/corosync-notifyd.service.in ${D}${systemd_unitdir}/system/corosync-notifyd.service
+ sed -i -e 's,@INITWRAPPERSDIR@,${sysconfdir}/init.d,g' ${D}${systemd_unitdir}/system/corosync.service
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service
+ sed -i -e 's,@SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service
+ fi
+}
+
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
diff --git a/meta-oe/recipes-extended/dash/dash_0.5.8.bb b/meta-oe/recipes-extended/dash/dash_0.5.8.bb
new file mode 100644
index 0000000000..4961d7b83f
--- /dev/null
+++ b/meta-oe/recipes-extended/dash/dash_0.5.8.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Small and fast POSIX-compliant shell"
+HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/"
+SECTION = "System Environment/Shells"
+
+LICENSE = "BSD & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e"
+
+inherit autotools update-alternatives
+
+SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz"
+SRC_URI[md5sum] = "5c152209680dab3c319e8923f6c51378"
+SRC_URI[sha256sum] = "c6db3a237747b02d20382a761397563d813b306c020ae28ce25a1c3915fac60f"
+
+EXTRA_OECONF += "--bindir=${base_bindir}"
+
+ALTERNATIVE_${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash"
+ALTERNATIVE_PRIORITY = "10"
+
+pkg_postinst_${PN} () {
+ grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells
+}
+
+pkg_postrm_${PN} () {
+ printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
+}
diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb
deleted file mode 100644
index 50202c1cb7..0000000000
--- a/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Data recovery tool"
-DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
- from one file or block device (hard disc, cdrom, etc) to another, \
- trying hard to rescue data in case of read errors."
-HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
-SECTION = "console"
-LICENSE = "GPLv3+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
- file://main_common.cc;beginline=5;endline=16;md5=b5a59150a33658cc1ffc31b1a4ffb9f2"
-
-SRC_URI = "${GNU_MIRROR}/${PN}/${P}.tar.gz"
-SRC_URI[md5sum] = "57b67407e882c6418531d48a2f20d16b"
-SRC_URI[sha256sum] = "76b3f2e5fb0306d24f2632c3e168cccb73dc0a348e3a7089cd9230748ff23de6"
-
-inherit autotools
-
-EXTRA_OECONF = "'CXX=${CXX}' 'CPPFLAGS=${CPPFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'LDFLAGS=${LDFLAGS}'"
diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb
new file mode 100644
index 0000000000..27e00a5e63
--- /dev/null
+++ b/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Data recovery tool"
+DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
+ from one file or block device (hard disc, cdrom, etc) to another, \
+ trying hard to rescue data in case of read errors."
+HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
+SECTION = "console"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
+ file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
+SRC_URI[md5sum] = "ed6b5b82d74cbd925db2b829350e74b1"
+SRC_URI[sha256sum] = "ed8d0c9d9aac80a9110e9cb0d0a91a7390d3bf9f816b67a62ca4eb140f4747b8"
+
+# This isn't already added by base.bbclass
+do_unpack[depends] += "lzip-native:do_populate_sysroot"
+
+CONFIGUREOPTS = "\
+ '--srcdir=${S}' \
+ '--prefix=${prefix}' \
+ '--exec-prefix=${exec_prefix}' \
+ '--bindir=${bindir}' \
+ '--datadir=${datadir}' \
+ '--infodir=${infodir}' \
+ '--sysconfdir=${sysconfdir}' \
+ 'CXX=${CXX}' \
+ 'CPPFLAGS=${CPPFLAGS}' \
+ 'CXXFLAGS=${CXXFLAGS}' \
+ 'LDFLAGS=${LDFLAGS}' \
+"
+EXTRA_OEMAKE = ""
+
+do_configure () {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ # Info dir listing isn't interesting at this point so remove it if it exists.
+ if [ -e "${D}${infodir}/dir" ]; then
+ rm -f ${D}${infodir}/dir
+ fi
+}
+
diff --git a/meta-oe/recipes-extended/dialog/dialog.inc b/meta-oe/recipes-extended/dialog/dialog.inc
index c1c28fd876..995d6c07c1 100644
--- a/meta-oe/recipes-extended/dialog/dialog.inc
+++ b/meta-oe/recipes-extended/dialog/dialog.inc
@@ -8,12 +8,14 @@ DEPENDS = "ncurses"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz"
+SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \
+ file://use-pkg-config-for-ncurses-detection.patch \
+ "
# hardcoded here for use in dialog-static recipe
S = "${WORKDIR}/dialog-${PV}"
-inherit autotools
+inherit autotools-brokensep pkgconfig
EXTRA_OECONF = "--with-ncurses \
--disable-rpath-hack"
diff --git a/meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch b/meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch
new file mode 100644
index 0000000000..a2354ade07
--- /dev/null
+++ b/meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch
@@ -0,0 +1,40 @@
+Subject: [PATCH] use pkg-config for ncurses detection.
+
+Upstream-Status: Inappropriate [configuration]
+
+This is a workaround to make dialog be able to build after ncurses-config
+does not work, since the configure file is called directly in dialog bb
+file, and autoconf can not work, make a workaround in configure file.
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ configure | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure b/configure
+index 24e28c1..c78735d 100755
+--- a/configure
++++ b/configure
+@@ -9976,8 +9976,8 @@ fi
+
+ if test "$NCURSES_CONFIG" != none ; then
+
+-CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
+-LIBS="`$NCURSES_CONFIG --libs` $LIBS"
++CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "ncurses" 2>/dev/null`"
++LIBS="`pkg-config --short-errors --print-errors --libs "ncurses" 2>/dev/null` $LIBS"
+
+ # even with config script, some packages use no-override for curses.h
+
+@@ -10096,7 +10096,7 @@ cat >>confdefs.h <<EOF
+ #define $cf_nculib_ROOT 1
+ EOF
+
+-cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
++cf_cv_ncurses_version=`pkg-config --short-errors --print-errors --modversion "ncurses"`
+
+ else
+
+--
+1.7.10.4
+
diff --git a/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb b/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb
new file mode 100644
index 0000000000..560630c74b
--- /dev/null
+++ b/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "dlm control daemon and tool"
+
+SECTION = "utils"
+HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SRC_URI = "https://git.fedorahosted.org/cgit/dlm.git/snapshot/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "efc2ee6093aa6aa0a88aaad83e998a3f"
+SRC_URI[sha256sum] = "b89bc557aaffbab0ac005398025f247718a5589cff6574d902eaffe2b20e683e"
+
+LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d"
+
+DEPENDS = "corosync systemd"
+
+inherit pkgconfig systemd distro_features_check
+
+SYSTEMD_SERVICE_${PN} = "dlm.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+export EXTRA_OEMAKE = ""
+
+do_compile_prepend() {
+ sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile
+}
+
+do_compile () {
+ oe_runmake 'CC=${CC}'
+}
+
+do_install_append (){
+ install -d ${D}${sysconfdir}/sysconfig/
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm
+ install -m 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm
+
+ # install systemd unit files
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system
+ fi
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} LIBDIR=${libdir}
+}
+
diff --git a/meta-oe/recipes-extended/fwts/fwts_git.bb b/meta-oe/recipes-extended/fwts/fwts_git.bb
index 4fa1d6be1a..8b0e61b9a8 100644
--- a/meta-oe/recipes-extended/fwts/fwts_git.bb
+++ b/meta-oe/recipes-extended/fwts/fwts_git.bb
@@ -5,14 +5,14 @@ HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f"
-PV = "14.05.00"
+PV = "14.09.00"
-SRCREV = "fb5385fec1f3468b479e87c0bba38ab76f60915b"
+SRCREV = "cf14f3b4bab716dea95de772ad52786c1cbe862a"
SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git"
S = "${WORKDIR}/git"
-DEPENDS = "libpcre json-c"
+DEPENDS = "libpcre json-c glib-2.0"
inherit autotools-brokensep
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot.inc b/meta-oe/recipes-extended/gnuplot/gnuplot.inc
index 6c27e6d8ab..69bc74b047 100644
--- a/meta-oe/recipes-extended/gnuplot/gnuplot.inc
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot.inc
@@ -6,7 +6,9 @@ LICENSE = "gnuplot"
LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f"
DEPENDS = "virtual/libx11 gd readline"
-inherit autotools
+inherit autotools distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
acpaths = ""
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb b/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb
index 8a5bca964d..3f694a0547 100644
--- a/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb
@@ -1,6 +1,6 @@
require gnuplot.inc
-SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${PN}-${PV}.tar.gz;name=archive \
+SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \
http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
file://subdirs.patch \
file://lua-loadlibs-configure-in-fix.patch \
diff --git a/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch b/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch
new file mode 100644
index 0000000000..df27bcb091
--- /dev/null
+++ b/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch
@@ -0,0 +1,20 @@
+--- a/init.d/Makefile.am 2014-01-02 18:55:53.000000000 +0100
++++ b/init.d/Makefile.am 2014-08-11 10:59:40.000000000 +0200
+@@ -34,11 +34,11 @@
+ $(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service;
+
+ install-data-hook:
+-if ENABLE_SYSTEMD_LOOKUP
+- install -p -m644 haveged.service `pkg-config --variable=systemdsystemunitdir systemd`/haveged.service;
+-else
+- install -p -m644 haveged.service ($unit_dir)/haveged.service;
+-endif
+- systemctl enable haveged.service;
++#if ENABLE_SYSTEMD_LOOKUP
++# install -p -m644 haveged.service `pkg-config --variable=systemdsystemunitdir systemd`/haveged.service;
++#else
++# install -p -m644 haveged.service ($unit_dir)/haveged.service;
++#endif
++# systemctl enable haveged.service;
+
+ endif
diff --git a/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb b/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb
new file mode 100644
index 0000000000..fbd1992d63
--- /dev/null
+++ b/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "haveged - A simple entropy daemon"
+DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
+AUTHOR = "Gary Wuertz"
+HOMEPAGE = "http://www.issihosts.com/haveged/index.html"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://www.issihosts.com/haveged/haveged-${PV}.tar.gz \
+ file://remove-systemd-unit-503.patch \
+ "
+
+SRC_URI[md5sum] = "015ff58cd10607db0e0de60aeca2f5f8"
+SRC_URI[sha256sum] = "9c2363ed9542a6784ff08e247182137e71f2ddb79e8e6c1ac4ad50d21ced3715"
+
+PR = "r0"
+
+inherit autotools systemd
+
+EXTRA_OECONF = "\
+ --enable-init=service.redhat \
+ --enable-nistest=yes \
+ --enable-olt=yes \
+ --enable-threads=no \
+ "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "haveged.service"
+
+do_install_append() {
+ mkdir -p ${D}${systemd_unitdir}/system
+ install -p -m644 ${B}/init.d/haveged.service ${D}${systemd_unitdir}/system
+}
diff --git a/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb b/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb
index d0658db58c..c2f0630383 100644
--- a/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb
+++ b/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb
@@ -6,12 +6,12 @@ DEPENDS = "ncurses"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-SRC_URI = "http://rigaux.org/${PN}-${PV}.src.tgz \
+SRC_URI = "http://rigaux.org/${BP}.src.tgz \
file://0001-don-t-strip-when-installing.patch "
SRC_URI[md5sum] = "a5af1378d028512a9cad27a5ba3e15f9"
SRC_URI[sha256sum] = "6a126da30a77f5c0b08038aa7a881d910e3b65d13767fb54c58c983963b88dd7"
-inherit autotools
+inherit autotools-brokensep
S = "${WORKDIR}/${PN}"
diff --git a/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch b/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch
new file mode 100644
index 0000000000..31c005c60c
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch
@@ -0,0 +1,14 @@
+Index: hplip-3.12.6/configure.in
+===================================================================
+--- hplip-3.12.6.orig/configure.in 2014-07-16 20:03:51.310044196 +0000
++++ hplip-3.12.6/configure.in 2014-07-18 07:53:31.589559192 +0000
+@@ -27,8 +27,7 @@
+
+ #AC_PREREQ(2.59)
+ AC_INIT([HP Linux Imaging and Printing], [3.12.6], [3.12.6], [hplip])
+-#AM_INIT_AUTOMAKE([1.9 foreign])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([1.9 foreign])
+ AC_DISABLE_STATIC
+
+ # Checks for programs.
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 655f907f6d..fc5ef18a06 100644
--- a/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
+++ b/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
@@ -4,15 +4,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=442bb3cbbeeb60643a87325718b8a8ee"
PR = "r1"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
file://setup-add-sleep-after-cups-reset.patch \
file://fix-libusb-paths.patch \
file://cups-1.6.patch \
+ file://configure.patch \
"
DEPENDS += "cups python libusb"
-inherit autotools python-dir pythonnative
+inherit autotools-brokensep python-dir pythonnative pkgconfig
export BUILD_SYS
export HOST_SYS
diff --git a/meta-oe/recipes-extended/indent/indent_2.2.10.bb b/meta-oe/recipes-extended/indent/indent_2.2.10.bb
new file mode 100644
index 0000000000..dbd6b7b595
--- /dev/null
+++ b/meta-oe/recipes-extended/indent/indent_2.2.10.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A GNU program for formatting C code"
+HOMEPAGE = "http://www.gnu.org/software/indent/"
+SECTION = "Applications/Text"
+DESCRIPTION = "Indent is a GNU program for beautifying C code, so that \
+it is easier to read. Indent can also convert from one C writing style \
+to a different one. Indent understands correct C syntax and tries to handle \
+incorrect C syntax. \
+Install the indent package if you are developing applications in C and \
+you want a program to format your code."
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS = "virtual/gettext"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
+SRC_URI[md5sum] = "be35ea62705733859fbf8caf816d8959"
+SRC_URI[sha256sum] = "8a9b41be5bfcab5d8c1be74204b10ae78789fc3deabea0775fdced8677292639"
+
+inherit autotools gettext
+
+FILES_${PN}-doc += "/usr/doc/indent/indent.html"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb
index 14d2ee5e38..d6292453f4 100644
--- a/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb
+++ b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb
@@ -9,7 +9,7 @@ PR = "r1"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-SRC_URI = "http://guichaz.free.fr/iotop/files/${PN}-${PV}.tar.bz2"
+SRC_URI = "http://guichaz.free.fr/iotop/files/${BP}.tar.bz2"
SRC_URI[md5sum] = "cdd38b276cbf238676f5d2bcf098ba9c"
SRC_URI[sha256sum] = "46f3279fb1a7dfc129b5d00950c6e8389e4aedeb58880e848b88d686483df0b0"
@@ -20,6 +20,6 @@ do_install_append() {
rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.py || true
}
-RDEPENDS_${PN} = "python-distutils python-curses python-textutils \
+RDEPENDS_${PN} = "python-curses python-textutils \
python-codecs python-ctypes python-pprint \
python-shell"
diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch b/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch
deleted file mode 100644
index 061cc22f0c..0000000000
--- a/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Description: With automake 1.11.3, pkglib_PROGRAMS is not valid anymore,
- so work around this by using my_execbin_PROGRAMS.
-Author: Andreas Moog <amoog@ubuntu.com>
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/934265
-
-Upstream-Status: Backport
-
-Index: lcdproc-0.5.5/server/drivers/Makefile.am
-===================================================================
---- lcdproc-0.5.5.orig/server/drivers/Makefile.am 2012-02-26 14:04:37.000000000 +0100
-+++ lcdproc-0.5.5/server/drivers/Makefile.am 2012-02-26 14:13:17.764467350 +0100
-@@ -20,7 +20,8 @@
-
- ## Keep the lists sorted!
-
--pkglib_PROGRAMS = @DRIVERS@
-+my_execbindir = $(pkglibdir)
-+my_execbin_PROGRAMS = @DRIVERS@
- EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses debug CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon imonlcd IOWarrior irman joy lb216 lcdm001 lcterm lirc lis MD8800 mdm166a ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD shuttleVFD stv5730 SureElec svga t6963 text tyan sli ula200 xosd i2500vfd irtrans
- noinst_LIBRARIES = libLCD.a libbignum.a
-
diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc5.inc b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc
index d1a45cadcc..d7e333af68 100644
--- a/meta-oe/recipes-extended/lcdproc/lcdproc5.inc
+++ b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc
@@ -9,7 +9,7 @@ DEPENDS = "ncurses"
LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
file://README;beginline=60;md5=637e042cdd3671ba00e78b58ede45d3b"
-SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${P}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${BP}.tar.gz"
inherit autotools update-rc.d
@@ -36,10 +36,10 @@ do_install () {
sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc
# configuration files
- install -m 0644 LCDd.conf ${D}${sysconfdir}/LCDd.conf
+ install -m 0644 ${S}/LCDd.conf ${D}${sysconfdir}/LCDd.conf
sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf
sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf
- install -m 0644 clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf
+ install -m 0644 ${S}/clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf
# driver library files
install -d ${D}${libdir}/lcdproc
diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb
index 39e607437e..4761ef7e9b 100644
--- a/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb
+++ b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb
@@ -1,12 +1,11 @@
require lcdproc5.inc
-SRC_URI += "file://automake-111-fix.patch"
-
-SRC_URI[md5sum] = "c92d4529d36eeec6d9d6fd0a4aa3ec82"
-SRC_URI[sha256sum] = "b136b47d7bf585a003334f432d8730a36ef5ed1cd520084b919667d825e48d42"
+SRC_URI[md5sum] = "df4f5c2c7285eaf6979b9c7768b4877f"
+SRC_URI[sha256sum] = "bd2f43c30ff43b30f43110abe6b4a5bc8e0267cb9f57fa97cc5e5ef9488b984a"
PACKAGECONFIG ?= ""
PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render,"
+PACKAGECONFIG[hid] = "--enable-libhid,--disable-libhid,libhid"
LCD_DRIVERS_append = "${@base_contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}"
@@ -15,7 +14,7 @@ do_install_append () {
install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc
# configuration files
- install -D -m 0644 clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf
+ install -D -m 0644 ${S}/clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf
}
PACKAGES =+ "lcdvc"
diff --git a/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch b/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch
new file mode 100644
index 0000000000..4b76dd0c31
--- /dev/null
+++ b/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch
@@ -0,0 +1,48 @@
+From d6daac04dab4b3acf4b88f16742d1b402cdc3d83 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 1 Oct 2014 18:54:04 +0200
+Subject: [PATCH] Explicitly disable tcmalloc
+
+Without this change leveldb autodetects tcmalloc from sysroot and
+sometimes became dependant on gperftools
+
+Disable autodetection without TCMALLOC_ENABLED=true pased to make
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ build_detect_platform | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/build_detect_platform b/build_detect_platform
+index bb76c4f..a586364 100755
+--- a/build_detect_platform
++++ b/build_detect_platform
+@@ -201,15 +201,17 @@ EOF
+ PLATFORM_LIBS="$PLATFORM_LIBS -lsnappy"
+ fi
+
+- # Test whether tcmalloc is available
+- $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null <<EOF
+- int main() {}
++ if [ "$TCMALLOC_ENABLED" = "true" ]; then
++ # Test whether tcmalloc is available
++ $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null <<EOF
++ int main() {}
+ EOF
+- if [ "$?" = 0 ]; then
+- PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc"
+- fi
++ if [ "$?" = 0 ]; then
++ PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc"
++ fi
+
+- rm -f $CXXOUTPUT 2>/dev/null
++ rm -f $CXXOUTPUT 2>/dev/null
++ fi
+ fi
+
+ PLATFORM_CCFLAGS="$PLATFORM_CCFLAGS $COMMON_FLAGS"
+--
+2.1.1
+
diff --git a/meta-oe/recipes-extended/leveldb/leveldb_git.bb b/meta-oe/recipes-extended/leveldb/leveldb_git.bb
new file mode 100644
index 0000000000..a6a3024301
--- /dev/null
+++ b/meta-oe/recipes-extended/leveldb/leveldb_git.bb
@@ -0,0 +1,27 @@
+SUMMARY = "LevelDB is a fast key-value storage library"
+DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values"
+HOMEPAGE = "http://leveldb.googlecode.com"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
+
+SRCREV = "803d69203a62faf50f1b77897310a3a1fcae712b"
+PV = "1.18+git${SRCPV}"
+
+SRC_URI = "git://github.com/google/${BPN}.git \
+ file://0001-Explicitly-disable-tcmalloc.patch \
+"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ # do not use oe_runmake. oe_runmake pass to make compilation arguments and override
+ # leveldb makefile variable CFLAGS and broke leveldb build.
+ CFLAGS="${CFLAGS}" make || die
+}
+
+do_install() {
+ install -d ${D}${libdir}
+ oe_libinstall -C ${S} -so libleveldb ${D}${libdir}
+ install -d ${D}${includedir}/leveldb
+ install -m 644 ${S}/include/leveldb/*.h ${D}${includedir}/leveldb/
+}
diff --git a/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-oe/recipes-extended/libcec/libcec_git.bb
index db032f98c9..0f2a64eda2 100644
--- a/meta-oe/recipes-extended/libcec/libcec_git.bb
+++ b/meta-oe/recipes-extended/libcec/libcec_git.bb
@@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5e8e16396992369f73f3d28875f846da"
DEPENDS = "udev lockdev"
-PV = "1.9.0"
+PV = "2.1.4"
-SRCREV = "9884e9ffc5293de5bb9092db1ed581f213a678df"
-SRC_URI = "git://github.com/Pulse-Eight/libcec.git"
+SRCREV = "81e38211724bc6e8bd7a60f484433053ed682635"
+SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
index 1154dc0c53..6c4f4a0721 100644
--- a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
+++ b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
@@ -2,18 +2,19 @@ DESCRIPTION = "Libdivecomputer is a cross-platform and open source library for c
HOMEPAGE = "http://www.divesoftware.org/libdc/"
LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
DEPENDS = "libusb1"
inherit autotools pkgconfig
-PV = "0.0.0"
-PR = "r1"
+PV = "0.4.2+gitr${SRCPV}"
+
+SRCREV = "5f765f91430f16932d96b3777404420aa2dd4c7c"
+SRC_URI = "git://git.libdivecomputer.org/libdivecomputer.git \
+ file://fix-ar.patch \
+ "
-SRCREV = "b7a6be15ca58cc8f89fbc8fa1a4c840e13d51092"
-SRC_URI = "git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer \
-file://fix-ar.patch"
S = "${WORKDIR}/git"
diff --git a/meta-oe/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
new file mode 100644
index 0000000000..3d293b473e
--- /dev/null
+++ b/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch
@@ -0,0 +1,21 @@
+multi-line ACLOCAL_AMFLAGS isn't supported by autoreconf.
+It will cause configure error as follow.
+
+ aclocal: error: non-option arguments are not accepted: '\'.
+
+Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
+
+diff -Nurp libgxim-0.5.0.orig/Makefile.am libgxim-0.5.0/Makefile.am
+--- libgxim-0.5.0.orig/Makefile.am 2012-12-13 15:48:09.000000000 +0800
++++ libgxim-0.5.0/Makefile.am 2014-12-19 11:05:50.727209821 +0800
+@@ -2,9 +2,7 @@ NULL =
+ AUTOMAKE_OPTIONS = dist-bzip2
+ SUBDIRS = libgxim m4macros po tests docs
+
+-ACLOCAL_AMFLAGS = \
+- -I m4macros \
+- $(NULL)
++ACLOCAL_AMFLAGS = -I m4macros $(NULL)
+
+ CONFIGURE_DEPENDENCIES = \
+ requires \
diff --git a/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
new file mode 100644
index 0000000000..0b4b743a88
--- /dev/null
+++ b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "GObject-based XIM protocol library"
+DESCRIPTION = "libgxim is a X Input Method protocol library that is implemented by GObject.\
+this library helps you to implement XIM servers or client applications to\
+communicate through XIM protocol without using Xlib API directly, particularly\
+if your application uses GObject-based main loop.\
+\
+This package contains the shared library."
+
+HOMEPAGE = "http://code.google.com/p/libgxim/"
+SECTION = "System Environment/Libraries"
+
+SRC_URI = "https://bitbucket.org/tagoh/libgxim/downloads/${BPN}-${PV}.tar.bz2 \
+ file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch"
+
+SRC_URI[md5sum] = "4bb1fa63d00eb224439d413591c29a6a"
+SRC_URI[sha256sum] = "75e20d1744139644f9951b78ea3910b162d3380302315cb4b3d0640f23694c79"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "\
+file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+EXTRA_OECONF = " --disable-static --disable-rebuilds"
+DEPENDS += "gtk+ glib-2.0 ruby-native"
+
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm.inc b/meta-oe/recipes-extended/liblognorm/liblognorm.inc
new file mode 100644
index 0000000000..dc8abb91f1
--- /dev/null
+++ b/meta-oe/recipes-extended/liblognorm/liblognorm.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Fast samples-based log normalization library"
+DESCRIPTION = "Briefly described, liblognorm is a tool to normalize log data."
+
+HOMEPAGE = "http://www.liblognorm.com"
+SECTION = "base"
+
+LICENSE = "LGPL-2.1+"
+
+SRC_URI = "http://www.liblognorm.com/files/download/${BPN}-${PV}.tar.gz\
+"
+
+inherit autotools pkgconfig
+
+DEPENDS += "libee libestr json-c"
+
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
+PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,sphinx,"
diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb b/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb
new file mode 100644
index 0000000000..5d89e3540d
--- /dev/null
+++ b/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb
@@ -0,0 +1,5 @@
+require ${BPN}.inc
+
+SRC_URI[md5sum] = "7b9a826542af9686127110deab09d7a1"
+SRC_URI[sha256sum] = "1f6cdfd901a8f6a97a3cb74bc6107c6746b3e9381f7889e4cd866a488e0c59a5"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ca016db57e008528dace002188c73dad"
diff --git a/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb b/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb
new file mode 100644
index 0000000000..77307fe002
--- /dev/null
+++ b/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "An IPC library for high performance servers"
+DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
+It provides high performance logging, tracing, ipc, and poll."
+
+HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
+
+SECTION = "libs"
+
+inherit autotools pkgconfig
+
+SRC_URI = "https://fedorahosted.org/releases/q/u/quarterback/${BP}.tar.xz \
+ "
+
+SRC_URI[md5sum] = "5770b343baa4528f6fec90120ec55048"
+SRC_URI[sha256sum] = "7a2115f83bfe20eaa5f2e4ed235e8f2994235d3b87e3e5ca41ba47b320f12e29"
+
+LICENSE = "LGPL-2.1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
+
+do_configure_prepend() {
+ ( cd ${S}
+ ${S}/autogen.sh )
+}
+
+
diff --git a/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb b/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb
deleted file mode 100644
index aa05653846..0000000000
--- a/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "shared library for GIF images"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/libungif-4.x/libungif-${PV}/libungif-${PV}.tar.bz2"
-SRC_URI[md5sum] = "76865bc1bed90ecb5992a1edcc4d6c15"
-SRC_URI[sha256sum] = "708a7eac218d3fd8e8dfb13f1089d4e1e98246985180a17d6ecfca5a6bd4d332"
-
-inherit autotools lib_package
-
-PACKAGES =+ "${PN}-utils"
-
-FILES_${PN}-utils = "${bindir}/*"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch b/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch
new file mode 100644
index 0000000000..0f133e2e75
--- /dev/null
+++ b/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch
@@ -0,0 +1,67 @@
+From 61655f82224cadb261e81f8bae111eaaa7bdf531 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 6 Aug 2014 14:53:03 +0200
+Subject: [PATCH] configure: use pkg-config for freetype
+
+Upstream-status: Pending
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ configure.ac | 37 ++++++++-----------------------------
+ 1 file changed, 8 insertions(+), 29 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3cfe974..0055a8c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -399,40 +399,19 @@ AC_ARG_WITH(freetype,[ --with-freetype=DIR use freetype2 in DIR],[
+ fi
+ ])
+
+-if [ test -n "$FREETYPE_DIR" ]; then
+- AC_PATH_PROG(FREETYPE_CONFIG,freetype-config, ,[$FREETYPE_DIR/bin:$PATH])
+-else
+- AC_PATH_PROG(FREETYPE_CONFIG,freetype-config)
+-fi
+-
+-if [ test -n "$FREETYPE_CONFIG" ]; then
+- if [ test -n "$FREETYPE_DIR" ]; then
+- freetype_cflags="`$FREETYPE_CONFIG --cflags` -I$FREETYPE_DIR/include"
+- freetype_libs=`$FREETYPE_CONFIG --libs`
+- else
+- freetype_cflags=`$FREETYPE_CONFIG --cflags`
+- freetype_libs=`$FREETYPE_CONFIG --libs`
+- fi
+-else
+- if [ test -n "$FREETYPE_DIR" ]; then
+- freetype_cflags="-I$FREETYPE_DIR/include/freetype2 -I$FREETYPE_DIR/include"
+- freetype_libs="-L$FREETYPE_DIR/lib -lfreetype"
+- else
+- freetype_cflags=""
+- freetype_libs="-lfreetype"
+- fi
+-fi
+-
+-CPPFLAGS="$freetype_cflags $CPPFLAGS"
+-LDFLAGS="$LDFLAGS $freetype_libs"
++PKG_CHECK_MODULES(FREETYPE2, freetype2,
++ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
++ LDFLAGS="$LDFLAGS $FREETYPE2_LIBS",
++ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
++)
+
+ AC_CHECK_LIB(freetype,FT_Init_FreeType,[
+- WMF_FT_LDFLAGS="$freetype_libs"
++ WMF_FT_LDFLAGS="$FREETYPE2_LIBS"
+ ],[ AC_MSG_ERROR([* * * freetype(2) is required * * *])
+ ])
+ AC_CHECK_HEADER(ft2build.h,[
+- WMF_FT_CFLAGS="$freetype_cflags"
+- WMF_FT_CONFIG_CFLAGS="$freetype_cflags"
++ WMF_FT_CFLAGS="$FREETYPE2_CFLAGS"
++ WMF_FT_CONFIG_CFLAGS="$FREETYPE2_CFLAGS"
+ ],[ AC_MSG_ERROR([* * * freetype(2) is required * * *])
+ ])
+
+--
+1.9.0
+
diff --git a/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
index 53ef81a69a..11e2ba1802 100644
--- a/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
+++ b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
@@ -7,16 +7,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
PR = "r3"
-DEPENDS_virtclass-native = "libpng-native jpeg-native"
-DEPENDS = "libpng jpeg expat gtk+"
+DEPENDS_virtclass-native = "freetype-native libpng-native jpeg-native"
+DEPENDS = "freetype libpng jpeg expat gtk+"
BBCLASSEXTEND = "native"
-inherit autotools
+inherit autotools pkgconfig
SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/${BPN}/${PV}/${BPN}-${PV}.tar.gz;name=tarball \
file://libwmf-0.2.8.4-intoverflow.patch \
- file://libwmf-0.2.8.4-useafterfree.patch"
+ file://libwmf-0.2.8.4-useafterfree.patch \
+ file://0001-configure-use-pkg-config-for-freetype.patch \
+ "
+
SRC_URI[tarball.md5sum] = "d1177739bf1ceb07f57421f0cee191e0"
SRC_URI[tarball.sha256sum] = "5b345c69220545d003ad52bfd035d5d6f4f075e65204114a9e875e84895a7cf8"
diff --git a/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb
new file mode 100644
index 0000000000..4354fff9a2
--- /dev/null
+++ b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes"
+DESCRIPTION = "\
+lockfile-progs provide a method to lock and unlock mailboxes and files \
+safely (via liblockfile)."
+HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html"
+SECTION = "Applications/System"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+DEPENDS = "liblockfile"
+
+SRC_URI = "http://ftp.de.debian.org/debian/pool/main/l/${BPN}/${BPN}_${PV}.tar.gz"
+SRC_URI[md5sum] = "64424a766fbc8cf6d613fcc14a096e14"
+SRC_URI[sha256sum] = "03fb05d25499532f497775b1747b61fa6beebf12d3bcc951e125349ae166c511"
+
+do_compile() {
+ oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables'
+}
+
+do_install() {
+ install -m 755 -d ${D}${bindir}
+ install bin/* ${D}${bindir}
+ install -m 755 -d ${D}${mandir}/man1
+ install man/* ${D}${mandir}/man1
+}
diff --git a/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb b/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb
new file mode 100644
index 0000000000..ba4c2ab9ac
--- /dev/null
+++ b/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Analyzes log files and sends noticeable events as email"
+DESCRIPTION = "\
+Logcheck is a simple utility which is designed to allow a system administrator \
+to view the log-files which are produced upon hosts under their control. \
+It does this by mailing summaries of the log-files to them, after first \
+filtering out "normal" entries. \
+Normal entries are entries which match one of the many included regular \
+expression files contain in the database."
+SECTION = "Applications/System"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c93c0550bd3173f4504b2cbd8991e50b"
+
+SRC_URI = "git://git.debian.org/git/logcheck/logcheck.git"
+SRCREV = "2429e67ad875fee8a0234c64d504277b038c89cd"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ # Fix QA Issue
+ sed -i '/install -d $(DESTDIR)\/var\/lock\/logcheck/s/^/#/' Makefile
+
+ # "make install" do not install the manpages. Install them manually.
+ install -m 755 -d ${D}${mandir}/man1
+ install -m 755 -d ${D}${mandir}/man8
+ install -m 644 docs/logcheck-test.1 ${D}${mandir}/man1/
+ install -m 644 docs/logtail.8 ${D}${mandir}/man8/
+ install -m 644 docs/logtail2.8 ${D}${mandir}/man8/
+ sed -i "s/syslog/messages/" etc/logcheck.logfiles
+ sed -i "s/auth\.log/secure/" etc/logcheck.logfiles
+ install -m 755 -d ${D}${sysconfdir}/cron.d
+ install -m 644 debian/logcheck.cron.d ${D}${sysconfdir}/cron.d/logcheck
+ install -m 755 -d ${D}/var/lib/logcheck
+ oe_runmake install DESTDIR=${D}
+}
+
+RDEPENDS_${PN} = "perl"
+
+FILES_${PN} += "${datadir}/logtail"
diff --git a/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb
new file mode 100644
index 0000000000..650d6f86e3
--- /dev/null
+++ b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb
@@ -0,0 +1,58 @@
+SUMMARY = "A log file analysis program"
+DESCRIPTION = "\
+Logwatch is a customizable, pluggable log-monitoring system. It will go \
+through your logs for a given period of time and make a report in the areas \
+that you wish with the detail that you wish. Easy to use - works right out of \
+the package on many systems.\
+"
+SECTION = "devel"
+HOMEPAGE = "http://www.logwatch.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f2566bb12b16d2d80d90ebc533261aa7"
+RDEPENDS_${PN} = "perl"
+
+SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
+SRC_URI[md5sum] = "a0c3d8721f877bdcd4a9089eb1b4691b"
+SRC_URI[sha256sum] = "35ec31f9fe981aaa727b144ab3ff2eb655997d8ccabaf66586458f5dfc3a56eb"
+
+do_install() {
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
+ install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles
+ install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services
+ install -m 0755 -d ${D}${localstatedir}/cache/logwatch
+ mv conf/ ${D}${datadir}/logwatch/default.conf
+ mv scripts/ ${D}${datadir}/logwatch/scripts
+ mv lib ${D}${datadir}/logwatch/lib
+
+ install -m 0755 -d ${D}${mandir}/man1
+ install -m 0755 -d ${D}${mandir}/man5
+ install -m 0755 -d ${D}${mandir}/man8
+ install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1
+ install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1
+ install -m 0644 ignore.conf.5 ${D}${mandir}/man5
+ install -m 0644 override.conf.5 ${D}${mandir}/man5
+ install -m 0644 logwatch.conf.5 ${D}${mandir}/man5
+ install -m 0644 logwatch.8 ${D}${mandir}/man8
+
+ install -m 0755 -d ${D}${sysconfdir}/cron.daily
+ install -m 0755 -d ${D}${sbindir}
+ ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sysconfdir}/cron.daily/0logwatch
+ ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch
+ cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF
+ DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\`
+ if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ]
+ then
+ logwatch
+ fi
+EOF
+ chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch
+
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services
+ touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+ touch ${D}${sysconfdir}/logwatch/conf/ignore.conf
+ touch ${D}${sysconfdir}/logwatch/conf/override.conf
+ echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+ echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf
+ echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf
+}
diff --git a/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch b/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch
new file mode 100644
index 0000000000..3a4c4f4c2c
--- /dev/null
+++ b/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch
@@ -0,0 +1,39 @@
+--- a/configure.ac 2014-08-22 12:22:54.290884351 +0200
++++ b/configure.ac 2014-08-22 12:23:15.822306295 +0200
+@@ -42,18 +42,6 @@
+ ;;
+ esac
+
+-
+-# Bring additional directories where things might be found into our
+-# search path. I don't know why autoconf doesn't do this by default
+-if test x"${mingw}" == "xno" ; then
+- for spfx in /usr/local /opt/local /sw ; do
+- echo checking ${spfx}/include
+- if test -d ${spfx}/include; then
+- CPPFLAGS="-I${spfx}/include $CPPFLAGS"
+- LDFLAGS="-L${spfx}/lib $LDFLAGS"
+- fi
+- done
+-fi
+ #
+ #
+ ################################################################
+@@ -71,7 +59,7 @@
+
+ if test $mingw = "no" ; then
+ # add the warnings we don't want to do on mingw
+- $WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Wall -Wstrict-prototypes -Weffc++"
++ WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Wall -Wstrict-prototypes -Weffc++"
+ fi
+
+ for option in $WARNINGS_TO_TEST
+@@ -105,7 +93,7 @@
+
+ if test $mingw = "no" ; then
+ # add the warnings we don't want to do on mingw
+- $WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Weffc++"
++ WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Weffc++"
+ fi
+
+ for option in $WARNINGS_TO_TEST
diff --git a/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb b/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb
new file mode 100644
index 0000000000..960e00f61d
--- /dev/null
+++ b/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb
@@ -0,0 +1,16 @@
+SUMMARY = "md5deep and hashdeep to compute and audit hashsets of amounts of files."
+DESCRIPTION = "md5deep is a set of programs to compute MD5, SHA-1, SHA-256, Tiger, or Whirlpool message digests on an arbitrary number of files. This package also includes hashdeep which is also able to audit hashsets."
+AUTHOR = "Jesse Kornblum, Simson L. Garfinkel"
+HOMEPAGE = "http://md5deep.sourceforge.net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9190f660105b9a56cdb272309bfd5491"
+# Release 4.4
+SRCREV = "cd2ed7416685a5e83eb10bb659d6e9bec01244ae"
+
+SRC_URI = "git://github.com/jessek/hashdeep.git \
+ file://wrong-variable-expansion.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb b/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
index 95deb37259..65b07f5022 100644
--- a/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
+++ b/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
PR = "r3"
-SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${P}.tar.gz \
+SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${BP}.tar.gz \
file://mathview-gcc43x.diff \
file://mathview-gcc47x.diff \
file://qualify-lookup.diff \
@@ -14,7 +14,7 @@ SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${P}.tar.gz \
SRC_URI[md5sum] = "b53564e553728d4b69f7d366dfeb5299"
SRC_URI[sha256sum] = "1dc30175da6a3c560a7d62d1abe1c2f9829d988e6f1a7c5e766544575c558c43"
-inherit autotools-brokensep
+inherit autotools-brokensep pkgconfig
do_configure_prepend() {
sed -i -e s:AM_BINRELOC::g ${S}/configure.ac
diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch
new file mode 100644
index 0000000000..de72d4f9a3
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch
@@ -0,0 +1,36 @@
+From da3929a96d9c74e11bf37d128890e18fcb745365 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Mon, 26 Jan 2015 08:53:19 +0900
+Subject: [PATCH] mozjs17.0.0: fix the compile bug of powerpc
+
+To fix the bug as following
+
+error: cannot convert '__va_list_tag**' to '__va_list_tag (*)[1]' for
+argument '5' to 'JSBool TryArgumentFormatter(JSContext*, const char**,
+JSBool, jsval**, __va_list_tag (*)[1])'
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ jscpucfg.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/jscpucfg.h b/jscpucfg.h
+index dfb1c14..8683491 100644
+--- a/jscpucfg.h
++++ b/jscpucfg.h
+@@ -47,6 +47,12 @@
+ #elif defined(JS_HAVE_ENDIAN_H)
+ # include <endian.h>
+
++#if defined(_POWER) || defined(__powerpc__) || \
++ defined(__ppc__)
++# define HAVE_VA_LIST_AS_ARRAY 1
++# endif
++
++
+ # if defined(__BYTE_ORDER)
+ # if __BYTE_ORDER == __LITTLE_ENDIAN
+ # define IS_LITTLE_ENDIAN 1
+--
+1.8.4.2
+
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 1af1fa6f72..174f6fe0a8 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
+++ b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
@@ -3,8 +3,9 @@ LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
SRC_URI = " \
- http://ftp.mozilla.org/pub/mozilla.org/js/${PN}${PV}.tar.gz \
+ http://ftp.mozilla.org/pub/mozilla.org/js/${BPN}${PV}.tar.gz \
file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
+ file://0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch \
"
SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202"
SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba"
@@ -13,7 +14,7 @@ S = "${WORKDIR}/${PN}${PV}/js/src"
inherit autotools pkgconfig perlnative
-DEPENDS += "nspr"
+DEPENDS += "nspr zlib"
# nspr's package-config is ignored so set libs manually
EXTRA_OECONF = " \
diff --git a/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch b/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch
new file mode 100644
index 0000000000..653a7e44c1
--- /dev/null
+++ b/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch
@@ -0,0 +1,40 @@
+From 7b04c4873c0a4510bdaf9145bf01ca34b3549fdb Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Thu, 4 Dec 2014 03:50:19 +0900
+Subject: [PATCH 1/2] change mandir to DESTDIR
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ man/Makefile.am | 2 +-
+ man/Makefile.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/man/Makefile.am b/man/Makefile.am
+index 80d24d8..944bc57 100644
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -16,5 +16,5 @@ install-data-local:
+ @sect=1; \
+ inst=`echo "nana" | sed '$(transform)'`.1; \
+ echo installing nana.1 as $(mandir)/man$$sect/$$inst; \
+- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst
++ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst
+
+diff --git a/man/Makefile.in b/man/Makefile.in
+index 6008b20..64bb84c 100644
+--- a/man/Makefile.in
++++ b/man/Makefile.in
+@@ -274,7 +274,7 @@ install-data-local:
+ @sect=1; \
+ inst=`echo "nana" | sed '$(transform)'`.1; \
+ echo installing nana.1 as $(mandir)/man$$sect/$$inst; \
+- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst
++ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch b/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch
new file mode 100644
index 0000000000..aeb25466ca
--- /dev/null
+++ b/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch
@@ -0,0 +1,137 @@
+From 679e33bfe74d713240fdd930602b993b937dce39 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Fri, 23 Jan 2015 03:30:47 +0900
+Subject: [PATCH] modify acinclude.m4 and configure.in
+
+this patch is from Debian to fix build errors.
+"acinclude.m4:34: error: automatic de-ANSI-fication
+support has been removed"
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ acinclude.m4 | 79 ------------------------------------------------------------
+ configure.in | 12 +++++++++
+ 2 files changed, 12 insertions(+), 79 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index e9e5500..d467fb5 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -30,82 +30,3 @@ AC_SUBST($1)
+ ## ------------------------------- ##
+ ## Check for function prototypes. ##
+ ## ------------------------------- ##
+-
+-AC_DEFUN(fp_C_PROTOTYPES,
+-[AC_REQUIRE([AM_PROG_CC_STDC])
+-AC_MSG_CHECKING([for function prototypes])
+-if test "$ac_cv_prog_cc_stdc" != no; then
+- AC_MSG_RESULT(yes)
+- AC_DEFINE(PROTOTYPES)
+- U= ANSI2KNR=
+-else
+- AC_MSG_RESULT(no)
+- U=_ ANSI2KNR=./ansi2knr
+-fi
+-AC_SUBST(U)dnl
+-AC_SUBST(ANSI2KNR)dnl
+-])
+-
+-## ----------------------------------------- ##
+-## ANSIfy the C compiler whenever possible. ##
+-## ----------------------------------------- ##
+-
+-# @defmac AC_PROG_CC_STDC
+-# @maindex PROG_CC_STDC
+-# @ovindex CC
+-# If the C compiler in not in ANSI C mode by default, try to add an option
+-# to output variable @code{CC} to make it so. This macro tries various
+-# options that select ANSI C on some system or another. It considers the
+-# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and
+-# handles function prototypes correctly.
+-#
+-# If you use this macro, you should check after calling it whether the C
+-# compiler has been set to accept ANSI C; if not, the shell variable
+-# @code{ac_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
+-# code in ANSI C, you can make an un-ANSIfied copy of it by using the
+-# program @code{ansi2knr}, which comes with Ghostscript.
+-# @end defmac
+-
+-AC_DEFUN(fp_PROG_CC_STDC,
+-[AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
+-AC_CACHE_VAL(ac_cv_prog_cc_stdc,
+-[ac_cv_prog_cc_stdc=no
+-ac_save_CFLAGS="$CFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc
+-do
+- CFLAGS="$ac_save_CFLAGS $ac_arg"
+- AC_TRY_COMPILE(
+-[#if !defined(__STDC__) || __STDC__ != 1
+-choke me
+-#endif
+-], [int test (int i, double x);
+-struct s1 {int (*f) (int a);};
+-struct s2 {int (*f) (double a);};],
+-[ac_cv_prog_cc_stdc="$ac_arg"; break])
+-done
+-CFLAGS="$ac_save_CFLAGS"
+-])
+-AC_MSG_RESULT($ac_cv_prog_cc_stdc)
+-case "x$ac_cv_prog_cc_stdc" in
+- x|xno) ;;
+- *) CC="$CC $ac_cv_prog_cc_stdc" ;;
+-esac
+-])
+-
+-## --------------------------------------------------------- ##
+-## Use AC_PROG_INSTALL, supplementing it with INSTALL_SCRIPT ##
+-## substitution. ##
+-## --------------------------------------------------------- ##
+-
+-AC_DEFUN(fp_PROG_INSTALL,
+-[AC_PROG_INSTALL
+-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL} -m 755'
+-AC_SUBST(INSTALL_SCRIPT)dnl
+-])
+-
+diff --git a/configure.in b/configure.in
+index 6b25ed5..a6a7f5b 100644
+--- a/configure.in
++++ b/configure.in
+@@ -103,6 +103,12 @@ nana_DEFINE(DI_MAKE_VALID_BREAKPOINT,(exprn),
+ sparc-*-*|i?86-*-*)
+ DI_MAKE_VALID_BREAKPOINT='asm("nop")'
+ ;;
++ arm*-*-*|frv-*-*|mips*-*-*)
++ DI_MAKE_VALID_BREAKPOINT='asm("nop")'
++ ;;
++ sh*-*-*)
++ DI_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")'
++ ;;
+ esac
+ ])
+
+@@ -113,6 +119,12 @@ nana_DEFINE(DL_MAKE_VALID_BREAKPOINT,(),
+ sparc-*-*|i?86-*-*)
+ DL_MAKE_VALID_BREAKPOINT='asm("nop")'
+ ;;
++ arm*-*-*|frv-*-*|mips*-*-*)
++ DL_MAKE_VALID_BREAKPOINT='asm("nop")'
++ ;;
++ sh*-*-*)
++ DL_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")'
++ ;;
+ esac
+ ])
+
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-extended/nana/nana_2.5.bb b/meta-oe/recipes-extended/nana/nana_2.5.bb
new file mode 100644
index 0000000000..e55cec884a
--- /dev/null
+++ b/meta-oe/recipes-extended/nana/nana_2.5.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Support for assertion checking and logging in GNU C/C++"
+DESCRIPTION = "GNU Nana is a free library providing improved support for assertion\
+checking (as in assert.h) and logging (printf style debugging) in \
+GNU C and C++."
+SECTION = "Development/Languages/C and C++"
+
+SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${BP}.tar.gz \
+ file://change-mandir-to-DESTDIR.patch \
+ file://modify-acinclude.m4-and-configure.in.patch \
+"
+SRC_URI[md5sum] = "66c88aa0ad095b2e67673773135475f1"
+SRC_URI[sha256sum] = "fd1819ffea94b209513959447e4802afe2719600e7d161cd78b265a42812affa"
+
+LICENSE = "BSD-2-Clause"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=16aa57f3b7fdda870cee597275bd5d11"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+do_configure_prepend_virtclass-nativesdk() {
+ sed -i -e 's:@CPP@:\$\{CXX\} \$\{CXXFLAGS\} \-E:g' ${S}/src/nana.in
+ sed -i -e 's:@CC@:\$\{CC\} \$\{CFLAGS\} \-E:g' ${S}/src/nana-clg.in
+ sed -i -e 's:@CXX@::g' ${S}/src/nana-c++lg.in
+ sed -i -e 's:@GDB@:\$\{GDB\}:g' ${S}/src/nana-run.in
+}
+
+do_install_prepend() {
+ install -d ${D}${mandir}/man1
+ install -d ${D}${mandir}/man3
+ install -d ${D}${datadir}/info
+}
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb
new file mode 100644
index 0000000000..5126a31cd6
--- /dev/null
+++ b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "nicstat is a Solaris and Linux command-line that prints out network \
+statistics for all network interface cards (NICs), including packets, kilobytes \
+per second, average packet sizes and more."
+HOMEPAGE = "http://nicstat.sourceforge.net"
+LICENSE = "Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4a94da2a1f918b217ef5156634fc9e0"
+
+SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz"
+SRC_URI[md5sum] = "9a0b87bbc670c1e738e5b40c7afd184d"
+SRC_URI[sha256sum] = "c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} -o nicstat nicstat.c
+}
+do_install() {
+ install -d ${D}/${bindir}/
+ install -d ${D}/${mandir}/
+ install -m 0755 ${S}/nicstat ${D}${bindir}/
+ install -m 0644 ${S}/nicstat.1 ${D}/${mandir}/
+}
diff --git a/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb
index df5c9a38ad..f5480e780f 100644
--- a/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb
+++ b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb
@@ -2,7 +2,7 @@ SUMMARY = "GNOME Authentication Agent for PolicyKit"
DESCRIPTION = "PolicyKit-gnome provides an Authentication Agent for PolicyKit that integrates well with the GNOME desktop environment"
HOMEPAGE = "http://www.packagekit.org/"
BUGTRACKER = "http://bugzilla.gnome.org/"
-DEPENDS = "polkit dbus-glib gconf gtk+"
+DEPENDS = "polkit dbus-glib gconf gtk+ intltool-native gnome-common"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec \
file://src/main.c;beginline=1;endline=20;md5=aba145d1802f2329ba561e3e48ecb795"
@@ -10,12 +10,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec \
SRC_URI = "http://hal.freedesktop.org/releases/polkit-gnome-${PV}.tar.bz2 \
"
+PNBLACKLIST[polkit-gnome] ?= "Fails to build, m4:configure.ac:125: recursion limit of 1024 exceeded, use -L<N> to change it"
+
PR = "r2"
-EXTRA_OECONF = " --disable-scrollkeeper \
- --disable-man-pages \
- --disable-examples \
- --disable-introspection "
+EXTRA_OECONF = "\
+ --disable-examples \
+ --disable-introspection \
+"
inherit autotools gtk-doc pkgconfig
diff --git a/meta-oe/recipes-extended/polkit/polkit_0.111.bb b/meta-oe/recipes-extended/polkit/polkit_0.112.bb
index 4614387055..72b182b952 100644
--- a/meta-oe/recipes-extended/polkit/polkit_0.111.bb
+++ b/meta-oe/recipes-extended/polkit/polkit_0.112.bb
@@ -23,26 +23,11 @@ SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.
file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \
"
-SRC_URI[md5sum] = "81b116edf986d8e13502929a171f4e0d"
-SRC_URI[sha256sum] = "02ae544547211b687818c97bcbf19bf6b8b5be7fda93000525a8765c7bed1ea1"
+SRC_URI[md5sum] = "b0f2fa00a55f47c6a5d88e9b73f80127"
+SRC_URI[sha256sum] = "d695f43cba4748a822fbe864dd32c4887c5da1c71694a47693ace5e88fcf6af6"
EXTRA_OECONF = "--with-os-type=moblin --disable-man-pages --disable-introspection"
-do_install_append() {
- # see configure.log for more details
- chown root:root ${D}${libdir}/${BPN}-1/polkit-agent-helper-1
- chmod 4755 ${D}${libdir}/${BPN}-1/polkit-agent-helper-1
-
- chown root:root ${D}${bindir}/pkexec
- chmod 4755 ${D}${bindir}/pkexec
-
- chown polkitd:polkitd ${D}${sysconfdir}/${BPN}-1/rules.d
- chmod 700 ${D}${sysconfdir}/${BPN}-1/rules.d
-
- chown polkitd:polkitd ${D}${datadir}/${BPN}-1/rules.d
- chmod 700 ${D}${datadir}/${BPN}-1/rules.d
-}
-
PACKAGES =+ "${PN}-examples"
FILES_${PN} += " \
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch b/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch
new file mode 100644
index 0000000000..77c75b4a27
--- /dev/null
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch
@@ -0,0 +1,89 @@
+From d91161eb163c16408202a91b4325a3381ab33752 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 18 Nov 2014 17:55:31 +0900
+Subject: [PATCH 1/5] rarpd.8 : add man file
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ rarpd.8 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 69 insertions(+)
+ create mode 100644 rarpd.8
+
+diff --git a/rarpd.8 b/rarpd.8
+new file mode 100644
+index 0000000..ce7bd70
+--- /dev/null
++++ b/rarpd.8
+@@ -0,0 +1,69 @@
++.TH RARP 8 "7 April 2000" "rarpd" "Linux Programmer's Manual"
++.SH NAME
++rarpd \- Reverse Address Resolution Protocol (RARP) daemon
++.SH SYNOPSIS
++.B "rarpd [-aAvde] [-b bootdir ] [ interface ]"
++.SH DESCRIPTION
++.B Rarpd
++is a daemon which responds to RARP requests.
++RARP is used by some machines at boot time to discover their IP address.
++They provide their Ethernet address and
++.B rarpd
++responds with their IP address if it finds it in the ethers database
++(either
++.I /etc/ethers
++file or NIS+ lookup) and using DNS lookup if ethers database
++contains a hostname and not an IP address.
++By default
++.B rarpd
++also checks if a bootable image with a name starting with the IP address
++in hexadecimal uppercase letters is present in the TFTP boot directory
++(usually
++.I /tftpboot
++) before it decides to respond to the RARP request.
++.SH OPTIONS
++.TP
++.B \-a
++Do not bind to the interface.
++.TP
++.B \-A
++Respond to ARP as well as RARP requests.
++.TP
++.B \-v
++Tell the user what is going on by being verbose.
++.TP
++.B \-d
++Debugging mode. Do not detach from the tty.
++.TP
++.B \-e
++Skip the check for bootable image in the TFTP boot directory. If not
++present, then even if the Ethernet address is present in
++the ethers database but the bootable image for the resolved IP does not exist,
++.B rarpd
++will not respond to the request.
++.TP
++.B "\-b bootdir"
++Use
++.I bootdir
++instead of the default
++.I /tftpboot
++as the TFTP boot directory for bootable image checks.
++.SH OBSOLETES
++This
++.B rarpd
++obsoletes kernel
++.B rarp
++daemon present in Linux kernels up to 2.2 which was controlled by the
++rarp(8) command.
++.SH FILES
++.I /etc/ethers,
++.br
++.I /etc/nsswitch.conf,
++.br
++.I /tftpboot
++.SH SEE ALSO
++ethers(5)
++.SH AUTHORS
++Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
++.br
++Jakub Jelinek, <jakub@redhat.com>
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch b/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch
new file mode 100644
index 0000000000..0b3ebc468f
--- /dev/null
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch
@@ -0,0 +1,26 @@
+From d23b13bd959204824070433d954c5dfbfc421bb7 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 18 Nov 2014 18:05:27 +0900
+Subject: [PATCH 2/5] Makefile : modify compile parameters
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 19966b4..86a8169 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ CC=gcc
+ CFLAGS=-O2 -Wall -g $(DEFINES)
+
+-OBJ=rarpd.o ethernet.o
++OBJ=rarpd.o
+
+ all: rarpd
+
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch b/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch
new file mode 100644
index 0000000000..7ce1279090
--- /dev/null
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch
@@ -0,0 +1,263 @@
+From b49c8e6e66801406520d1bff791c66dff7b1cddb Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 18 Nov 2014 18:10:20 +0900
+Subject: [PATCH 3/5] rarpd.c : bug fix
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ rarpd.c | 98 +++++++++++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 56 insertions(+), 42 deletions(-)
+
+diff --git a/rarpd.c b/rarpd.c
+index 335d2d2..d45300e 100644
+--- a/rarpd.c
++++ b/rarpd.c
+@@ -7,9 +7,11 @@
+ * 2 of the License, or (at your option) any later version.
+ *
+ * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
++ * Jakub Jelinek, <jakub@redhat.com>
+ */
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <syslog.h>
+ #include <dirent.h>
+ #include <malloc.h>
+@@ -26,6 +28,8 @@
+ #include <net/if.h>
+ #include <net/if_arp.h>
+ #include <netinet/in.h>
++#include <netinet/ether.h>
++#include <asm/types.h>
+ #include <linux/if_packet.h>
+ #include <linux/filter.h>
+
+@@ -39,27 +43,26 @@ int only_ethers;
+ int all_ifaces;
+ int listen_arp;
+ char *ifname;
+-char *tftp_dir = "/etc/tftpboot";
++char *tftp_dir = "/tftpboot";
+
+-extern int ether_ntohost(char *name, unsigned char *ea);
+ void usage(void) __attribute__((noreturn));
+
+-struct iflink
++struct rarpiflink
+ {
+- struct iflink *next;
+- int index;
+- int hatype;
+- unsigned char lladdr[16];
+- unsigned char name[IFNAMSIZ];
+- struct ifaddr *ifa_list;
++ struct rarpiflink *next;
++ int index;
++ int hatype;
++ unsigned char lladdr[16];
++ unsigned char name[IFNAMSIZ];
++ struct rarpifaddr *ifa_list;
+ } *ifl_list;
+
+-struct ifaddr
++struct rarpifaddr
+ {
+- struct ifaddr *next;
+- __u32 prefix;
+- __u32 mask;
+- __u32 local;
++ struct rarpifaddr *next;
++ __u32 prefix;
++ __u32 mask;
++ __u32 local;
+ };
+
+ struct rarp_map
+@@ -87,8 +90,8 @@ void load_if()
+ {
+ int fd;
+ struct ifreq *ifrp, *ifend;
+- struct iflink *ifl;
+- struct ifaddr *ifa;
++ struct rarpiflink *ifl;
++ struct rarpifaddr *ifa;
+ struct ifconf ifc;
+ struct ifreq ibuf[256];
+
+@@ -144,7 +147,7 @@ void load_if()
+ continue;
+ }
+
+- ifl = (struct iflink*)malloc(sizeof(*ifl));
++ ifl = (struct rarpiflink*)malloc(sizeof(*ifl));
+ if (ifl == NULL)
+ continue;
+ memset(ifl, 0, sizeof(*ifl));
+@@ -154,6 +157,7 @@ void load_if()
+ ifl->hatype = ifrp->ifr_hwaddr.sa_family;
+ memcpy(ifl->lladdr, ifrp->ifr_hwaddr.sa_data, 14);
+ strncpy(ifl->name, ifrp->ifr_name, IFNAMSIZ);
++ ifl->name[IFNAMSIZ-1] = 0;
+ p = strchr(ifl->name, ':');
+ if (p)
+ *p = 0;
+@@ -179,7 +183,7 @@ void load_if()
+ if (ifa == NULL) {
+ if (mask == 0 || prefix == 0)
+ continue;
+- ifa = (struct ifaddr*)malloc(sizeof(*ifa));
++ ifa = (struct rarpifaddr*)malloc(sizeof(*ifa));
+ memset(ifa, 0, sizeof(*ifa));
+ ifa->local = addr;
+ ifa->prefix = prefix;
+@@ -207,6 +211,7 @@ void load_if()
+ }
+ }
+ }
++ close(fd);
+ }
+
+ void configure()
+@@ -225,20 +230,21 @@ int bootable(__u32 addr)
+ d = opendir(tftp_dir);
+ if (d == NULL) {
+ syslog(LOG_ERR, "opendir: %m");
+- return 0;
++ goto done_bootable;
+ }
+ while ((dent = readdir(d)) != NULL) {
+ if (strncmp(dent->d_name, name, 8) == 0)
+ break;
+ }
++done_bootable:
+ closedir(d);
+ return dent != NULL;
+ }
+
+-struct ifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist)
++struct rarpifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist)
+ {
+- struct iflink *ifl;
+- struct ifaddr *ifa;
++ struct rarpiflink *ifl;
++ struct rarpifaddr *ifa;
+ int retry = 0;
+ int i;
+
+@@ -294,7 +300,7 @@ struct rarp_map *rarp_lookup(int ifindex, int hatype,
+
+ if (r == NULL) {
+ if (hatype == ARPHRD_ETHER && halen == 6) {
+- struct ifaddr *ifa;
++ struct rarpifaddr *ifa;
+ struct hostent *hp;
+ char ename[256];
+ static struct rarp_map emap = {
+@@ -304,7 +310,7 @@ struct rarp_map *rarp_lookup(int ifindex, int hatype,
+ 6,
+ };
+
+- if (ether_ntohost(ename, lladdr) != 0 ||
++ if (ether_ntohost(ename, (struct ether_addr *)lladdr) != 0 ||
+ (hp = gethostbyname(ename)) == NULL) {
+ if (verbose)
+ syslog(LOG_INFO, "not found in /etc/ethers");
+@@ -345,7 +351,7 @@ static int load_arp_bpflet(int fd)
+
+ int put_mylladdr(unsigned char **ptr_p, int ifindex, int alen)
+ {
+- struct iflink *ifl;
++ struct rarpiflink *ifl;
+
+ for (ifl=ifl_list; ifl; ifl = ifl->next)
+ if (ifl->index == ifindex)
+@@ -362,8 +368,8 @@ int put_mylladdr(unsigned char **ptr_p, int ifindex, int alen)
+ int put_myipaddr(unsigned char **ptr_p, int ifindex, __u32 hisipaddr)
+ {
+ __u32 laddr = 0;
+- struct iflink *ifl;
+- struct ifaddr *ifa;
++ struct rarpiflink *ifl;
++ struct rarpifaddr *ifa;
+
+ for (ifl=ifl_list; ifl; ifl = ifl->next)
+ if (ifl->index == ifindex)
+@@ -388,7 +394,7 @@ void arp_advise(int ifindex, unsigned char *lladdr, int lllen, __u32 ipaddr)
+ int fd;
+ struct arpreq req;
+ struct sockaddr_in *sin;
+- struct iflink *ifl;
++ struct rarpiflink *ifl;
+
+ for (ifl=ifl_list; ifl; ifl = ifl->next)
+ if (ifl->index == ifindex)
+@@ -421,6 +427,10 @@ void serve_it(int fd)
+ struct rarp_map *rmap;
+ unsigned char *ptr;
+ int n;
++ int i;
++ char tmpbuf[16*3];
++ char tmpname[IFNAMSIZ];
++ struct rarpiflink *ifl;
+
+ n = recvfrom(fd, buf, sizeof(buf), MSG_DONTWAIT, (struct sockaddr*)&sll, &sll_len);
+ if (n<0) {
+@@ -447,21 +457,23 @@ void serve_it(int fd)
+ if (a->ar_op != htons(ARPOP_RREQUEST))
+ return;
+
+- if (verbose) {
+- int i;
+- char tmpbuf[16*3];
+- char *ptr = tmpbuf;
+- for (i=0; i<sll.sll_halen; i++) {
+- if (i) {
+- sprintf(ptr, ":%02x", sll.sll_addr[i]);
+- ptr++;
+- } else
+- sprintf(ptr, "%02x", sll.sll_addr[i]);
+- ptr += 2;
+- }
+- syslog(LOG_INFO, "RARP request from %s on if%d", tmpbuf, sll.sll_ifindex);
++ ptr = tmpbuf;
++ snprintf(tmpbuf, 2, "%02x", sll.sll_addr[0]);
++ for (ptr=tmpbuf+2, i=1; i<sll.sll_halen; i++) {
++ snprintf(ptr, 3, ":%02x", sll.sll_addr[i]);
++ ptr += 3;
+ }
+
++ for (ifl=ifl_list; ifl; ifl = ifl->next)
++ if (ifl->index == sll.sll_ifindex)
++ break;
++ if (ifl) {
++ strncpy(tmpname, ifl->name, IFNAMSIZ);
++ tmpname[IFNAMSIZ-1] = 0;
++ } else
++ sprintf(tmpname, "if%d", sll.sll_ifindex);
++ syslog(LOG_INFO, "RARP request from %s on %s", tmpbuf, tmpname);
++
+ /* Sanity checks */
+
+ /* 1. IP only -> pln==4 */
+@@ -526,6 +538,8 @@ void serve_it(int fd)
+ ptr += rmap->lladdr_len;
+ memcpy(ptr, &rmap->ipaddr, 4);
+ ptr += 4;
++ syslog(LOG_INFO, "RARP response to %s %s on %s", tmpbuf,
++ inet_ntoa(*(struct in_addr *)&rmap->ipaddr), tmpname);
+
+ /* Update our ARP cache. Probably, this guy
+ will not able to make ARP (if it is broken)
+@@ -613,7 +627,7 @@ int main(int argc, char **argv)
+ if (ifname) {
+ struct ifreq ifr;
+ memset(&ifr, 0, sizeof(ifr));
+- strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
++ strncpy(ifr.ifr_name, ifname, IFNAMSIZ-1);
+ if (ioctl(pset[0].fd, SIOCGIFINDEX, &ifr)) {
+ perror("ioctl(SIOCGIFINDEX)");
+ usage();
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch b/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch
new file mode 100644
index 0000000000..3ba11ffe55
--- /dev/null
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch
@@ -0,0 +1,116 @@
+From 0ef1a95b220c7e110da950e5cc544c50c25b1bc6 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 18 Nov 2014 18:11:56 +0900
+Subject: [PATCH 4/5] rarpd.init : add new init file
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ rarpd.init | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 96 insertions(+)
+ create mode 100644 rarpd.init
+
+diff --git a/rarpd.init b/rarpd.init
+new file mode 100644
+index 0000000..efcf825
+--- /dev/null
++++ b/rarpd.init
+@@ -0,0 +1,96 @@
++#!/bin/bash
++#
++# /etc/init.d/rarpd
++#
++# Starts the rarpd daemon
++#
++# chkconfig: - 82 16
++# description: Server Reverse Address Resolution Protocol requests.
++# processname: rarpd
++
++### BEGIN INIT INFO
++# Provides: rarpd
++# Required-Start: $syslog $network
++# Required-Stop: $syslog $network
++# Default-Start:
++# Default-Stop: 0 1 2 3 4 5 6
++# Short-Description: start and stop rarpd
++# Description: RARP (Reverse Address Resolution Protocol) is a protocol \
++# which allows individual devices on an IP network to get \
++# their own IP addresses from the RARP server. \
++### END INIT INFO
++
++# Source function library.
++. /etc/init.d/functions
++
++# Read the config file if exists
++if [ -f /etc/sysconfig/rarpd ]; then
++ . /etc/sysconfig/rarpd
++fi
++
++RETVAL=0
++prog="rarpd"
++
++
++start() {
++ #if these files don't exist rarpd can't work
++ test -x /usr/sbin/rarpd -a -f /etc/ethers || exit 6
++ # Check if rarpd is already running
++ #if [ ! -f /var/lock/subsys/rarpd ]; then
++ status rarpd;
++ if [ $? -ne 0 ]; then
++ echo -n $"Starting $prog: "
++ daemon /usr/sbin/rarpd $OPTIONS $INTERFACE
++ RETVAL=$?
++ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/rarpd
++ echo
++ fi
++ return $RETVAL
++}
++
++stop() {
++ echo -n $"Stopping $prog: "
++ killproc /usr/sbin/rarpd
++ RETVAL=$?
++ [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/rarpd
++ echo
++ return $RETVAL
++}
++reload() {
++ RETVAL=3
++}
++
++#
++# See how we were called.
++#
++case "$1" in
++ start)
++ start
++ ;;
++ stop)
++ stop
++ ;;
++ reload)
++ reload
++ ;;
++ force-reload|restart)
++ stop
++ start
++ ;;
++ condrestart)
++ if [ -f /var/lock/subsys/rarpd ]; then
++ stop
++ start
++ fi
++ ;;
++ status)
++ status rarpd
++ RETVAL=$?
++ ;;
++ *)
++ echo $"Usage: $0 {start|stop|restart|condrestart|reload|status|force-reload}"
++ RETVAL=2
++
++esac
++
++exit $RETVAL
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch b/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch
new file mode 100644
index 0000000000..c77c806127
--- /dev/null
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch
@@ -0,0 +1,244 @@
+From abe15ba10ddc3548c528ccb088097d7abf5be48b Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 18 Nov 2014 18:14:07 +0900
+Subject: [PATCH 5/5] ethernet.c : remove it
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ ethernet.c | 224 -------------------------------------------------------------
+ 1 file changed, 224 deletions(-)
+ delete mode 100644 ethernet.c
+
+diff --git a/ethernet.c b/ethernet.c
+deleted file mode 100644
+index d682b63..0000000
+--- a/ethernet.c
++++ /dev/null
+@@ -1,224 +0,0 @@
+-/*
+- * Copyright (c) 1990, 1993 The Regents of the University of California.
+- * All rights reserved.
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that: (1) source code distributions
+- * retain the above copyright notice and this paragraph in its entirety, (2)
+- * distributions including binary code include the above copyright notice and
+- * this paragraph in its entirety in the documentation or other materials
+- * provided with the distribution, and (3) all advertising materials mentioning
+- * features or use of this software display the following acknowledgement:
+- * ``This product includes software developed by the University of California,
+- * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
+- * the University nor the names of its contributors may be used to endorse
+- * or promote products derived from this software without specific prior
+- * written permission.
+- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+- */
+-#ifndef lint
+-static char rcsid[] =
+- "@(#) $Header: etherent.c,v 1.4 96/06/14 20:34:25 leres Exp $ (LBL)";
+-#endif
+-
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <sys/time.h>
+-
+-#include <ctype.h>
+-#include <stdio.h>
+-#include <string.h>
+-
+-#ifndef ETHERS_FILE
+-#define ETHERS_FILE "/etc/ethers"
+-#endif
+-
+-struct etherent {
+- u_char addr[6];
+- char name[122];
+-};
+-
+-static FILE *ether_fp = NULL;
+-
+-
+-/* Hex digit to integer. */
+-static inline int
+-xdtoi(c)
+- int c;
+-{
+-
+- if (isdigit(c))
+- return c - '0';
+- else if (islower(c))
+- return c - 'a' + 10;
+- else
+- return c - 'A' + 10;
+-}
+-
+-static inline int
+-skip_space(f)
+- FILE *f;
+-{
+- int c;
+-
+- do {
+- c = getc(f);
+- } while (isspace(c) && c != '\n');
+-
+- return c;
+-}
+-
+-static inline int
+-skip_line(f)
+- FILE *f;
+-{
+- int c;
+-
+- do
+- c = getc(f);
+- while (c != '\n' && c != EOF);
+-
+- return c;
+-}
+-
+-static struct etherent *
+-next_etherent(fp)
+- FILE *fp;
+-{
+- register int c, d, i;
+- char *bp;
+- static struct etherent e;
+- static int nline = 1;
+- top:
+- while (nline) {
+- /* Find addr */
+- c = skip_space(fp);
+- if (c == '\n')
+- continue;
+- /* If this is a comment, or first thing on line
+- cannot be etehrnet address, skip the line. */
+- else if (!isxdigit(c))
+- c = skip_line(fp);
+- else {
+- /* must be the start of an address */
+- for (i = 0; i < 6; i += 1) {
+- d = xdtoi(c);
+- c = getc(fp);
+- if (c != ':') {
+- d <<= 4;
+- d |= xdtoi(c);
+- c = getc(fp);
+- }
+- e.addr[i] = d;
+- if (c != ':')
+- break;
+- c = getc(fp);
+- }
+- nline = 0;
+- }
+- if (c == EOF)
+- return NULL;
+- }
+-
+- /* If we started a new line, 'c' holds the char past the ether addr,
+- which we assume is white space. If we are continuing a line,
+- 'c' is garbage. In either case, we can throw it away. */
+-
+- c = skip_space(fp);
+- if (c == '\n') {
+- nline = 1;
+- goto top;
+- }
+- else if (c == '#') {
+- (void)skip_line(fp);
+- nline = 1;
+- goto top;
+- }
+- else if (c == EOF)
+- return NULL;
+-
+- /* Must be a name. */
+- bp = e.name;
+- /* Use 'd' to prevent buffer overflow. */
+- d = sizeof(e.name) - 1;
+- do {
+- *bp++ = c;
+- c = getc(fp);
+- } while (!isspace(c) && c != EOF && --d > 0);
+- *bp = '\0';
+- if (c == '\n')
+- nline = 1;
+-
+- return &e;
+-}
+-
+-/* Open/rewind the ethers files; returns 1 if file was reopened */
+-int
+-ether_rewind()
+-{
+- struct stat st;
+- static long mtime = 0, ctime = 0;
+-
+- if (ether_fp != NULL) {
+- if (fstat(fileno(ether_fp), &st) < 0 ||
+- mtime != st.st_mtime || ctime != st.st_ctime ||
+- fseek(ether_fp, 0L, SEEK_SET) < 0) {
+- fclose(ether_fp);
+- ether_fp = NULL;
+- }
+- }
+- if (ether_fp == NULL) {
+- ether_fp = fopen(ETHERS_FILE, "r");
+- if (ether_fp == NULL)
+- return (-1);
+- if (fstat(fileno(ether_fp), &st) < 0) {
+- fclose(ether_fp);
+- ether_fp = NULL;
+- return (-1);
+- }
+- mtime = st.st_mtime;
+- ctime = st.st_ctime;
+- return (1);
+- }
+- return (0);
+-}
+-
+-/* Map an ethernet address to a name; returns 0 on success, else 1. */
+-int
+-ether_ntohost(name, ea)
+- register char *name;
+- register u_char *ea;
+-{
+- register struct etherent *ep;
+-
+- if (ether_rewind() < 0)
+- return (1);
+-
+- while ((ep = next_etherent(ether_fp)) != NULL)
+- if (bcmp(ep->addr, ea, 6) == 0) {
+- strcpy(name, ep->name);
+- return (0);
+- }
+- return (1);
+-}
+-
+-/* Map an ethernet name to an address; returns 0 on success, else 1. */
+-int
+-ether_hostton(name, ea)
+- register char *name;
+- register u_char *ea;
+-{
+- register struct etherent *ep;
+-
+- if (ether_rewind() < 0)
+- return (1);
+-
+- while ((ep = next_etherent(ether_fp)) != NULL)
+- if (strcmp(ep->name, name) == 0) {
+- bcopy(ep->addr, ea, 6);
+- return (0);
+- }
+- return (1);
+-}
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample b/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample
new file mode 100644
index 0000000000..249ca6b3c3
--- /dev/null
+++ b/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample
@@ -0,0 +1 @@
+# see man ethers for syntax
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service b/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service
new file mode 100644
index 0000000000..137710eb15
--- /dev/null
+++ b/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Reverse Address Resolution Protocol Requests Server
+Requires=network.target
+After=syslog.target network.target
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/sysconfig/rarpd
+ExecStart=/usr/sbin/rarpd $OPTIONS $INTERFACE
+StandardError=syslog
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
new file mode 100644
index 0000000000..0fe79cf4c1
--- /dev/null
+++ b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
@@ -0,0 +1,49 @@
+SUMMARY = "The RARP daemon."
+DESCRIPTION = "RARP (Reverse Address Resolution Protocol) is a protocol which \
+allows individual devices on an IP network to get their own IP addresses from \
+the RARP server. Some machines (e.g. SPARC boxes) use this protocol instead \
+of e.g. DHCP to query their IP addresses during network bootup. \
+Linux kernels up to 2.2 used to provide a kernel daemon for this service, \
+but since 2.3 kernels it is served by this userland daemon. \
+You should install rarpd if you want to set up a RARP server on your \
+network."
+SECTION = "System Environment/Daemons"
+
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.gz/be2a88f8ccddf2a40ac484cb3294fedc/${BP}.tar.gz"
+SRC_URI[md5sum] = "be2a88f8ccddf2a40ac484cb3294fedc"
+SRC_URI[sha256sum] = "4d6145d435a5d8b567b9798620f57f9b0a464078a1deba267958f168fbe776e6"
+
+SRC_URI += "file://0001-rarpd.8-add-man-file.patch \
+ file://0002-Makefile-modify-compile-parameters.patch \
+ file://0003-rarpd.c-bug-fix.patch \
+ file://0004-rarpd.init-add-new-init-file.patch \
+ file://0005-ethernet.c-remove-it.patch \
+ file://ethers.sample \
+ file://rarpd.service \
+"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://rarpd.c;md5=199b20b172ea93121bc613a9c77b6931"
+
+S = "${WORKDIR}/${BPN}"
+
+do_install() {
+ install -d ${D}${sysconfdir}/init.d
+ install -d ${D}${sbindir}
+ install -d ${D}${mandir}/man8
+ install -m 755 rarpd.init ${D}${sysconfdir}/init.d/rarpd
+ install -m 755 rarpd ${D}${sbindir}/rarpd
+ install -m 644 rarpd.8 ${D}${mandir}/man8/rarpd.8
+ install -m 644 ${WORKDIR}/ethers.sample ${D}${sysconfdir}/ethers
+
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/rarpd.service ${D}${systemd_unitdir}/system/
+ fi
+}
+
+inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','',d)}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "rarpd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-removing-testing-leftovers.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-removing-testing-leftovers.patch
new file mode 100644
index 0000000000..cf5d7752e5
--- /dev/null
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-removing-testing-leftovers.patch
@@ -0,0 +1,39 @@
+From c581b02d074f5a109074bc190f373f5ba4320468 Mon Sep 17 00:00:00 2001
+From: Tobias Oetiker <tobi@oetiker.ch>
+Date: Thu, 3 Oct 2013 15:51:00 +0200
+Subject: [PATCH] removing testing leftovers
+
+Upstream-Status: Backport
+
+Signed-off-by: Peter A. Bigot <pab@pabigot.com>
+
+---
+ bindings/perl-piped/leaktest.pl | 16 ----------------
+ 1 file changed, 16 deletions(-)
+ delete mode 100644 bindings/perl-piped/leaktest.pl
+
+diff --git a/bindings/perl-piped/leaktest.pl b/bindings/perl-piped/leaktest.pl
+deleted file mode 100644
+index cebf1c7..0000000
+--- a/bindings/perl-piped/leaktest.pl
++++ /dev/null
+@@ -1,16 +0,0 @@
+-#!/bin/perl -w
+-$ENV{PATH}="/usr/ucb";
+-use strict;
+-use RRDp;
+-my $rrdfile='/tmp/test.rrd';
+-RRDp::start '/home/oetiker/data/projects/AABN-rrdtool/src/rrdtool';
+-print grep /rrdtool/,`ps au`;
+-print grep /rrdtool/,`ps au`;
+-my $i=0;
+-while ($i<1000) {
+- RRDp::cmd 'info /tmp/test.rrd';
+- $_ = RRDp::read;
+- $i++;
+-}
+-$_ = RRDp::end;
+-print grep /rrdtool/,`ps au`;
+--
+1.8.5.5
+
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch
deleted file mode 100644
index 1157dc7201..0000000000
--- a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch
+++ /dev/null
@@ -1,1733 +0,0 @@
-From 2dcb4bb8aadfead3e77bdb78b96ec8022e605a0d Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sat, 12 May 2012 20:41:35 +0200
-Subject: [PATCH] rrdtool: eradicate tcl support
-
-TCL breaks autoreconf
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- Makefile.am | 3 -
- bindings/Makefile.am | 5 +-
- bindings/tcl/Makefile.am | 58 ----
- bindings/tcl/Makefile.in | 668 ------------------------------------
- bindings/tcl/README | 31 --
- bindings/tcl/ifOctets.tcl.in | 45 ---
- bindings/tcl/tclrrd.c | 762 ------------------------------------------
- configure.ac | 54 ---
- 8 files changed, 1 insertion(+), 1625 deletions(-)
- delete mode 100644 bindings/tcl/Makefile.am
- delete mode 100644 bindings/tcl/Makefile.in
- delete mode 100644 bindings/tcl/README
- delete mode 100644 bindings/tcl/ifOctets.tcl.in
- delete mode 100644 bindings/tcl/tclrrd.c
-
-diff --git a/Makefile.am b/Makefile.am
-index 2003373..969e36b 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -36,9 +36,6 @@ site-perl-install: all bindings/perl-piped/Makefile bindings/perl-shared/Makefil
- cd bindings/perl-piped && $(MAKE) install
- cd bindings/perl-shared && $(MAKE) install
-
--site-tcl-install: all
-- cd bindings/tcl && $(MAKE) tcl-install
--
- site-python-install: all
- cd bindings/python && $(PYTHON) setup.py install $(if $(DESTDIR),--root=$(DESTDIR))
-
-diff --git a/bindings/Makefile.am b/bindings/Makefile.am
-index c4fdc10..3574a60 100644
---- a/bindings/Makefile.am
-+++ b/bindings/Makefile.am
-@@ -1,13 +1,10 @@
- .PHONY: python ruby
-
--if BUILD_TCL
--SUB_tcl = tcl
--endif
- if BUILD_LUA
- SUB_lua = lua
- endif
-
--SUBDIRS = $(SUB_tcl) $(SUB_lua)
-+SUBDIRS = $(SUB_lua)
-
- # the following files are not mentioned in any other Makefile
- EXTRA_DIST = perl-piped/MANIFEST perl-piped/README perl-piped/Makefile.PL perl-piped/RRDp.pm perl-piped/t/base.t \
-diff --git a/bindings/tcl/Makefile.am b/bindings/tcl/Makefile.am
-deleted file mode 100644
-index c0e8b0f..0000000
---- a/bindings/tcl/Makefile.am
-+++ /dev/null
-@@ -1,58 +0,0 @@
--
--EXTRA_DIST = README tclrrd.c
--
--VERSION = @VERSION@
--
--AM_CFLAGS = @CFLAGS@
--### no including this by default @WERROR@
--
--TCL_PREFIX = @TCL_PREFIX@
--TCL_SHLIB_LD = @TCL_SHLIB_LD@
--TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@
--TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@
--TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
--TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@
--TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
--TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@
--
--CLEANFILES = tclrrd.o tclrrd.so
--
--SRC_DIR = $(top_srcdir)/src
--AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS
--LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir)
--LIB_RUNTIME_DIR = $(libdir)
--
--if BUILD_TCL_SITE
--tclpkgdir = @TCL_PACKAGE_DIR@
--tclpkg_DATA = pkgIndex.tcl
--tclpkg_SCRIPTS = ifOctets.tcl
--else
--pkglib_DATA = pkgIndex.tcl
--pkglib_SCRIPTS = ifOctets.tcl
--endif
--
--# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as
--# library name. So we build and install this library `by hand'.
--#
--# We do, however, specify a lib_LIBRARIES target such that
--# automake creates the directory (if neecessary).
--#
--TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)
--
--lib_LIBRARIES =
--
--all-local: $(TCL_RRD_LIB)
--
--$(TCL_RRD_LIB): tclrrd.o
-- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS)
--
--tclrrd.o: tclrrd.c
-- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\"
--
--pkgIndex.tcl:
-- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@
--
--install-exec-local: $(TCL_RRD_LIB)
-- @$(NORMAL_INSTALL)
-- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB)
--
-diff --git a/bindings/tcl/Makefile.in b/bindings/tcl/Makefile.in
-deleted file mode 100644
-index 0a36517..0000000
---- a/bindings/tcl/Makefile.in
-+++ /dev/null
-@@ -1,668 +0,0 @@
--# Makefile.in generated by automake 1.11 from Makefile.am.
--# @configure_input@
--
--# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
--# Inc.
--# This Makefile.in is free software; the Free Software Foundation
--# gives unlimited permission to copy and/or distribute it,
--# with or without modifications, as long as this notice is preserved.
--
--# This program is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
--# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
--# PARTICULAR PURPOSE.
--
--@SET_MAKE@
--
--
--
--VPATH = @srcdir@
--pkgdatadir = $(datadir)/@PACKAGE@
--pkgincludedir = $(includedir)/@PACKAGE@
--pkglibdir = $(libdir)/@PACKAGE@
--pkglibexecdir = $(libexecdir)/@PACKAGE@
--am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
--install_sh_DATA = $(install_sh) -c -m 644
--install_sh_PROGRAM = $(install_sh) -c
--install_sh_SCRIPT = $(install_sh) -c
--INSTALL_HEADER = $(INSTALL_DATA)
--transform = $(program_transform_name)
--NORMAL_INSTALL = :
--PRE_INSTALL = :
--POST_INSTALL = :
--NORMAL_UNINSTALL = :
--PRE_UNINSTALL = :
--POST_UNINSTALL = :
--build_triplet = @build@
--host_triplet = @host@
--target_triplet = @target@
--subdir = bindings/tcl
--DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-- $(srcdir)/ifOctets.tcl.in
--ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
--am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
-- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
-- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
-- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
-- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-- $(top_srcdir)/configure.ac
--am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-- $(ACLOCAL_M4)
--mkinstalldirs = $(install_sh) -d
--CONFIG_HEADER = $(top_builddir)/rrd_config.h
--CONFIG_CLEAN_FILES = ifOctets.tcl
--CONFIG_CLEAN_VPATH_FILES =
--am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
--am__vpath_adj = case $$p in \
-- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-- *) f=$$p;; \
-- esac;
--am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
--am__install_max = 40
--am__nobase_strip_setup = \
-- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
--am__nobase_strip = \
-- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
--am__nobase_list = $(am__nobase_strip_setup); \
-- for p in $$list; do echo "$$p $$p"; done | \
-- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-- if (++n[$$2] == $(am__install_max)) \
-- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-- END { for (dir in files) print dir, files[dir] }'
--am__base_list = \
-- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
--am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" \
-- "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" \
-- "$(DESTDIR)$(tclpkgdir)"
--LIBRARIES = $(lib_LIBRARIES)
--SCRIPTS = $(pkglib_SCRIPTS) $(tclpkg_SCRIPTS)
--AM_V_GEN = $(am__v_GEN_$(V))
--am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
--am__v_GEN_0 = @echo " GEN " $@;
--AM_V_at = $(am__v_at_$(V))
--am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
--am__v_at_0 = @
--SOURCES =
--DIST_SOURCES =
--DATA = $(pkglib_DATA) $(tclpkg_DATA)
--DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
--ACLOCAL = @ACLOCAL@
--ALL_LIBS = @ALL_LIBS@
--AMTAR = @AMTAR@
--AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
--AR = @AR@
--AUTOCONF = @AUTOCONF@
--AUTOHEADER = @AUTOHEADER@
--AUTOMAKE = @AUTOMAKE@
--AWK = @AWK@
--CC = @CC@
--CCDEPMODE = @CCDEPMODE@
--CFLAGS = @CFLAGS@
--COMP_LUA = @COMP_LUA@
--COMP_PERL = @COMP_PERL@
--COMP_PYTHON = @COMP_PYTHON@
--COMP_RUBY = @COMP_RUBY@
--CORE_LIBS = @CORE_LIBS@
--CPP = @CPP@
--CPPFLAGS = @CPPFLAGS@
--CYGPATH_W = @CYGPATH_W@
--DEFS = @DEFS@
--DEPDIR = @DEPDIR@
--DSYMUTIL = @DSYMUTIL@
--DUMPBIN = @DUMPBIN@
--ECHO_C = @ECHO_C@
--ECHO_N = @ECHO_N@
--ECHO_T = @ECHO_T@
--EGREP = @EGREP@
--EXEEXT = @EXEEXT@
--FGREP = @FGREP@
--GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
--GMSGFMT = @GMSGFMT@
--GMSGFMT_015 = @GMSGFMT_015@
--GREP = @GREP@
--INSTALL = @INSTALL@
--INSTALL_DATA = @INSTALL_DATA@
--INSTALL_PROGRAM = @INSTALL_PROGRAM@
--INSTALL_SCRIPT = @INSTALL_SCRIPT@
--INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
--INTLLIBS = @INTLLIBS@
--INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
--LD = @LD@
--LDFLAGS = @LDFLAGS@
--LIBICONV = @LIBICONV@
--LIBINTL = @LIBINTL@
--LIBOBJS = @LIBOBJS@
--LIBS = @LIBS@
--LIBTOOL = @LIBTOOL@
--LIBVERS = @LIBVERS@
--LIPO = @LIPO@
--LN_S = @LN_S@
--LTLIBICONV = @LTLIBICONV@
--LTLIBINTL = @LTLIBINTL@
--LTLIBOBJS = @LTLIBOBJS@
--LUA = @LUA@
--LUA_CFLAGS = @LUA_CFLAGS@
--LUA_DEFINES = @LUA_DEFINES@
--LUA_INSTALL_CMOD = @LUA_INSTALL_CMOD@
--LUA_INSTALL_LMOD = @LUA_INSTALL_LMOD@
--LUA_LFLAGS = @LUA_LFLAGS@
--MAINT = @MAINT@
--MAKEINFO = @MAKEINFO@
--MKDIR_P = @MKDIR_P@
--MSGFMT = @MSGFMT@
--MSGFMT_015 = @MSGFMT_015@
--MSGMERGE = @MSGMERGE@
--MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@
--MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@
--NM = @NM@
--NMEDIT = @NMEDIT@
--NROFF = @NROFF@
--NUMVERS = @NUMVERS@
--OBJDUMP = @OBJDUMP@
--OBJEXT = @OBJEXT@
--OTOOL = @OTOOL@
--OTOOL64 = @OTOOL64@
--PACKAGE = @PACKAGE@
--PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
--PACKAGE_NAME = @PACKAGE_NAME@
--PACKAGE_STRING = @PACKAGE_STRING@
--PACKAGE_TARNAME = @PACKAGE_TARNAME@
--PACKAGE_VERSION = @PACKAGE_VERSION@
--PATH_SEPARATOR = @PATH_SEPARATOR@
--PERL = @PERL@
--PERLCC = @PERLCC@
--PERLCCFLAGS = @PERLCCFLAGS@
--PERLFLAGS = @PERLFLAGS@
--PERLLD = @PERLLD@
--PERLLDFLAGS = @PERLLDFLAGS@
--PERL_CC = @PERL_CC@
--PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@
--PERL_VERSION = @PERL_VERSION@
--PKGCONFIG = @PKGCONFIG@
--POD2HTML = @POD2HTML@
--POD2MAN = @POD2MAN@
--POSUB = @POSUB@
--PTHREAD_CC = @PTHREAD_CC@
--PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
--PTHREAD_LIBS = @PTHREAD_LIBS@
--PYTHON = @PYTHON@
--PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
--PYTHON_INCLUDES = @PYTHON_INCLUDES@
--PYTHON_PLATFORM = @PYTHON_PLATFORM@
--PYTHON_PREFIX = @PYTHON_PREFIX@
--PYTHON_VERSION = @PYTHON_VERSION@
--RANLIB = @RANLIB@
--RRDDOCDIR = @RRDDOCDIR@
--RRDGRAPH_YLEGEND_ANGLE = @RRDGRAPH_YLEGEND_ANGLE@
--RRD_DEFAULT_FONT = @RRD_DEFAULT_FONT@
--RRD_GETOPT_LONG = @RRD_GETOPT_LONG@
--RUBY = @RUBY@
--RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@
--SED = @SED@
--SET_MAKE = @SET_MAKE@
--SHELL = @SHELL@
--STRIP = @STRIP@
--TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@
--TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@
--TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@
--TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
--### no including this by default @WERROR@
--TCL_PREFIX = @TCL_PREFIX@
--TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@
--TCL_SHLIB_LD = @TCL_SHLIB_LD@
--TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@
--TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
--TCL_VERSION = @TCL_VERSION@
--TROFF = @TROFF@
--USE_NLS = @USE_NLS@
--VERSION = @VERSION@
--WERROR = @WERROR@
--XGETTEXT = @XGETTEXT@
--XGETTEXT_015 = @XGETTEXT_015@
--XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
--abs_builddir = @abs_builddir@
--abs_srcdir = @abs_srcdir@
--abs_top_builddir = @abs_top_builddir@
--abs_top_srcdir = @abs_top_srcdir@
--ac_ct_CC = @ac_ct_CC@
--ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
--acx_pthread_config = @acx_pthread_config@
--am__include = @am__include@
--am__leading_dot = @am__leading_dot@
--am__quote = @am__quote@
--am__tar = @am__tar@
--am__untar = @am__untar@
--bindir = @bindir@
--build = @build@
--build_alias = @build_alias@
--build_cpu = @build_cpu@
--build_os = @build_os@
--build_vendor = @build_vendor@
--builddir = @builddir@
--datadir = @datadir@
--datarootdir = @datarootdir@
--docdir = @docdir@
--dvidir = @dvidir@
--exec_prefix = @exec_prefix@
--host = @host@
--host_alias = @host_alias@
--host_cpu = @host_cpu@
--host_os = @host_os@
--host_vendor = @host_vendor@
--htmldir = @htmldir@
--includedir = @includedir@
--infodir = @infodir@
--install_sh = @install_sh@
--libdir = @libdir@
--libexecdir = @libexecdir@
--localedir = @localedir@
--localstatedir = @localstatedir@
--lt_ECHO = @lt_ECHO@
--mandir = @mandir@
--mkdir_p = @mkdir_p@
--oldincludedir = @oldincludedir@
--pdfdir = @pdfdir@
--pkgpyexecdir = @pkgpyexecdir@
--pkgpythondir = @pkgpythondir@
--prefix = @prefix@
--program_transform_name = @program_transform_name@
--psdir = @psdir@
--pyexecdir = @pyexecdir@
--pythondir = @pythondir@
--sbindir = @sbindir@
--sharedstatedir = @sharedstatedir@
--srcdir = @srcdir@
--sysconfdir = @sysconfdir@
--target = @target@
--target_alias = @target_alias@
--target_cpu = @target_cpu@
--target_os = @target_os@
--target_vendor = @target_vendor@
--top_build_prefix = @top_build_prefix@
--top_builddir = @top_builddir@
--top_srcdir = @top_srcdir@
--EXTRA_DIST = README tclrrd.c
--AM_CFLAGS = @CFLAGS@
--CLEANFILES = tclrrd.o tclrrd.so
--SRC_DIR = $(top_srcdir)/src
--AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS
--LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir)
--LIB_RUNTIME_DIR = $(libdir)
--@BUILD_TCL_SITE_TRUE@tclpkgdir = @TCL_PACKAGE_DIR@
--@BUILD_TCL_SITE_TRUE@tclpkg_DATA = pkgIndex.tcl
--@BUILD_TCL_SITE_TRUE@tclpkg_SCRIPTS = ifOctets.tcl
--@BUILD_TCL_SITE_FALSE@pkglib_DATA = pkgIndex.tcl
--@BUILD_TCL_SITE_FALSE@pkglib_SCRIPTS = ifOctets.tcl
--
--# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as
--# library name. So we build and install this library `by hand'.
--#
--# We do, however, specify a lib_LIBRARIES target such that
--# automake creates the directory (if neecessary).
--#
--TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)
--lib_LIBRARIES =
--all: all-am
--
--.SUFFIXES:
--$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
-- @for dep in $?; do \
-- case '$(am__configure_deps)' in \
-- *$$dep*) \
-- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-- && { if test -f $@; then exit 0; else break; fi; }; \
-- exit 1;; \
-- esac; \
-- done; \
-- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/tcl/Makefile'; \
-- $(am__cd) $(top_srcdir) && \
-- $(AUTOMAKE) --gnu bindings/tcl/Makefile
--.PRECIOUS: Makefile
--Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-- @case '$?' in \
-- *config.status*) \
-- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-- *) \
-- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-- esac;
--
--$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--
--$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(am__aclocal_m4_deps):
--ifOctets.tcl: $(top_builddir)/config.status $(srcdir)/ifOctets.tcl.in
-- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
--install-libLIBRARIES: $(lib_LIBRARIES)
-- @$(NORMAL_INSTALL)
-- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
-- list2=; for p in $$list; do \
-- if test -f $$p; then \
-- list2="$$list2 $$p"; \
-- else :; fi; \
-- done; \
-- test -z "$$list2" || { \
-- echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \
-- $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; }
-- @$(POST_INSTALL)
-- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
-- for p in $$list; do \
-- if test -f $$p; then \
-- $(am__strip_dir) \
-- echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \
-- ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \
-- else :; fi; \
-- done
--
--uninstall-libLIBRARIES:
-- @$(NORMAL_UNINSTALL)
-- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
-- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-- test -n "$$files" || exit 0; \
-- echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \
-- cd "$(DESTDIR)$(libdir)" && rm -f $$files
--
--clean-libLIBRARIES:
-- -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
--install-pkglibSCRIPTS: $(pkglib_SCRIPTS)
-- @$(NORMAL_INSTALL)
-- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || list=; \
-- for p in $$list; do \
-- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
-- done | \
-- sed -e 'p;s,.*/,,;n' \
-- -e 'h;s|.*|.|' \
-- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
-- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
-- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
-- if (++n[d] == $(am__install_max)) { \
-- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
-- else { print "f", d "/" $$4, $$1 } } \
-- END { for (d in files) print "f", d, files[d] }' | \
-- while read type dir files; do \
-- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-- test -z "$$files" || { \
-- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(pkglibdir)$$dir'"; \
-- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(pkglibdir)$$dir" || exit $$?; \
-- } \
-- ; done
--
--uninstall-pkglibSCRIPTS:
-- @$(NORMAL_UNINSTALL)
-- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || exit 0; \
-- files=`for p in $$list; do echo "$$p"; done | \
-- sed -e 's,.*/,,;$(transform)'`; \
-- test -n "$$list" || exit 0; \
-- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
-- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
--install-tclpkgSCRIPTS: $(tclpkg_SCRIPTS)
-- @$(NORMAL_INSTALL)
-- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)"
-- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || list=; \
-- for p in $$list; do \
-- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
-- done | \
-- sed -e 'p;s,.*/,,;n' \
-- -e 'h;s|.*|.|' \
-- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
-- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
-- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
-- if (++n[d] == $(am__install_max)) { \
-- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
-- else { print "f", d "/" $$4, $$1 } } \
-- END { for (d in files) print "f", d, files[d] }' | \
-- while read type dir files; do \
-- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-- test -z "$$files" || { \
-- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(tclpkgdir)$$dir'"; \
-- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(tclpkgdir)$$dir" || exit $$?; \
-- } \
-- ; done
--
--uninstall-tclpkgSCRIPTS:
-- @$(NORMAL_UNINSTALL)
-- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || exit 0; \
-- files=`for p in $$list; do echo "$$p"; done | \
-- sed -e 's,.*/,,;$(transform)'`; \
-- test -n "$$list" || exit 0; \
-- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \
-- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files
--
--mostlyclean-libtool:
-- -rm -f *.lo
--
--clean-libtool:
-- -rm -rf .libs _libs
--install-pkglibDATA: $(pkglib_DATA)
-- @$(NORMAL_INSTALL)
-- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
-- for p in $$list; do \
-- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-- echo "$$d$$p"; \
-- done | $(am__base_list) | \
-- while read files; do \
-- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
-- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
-- done
--
--uninstall-pkglibDATA:
-- @$(NORMAL_UNINSTALL)
-- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
-- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-- test -n "$$files" || exit 0; \
-- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
-- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
--install-tclpkgDATA: $(tclpkg_DATA)
-- @$(NORMAL_INSTALL)
-- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)"
-- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \
-- for p in $$list; do \
-- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-- echo "$$d$$p"; \
-- done | $(am__base_list) | \
-- while read files; do \
-- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tclpkgdir)'"; \
-- $(INSTALL_DATA) $$files "$(DESTDIR)$(tclpkgdir)" || exit $$?; \
-- done
--
--uninstall-tclpkgDATA:
-- @$(NORMAL_UNINSTALL)
-- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \
-- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-- test -n "$$files" || exit 0; \
-- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \
-- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files
--tags: TAGS
--TAGS:
--
--ctags: CTAGS
--CTAGS:
--
--
--distdir: $(DISTFILES)
-- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-- list='$(DISTFILES)'; \
-- dist_files=`for file in $$list; do echo $$file; done | \
-- sed -e "s|^$$srcdirstrip/||;t" \
-- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-- case $$dist_files in \
-- */*) $(MKDIR_P) `echo "$$dist_files" | \
-- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-- sort -u` ;; \
-- esac; \
-- for file in $$dist_files; do \
-- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-- if test -d $$d/$$file; then \
-- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-- if test -d "$(distdir)/$$file"; then \
-- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-- fi; \
-- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-- fi; \
-- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-- else \
-- test -f "$(distdir)/$$file" \
-- || cp -p $$d/$$file "$(distdir)/$$file" \
-- || exit 1; \
-- fi; \
-- done
--check-am: all-am
--check: check-am
--all-am: Makefile $(LIBRARIES) $(SCRIPTS) $(DATA) all-local
--installdirs:
-- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)"; do \
-- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-- done
--install: install-am
--install-exec: install-exec-am
--install-data: install-data-am
--uninstall: uninstall-am
--
--install-am: all-am
-- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
--
--installcheck: installcheck-am
--install-strip:
-- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-- `test -z '$(STRIP)' || \
-- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
--mostlyclean-generic:
--
--clean-generic:
-- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
--
--distclean-generic:
-- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
--
--maintainer-clean-generic:
-- @echo "This command is intended for maintainers to use"
-- @echo "it deletes files that may require special tools to rebuild."
--clean: clean-am
--
--clean-am: clean-generic clean-libLIBRARIES clean-libtool \
-- mostlyclean-am
--
--distclean: distclean-am
-- -rm -f Makefile
--distclean-am: clean-am distclean-generic
--
--dvi: dvi-am
--
--dvi-am:
--
--html: html-am
--
--html-am:
--
--info: info-am
--
--info-am:
--
--install-data-am: install-tclpkgDATA install-tclpkgSCRIPTS
--
--install-dvi: install-dvi-am
--
--install-dvi-am:
--
--install-exec-am: install-exec-local install-libLIBRARIES \
-- install-pkglibDATA install-pkglibSCRIPTS
--
--install-html: install-html-am
--
--install-html-am:
--
--install-info: install-info-am
--
--install-info-am:
--
--install-man:
--
--install-pdf: install-pdf-am
--
--install-pdf-am:
--
--install-ps: install-ps-am
--
--install-ps-am:
--
--installcheck-am:
--
--maintainer-clean: maintainer-clean-am
-- -rm -f Makefile
--maintainer-clean-am: distclean-am maintainer-clean-generic
--
--mostlyclean: mostlyclean-am
--
--mostlyclean-am: mostlyclean-generic mostlyclean-libtool
--
--pdf: pdf-am
--
--pdf-am:
--
--ps: ps-am
--
--ps-am:
--
--uninstall-am: uninstall-libLIBRARIES uninstall-pkglibDATA \
-- uninstall-pkglibSCRIPTS uninstall-tclpkgDATA \
-- uninstall-tclpkgSCRIPTS
--
--.MAKE: install-am install-strip
--
--.PHONY: all all-am all-local check check-am clean clean-generic \
-- clean-libLIBRARIES clean-libtool distclean distclean-generic \
-- distclean-libtool distdir dvi dvi-am html html-am info info-am \
-- install install-am install-data install-data-am install-dvi \
-- install-dvi-am install-exec install-exec-am install-exec-local \
-- install-html install-html-am install-info install-info-am \
-- install-libLIBRARIES install-man install-pdf install-pdf-am \
-- install-pkglibDATA install-pkglibSCRIPTS install-ps \
-- install-ps-am install-strip install-tclpkgDATA \
-- install-tclpkgSCRIPTS installcheck installcheck-am installdirs \
-- maintainer-clean maintainer-clean-generic mostlyclean \
-- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-- uninstall uninstall-am uninstall-libLIBRARIES \
-- uninstall-pkglibDATA uninstall-pkglibSCRIPTS \
-- uninstall-tclpkgDATA uninstall-tclpkgSCRIPTS
--
--
--all-local: $(TCL_RRD_LIB)
--
--$(TCL_RRD_LIB): tclrrd.o
-- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS)
--
--tclrrd.o: tclrrd.c
-- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\"
--
--pkgIndex.tcl:
-- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@
--
--install-exec-local: $(TCL_RRD_LIB)
-- @$(NORMAL_INSTALL)
-- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB)
--
--# Tell versions [3.59,3.63) of GNU make to not export all variables.
--# Otherwise a system limit (for SysV at least) may be exceeded.
--.NOEXPORT:
-diff --git a/bindings/tcl/README b/bindings/tcl/README
-deleted file mode 100644
-index 065a03a..0000000
---- a/bindings/tcl/README
-+++ /dev/null
-@@ -1,31 +0,0 @@
--TCLRRD -- A TCL interpreter extension to access the RRD library,
-- contributed to Tobias Oetiker's RRD tools.
--
--Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig.
--
--See the file "COPYING" for information on usage and redistribution
--of this file, and for a DISCLAIMER OF ALL WARRANTIES.
--
--TCLRRD adds a dynamically loadable package to the Tcl 8.x interpreter
--to access all RRD functions as of RRDtool 1.0.13. All command names
--and arguments are equal to those of RRDtool. They are assigned to the
--namespace `Rrd', e.g. `Rrd::create'. Return values are a bit
--different from plain RRDtool behavior to enable more native Tcl
--usage. Errors are mapped to the TCL_ERROR return code together with
--the RRD error strings.
--
--TCLRRD makes it easy to combine RRD use with advanced SNMP functionality
--of scotty (http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/). E.g., it's easy
--to use some scotty code to get the counters of some interfaces by their
--interface name and then use Rrd::update to store the values. Furthermore,
--data source types (see RRD::create documentation) and integer value ranges
--could be easily retrieved from MIB information.
--
--TCLRRD has been written on a Linux system for use with Tcl 8.x. It should
--work on many other platforms, although it has not been tested. There are
--no fool proof installation procedures. Take a look at Makefile.am and
--adapt it, if required.
--
--TCLRRD has been written for RRD 1.0.13.
--
-- Frank Strauss <strauss@ibr.cs.tu-bs.de>, 09-Mar-2000
-diff --git a/bindings/tcl/ifOctets.tcl.in b/bindings/tcl/ifOctets.tcl.in
-deleted file mode 100644
-index 7a36397..0000000
---- a/bindings/tcl/ifOctets.tcl.in
-+++ /dev/null
-@@ -1,45 +0,0 @@
--#!/bin/sh
--# the next line restarts using tclsh -*- tcl -*- \
--exec tclsh@TCL_VERSION@ "$0" "$@"
--
--#package require Tnm 3.0
--package require Rrd @VERSION@
--
--set rrdfile "[lindex $argv 0]-[lindex $argv 1].rrd"
--
--# create rrdfile if not yet existent
--if {[file exists $rrdfile] == 0} {
-- Rrd::create $rrdfile --step 5 \
-- DS:inOctets:COUNTER:10:U:U DS:outOctets:COUNTER:10:U:U \
-- RRA:AVERAGE:0.5:1:12
--}
--
--# get an snmp session context
--set session [Tnm::snmp generator -address [lindex $argv 0]]
--
--# walk through the ifDescr column to find the right interface
--$session walk descr IF-MIB!ifDescr {
--
-- # is this the right interface?
-- if {"[Tnm::snmp value $descr 0]" == "[lindex $argv 1]"} {
--
-- # get the instance part of this table row
-- set inst [lindex [Tnm::mib split [Tnm::snmp oid $descr 0]] 1]
--
-- # get the two interface's octet counter values
-- set in [lindex [lindex [$session get IF-MIB!ifInOctets.$inst] 0] 2]
-- set out [lindex [lindex [$session get IF-MIB!ifOutOctets.$inst] 0] 2]
--
-- # write the values to the rrd
-- puts "$in $out"
-- Rrd::update $rrdfile --template inOctets:outOctets N:$in:$out
--
-- Rrd::graph gaga.png --title "gaga" \
-- DEF:in=$rrdfile:inOctets:AVERAGE \
-- DEF:out=$rrdfile:outOctets:AVERAGE \
-- AREA:in#0000FF:inOctets \
-- LINE2:out#00C000:outOctets
--
-- #puts [Rrd::fetch $rrdfile AVERAGE]
-- }
--}
-diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c
-deleted file mode 100644
-index f1f0234..0000000
---- a/bindings/tcl/tclrrd.c
-+++ /dev/null
-@@ -1,762 +0,0 @@
--/*
-- * tclrrd.c -- A TCL interpreter extension to access the RRD library.
-- *
-- * Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig.
-- *
-- * Thread-safe code copyright (c) 2005 Oleg Derevenetz, CenterTelecom Voronezh ISP.
-- *
-- * See the file "COPYING" for information on usage and redistribution
-- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-- *
-- * $Id: tclrrd.c 1854 2009-06-07 14:46:21Z oetiker $
-- */
--
--
--
--#include <errno.h>
--#include <string.h>
--#include <time.h>
--#include <unistd.h>
--#include <tcl.h>
--#include <stdlib.h>
--#include "../../src/rrd_tool.h"
--#include "../../src/rrd_format.h"
--
--/* support pre-8.4 tcl */
--
--#ifndef CONST84
--# define CONST84
--#endif
--
--extern int Tclrrd_Init(
-- Tcl_Interp *interp);
--extern int Tclrrd_SafeInit(
-- Tcl_Interp *interp);
--
--
--/*
-- * some rrd_XXX() and new thread-safe versions of Rrd_XXX()
-- * functions might modify the argv strings passed to it.
-- * Hence, we need to do some preparation before
-- * calling the rrd library functions.
-- */
--static char **getopt_init(
-- int argc,
-- CONST84 char *argv[])
--{
-- char **argv2;
-- int i;
--
-- argv2 = calloc(argc, sizeof(char *));
-- for (i = 0; i < argc; i++) {
-- argv2[i] = strdup(argv[i]);
-- }
-- return argv2;
--}
--
--static void getopt_cleanup(
-- int argc,
-- char **argv2)
--{
-- int i;
--
-- for (i = 0; i < argc; i++) {
-- if (argv2[i] != NULL) {
-- free(argv2[i]);
-- }
-- }
-- free(argv2);
--}
--
--static void getopt_free_element(
-- char *argv2[],
-- int argn)
--{
-- if (argv2[argn] != NULL) {
-- free(argv2[argn]);
-- argv2[argn] = NULL;
-- }
--}
--
--static void getopt_squieeze(
-- int *argc,
-- char *argv2[])
--{
-- int i, null_i = 0, argc_tmp = *argc;
--
-- for (i = 0; i < argc_tmp; i++) {
-- if (argv2[i] == NULL) {
-- (*argc)--;
-- } else {
-- argv2[null_i++] = argv2[i];
-- }
-- }
--}
--
--
--
--/* Thread-safe version */
--static int Rrd_Create(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- int argv_i;
-- char **argv2;
-- char *parsetime_error = NULL;
-- time_t last_up = time(NULL) - 10;
-- long int long_tmp;
-- unsigned long int pdp_step = 300;
-- rrd_time_value_t last_up_tv;
--
-- argv2 = getopt_init(argc, argv);
--
-- for (argv_i = 1; argv_i < argc; argv_i++) {
-- if (!strcmp(argv2[argv_i], "--start") || !strcmp(argv2[argv_i], "-b")) {
-- if (argv_i++ >= argc) {
-- Tcl_AppendResult(interp, "RRD Error: option '",
-- argv2[argv_i - 1], "' needs an argument",
-- (char *) NULL);
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
-- if ((parsetime_error = rrd_parsetime(argv2[argv_i], &last_up_tv))) {
-- Tcl_AppendResult(interp, "RRD Error: invalid time format: '",
-- argv2[argv_i], "'", (char *) NULL);
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
-- if (last_up_tv.type == RELATIVE_TO_END_TIME ||
-- last_up_tv.type == RELATIVE_TO_START_TIME) {
-- Tcl_AppendResult(interp,
-- "RRD Error: specifying time relative to the 'start' ",
-- "or 'end' makes no sense here",
-- (char *) NULL);
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
-- last_up = mktime(&last_up_tv.tm) +last_up_tv.offset;
-- if (last_up < 3600 * 24 * 365 * 10) {
-- Tcl_AppendResult(interp,
-- "RRD Error: the first entry to the RRD should be after 1980",
-- (char *) NULL);
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
-- getopt_free_element(argv2, argv_i - 1);
-- getopt_free_element(argv2, argv_i);
-- } else if (!strcmp(argv2[argv_i], "--step")
-- || !strcmp(argv2[argv_i], "-s")) {
-- if (argv_i++ >= argc) {
-- Tcl_AppendResult(interp, "RRD Error: option '",
-- argv2[argv_i - 1], "' needs an argument",
-- (char *) NULL);
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
-- long_tmp = atol(argv2[argv_i]);
-- if (long_tmp < 1) {
-- Tcl_AppendResult(interp,
-- "RRD Error: step size should be no less than one second",
-- (char *) NULL);
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
-- pdp_step = long_tmp;
-- getopt_free_element(argv2, argv_i - 1);
-- getopt_free_element(argv2, argv_i);
-- } else if (!strcmp(argv2[argv_i], "--")) {
-- getopt_free_element(argv2, argv_i);
-- break;
-- } else if (argv2[argv_i][0] == '-') {
-- Tcl_AppendResult(interp, "RRD Error: unknown option '",
-- argv2[argv_i], "'", (char *) NULL);
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
-- }
--
-- getopt_squieeze(&argc, argv2);
--
-- if (argc < 2) {
-- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
-- (char *) NULL);
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
--
-- rrd_create_r(argv2[1], pdp_step, last_up, argc - 2,
-- (const char **)argv2 + 2);
--
-- getopt_cleanup(argc, argv2);
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--
--
--/* Thread-safe version */
--static int Rrd_Dump(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- if (argc < 2) {
-- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
-- (char *) NULL);
-- return TCL_ERROR;
-- }
--
-- rrd_dump_r(argv[1], NULL);
--
-- /* NOTE: rrd_dump() writes to stdout. No interaction with TCL. */
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--/* Thread-safe version */
--static int Rrd_Flushcached(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- if (argc < 2) {
-- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
-- (char *) NULL);
-- return TCL_ERROR;
-- }
--
-- rrd_flushcached(argc, (char**)argv);
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--
--/* Thread-safe version */
--static int Rrd_Last(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- time_t t;
--
-- if (argc < 2) {
-- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
-- (char *) NULL);
-- return TCL_ERROR;
-- }
--
-- t = rrd_last_r(argv[1]);
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- Tcl_SetIntObj(Tcl_GetObjResult(interp), t);
--
-- return TCL_OK;
--}
--
--
--
--/* Thread-safe version */
--static int Rrd_Update(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- int argv_i;
-- char **argv2, *template = NULL;
--
-- argv2 = getopt_init(argc, argv);
--
-- for (argv_i = 1; argv_i < argc; argv_i++) {
-- if (!strcmp(argv2[argv_i], "--template")
-- || !strcmp(argv2[argv_i], "-t")) {
-- if (argv_i++ >= argc) {
-- Tcl_AppendResult(interp, "RRD Error: option '",
-- argv2[argv_i - 1], "' needs an argument",
-- (char *) NULL);
-- if (template != NULL) {
-- free(template);
-- }
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
-- if (template != NULL) {
-- free(template);
-- }
-- template = strdup(argv2[argv_i]);
-- getopt_free_element(argv2, argv_i - 1);
-- getopt_free_element(argv2, argv_i);
-- } else if (!strcmp(argv2[argv_i], "--")) {
-- getopt_free_element(argv2, argv_i);
-- break;
-- } else if (argv2[argv_i][0] == '-') {
-- Tcl_AppendResult(interp, "RRD Error: unknown option '",
-- argv2[argv_i], "'", (char *) NULL);
-- if (template != NULL) {
-- free(template);
-- }
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
-- }
--
-- getopt_squieeze(&argc, argv2);
--
-- if (argc < 2) {
-- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
-- (char *) NULL);
-- if (template != NULL) {
-- free(template);
-- }
-- getopt_cleanup(argc, argv2);
-- return TCL_ERROR;
-- }
--
-- rrd_update_r(argv2[1], template, argc - 2, (const char **)argv2 + 2);
--
-- if (template != NULL) {
-- free(template);
-- }
-- getopt_cleanup(argc, argv2);
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--static int Rrd_Lastupdate(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- time_t last_update;
-- char **argv2;
-- char **ds_namv;
-- char **last_ds;
-- char s[30];
-- Tcl_Obj *listPtr;
-- unsigned long ds_cnt, i;
--
-- /* TODO: support for rrdcached */
-- if (argc != 2) {
-- Tcl_AppendResult(interp, "RRD Error: needs a single rrd filename",
-- (char *) NULL);
-- return TCL_ERROR;
-- }
--
-- argv2 = getopt_init(argc, argv);
-- if (rrd_lastupdate_r(argv2[1], &last_update,
-- &ds_cnt, &ds_namv, &last_ds) == 0) {
-- listPtr = Tcl_GetObjResult(interp);
-- for (i = 0; i < ds_cnt; i++) {
-- sprintf(s, " %28s", ds_namv[i]);
-- Tcl_ListObjAppendElement(interp, listPtr,
-- Tcl_NewStringObj(s, -1));
-- sprintf(s, "\n\n%10lu:", last_update);
-- Tcl_ListObjAppendElement(interp, listPtr,
-- Tcl_NewStringObj(s, -1));
-- for (i = 0; i < ds_cnt; i++) {
-- sprintf(s, " %s", last_ds[i]);
-- Tcl_ListObjAppendElement(interp, listPtr,
-- Tcl_NewStringObj(s, -1));
-- free(last_ds[i]);
-- free(ds_namv[i]);
-- }
-- sprintf(s, "\n");
-- Tcl_ListObjAppendElement(interp, listPtr,
-- Tcl_NewStringObj(s, -1));
-- free(last_ds);
-- free(ds_namv);
-- }
-- }
-- return TCL_OK;
--}
--
--static int Rrd_Fetch(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- time_t start, end, j;
-- unsigned long step, ds_cnt, i, ii;
-- rrd_value_t *data, *datai;
-- char **ds_namv;
-- Tcl_Obj *listPtr;
-- char s[30];
-- char **argv2;
--
-- argv2 = getopt_init(argc, argv);
-- if (rrd_fetch(argc, argv2, &start, &end, &step,
-- &ds_cnt, &ds_namv, &data) != -1) {
-- datai = data;
-- listPtr = Tcl_GetObjResult(interp);
-- for (j = start; j <= end; j += step) {
-- for (ii = 0; ii < ds_cnt; ii++) {
-- sprintf(s, "%.2f", *(datai++));
-- Tcl_ListObjAppendElement(interp, listPtr,
-- Tcl_NewStringObj(s, -1));
-- }
-- }
-- for (i = 0; i < ds_cnt; i++)
-- free(ds_namv[i]);
-- free(ds_namv);
-- free(data);
-- }
-- getopt_cleanup(argc, argv2);
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--
--
--static int Rrd_Graph(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- Tcl_Channel channel;
-- int mode, fd2;
-- ClientData fd1;
-- FILE *stream = NULL;
-- char **calcpr = NULL;
-- int rc, xsize, ysize;
-- double ymin, ymax;
-- char dimensions[50];
-- char **argv2;
-- CONST84 char *save;
--
-- /*
-- * If the "filename" is a Tcl fileID, then arrange for rrd_graph() to write to
-- * that file descriptor. Will this work with windoze? I have no idea.
-- */
-- if ((channel = Tcl_GetChannel(interp, argv[1], &mode)) != NULL) {
-- /*
-- * It >is< a Tcl fileID
-- */
-- if (!(mode & TCL_WRITABLE)) {
-- Tcl_AppendResult(interp, "channel \"", argv[1],
-- "\" wasn't opened for writing", (char *) NULL);
-- return TCL_ERROR;
-- }
-- /*
-- * Must flush channel to make sure any buffered data is written before
-- * rrd_graph() writes to the stream
-- */
-- if (Tcl_Flush(channel) != TCL_OK) {
-- Tcl_AppendResult(interp, "flush failed for \"", argv[1], "\": ",
-- strerror(Tcl_GetErrno()), (char *) NULL);
-- return TCL_ERROR;
-- }
-- if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &fd1) != TCL_OK) {
-- Tcl_AppendResult(interp,
-- "cannot get file descriptor associated with \"",
-- argv[1], "\"", (char *) NULL);
-- return TCL_ERROR;
-- }
-- /*
-- * Must dup() file descriptor so we can fclose(stream), otherwise the fclose()
-- * would close Tcl's file descriptor
-- */
-- if ((fd2 = dup((int)fd1)) == -1) {
-- Tcl_AppendResult(interp,
-- "dup() failed for file descriptor associated with \"",
-- argv[1], "\": ", strerror(errno), (char *) NULL);
-- return TCL_ERROR;
-- }
-- /*
-- * rrd_graph() wants a FILE*
-- */
-- if ((stream = fdopen(fd2, "wb")) == NULL) {
-- Tcl_AppendResult(interp,
-- "fdopen() failed for file descriptor associated with \"",
-- argv[1], "\": ", strerror(errno), (char *) NULL);
-- close(fd2); /* plug potential file descriptor leak */
-- return TCL_ERROR;
-- }
--
-- save = argv[1];
-- argv[1] = "-";
-- argv2 = getopt_init(argc, argv);
-- argv[1] = save;
-- } else {
-- Tcl_ResetResult(interp); /* clear error from Tcl_GetChannel() */
-- argv2 = getopt_init(argc, argv);
-- }
--
-- rc = rrd_graph(argc, argv2, &calcpr, &xsize, &ysize, stream, &ymin,
-- &ymax);
-- getopt_cleanup(argc, argv2);
--
-- if (stream != NULL)
-- fclose(stream); /* plug potential malloc & file descriptor leak */
--
-- if (rc != -1) {
-- sprintf(dimensions, "%d %d", xsize, ysize);
-- Tcl_AppendResult(interp, dimensions, (char *) NULL);
-- if (calcpr) {
--#if 0
-- int i;
--
-- for (i = 0; calcpr[i]; i++) {
-- printf("%s\n", calcpr[i]);
-- free(calcpr[i]);
-- }
--#endif
-- free(calcpr);
-- }
-- }
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--
--
--static int Rrd_Tune(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- char **argv2;
--
-- argv2 = getopt_init(argc, argv);
-- rrd_tune(argc, argv2);
-- getopt_cleanup(argc, argv2);
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--
--
--static int Rrd_Resize(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- char **argv2;
--
-- argv2 = getopt_init(argc, argv);
-- rrd_resize(argc, argv2);
-- getopt_cleanup(argc, argv2);
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--
--
--static int Rrd_Restore(
-- ClientData __attribute__((unused)) clientData,
-- Tcl_Interp *interp,
-- int argc,
-- CONST84 char *argv[])
--{
-- char **argv2;
--
-- argv2 = getopt_init(argc, argv);
-- rrd_restore(argc, argv2);
-- getopt_cleanup(argc, argv2);
--
-- if (rrd_test_error()) {
-- Tcl_AppendResult(interp, "RRD Error: ",
-- rrd_get_error(), (char *) NULL);
-- rrd_clear_error();
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--
--
--/*
-- * The following structure defines the commands in the Rrd extension.
-- */
--
--typedef struct {
-- char *name; /* Name of the command. */
-- Tcl_CmdProc *proc; /* Procedure for command. */
-- int hide; /* Hide if safe interpreter */
--} CmdInfo;
--
--static CmdInfo rrdCmds[] = {
-- {"Rrd::create", Rrd_Create, 1}, /* Thread-safe version */
-- {"Rrd::dump", Rrd_Dump, 0}, /* Thread-safe version */
-- {"Rrd::flushcached", Rrd_Flushcached, 0},
-- {"Rrd::last", Rrd_Last, 0}, /* Thread-safe version */
-- {"Rrd::lastupdate", Rrd_Lastupdate, 0}, /* Thread-safe version */
-- {"Rrd::update", Rrd_Update, 1}, /* Thread-safe version */
-- {"Rrd::fetch", Rrd_Fetch, 0},
-- {"Rrd::graph", Rrd_Graph, 1}, /* Due to RRD's API, a safe
-- interpreter cannot create
-- a graph since it writes to
-- a filename supplied by the
-- caller */
-- {"Rrd::tune", Rrd_Tune, 1},
-- {"Rrd::resize", Rrd_Resize, 1},
-- {"Rrd::restore", Rrd_Restore, 1},
-- {(char *) NULL, (Tcl_CmdProc *) NULL, 0}
--};
--
--
--
--static int init(
-- Tcl_Interp *interp,
-- int safe)
--{
-- CmdInfo *cmdInfoPtr;
-- Tcl_CmdInfo info;
--
-- if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL)
-- return TCL_ERROR;
--
-- if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) {
-- return TCL_ERROR;
-- }
--
-- /*
-- * Why a global array? In keeping with the Rrd:: namespace, why
-- * not simply create a normal variable Rrd::version and set it?
-- */
-- Tcl_SetVar2(interp, "rrd", "version", VERSION, TCL_GLOBAL_ONLY);
--
-- for (cmdInfoPtr = rrdCmds; cmdInfoPtr->name != NULL; cmdInfoPtr++) {
-- /*
-- * Check if the command already exists and return an error
-- * to ensure we detect name clashes while loading the Rrd
-- * extension.
-- */
-- if (Tcl_GetCommandInfo(interp, cmdInfoPtr->name, &info)) {
-- Tcl_AppendResult(interp, "command \"", cmdInfoPtr->name,
-- "\" already exists", (char *) NULL);
-- return TCL_ERROR;
-- }
-- if (safe && cmdInfoPtr->hide) {
--#if 0
-- /*
-- * Turns out the one cannot hide a command in a namespace
-- * due to a limitation of Tcl, one can only hide global
-- * commands. Thus, if we created the commands without
-- * the Rrd:: namespace in a safe interpreter, then the
-- * "unsafe" commands could be hidden -- which would allow
-- * an owning interpreter either un-hiding them or doing
-- * an "interp invokehidden". If the Rrd:: namespace is
-- * used, then it's still possible for the owning interpreter
-- * to fake out the missing commands:
-- *
-- * # Make all Rrd::* commands available in master interperter
-- * package require Rrd
-- * set safe [interp create -safe]
-- * # Make safe Rrd::* commands available in safe interperter
-- * interp invokehidden $safe -global load ./tclrrd1.2.11.so
-- * # Provide the safe interpreter with the missing commands
-- * $safe alias Rrd::update do_update $safe
-- * proc do_update {which_interp $args} {
-- * # Do some checking maybe...
-- * :
-- * return [eval Rrd::update $args]
-- * }
-- *
-- * Our solution for now is to just not create the "unsafe"
-- * commands in a safe interpreter.
-- */
-- if (Tcl_HideCommand(interp, cmdInfoPtr->name, cmdInfoPtr->name) !=
-- TCL_OK)
-- return TCL_ERROR;
--#endif
-- } else
-- Tcl_CreateCommand(interp, cmdInfoPtr->name, cmdInfoPtr->proc,
-- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
-- }
--
-- if (Tcl_PkgProvide(interp, "Rrd", VERSION) != TCL_OK) {
-- return TCL_ERROR;
-- }
--
-- return TCL_OK;
--}
--
--int Tclrrd_Init(
-- Tcl_Interp *interp)
--{
-- return init(interp, 0);
--}
--
--/*
-- * See the comments above and note how few commands are considered "safe"...
-- * Using rrdtool in a safe interpreter has very limited functionality. It's
-- * tempting to just return TCL_ERROR and forget about it.
-- */
--int Tclrrd_SafeInit(
-- Tcl_Interp *interp)
--{
-- return init(interp, 1);
--}
-diff --git a/configure.ac b/configure.ac
-index 73ef4ec..acd74e8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -830,57 +830,6 @@ AM_CONDITIONAL(LUA_SITE_LINSTALL, [test "$LUA_INSTALL_LMOD" != "$LUA_RRD_LIBDIR"
- AM_CONDITIONAL(LUA50, [test "$lua_vndot" = "50"])
- AM_CONDITIONAL(BUILD_LUA, [test "$enable_lua" = "yes"])
-
--enable_tcl_site=no
--
--AC_ARG_ENABLE(tcl,AS_HELP_STRING([--disable-tcl],[do not build the tcl modules]),
--[],[enable_tcl=yes])
--
--if test "$enable_tcl" = "yes"; then
-- dnl Check for Tcl.
-- withval=""
-- AC_ARG_WITH(tcllib,[ --with-tcllib=DIR location of the tclConfig.sh])
-- enable_tcl=no
-- for dir in $withval /usr/lib /usr/lib64 /usr/local/lib /usr/lib/tcl8.4 /usr/lib/tcl8.3 ; do
-- AC_MSG_CHECKING(for tclConfig.sh in $dir)
-- if test -f "$dir/tclConfig.sh" ; then
-- tcl_config=$dir/tclConfig.sh
-- enable_tcl=yes
-- AC_MSG_RESULT(yes)
-- break
-- else
-- AC_MSG_RESULT(no)
-- fi
-- done
--
-- if test "$enable_tcl" = "no"; then
-- AC_MSG_WARN([tclConfig.sh not found - Tcl interface will not be built])
-- else
-- . $tcl_config
-- TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION"
-- if test -n "$TCL_INC_DIR"; then
-- TCL_INCLUDE_SPEC="$TCL_INCLUDE_SPEC -I$TCL_INC_DIR"
-- fi
-- fi
-- AC_ARG_ENABLE(tcl-site,AS_HELP_STRING([--enable-tcl-site],[install the tcl extension in the tcl tree]),
-- [],[enable_tcl_site=yes])
--
--fi
--
--AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" )
--AM_CONDITIONAL(BUILD_TCL_SITE, test "$enable_tcl_site" = "yes" )
--
--
--AC_SUBST(TCL_PREFIX)
--AC_SUBST(TCL_SHLIB_CFLAGS)
--AC_SUBST(TCL_SHLIB_LD)
--AC_SUBST(TCL_SHLIB_SUFFIX)
--AC_SUBST(TCL_PACKAGE_PATH)
--AC_SUBST(TCL_LD_SEARCH_FLAGS)
--AC_SUBST(TCL_STUB_LIB_SPEC)
--AC_SUBST(TCL_VERSION)
--AC_SUBST(TCL_PACKAGE_DIR)
--AC_SUBST(TCL_INCLUDE_SPEC)
--
- AC_ARG_ENABLE(python,AS_HELP_STRING([--disable-python],[do not build the python modules]),
- [],[enable_python=yes])
-
-@@ -932,8 +881,6 @@ AC_CONFIG_FILES([src/Makefile])
- AC_CONFIG_FILES([src/librrd.sym.in])
- AC_CONFIG_FILES([src/librrd.pc])
- AC_CONFIG_FILES([bindings/Makefile])
--AC_CONFIG_FILES([bindings/tcl/Makefile])
--AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl])
- AC_CONFIG_FILES([Makefile])
- AC_CONFIG_FILES([bindings/lua/Makefile])
-
-@@ -982,7 +929,6 @@ if test "$lua_need_compat51" = "1"; then
- echo " Lua Lua-modules dir: $LUA_INSTALL_LMOD"
- fi
- fi
--echo " Build Tcl Bindings: $enable_tcl"
- echo " Build Python Bindings: $enable_python"
- echo " Build rrdcgi: $enable_rrdcgi"
- echo " Build librrd MT: $enable_pthread"
---
-1.7.10
-
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb
index df3dc8a804..6bc5e98633 100644
--- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb
@@ -4,18 +4,20 @@ HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
-DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2"
+DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native"
-PR = "r2"
+SRCREV = "1850e00a17e25e93c39e608f4e2da50f29c5c712"
+PV = "1.4.8"
-SRC_URI = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-${PV}.tar.gz \
- file://0001-rrdtool-eradicate-tcl-support.patch \
- file://remove_hardcoded_xml_include.patch \
+SRC_URI = "\
+ git://github.com/oetiker/rrdtool-1.x.git;branch=1.4 \
+ file://remove_hardcoded_xml_include.patch \
+ file://0001-removing-testing-leftovers.patch \
"
-SRC_URI[md5sum] = "ffe369d8921b4dfdeaaf43812100c38f"
-SRC_URI[sha256sum] = "956aaf431c955ba88dd7d98920ade3a8c4bad04adb1f9431377950a813a7af11"
-inherit autotools-brokensep gettext pythonnative perlnative python-dir
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep gettext pythonnative perlnative python-dir cpan-base
EXTRA_AUTORECONF = "-I m4"
@@ -40,6 +42,7 @@ EXTRA_OECONF = " \
rd_cv_ieee_works=yes \
--disable-ruby \
--disable-lua \
+ --disable-tcl \
--disable-rpath \
"
@@ -53,6 +56,12 @@ export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
+# Env var which tells perl if it should use host (no) or target (yes) settings
+export PERLCONFIGTARGET = "${@is_target(d)}"
+export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE"
+export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+
do_configure() {
#fix the pkglib problem with newer automake
#perl
@@ -68,9 +77,6 @@ do_configure() {
autotools_do_configure
- perl_version=`perl -v 2>/dev/null | \
- sed -n 's/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p'`
-
#modify python sitepkg
#remove the dependency of perl-shared:Makefile
#or perl-shared/Makefile will be regenerated
@@ -83,13 +89,10 @@ do_configure() {
#redo the perl bindings
(
cd ${S}/bindings/perl-shared;
- perl -I${STAGING_LIBDIR}/perl/$perl_version Makefile.PL INSTALLDIRS="vendor"
- INSTALLPRIVLIB="abc";
- sed -i -e "s| ${libdir}/perl/| ${STAGING_LIBDIR}/perl/|g" Makefile;
+ perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc";
cd ../../bindings/perl-piped;
- perl -I${STAGING_LIBDIR}/perl/$perl_version Makefile.PL INSTALLDIRS="vendor";
- sed -i -e "s| ${libdir}/perl/| ${STAGING_LIBDIR}/perl/|g" Makefile;
+ perl Makefile.PL INSTALLDIRS="vendor";
)
#change the interpreter in file
@@ -105,7 +108,7 @@ FILES_${PN}-doc += "${datadir}/examples"
DESCRIPTION_${PN}-perl = \
"The ${PN}-perl package includes RRDtool bindings for perl."
-FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm ${datadir}/${PN}/examples \
+FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm ${datadir}/rrdtool/examples \
${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch
new file mode 100644
index 0000000000..7390a7f542
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch
@@ -0,0 +1,45 @@
+json-c-0.12 unlike 0.11 doesn't install json -> json-c symlink in include
+
+* Resolved in Version 7.6.4 [v7.6-stable] 2014-09-12
+ https://github.com/rsyslog/rsyslog/blob/v7-stable/ChangeLog
+* permits to build against json-c 0.12
+ Unfortunately, json-c had an ABI breakage, so this is necessary. Note
+ that versions prior to 0.12 had security issues (CVE-2013-6370,
+ CVE-2013-6371) and so it is desirable to link against the new version.
+ Thanks to Thomas D. for the patch. Note that at least some distros
+ have fixed the security issue in older versions of json-c, so this
+ seems to apply mostly when building from sources.
+
+Upstream-Status: Backport
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+diff -uNr rsyslog-7.4.4.orig/plugins/ommongodb/ommongodb.c rsyslog-7.4.4/plugins/ommongodb/ommongodb.c
+--- rsyslog-7.4.4.orig/plugins/ommongodb/ommongodb.c 2013-09-03 11:54:20.000000000 +0200
++++ rsyslog-7.4.4/plugins/ommongodb/ommongodb.c 2015-01-12 16:11:51.542591825 +0100
+@@ -33,9 +33,9 @@
+ #include <stdint.h>
+ #include <time.h>
+ #include <mongo.h>
+-#include <json.h>
++#include <json-c/json.h>
+ /* For struct json_object_iter, should not be necessary in future versions */
+-#include <json/json_object_private.h>
++#include <json-c/json_object_private.h>
+
+ #include "rsyslog.h"
+ #include "conf.h"
+diff -uNr rsyslog-7.4.4.orig/runtime/msg.c rsyslog-7.4.4/runtime/msg.c
+--- rsyslog-7.4.4.orig/runtime/msg.c 2013-09-03 12:31:42.000000000 +0200
++++ rsyslog-7.4.4/runtime/msg.c 2015-01-12 16:12:00.403592142 +0100
+@@ -41,9 +41,9 @@
+ #endif
+ #include <netdb.h>
+ #include <libestr.h>
+-#include <json.h>
++#include <json-c/json.h>
+ /* For struct json_object_iter, should not be necessary in future versions */
+-#include <json/json_object_private.h>
++#include <json-c/json_object_private.h>
+ #if HAVE_MALLOC_H
+ # include <malloc.h>
+ #endif
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch
new file mode 100644
index 0000000000..bdcb6e22a3
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch
@@ -0,0 +1,96 @@
+$MaxMessageSize doesn't work if before $IncludeConfig diag-common.conf, then
+test cases fall into infinite loop with error message:
+
+8062.511110729:4902c480: error: message received is larger than max msg size, we split it
+8062.511152265:4902c480: discarding zero-sized message
+
+Update configure to fix it.
+
+Upstream-Status: pending
+
+Kai Kang <kai.kang@windriver.com>
+---
+diff -Nru rsyslog-7.4.4/tests/testsuites/complex1.conf rsyslog-7.4.4.new/tests/testsuites/complex1.conf
+--- rsyslog-7.4.4/tests/testsuites/complex1.conf 2013-08-31 00:30:41.000000000 +0800
++++ rsyslog-7.4.4.new/tests/testsuites/complex1.conf 2013-12-18 14:28:10.644004184 +0800
+@@ -1,7 +1,7 @@
+ # complex test case with multiple actions in gzip mode
+ # rgerhards, 2009-05-22
+-$MaxMessageSize 10k
+ $IncludeConfig diag-common.conf
++$MaxMessageSize 10k
+
+ $MainMsgQueueTimeoutEnqueue 5000
+
+diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf
+--- rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf 2012-04-04 14:29:55.000000000 +0800
++++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf 2013-12-18 14:28:10.645004186 +0800
+@@ -1,7 +1,7 @@
+ # simple async writing test
+ # rgerhards, 2010-03-09
+-$MaxMessageSize 10k
+ $IncludeConfig diag-common.conf
++$MaxMessageSize 10k
+
+ $ModLoad ../plugins/imtcp/.libs/imtcp
+ $MainMsgQueueTimeoutShutdown 10000
+diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf
+--- rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf 2012-04-04 14:29:55.000000000 +0800
++++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf 2013-12-18 14:28:10.645004186 +0800
+@@ -1,7 +1,7 @@
+ # simple async writing test
+ # rgerhards, 2010-03-09
+-$MaxMessageSize 10k
+ $IncludeConfig diag-common.conf
++$MaxMessageSize 10k
+
+ $ModLoad ../plugins/imtcp/.libs/imtcp
+ $MainMsgQueueTimeoutShutdown 10000
+diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf
+--- rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf 2013-08-31 00:30:41.000000000 +0800
++++ rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf 2013-12-18 14:28:10.646004189 +0800
+@@ -1,7 +1,7 @@
+ # simple async writing test
+ # rgerhards, 2010-03-09
+-$MaxMessageSize 10k
+ $IncludeConfig diag-common.conf
++$MaxMessageSize 10k
+
+ $ModLoad ../plugins/imptcp/.libs/imptcp
+ $MainMsgQueueTimeoutShutdown 10000
+diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_large.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf
+--- rsyslog-7.4.4/tests/testsuites/imptcp_large.conf 2013-08-31 00:30:41.000000000 +0800
++++ rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf 2013-12-18 14:28:10.646004189 +0800
+@@ -1,7 +1,7 @@
+ # simple async writing test
+ # rgerhards, 2010-03-09
+-$MaxMessageSize 10k
+ $IncludeConfig diag-common.conf
++$MaxMessageSize 10k
+
+ $ModLoad ../plugins/imptcp/.libs/imptcp
+ $MainMsgQueueTimeoutShutdown 10000
+diff -Nru rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf
+--- rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf 2013-07-19 20:59:03.000000000 +0800
++++ rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf 2013-12-18 14:28:10.646004189 +0800
+@@ -1,7 +1,7 @@
+ # simple async writing test
+ # rgerhards, 2010-03-09
+-$MaxMessageSize 10k
+ $IncludeConfig diag-common.conf
++$MaxMessageSize 10k
+
+ $ModLoad ../plugins/imtcp/.libs/imtcp
+ $MainMsgQueueTimeoutShutdown 10000
+diff -Nru rsyslog-7.4.4/tests/testsuites/wr_large.conf rsyslog-7.4.4.new/tests/testsuites/wr_large.conf
+--- rsyslog-7.4.4/tests/testsuites/wr_large.conf 2012-04-04 14:29:55.000000000 +0800
++++ rsyslog-7.4.4.new/tests/testsuites/wr_large.conf 2013-12-18 14:28:10.647004190 +0800
+@@ -1,7 +1,7 @@
+ # simple async writing test
+ # rgerhards, 2010-03-09
+-$MaxMessageSize 10k
+ $IncludeConfig diag-common.conf
++$MaxMessageSize 10k
+
+ $ModLoad ../plugins/imtcp/.libs/imtcp
+ $MainMsgQueueTimeoutShutdown 10000
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch
new file mode 100644
index 0000000000..3a16f2649a
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch
@@ -0,0 +1,28 @@
+Subject: [PATCH] rsyslog: use serial-tests config needed by ptest
+
+ptest needs buildtest-TESTS and runtest-TESTS targets.
+serial-tests is required to generate those targets.
+
+Upstream-Status: Inappropriate [default automake behavior incompatible with ptest]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1b880f8..0e29742 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,7 @@
+
+ AC_PREREQ(2.61)
+ AC_INIT([rsyslog],[7.4.4],[rsyslog@lists.adiscon.com])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([serial-tests])
+
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+--
+2.0.0
+
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf
index 54f8bb6a56..324ae6d82a 100644
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf
@@ -14,6 +14,8 @@ $ModLoad imklog # kernel logging (formerly provided by rklogd)
#
# Set the default permissions
#
+$FileOwner root
+$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
new file mode 100644
index 0000000000..38a1d1b722
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+#
+make -C tests -k runtest-TESTS
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch
new file mode 100644
index 0000000000..ebc10707cf
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch
@@ -0,0 +1,48 @@
+From 5c3ba79177f7d1763db33c4358af2af60ff214b7 Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Wed, 18 Jun 2014 13:46:52 +0800
+Subject: [PATCH] use pkgconfig to check libgcrypt
+
+Upstream-status: Inappropriate [configuration]
+
+libgcrypt does no longer provide libgcrypt-config, and provide
+*.pc, so we should use pkgconfig to check
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ configure.ac | 19 +------------------
+ 1 file changed, 1 insertion(+), 18 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 017116e..1b880f8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -784,24 +784,7 @@ AC_ARG_ENABLE(libgcrypt,
+ [enable_libgcrypt=yes]
+ )
+ if test "x$enable_libgcrypt" = "xyes"; then
+- AC_CHECK_PROG(
+- [HAVE_LIBGCRYPT_CONFIG],
+- [libgcrypt-config],
+- [yes],,,
+- )
+- if test "x${HAVE_LIBGCRYPT_CONFIG}" != "xyes"; then
+- AC_MSG_FAILURE([libgcrypt-config not found in PATH])
+- fi
+- AC_CHECK_LIB(
+- [gcrypt],
+- [gcry_cipher_open],
+- [LIBGCRYPT_CFLAGS="`libgcrypt-config --cflags`"
+- LIBGCRYPT_LIBS="`libgcrypt-config --libs`"
+- ],
+- [AC_MSG_FAILURE([libgcrypt is missing])],
+- [`libgcrypt-config --libs --cflags`]
+- )
+- AC_DEFINE([ENABLE_LIBGCRYPT], [1], [Indicator that LIBGCRYPT is present])
++ PKG_CHECK_MODULES(LIBGCRYPT, libgcrypt)
+ fi
+ AM_CONDITIONAL(ENABLE_LIBGCRYPT, test x$enable_libgcrypt = xyes)
+ AC_SUBST(LIBGCRYPT_CFLAGS)
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb
index 344a131579..a9d9464e36 100644
--- a/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb
@@ -21,12 +21,17 @@ SRC_URI = "http://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \
file://initscript \
file://rsyslog.conf \
file://rsyslog.logrotate \
+ file://use-pkgconfig-to-check-libgcrypt.patch \
+ file://run-ptest \
+ file://rsyslog-fix-ptest-not-finish.patch \
+ file://rsyslog-use-serial-tests-config-needed-by-ptest.patch \
+ file://json-0.12-fix.patch \
"
SRC_URI[md5sum] = "ebcc010a6205c28eb505c0fe862f32c6"
SRC_URI[sha256sum] = "276d094d1e4c62c770ec8a72723667f119eee038912b79cf3337d439bc2f9087"
-inherit autotools pkgconfig systemd update-rc.d update-alternatives
+inherit autotools pkgconfig systemd update-rc.d update-alternatives ptest
EXTRA_OECONF += "--enable-cached-man-pages"
@@ -36,6 +41,7 @@ PACKAGECONFIG ??= " \
imdiag gnutls \
${@base_contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \
${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ ${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench ${VALGRIND}', '', d)} \
"
# default yes in configure
@@ -60,17 +66,61 @@ PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
PACKAGECONFIG[gui] = "--enable-gui,--disable-gui,,"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
+
+TESTDIR = "tests"
+do_compile_ptest() {
+ sed -i 's/\(^buildtest-TESTS: \)/\1 $(check_PROGRAMS) /' ${TESTDIR}/Makefile
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ # install the tests
+ cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
+ cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+
+ # do NOT need to rebuild Makefile itself
+ sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # fix the srcdir
+ sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # valgrind is not compatible with arm and mips,
+ # so remove related test cases if there is no valgrind.
+ if [ x${VALGRIND} = x ]; then
+ sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ fi
+
+ # install necessary links
+ install -d ${D}${PTEST_PATH}/tools
+ ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
+
+ install -d ${D}${PTEST_PATH}/runtime
+ install -d ${D}${PTEST_PATH}/runtime/.libs
+ (
+ cd ${D}/${libdir}/rsyslog
+ allso="*.so"
+ for i in $allso; do
+ ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
+ done
+ )
+
+ # fix the module load path with runtime/.libs
+ find ${D}${PTEST_PATH}/${TESTDIR} -name \*.conf -exec \
+ sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:' \
+ '{}' \;
+}
do_install_append() {
install -d "${D}${sysconfdir}/init.d"
- install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/rsyslogd
+ install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog.${BPN}
install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.rsyslog
}
FILES_${PN} += "${bindir}"
-INITSCRIPT_NAME = "rsyslogd"
+INITSCRIPT_NAME = "syslog"
INITSCRIPT_PARAMS = "defaults"
# higher than sysklogd's 100
@@ -94,12 +144,27 @@ SYSTEMD_SERVICE_${PN} = "${BPN}.service"
RDEPENDS_${PN} += "logrotate"
+# for rsyslog-ptest
+VALGRIND = "valgrind"
+VALGRIND_mips = ""
+VALGRIND_mips64 = ""
+VALGRIND_arm = ""
+VALGRIND_aarch64 = ""
+RDEPENDS_${PN}-ptest += "make diffutils gzip"
+RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
+
# 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_LINK_NAME', 'syslog-init', '%s/init.d/syslogd' % (sysconfdir))
- d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/rsyslogd' % (sysconfdir))
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir))
+ d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True)))
+
+ 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/rsyslog.service' % (d.getVar('systemd_unitdir', True)))
}
diff --git a/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb b/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb
deleted file mode 100644
index 602dc250f5..0000000000
--- a/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "SIP is a C++/Python Wrapper Generator"
-AUTHOR = "Phil Thompson"
-HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
-SECTION = "devel"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://sipgen.sbf;endline=15;md5=61b2ce7ddd624968411804d2fa9d776c"
-
-# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older
-#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz"
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz"
-SRC_URI[md5sum] = "b93442e745b3be2fad89de0686a76ce9"
-SRC_URI[sha256sum] = "1a9d3bf26c821f369c175f8e68946b79bc994da4f96e8f5ecff06e6ee7ac0528"
-S = "${WORKDIR}/sip-${PV}/sipgen"
-
-inherit qmake2 native python-dir
-
-EXTRA_QMAKEVARS_POST += "DESTDIR=${S} CONFIG=console"
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_LIBDIR
-export STAGING_INCDIR
-
-do_configure_prepend() {
- cat sipgen.sbf | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, > sipgen.pro
-}
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 sip ${D}${bindir}/sip
- # python-pyqt expects sip4
- ln -sf sip ${D}${bindir}/sip4
- cd ${WORKDIR}/sip-${PV} && python configure.py
- install -d ${D}${PYTHON_SITEPACKAGES_DIR}
- install -m 0755 sip*.py ${D}${PYTHON_SITEPACKAGES_DIR}
-}
diff --git a/meta-oe/recipes-extended/sip/sip_4.16.4.bb b/meta-oe/recipes-extended/sip/sip_4.16.4.bb
new file mode 100644
index 0000000000..607ace69fa
--- /dev/null
+++ b/meta-oe/recipes-extended/sip/sip_4.16.4.bb
@@ -0,0 +1,52 @@
+SUMMARY = "SIP is a C++/Python Wrapper Generator"
+AUTHOR = "Phil Thompson"
+HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
+SECTION = "devel"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
+DEPENDS_class-target = "qt4-x11-free python"
+
+# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older
+#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz"
+SRC_URI[md5sum] = "a9840670a064dbf8f63a8f653776fec9"
+SRC_URI[sha256sum] = "ceda443fc5e129e67a067e2cd7b73ff037f8b10b50e407baa2b1d9f2199d57f5"
+
+BBCLASSEXTEND = "native"
+
+inherit qmake2 python-dir pythonnative distro_features_check
+# depends on qt4-x11-free
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_QMAKEVARS_POST += "CONFIG=console"
+
+export BUILD_SYS
+export HOST_SYS
+export STAGING_LIBDIR
+export STAGING_INCDIR
+
+do_configure_prepend_class-target() {
+ echo "py_platform = linux" > sip.cfg
+ echo "py_inc_dir = %(sysroot)/${includedir}/python%(py_major).%(py_minor)" >> sip.cfg
+ echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
+ echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
+ echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
+ echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
+ python configure.py --use-qmake --configuration sip.cfg --sysroot ${STAGING_DIR_HOST}
+}
+do_configure_prepend_class-native() {
+ echo "py_platform = linux" > sip.cfg
+ echo "py_inc_dir = ${includedir}/python%(py_major).%(py_minor)" >> sip.cfg
+ echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
+ echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
+ echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
+ echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
+ python configure.py --use-qmake --configuration sip.cfg --sysroot ${STAGING_DIR_NATIVE}
+}
+do_install() {
+ oe_runmake install
+}
+
+FILES_${PN} += "${libdir}/${PYTHON_DIR}/site-packages/"
+FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
+
diff --git a/meta-oe/recipes-extended/smartmontools/files/initd.smartd b/meta-oe/recipes-extended/smartmontools/files/initd.smartd
index 29c27e4756..54adcb406b 100755
--- a/meta-oe/recipes-extended/smartmontools/files/initd.smartd
+++ b/meta-oe/recipes-extended/smartmontools/files/initd.smartd
@@ -16,8 +16,8 @@
# Should-Start: sendmail
# Required-Stop: $syslog $remote_fs
# Should-Stop: sendmail
-# Default-Start:
-# Default-Stop: 0 1 2 3 4 5 6
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
# Short-Description: Monitors disk and tape health via S.M.A.R.T.
# Description: Start S.M.A.R.T. disk and tape monitor.
### END INIT INFO
@@ -52,6 +52,10 @@ smartd_opts="--pidfile $SMARTDPID $smartd_opts"
case "$1" in
start)
+ if [ "$start_smartd" != "yes" ]; then
+ [ "$VERBOSE" != "no" ] && echo "Not starting S.M.A.R.T. daemon smartd, disabled via /etc/default/smartmontools"
+ exit 0
+ fi
echo -n "Starting S.M.A.R.T. daemon: smartd"
if start-stop-daemon --start --quiet --pidfile $SMARTDPID \
--exec $SMARTD_BIN -- $smartd_opts; then
diff --git a/meta-oe/recipes-extended/smartmontools/files/smartd.service b/meta-oe/recipes-extended/smartmontools/files/smartd.service
new file mode 100644
index 0000000000..f3db946c81
--- /dev/null
+++ b/meta-oe/recipes-extended/smartmontools/files/smartd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Self Monitoring and Reporting Technology (SMART) Daemon
+After=syslog.target
+
+[Service]
+EnvironmentFile=-@SYSCONFDIR@/smartmontools
+ExecStart=@SBINDIR@/smartd -n $smart_opts
+ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
+StandardOutput=syslog
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-extended/smartmontools/files/smartmontools.default b/meta-oe/recipes-extended/smartmontools/files/smartmontools.default
new file mode 100644
index 0000000000..602e00beb1
--- /dev/null
+++ b/meta-oe/recipes-extended/smartmontools/files/smartmontools.default
@@ -0,0 +1,6 @@
+# uncomment to start smartd on system startup for SysV init script
+# For systemd service file, use `systemctl enable smartd'.
+#start_smartd=yes
+
+# uncomment to pass additional options to smartd on startup
+#smartd_opts="--interval=1800"
diff --git a/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb
index 9b9454c880..fd7b1b8c5d 100644
--- a/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb
+++ b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb
@@ -14,6 +14,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
file://initd.smartd \
+ file://smartmontools.default \
+ file://smartd.service \
"
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'libcap-ng', 'libcap-ng', '', d)} \
@@ -25,15 +27,28 @@ PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
SRC_URI[md5sum] = "d44f84081a12cef79cd17f78044351fc"
SRC_URI[sha256sum] = "486f660579bb0fb4f6b927ded7531cb1f99685c666397377761c5b04dd96065b"
-inherit autotools update-rc.d
+inherit autotools update-rc.d systemd
+
+SYSTEMD_SERVICE_${PN} = "smartd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
do_install_append () {
#install the init.d/smartd
install -d ${D}${sysconfdir}/init.d
install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd
+ install -d ${D}${sysconfdir}/default
+ install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools
+
+ #install systemd service file
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_unitdir}/system/smartd.service
}
INITSCRIPT_NAME = "smartd"
-INITSCRIPT_PARAMS = "start 60 . stop 60 0 1 2 3 4 5 6 ."
+INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ."
RDEPENDS_${PN} += "mailx"
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 8195ed9183..c220eadab9 100644
--- a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
+++ b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
@@ -14,4 +14,4 @@ SRC_URI = "git://git.pengutronix.de/git/tools/canutils.git;protocol=git \
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb
index df3c163ba3..98ef73f297 100644
--- a/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb
+++ b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb
@@ -16,5 +16,5 @@ S = "${WORKDIR}/git"
inherit autotools pkgconfig
do_configure_prepend() {
- sed -i -e s:tests/GNUmakefile::g -e s:trunk:0.0.9: configure.ac
+ sed -i -e s:tests/GNUmakefile::g -e s:trunk:0.0.9: ${S}/configure.ac
}
diff --git a/meta-oe/recipes-extended/subsurface/subsurface_git.bb b/meta-oe/recipes-extended/subsurface/subsurface_git.bb
index eb4536aa61..22b9d2fd70 100644
--- a/meta-oe/recipes-extended/subsurface/subsurface_git.bb
+++ b/meta-oe/recipes-extended/subsurface/subsurface_git.bb
@@ -4,27 +4,18 @@ LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "libdivecomputer gtk+ libxml2 glib-2.0 gconf"
-inherit gtk-icon-cache
+PNBLACKLIST[subsurface] ?= "Needs to be upgraded for compatibility with new libdivecomputer"
+
+inherit gtk-icon-cache cmake
inherit gitpkgv
PKGV = "${GITPKGVTAG}"
-PV = "1.1"
+PV = "4.2"
-SRCREV = "bd275d73ac06823619230915a3aa29deddc996fb"
+SRCREV = "f61ee20ba356ecfc4c5b247f548f52d588179c94"
SRC_URI = "git://subsurface.hohndel.org/subsurface.git"
S = "${WORKDIR}/git"
-EXTRA_OEMAKE = "CC='${CC}' \
- libdc-usr=${STAGING_INCDIR}/libdivecomputer/* \
- LIBDIVECOMPUTERINCLUDES=${STAGING_INCDIR}/libdivecomputer \
- LIBDIVECOMPUTERARCHIVE=${STAGING_LIBDIR}/libdivecomputer.a \
-"
-
-do_install() {
- oe_runmake install DESTDIR=${D}
- rm ${D}${datadir}/icons/hicolor/icon-theme.cache
-}
-
-FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/subsurface.svg"
-RRECOMMENDS_${PN}_append_libc-glibc = " eglibc-gconv-iso8859-15"
+#FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/subsurface.svg"
+RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-iso8859-15"
diff --git a/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb b/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
index 86cc166e2d..1d670a7d76 100644
--- a/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
+++ b/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
@@ -2,7 +2,7 @@ SUMMARY = "A Type1 Font Rastering Library"
SECTION = "libs"
DEPENDS = "virtual/libx11 libxaw"
-LICENSE = "LGPLv2 GPLv2"
+LICENSE = "LGPLv2 & GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b \
file://LGPL;md5=6e29c688d912da12b66b73e32b03d812 \
"
@@ -13,7 +13,9 @@ SRC_URI = "${DEBIAN_MIRROR}/main/t/t1lib/t1lib_${PV}.orig.tar.gz \
SRC_URI[md5sum] = "a5629b56b93134377718009df1435f3c"
SRC_URI[sha256sum] = "821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59"
-inherit autotools-brokensep
+inherit autotools-brokensep distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
# Fix GNU_HASH problem
TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb b/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
index 16ecdb025f..1dd4cb5804 100644
--- a/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
+++ b/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "http://www.tcsh.org/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://Copyright;md5=1cf29be62df2be1a3763118b25b4c780"
SECTION = "base"
-DEPENDS = "ncurses"
+DEPENDS = "ncurses gettext-native"
SRC_URI = " \
${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}.orig.tar.gz;name=tarball \
${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}-2.diff.gz;name=diffs \
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 ee56952d9e..fe0e484dec 100644
--- a/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb
+++ b/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb
@@ -20,15 +20,15 @@ do_install_append() {
multicast_demo stream_demo"
for i in $demos;do
install -d ${D}/opt/tipcutils/demos/$i
- install ${S}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/
- install ${S}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/
+ install ${B}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/
+ install ${B}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/
done
install -d ${D}/opt/tipcutils/demos/inventory_sim
- install ${S}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/
+ install ${B}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/
install -d ${D}/opt/tipcutils/ptts
- install ${S}/ptts/tipcTS ${D}/opt/tipcutils/ptts/
- install ${S}/ptts/tipcTC ${D}/opt/tipcutils/ptts/
+ install ${B}/ptts/tipcTS ${D}/opt/tipcutils/ptts/
+ install ${B}/ptts/tipcTC ${D}/opt/tipcutils/ptts/
install -d ${D}${sysconfdir}
cp -a ${S}/scripts/etc/* ${D}${sysconfdir}/
diff --git a/meta-oe/recipes-extended/tiptop/tiptop_2.2.bb b/meta-oe/recipes-extended/tiptop/tiptop_2.2.bb
new file mode 100644
index 0000000000..a803e26af1
--- /dev/null
+++ b/meta-oe/recipes-extended/tiptop/tiptop_2.2.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Hardware performance monitoring counters"
+HOMEPAGE = "http://tiptop.gforge.inria.fr/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "ncurses libxml2"
+
+SRC_URI = "http://tiptop.gforge.inria.fr/releases/${BP}.tar.gz"
+SRC_URI[md5sum] = "74255a29acf44569db021b080ad3e3f7"
+SRC_URI[sha256sum] = "965cb99b16cb59df78363d83b62877ce8501b0aac1116a86bed8a16aa96b171d"
+
+inherit autotools-brokensep
+EXTRA_OECONF = "CFLAGS="$CFLAGS -I${STAGING_INCDIR}/libxml2""
+COMPATIBLE_HOST = "(i.86|x86_64|arm|powerpc).*-linux"
+
+do_configure_prepend () {
+ # Two bugs in configure.ac when cross-compiling.
+ # 1. The path of libxml2. Specify it in EXTRA_OECONF.
+ # 2. hw's value on other platforms. Replace it if the target is
+ # not i*86/x86_64.
+ if ( echo "${TARGET_ARCH}" | grep -q -e 'i.86' -e 'x86_64' ); then
+ sed -i 's= -I/usr/include/libxml2==' ${S}/configure.ac
+ else
+ sed -i 's/hw=`uname -m`/hw="unknown"/' ${S}/configure.ac
+ sed -i 's= -I/usr/include/libxml2==' ${S}/configure.ac
+ fi
+}
diff --git a/meta-oe/recipes-extended/tmux/tmux_1.6.bb b/meta-oe/recipes-extended/tmux/tmux_1.6.bb
index 298cfa5d6e..5ce99ea06e 100644
--- a/meta-oe/recipes-extended/tmux/tmux_1.6.bb
+++ b/meta-oe/recipes-extended/tmux/tmux_1.6.bb
@@ -7,11 +7,11 @@ LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=8685b4455330a940fab
DEPENDS = "ncurses libevent sed-native"
-SRC_URI = "${SOURCEFORGE_MIRROR}/tmux/${P}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/tmux/${BP}.tar.gz"
SRC_URI[md5sum] = "3e37db24aa596bf108a0442a81c845b3"
SRC_URI[sha256sum] = "faee08ba1bd8c22537cd5b7458881d1bdb4985df88ed6bc5967c56881a7efbd6"
-inherit autotools
+inherit autotools pkgconfig
do_configure_prepend () {
sed -i -e 's:-I/usr/local/include::' ${S}/Makefile.am || bb_fatal "sed failed"
diff --git a/meta-oe/recipes-extended/zsh/zsh.inc b/meta-oe/recipes-extended/zsh/zsh.inc
index db51f39605..b8fce807aa 100644
--- a/meta-oe/recipes-extended/zsh/zsh.inc
+++ b/meta-oe/recipes-extended/zsh/zsh.inc
@@ -36,7 +36,7 @@ ALTERNATIVE_PRIORITY = "100"
export AUTOHEADER = "true"
do_configure () {
- gnu-configize --force
+ gnu-configize --force ${S}
oe_runconf
}
diff --git a/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb b/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb
index c5a25f8b52..7901fa5510 100644
--- a/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb
+++ b/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb
@@ -4,13 +4,13 @@ HOMEPAGE = "http://gtkextra.sourceforge.net/"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-SRC_URI = "${SOURCEFORGE_MIRROR}/gtkextra/${P}.tar.gz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/gtkextra/${BP}.tar.gz \
file://remove-tutorial.patch \
"
SRC_URI[md5sum] = "486cea93666020f85f101ed8341baf41"
SRC_URI[sha256sum] = "9cab6c5d6b792eb828d17cec2b9c1baba2ef57f789a290464afab80b53969e65"
-DEPENDS = "gtk+"
+DEPENDS = "gtk+ gobject-introspection-stub"
-inherit autotools
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/babl/babl_0.1.10.bb b/meta-oe/recipes-graphics/babl/babl_0.1.10.bb
index 3fc4c44586..48920217af 100644
--- a/meta-oe/recipes-graphics/babl/babl_0.1.10.bb
+++ b/meta-oe/recipes-graphics/babl/babl_0.1.10.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
inherit gnomebase
-SRC_URI = "http://ftp.gimp.org/pub/${PN}/0.1/${PN}-${PV}.tar.bz2"
+SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2"
SRC_URI[md5sum] = "9e1542ab5c0b12ea3af076a9a2f02d79"
SRC_URI[sha256sum] = "943fc36ceac7dd25bc928256bc7b535a42989c6b971578146869eee5fe5955f4"
diff --git a/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb b/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb
index 86ba55212f..a5e383a4b1 100644
--- a/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb
+++ b/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb
@@ -1,5 +1,3 @@
-require recipes-graphics/cairo/cairo.inc
-
SUMMARY = "C++ bindings for Cairo graphics library"
LICENSE = "LGPLv2"
@@ -7,6 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
PR = "r1"
+inherit autotools pkgconfig
+
DEPENDS = "cairo libsigc++-2.0"
SRC_URI = "http://cairographics.org/releases/cairomm-${PV}.tar.gz;name=archive"
diff --git a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb
index 4bac59b1d7..194d1046fd 100644
--- a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb
+++ b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb
@@ -2,6 +2,11 @@ require clutter-box2d.inc
LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6b"
+# 0.12.1+gitAUTOINC+de5452e56b-r1/git/clutter-box2d/clutter-box2d.h:226:47:
+# fatal error: clutter-box2d/clutter-box2d-child.h: No such file or directory
+# | #include <clutter-box2d/clutter-box2d-child.h>
+PNBLACKLIST[clutter-box2d] ?= "BROKEN: doesn't build with B!=S"
+
SRCREV = "de5452e56b537a11fd7f9453d048ff4b4793b5a2"
PV = "0.12.1+git${SRCPV}"
PR = "r1"
diff --git a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb
index 48edc2c075..2ff331c93f 100644
--- a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb
+++ b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb
@@ -4,9 +4,9 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
SECTION = "console/utils"
DEPENDS = "libpng zlib"
-SRC_URI = "http://fbgrab.monells.se/${P}.tar.gz"
+SRC_URI = "http://fbgrab.monells.se/${BP}.tar.gz"
-inherit autotools
+inherit autotools-brokensep
S = "${WORKDIR}/${PN}"
diff --git a/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb
index f4dd01d8bb..41c14b88af 100644
--- a/meta-oe/recipes-graphics/fbida/fbida_git.bb
+++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb
@@ -18,7 +18,7 @@ S = "${WORKDIR}/git"
EXTRA_OEMAKE = "STRIP="
PACKAGECONFIG ??= "gif png"
-PACKAGECONFIG[gif] = ",,libungif"
+PACKAGECONFIG[gif] = ",,giflib"
PACKAGECONFIG[png] = ",,libpng"
PACKAGECONFIG[tiff] = ",,tiff"
PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif"
diff --git a/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb b/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb
index 3433bd2712..90ac702164 100644
--- a/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb
+++ b/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb
@@ -8,6 +8,8 @@ HOMEPAGE = "http://www.autistici.org/dezperado/fim/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=fa01bff138cc98a62b8840a157951c88"
+PNBLACKLIST[fim] ?= "BROKEN: doesn't build with B!=S (flex: can't open lex.lex)"
+
# flex with provide /usr/include/FlexLexer.h
DEPENDS = "flex-native bison-native flex"
@@ -18,7 +20,7 @@ SRC_URI[sha256sum] = "3f6bf2de2952b9adcbeb3db12c2a979e999a81dd1e314a03bc58e24f1e
PARALLEL_MAKE = ""
-inherit autotools
+inherit autotools pkgconfig
# Don't use provided regex.c
EXTRA_OECONF = "fim_cv_regex=no fim_cv_regex_broken=no \
diff --git a/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch b/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch
new file mode 100644
index 0000000000..d145b625f6
--- /dev/null
+++ b/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch
@@ -0,0 +1,21 @@
+Index: gegl-0.2.0/configure.ac
+===================================================================
+--- gegl-0.2.0.orig/configure.ac 2012-04-02 21:56:49.000000000 +0000
++++ gegl-0.2.0/configure.ac 2014-07-17 21:34:15.312546602 +0000
+@@ -765,15 +765,7 @@
+
+ have_sdl="no"
+ if test "x$with_sdl" != "xno"; then
+- AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
+- if test "$SDL_CONFIG" = "no"; then
+- have_sdl="no (SDL library not found)"
+- AC_MSG_RESULT([*** Check for SDL library failed.])
+- else
+- have_sdl="yes"
+- SDL_CFLAGS=`$SDL_CONFIG --cflags`
+- SDL_LIBS=`$SDL_CONFIG --libs`
+- fi
++ PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no (SDL library not found)"])
+ fi
+
+ AM_CONDITIONAL(HAVE_SDL, test "$have_sdl" = "yes")
diff --git a/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb b/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb
index bd40946543..58103f61bd 100644
--- a/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb
+++ b/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb
@@ -11,7 +11,8 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper"
PACKAGECONFIG[avformat] = "--with-libavformat,--without-libavformat,libav"
-SRC_URI = "http://ftp.gimp.org/pub/${PN}/0.2/${PN}-${PV}.tar.bz2"
+SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.2/${BP}.tar.bz2 \
+ file://pkgconfig.patch "
SRC_URI[md5sum] = "32b00002f1f1e316115c4ed922e1dec8"
SRC_URI[sha256sum] = "df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426"
diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb
index 77bc6bd0cf..a893dc259a 100644
--- a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb
+++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb
@@ -4,7 +4,7 @@ SECTION = "x11/graphics"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "babl gdk-pixbuf-native libart-lgpl gtk+ jpeg libpng libexif tiff lcms gegl poppler jasper"
+DEPENDS = "babl gdk-pixbuf-native libart-lgpl gtk+ jpeg libpng libexif tiff lcms gegl poppler jasper bzip2"
DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}"
inherit gnome
diff --git a/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb b/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb
index 51f57b9340..d0f449438f 100644
--- a/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb
+++ b/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb
@@ -11,4 +11,6 @@ SRC_URI = "https://launchpad.net/glcompbench/trunk/${PV}/+download/${BPN}-${PV}.
SRC_URI[md5sum] = "c939d9156fe940960098f38707fea827"
SRC_URI[sha256sum] = "b04b738cec06c6786ceafa86e4735fd8b971c078265754854ef356b0379542ee"
-inherit pkgconfig waf
+inherit pkgconfig waf distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb
index ec96920ef1..523efa773b 100644
--- a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb
@@ -48,6 +48,7 @@ do_install_append() {
PACKAGES =+ "libgphotoport libgphoto2-camlibs"
FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
RRECOMMENDS_${PN} = "libgphoto2-camlibs"
+RDEPENDS_${PN} = "bash"
FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*"
diff --git a/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb b/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb
new file mode 100644
index 0000000000..e826e05bf8
--- /dev/null
+++ b/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications"
+DEPENDS = "jpeg tiff libpng zlib giflib"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=20cdd3af097ca431b82004c691f406a6"
+
+SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz"
+SRC_URI[md5sum] = "5ac2a31cf5b4f0e8f5a853a5266c42ef"
+SRC_URI[sha256sum] = "d3d209a1f6d1f7a80119486b5011bc8c6627e582c927ab44ba33c37edb2cfba2"
+
+EXTRA_OECONF += " \
+ --without-libwebp \
+"
+
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/libsexy/libsexy.inc b/meta-oe/recipes-graphics/libsexy/libsexy.inc
index 49c46cd60e..5a11ca06aa 100644
--- a/meta-oe/recipes-graphics/libsexy/libsexy.inc
+++ b/meta-oe/recipes-graphics/libsexy/libsexy.inc
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
DEPENDS = "gtk+ enchant libxml2"
-SRC_URI = "http://releases.chipx86.com/libsexy/${PN}/${PN}-${PV}.tar.gz \
+SRC_URI = "http://releases.chipx86.com/libsexy/${BPN}/${BP}.tar.gz \
file://libsexy-pkgconfig-fixes.patch"
inherit autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
new file mode 100644
index 0000000000..43f542a31d
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
@@ -0,0 +1,62 @@
+From 0ea0329f2c19a43acdc8444fa89e233ba617973d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 6 Oct 2014 13:06:24 +0200
+Subject: [PATCH] let autotools create lxdm.conf
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+in out of tree builds lxdm.conf is empty
+
+Upstream-Status: submitted [1]
+
+[1] http://sourceforge.net/p/lxde/mailman/message/32901417/
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 1 +
+ data/Makefile.am | 5 -----
+ data/lxdm.conf.in | 2 +-
+ 3 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f28c89a..a2fff5b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -183,6 +183,7 @@ AC_CONFIG_FILES([
+ data/PreReboot
+ data/PreShutdown
+ data/LoginReady
++ data/lxdm.conf
+ ])
+ AC_CONFIG_FILES([data/lxdm], [chmod +x data/lxdm])
+ AC_OUTPUT
+diff --git a/data/Makefile.am b/data/Makefile.am
+index 9500da9..ad64b11 100644
+--- a/data/Makefile.am
++++ b/data/Makefile.am
+@@ -1,8 +1,3 @@
+-FULL_LIBEXECDIR=$(libexecdir)
+-
+-lxdm.conf: lxdm.conf.in
+- cat lxdm.conf.in | sed 's,@FULL_LIBEXECDIR@,$(FULL_LIBEXECDIR),' > $@
+-
+ NULL=
+
+ sbin_SCRIPTS = lxdm
+diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in
+index d93f280..6206262 100644
+--- a/data/lxdm.conf.in
++++ b/data/lxdm.conf.in
+@@ -19,7 +19,7 @@
+ # skip_password=1
+
+ ## greeter used to welcome the user
+-greeter=@FULL_LIBEXECDIR@/lxdm-greeter-gtk
++greeter=@libexecdir@/lxdm-greeter-gtk
+
+ [server]
+ ## arg used to start xserver, not fully function
+--
+1.8.3.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm_git.bb b/meta-oe/recipes-graphics/lxdm/lxdm_git.bb
index c602ad3816..a05e533bdb 100644
--- a/meta-oe/recipes-graphics/lxdm/lxdm_git.bb
+++ b/meta-oe/recipes-graphics/lxdm/lxdm_git.bb
@@ -5,14 +5,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = " \
git://lxde.git.sourceforge.net/gitroot/lxde/${BPN};branch=master \
file://lxdm.conf \
- file://lxdm-pam \
- file://lxdm-pam-debug \
+ ${@base_contains('DISTRO_FEATURES', 'pam', 'file://lxdm-pam file://lxdm-pam-debug', '', d)} \
${@base_contains("DISTRO_TYPE", "debug", "", "file://0001-lxdm.conf.in-blacklist-root-for-release-images.patch",d)} \
+ file://0002-let-autotools-create-lxdm.conf.patch \
"
-LXDM_PAM = "${@base_contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)}"
-
-SRCREV = "07fb151a99ef99318b71f3de0afbba977b1e6267"
+SRCREV = "bf90ec7df5ff6745f703500c5792c344fbaef301"
PV = "0.5.0+git${SRCPV}"
PE = "1"
@@ -22,14 +20,18 @@ DEPENDS += "${@base_contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)}
# combine oe-core way with angstrom DISTRO_TYPE
DISTRO_TYPE ?= "${@base_contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}"
-inherit autotools pkgconfig gettext systemd
+inherit autotools pkgconfig gettext systemd distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
S = "${WORKDIR}/git"
CFLAGS_append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr "
EXTRA_OECONF += "--enable-gtk3=no --enable-password=yes --with-x -with-xconn=xcb \
- ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)}"
+ ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \
+ ${@base_contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
+"
do_configure_prepend() {
cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
@@ -42,16 +44,18 @@ do_compile_append() {
-e 's,# arg=.*,arg=${bindir}/X -s 0,g' \
${S}/data/lxdm.conf.in
# add default configuration
- oe_runmake -C ${S}/data lxdm.conf
+ oe_runmake -C ${B}/data lxdm.conf
}
do_install_append() {
install -d ${D}${localstatedir}/lib/lxdm
install -m 644 ${WORKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm
- # ArchLinux version of pam config has the following advantages:
- # * simple setup of passwordless login
- # * in XFCE powerdown/restart enabled in logoff dialog
- install -m 644 ${WORKDIR}/${LXDM_PAM} ${D}${sysconfdir}/pam.d/lxdm
+ if ${@base_contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
+ # ArchLinux version of pam config has the following advantages:
+ # * simple setup of passwordless login
+ # * in XFCE powerdown/restart enabled in logoff dialog
+ install -m 644 ${WORKDIR}/${@base_contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)} ${D}${sysconfdir}/pam.d/lxdm
+ fi
}
# make installed languages choosable
@@ -68,7 +72,7 @@ done
sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf
}
-RDEPENDS_${PN} = "pam-plugin-loginuid setxkbmap"
+RDEPENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash"
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
diff --git a/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb b/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb
index f23621d9c2..404ee53314 100644
--- a/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb
+++ b/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb
@@ -9,6 +9,8 @@ PV = "8.0.0+git${SRCPV}"
S = "${WORKDIR}/git"
-inherit autotools-brokensep pkgconfig
+inherit autotools-brokensep pkgconfig distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu"
diff --git a/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb b/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb
index 57b47f6587..5519b0e7d7 100644
--- a/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb
+++ b/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb
@@ -8,7 +8,7 @@ PR = "r1"
DEPENDS = "virtual/libx11 libxmu libpng jpeg freetype sessreg ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
SRC_URI = " \
- http://download.berlios.de/${PN}/${P}.tar.gz \
+ http://download.berlios.de/${BPN}/${BP}.tar.gz \
file://0002-Fix-image-handling-integer-overflows.patch \
file://0003-Fix-build-failure-with-ld-as-needed.patch \
file://0004-Add-support-libpng15.patch \
diff --git a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
index ec875f08bc..08d7f5b52a 100644
--- a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
+++ b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
@@ -5,12 +5,14 @@ LICENSE = "MIT-X"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dcb1cc75e21540a4a66b54e38d95b047"
DEPENDS = "virtual/libx11 libxtst"
-SRC_URI = "http://home.kde.org/~seli/numlockx/numlockx-${PV}.tar.gz"
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/numlockx/numlockx-${PV}.tar.gz/be9109370447eae23f6f3f8527bb1a67/numlockx-${PV}.tar.gz"
SRC_URI[md5sum] = "be9109370447eae23f6f3f8527bb1a67"
SRC_URI[sha256sum] = "e468eb9121c94c9089dc6a287eeb347e900ce04a14be37da29d7696cbce772e4"
-inherit autotools
+inherit autotools distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_OECONF = "--x-includes=${STAGING_INCDIR} \
--x-libraries=${STAGING_LIBDIR}"
diff --git a/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb b/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb
index 54a14f9596..d9e58f1af8 100644
--- a/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb
+++ b/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb
@@ -11,7 +11,9 @@ SRC_URI[sha256sum] = "6fa90016530b3aa6102e254079461977439398531fb23e7ec076ff2c14
PR = "r2"
-inherit autotools gettext update-alternatives
+inherit autotools gettext update-alternatives pkgconfig distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
ALTERNATIVE_${PN}-core = "x-window-manager"
ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/openbox"
@@ -24,8 +26,6 @@ PACKAGECONFIG[xrandr] = "--enable-xrandr,--disable-xrandr,libxrandr"
PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama"
PACKAGECONFIG[xcursor] = "--enable-xcursor,--disable-xcursor,libxcursor"
-EXTRA_OECONF += "--with-plugins=none"
-
PACKAGES =+ "${PN}-core ${PN}-lxde ${PN}-gnome ${PN}-config"
PACKAGES_DYNAMIC += "^${PN}-theme-.*"
diff --git a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
index 931564f713..632e7d4334 100644
--- a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
+++ b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
@@ -12,18 +12,6 @@ PACKAGES += "\
${PN}-chinese \
${PN}-japanese \
"
-RPROVIDES_${PN} += "task-fonts-truetype"
-RPROVIDES_${PN}-core += "task-fonts-truetype-core"
-RPROVIDES_${PN}-chinese += "task-fonts-truetype-chinese"
-RPROVIDES_${PN}-japanese += "task-fonts-truetype-japanese"
-RREPLACES_${PN} += "task-fonts-truetype"
-RREPLACES_${PN}-core += "task-fonts-truetype-core"
-RREPLACES_${PN}-chinese += "task-fonts-truetype-chinese"
-RREPLACES_${PN}-japanese += "task-fonts-truetype-japanese"
-RCONFLICTS_${PN} += "task-fonts-truetype"
-RCONFLICTS_${PN}-core += "task-fonts-truetype-core"
-RCONFLICTS_${PN}-chinese += "task-fonts-truetype-chinese"
-RCONFLICTS_${PN}-japanese += "task-fonts-truetype-japanese"
RRECOMMENDS_${PN} = "\
${PN}-core \
diff --git a/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb b/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb
index 36afb9f1e3..45218c240b 100644
--- a/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb
+++ b/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb
@@ -12,7 +12,7 @@ SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/pangomm/${SHRT_VER}/pangomm-${P
SRC_URI[md5sum] = "2c702caede167323c9ed9eed2b933098"
SRC_URI[sha256sum] = "0e82bbff62f626692a00f3772d8b17169a1842b8cc54d5f2ddb1fec2cede9e41"
-inherit autotools
+inherit autotools pkgconfig
EXTRA_OECONF = " --disable-documentation "
diff --git a/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb b/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb
new file mode 100644
index 0000000000..0a0f6d16c2
--- /dev/null
+++ b/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Takao Fonts are a community developed derivatives of IPA Fonts."
+DESCRIPTION = "Takao Fonts are a community developed derivatives of IPA Fonts."
+
+HOMEPAGE = "https://launchpad.net/takao-fonts"
+SECTION = "User Interface/X"
+
+LICENSE = "IPA"
+LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276"
+
+SRC_URI = "http://launchpad.net/takao-fonts/003.02/${PV}/+download/takao-fonts-ttf-${PV}.zip"
+SRC_URI[md5sum] = "ca480e5edb9f26d871bf6df6cb910306"
+SRC_URI[sha256sum] = "2f526a16c7931958f560697d494d8304949b3ce0aef246fb0c727fbbcc39089e"
+
+S = "${WORKDIR}/${PN}-ttf-${PV}"
+
+do_install() {
+ install -m 0755 -d ${D}/${datadir}/fonts
+ install -m 0644 -p ${S}/*.ttf ${D}/${datadir}/fonts/
+}
+
+FILES_${PN} += "${datadir}/fonts/*.ttf"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb
new file mode 100644
index 0000000000..0c73a53d8f
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "afr"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "16a756bf353896e34386f4509582e487"
+SRC_URI[sha256sum] = "371399ce6700f28d04ccfc12e421f315e356e3aa26575b27d06083c06987784d"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb
new file mode 100644
index 0000000000..fb68bdcb9f
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "ara"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "d7b3708f1f1f2898c258209923063f57"
+SRC_URI[sha256sum] = "2c7be319c30e93950c121897969c1bc1eb1d6bdceb75f1184ee34a6f01d66b6a"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb
new file mode 100644
index 0000000000..21ed3d37e1
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "aze"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "143044ff7b643b844c2f0b2a170ceda2"
+SRC_URI[sha256sum] = "0f17a06a163d97ec23db3ab14b91b84a67aeba1e441ca5e53a8632b2110a0e79"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb
new file mode 100644
index 0000000000..5f883012ab
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "bel"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "3bb6dab515166d641ac62e973c868ac5"
+SRC_URI[sha256sum] = "e59e008c542f786f6f7bd14c6608b2c128c9297d6bede647ae357f7421f7a3e7"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb
new file mode 100644
index 0000000000..673fd42aac
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "ben"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "0b662630eb4b2e0ebf40c38184068fba"
+SRC_URI[sha256sum] = "14a87e0762dcee0cd95acfd3b370b81fd14a003d39328ed97db0b28c55d31e50"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb
new file mode 100644
index 0000000000..4988fc230f
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "bul"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "91fc34ef041aafe32549a7a6232afad0"
+SRC_URI[sha256sum] = "1b8b4d7b12d896cf9f7e60e8e3274d3891886544253d41681dd9b32d6567e3f3"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb
new file mode 100644
index 0000000000..ec3fa744cd
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "cat"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "27b77ecc66f8c8d904cd6b87886aca22"
+SRC_URI[sha256sum] = "894af4c718e821cdc4ae3ec65838b174ac8a003e5417a08557698e1576ac3a34"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb
new file mode 100644
index 0000000000..d58d0e879e
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "ces"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "ae144b9d230267b5ae62804ad7a09dac"
+SRC_URI[sha256sum] = "843522eddcd0e2059a1c7069183b68c2459d527157bc47833a79b6ff56bb09de"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb
new file mode 100644
index 0000000000..84698010c7
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "chi_sim"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "718779539d3202ae95ae5ff52a3ad5e8"
+SRC_URI[sha256sum] = "f5b196b5bea6917bcbbf15131b4c2afe94d34c2d9e21d08c0ca42dfbe5aa1095"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb
new file mode 100644
index 0000000000..1c4d98dfa1
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "chi_tra"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "391ed3fcf014bae777b33dc7a771a00d"
+SRC_URI[sha256sum] = "78742e273a9ca74a6ab5543414e04bcac90d03a317dd35edc634956beafa3d20"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb
new file mode 100644
index 0000000000..7aa6cc56fb
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "chr"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "dd5b4fa247500d7713ab5556af62d9fa"
+SRC_URI[sha256sum] = "27c917ba39898d63752b2a4ecb0cd8f688772bcbbae2bf430a93d894d328a4c1"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb
new file mode 100644
index 0000000000..5af3f7901f
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "dan"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "2f6a93920b3ce55de24ca762a66a5de1"
+SRC_URI[sha256sum] = "deb93f6326aa8a4d353159201681947a808577662084d4060daea7d644e63eb9"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb
new file mode 100644
index 0000000000..4d68fd931c
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "deu"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "57bdb26ec7c767e126ff97776d8bfb10"
+SRC_URI[sha256sum] = "d03cdd0b00d368ff49ebaf77b8758bcf2ff1b0d39331368987e622ac261443ca"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb
new file mode 100644
index 0000000000..be4b90e09a
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "ell"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "3760cc3dee6489dcc865b31e7a36bd47"
+SRC_URI[sha256sum] = "29745ced8fbfb4ec9abebeb99e4b385821cb5eb0ed81fb1870b93543553b8fba"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb
new file mode 100644
index 0000000000..ce15a2dae7
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "eng"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "3562250fe6f4e76229a329166b8ae853"
+SRC_URI[sha256sum] = "c110029560e7f6d41cb852ca23b66899daa4456d9afeeae9d062204bd271bdf8"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb
new file mode 100644
index 0000000000..5f1531f41e
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "enm"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "d9dc4ad9cbcde78e5be59eb226865661"
+SRC_URI[sha256sum] = "19c9bd89c823451655e3f265b7fcd06727cd36ddec01b8fad9900159b688a1e3"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb
new file mode 100644
index 0000000000..0469ea6506
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "epo_alt"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "67815529386679223092ddf301bf57d4"
+SRC_URI[sha256sum] = "e516b8362fa060be720d2768a8abbee9cc965b9162249c5914ef1d8159e03dc2"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb
new file mode 100644
index 0000000000..7f42502472
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "epo"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "5dc0cf01d21ee43ed834ee947e1e810a"
+SRC_URI[sha256sum] = "22ae681c34ee7aa825994115f927c2e1f8ec1a98c97c01218b98d2549af22252"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb
new file mode 100644
index 0000000000..f4d81bbd6b
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "equ"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "94667836c651fc4fd43645efdc34e19a"
+SRC_URI[sha256sum] = "2010e724686171ef2eb3388df00d8d89ba7e50cb2298b0368b847fffb95d804e"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb
new file mode 100644
index 0000000000..adfe25c099
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "est"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "a067f5975cbe83fea205897187fa256b"
+SRC_URI[sha256sum] = "d5d6b9d4b567a10e2f63cafd2f60bf5b0c994e415470becafd729b20349e2e80"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb
new file mode 100644
index 0000000000..a22bcac38e
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "eus"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "4c2cee5bf3558f6384e5907aa02ae80c"
+SRC_URI[sha256sum] = "78359d57896623cf8211e17604a9dfa574e2253c9157035f439c5fbe06cd5019"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb
new file mode 100644
index 0000000000..e8a55e2b6b
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "fin"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "71f8b343ed2010f775ff474faec5874f"
+SRC_URI[sha256sum] = "e02ff1798960d3af15c0dafafac0de954442cfb13f4eff45c3263c2ff6e59026"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb
new file mode 100644
index 0000000000..22c92618a5
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "fra"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "2bca200b783fdba2f546063c68740c50"
+SRC_URI[sha256sum] = "74592f5f2ab73a6668934922753be0505fc4333ee790543949f8b70f03eab101"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb
new file mode 100644
index 0000000000..f75b96aee7
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "frk"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "dd734ac212a98a02945760891b657e70"
+SRC_URI[sha256sum] = "a9f4219d6b2ef4ed8b76c86be99ae3c9190509df72ba6f0217a77f7205ec52f8"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb
new file mode 100644
index 0000000000..d0d1398a71
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "frm"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "e0ca24ca45de83e67057f0e208233ffc"
+SRC_URI[sha256sum] = "f32f774d88e7936f16ff41b832cecfbd71f82c9bf7584330d750da941c07ca79"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb
new file mode 100644
index 0000000000..b94fd03e2d
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "glg"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "ef7b8e13891e08f29b02011a5dd6b630"
+SRC_URI[sha256sum] = "82ffa27c4de17545fa9d46e0fcd5690b1b59bcce9e93f71c0a41d19afbe869ee"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb
new file mode 100644
index 0000000000..16c9605a10
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "grc"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "ac493e5a49e456f2dd354f5b6449573e"
+SRC_URI[sha256sum] = "586b955eb9fba5a304cfa37bfdd7c89f2db33335d5ae83f2962aed8903266805"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb
new file mode 100644
index 0000000000..9d7a4fa2f7
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "heb"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "7ae7f3384083c66f06d63b6c0f0a66c3"
+SRC_URI[sha256sum] = "da47b0cfe241775c9b36339efda6339d59e146fa6143c65a2253eb9f67164811"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb
new file mode 100644
index 0000000000..d3ed173cc1
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "hin"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "186f17b326a58313344c2ea987ea7785"
+SRC_URI[sha256sum] = "91f91da5adc73ee71150865d6598df8a50424350480df2753ca9035320b3c78d"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb
new file mode 100644
index 0000000000..7423687323
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "hrv"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "0396a267d894f485b6b534476f3322dc"
+SRC_URI[sha256sum] = "e20575f5b0ec73ff7f3197c112a8dcc24303b64016910399d9127bda42e7d866"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb
new file mode 100644
index 0000000000..61a9ce69ba
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "hun"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "eb1b3537cd664fec48bebac75fac5992"
+SRC_URI[sha256sum] = "edf5cc42b516b2a18681955167d1964dfc7ff8cda642408ebda91b3c4656f9f1"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb
new file mode 100644
index 0000000000..6776952052
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "ind"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "9f672ea7c90eecbbe35ec353ff45c764"
+SRC_URI[sha256sum] = "337ba4400a798c60dee16070071337c96fc67bcb4e2cc1b4676dcbc340fbbcd7"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb
new file mode 100644
index 0000000000..7fa188f229
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "isl"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "3f05946a9e57a8ffabb3fccc8a80cfaa"
+SRC_URI[sha256sum] = "6b226366d8d2d87f859d4099e8b715e3ec3890f9317198e7b8c80fba001055f8"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb
new file mode 100644
index 0000000000..be4ad3e434
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "ita_old"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "989ca558eb05fcf6873dfdd8c692291d"
+SRC_URI[sha256sum] = "caf591be6d4eda9e7627397c3c520d58115c660002ecace680749504348ba104"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb
new file mode 100644
index 0000000000..581977a48c
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "ita"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "fbdba86f34b907f5a709051c01b53f71"
+SRC_URI[sha256sum] = "26453b302c108e08f594c7a19597382314529f648e141805417f9af1e4c99ac2"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb
new file mode 100644
index 0000000000..269bdef110
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "jpn"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "e1be2b08e667c3bb0ab0f18c9456bf2f"
+SRC_URI[sha256sum] = "09bf447a29e990c065024b3b720fd70f08d596a7be534312fc9e47d0aabf681f"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb
new file mode 100644
index 0000000000..2d21085211
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "kan"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "510016e85d7ea8e1f4ebf98741138909"
+SRC_URI[sha256sum] = "15851cc22058c08cad9ec6058113f76966409061f21f5cde8c9cc1d214298c22"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb
new file mode 100644
index 0000000000..617d199ab8
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "kor"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "fc9125f6652fb661575d6e15c94f88f6"
+SRC_URI[sha256sum] = "7c85c4107a781d90d6d4adb001f2189b113f9db6942618b4bc47f4cc80cd126a"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb
new file mode 100644
index 0000000000..c207504898
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "lav"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "2095b56c9c6b0dba9b837fd226ed6d29"
+SRC_URI[sha256sum] = "e6a190ee1edf0a58948a9d7b01569fd8a4c05bc678da3a40ad884c0849958c36"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb
new file mode 100644
index 0000000000..83ad480fab
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "lit"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "801021a1ad6e4aa3ef697f065ff6c798"
+SRC_URI[sha256sum] = "350891a182076df2e8067da04b3b2127a77e48782d9905e8339db4f1d6c7a729"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb
new file mode 100644
index 0000000000..571385e2f0
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "mal"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "1f5e8f022d3c2697075bdfc03935f128"
+SRC_URI[sha256sum] = "72b3b23979ae4a6b63518964bf239beae8bb6c02f35a2695f47262178b3fef34"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb
new file mode 100644
index 0000000000..ad1eaff8b9
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "mkd"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "b8930c64befcaadbb47951cad4a2f075"
+SRC_URI[sha256sum] = "ea489277e7a588a1b7566a21cbbd647786f16659cae087a4705d4fdabd823ee6"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb
new file mode 100644
index 0000000000..4a6d42deda
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "mlt"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "90a41ac86375b230980b643b35b88011"
+SRC_URI[sha256sum] = "ba99e8bfc753a274bbea38ef44f5abf81e5f12d09f9d12d267436961270ef2de"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb
new file mode 100644
index 0000000000..8418ab6392
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "msa"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "cb42ec9504eecdc4f974dbca4387ac34"
+SRC_URI[sha256sum] = "f34e4950ad9079f92965a234253cc16f92deb66f1ce4e9c9a885ad2695c2d136"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb
new file mode 100644
index 0000000000..412d4a7b01
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "nld"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "6db5753b3b03296544bbb2c0f59a7178"
+SRC_URI[sha256sum] = "5e2e53499a05282968e5a9699aad66ae52a5abf06ae828e2f4cf2c1f6e674a98"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb
new file mode 100644
index 0000000000..75d2940971
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "nor"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "6d979585abb07c13dda003820129461c"
+SRC_URI[sha256sum] = "6b5c42444595a81b5f6fea859d97999895917bcc2f85a505488ea5c2f4efa01a"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb
new file mode 100644
index 0000000000..58580130f6
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "pol"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "90b3f1f4113a9dccd0287e6b5b7512d6"
+SRC_URI[sha256sum] = "62999058bfb609d95d53bd519c6de99620d025b3bfbc54d8679a87b10474ccbb"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb
new file mode 100644
index 0000000000..75f0139663
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "por"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "ad490a8091ee329190266f3fd057c511"
+SRC_URI[sha256sum] = "f9b126323757c62da23aab163e2ce5257d137e86be7c37dea13bb0585e1ace3f"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb
new file mode 100644
index 0000000000..3c8940a93c
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "ron"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "9f498e01855a57473af8f083c125455a"
+SRC_URI[sha256sum] = "d7e6454c9cc80c84a654f94283fc06b2df33c5c7fd2d3bff269c3cbdeb0b39e7"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb
new file mode 100644
index 0000000000..e1dd3f18f5
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "rus"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "e8c785df8aaa49e61f3a95aa24066122"
+SRC_URI[sha256sum] = "091cda49489d15f33916263fc78fbf8dcd4e6547012dc7e1a8496a38ab192315"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb
new file mode 100644
index 0000000000..241b03862c
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "slk"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "991e4771e16abd6a66caeaeeb2a4d4d2"
+SRC_URI[sha256sum] = "cbd5a88e2188ef39ef438c9859dbd7a9b9e2a99c23a823ec310f7f84a012cc82"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb
new file mode 100644
index 0000000000..0b08210b07
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "slv"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "c7bea975ba663d13e03c29d6cf33b5a8"
+SRC_URI[sha256sum] = "b901507d2901c882f98f6ef5db07dbf74636fba6a1f616c5f094954106791667"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb
new file mode 100644
index 0000000000..79be8a37fe
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "spa_old"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "7838da948e404bb760bef83a5c3d64dd"
+SRC_URI[sha256sum] = "2b980c0eda1572423dd56260b32d748288028fdd45266311c4ab448fcbce5814"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb
new file mode 100644
index 0000000000..8790ee5a4e
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "spa"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "fe1385ed203ecd9e0999a44b135069ec"
+SRC_URI[sha256sum] = "f40cc264d037b0c71ecb4a8bb6def8b3ec04b647d8da7fd44d0daa558bfa31b1"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb
new file mode 100644
index 0000000000..8e923a9eb0
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "sqi"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "372e38617fcc7e25c77996c5499ae063"
+SRC_URI[sha256sum] = "99bfcda3e0c471f63b36cd0db7dea596e59a2219c9275c3ba51e59973555c101"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb
new file mode 100644
index 0000000000..18676c4857
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "srp"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "d8350668fa790b5d4007348a55840bdf"
+SRC_URI[sha256sum] = "b1eeeb2958d0a4e2ba16fb55a98ca4ca8e69fee8b0be8162ff599ba19d0b2404"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb
new file mode 100644
index 0000000000..2b9960fc8d
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "swa"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "6c68107a71f82fa42c858e4d6dc70aca"
+SRC_URI[sha256sum] = "2681e59f2a9333259a2de42f3deed46aa7dd84b638e6927f40db0409adff143b"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb
new file mode 100644
index 0000000000..7fd1c1d871
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "swe"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "46d3a5d7159236edb33272dd8b1090f6"
+SRC_URI[sha256sum] = "ada287d7b64183df906215fe4ca86c3b6fe30dc5121e9a83113c3265ca7fc5ae"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb
new file mode 100644
index 0000000000..fcfc1fb627
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "tam"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "c68b0fdcdf34dd431c25f323673ef1d6"
+SRC_URI[sha256sum] = "75f73362421a23eb955212f7aa19c9a3efdc80a4c6761445869148bfd2a6dc62"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb
new file mode 100644
index 0000000000..fb827ed057
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "tel"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "349d203ef88864eab8d1201672ca84be"
+SRC_URI[sha256sum] = "f36af3d5ca9f8ff6e606485fe5db835f96b42e7d2380ac5d61af6b41827834fd"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb
new file mode 100644
index 0000000000..8c84ed9d88
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "tgl"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "d458f0719b99e4dcfd4fa2a06e5150a3"
+SRC_URI[sha256sum] = "5c515310df83c9b40e557027e49de6df70e33a9bbabeaf1301ca9e8c13558948"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb
new file mode 100644
index 0000000000..06055d1b41
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "tha"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "3dc5a5028e75da12eaba62669a80acc4"
+SRC_URI[sha256sum] = "7a98e25e0c61dda48cbdb241f0f53c3dfaa7ef574b81799ab2ddac50da6db4fb"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb
new file mode 100644
index 0000000000..f5ec76f2ff
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "tur"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "a8934e0e6496997112cbef2961adef5e"
+SRC_URI[sha256sum] = "fe4657ca3455585a06eb3d02b4a0472fda8ca06efe587be75e175662dc6329d7"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb
new file mode 100644
index 0000000000..25de06a57b
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "ukr"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "0aa61f18463bb89234a6d06fcbf0c644"
+SRC_URI[sha256sum] = "7862b10c1ff7e02b41c7a50eec7fccd2c30b8162d965fa1ae00510c6d1210762"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb
new file mode 100644
index 0000000000..6bd813e423
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
+
+TESSERACT_LANG = "vie"
+
+require tesseract-lang.inc
+
+SRC_URI[md5sum] = "78a74432848b4c53cc2ccf2eb339c0b6"
+SRC_URI[sha256sum] = "a113254882eac70168aec00544805e7c9cec20527217b98349ed48f6e2d2611e"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc b/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc
new file mode 100644
index 0000000000..7f69eb174f
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc
@@ -0,0 +1,13 @@
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI = "https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.${TESSERACT_LANG}.tar.gz"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${datadir}/tessdata
+ cp ${WORKDIR}/tesseract-ocr/tessdata/${TESSERACT_LANG}.traineddata ${D}${datadir}/tessdata
+}
+
+FILES_${PN} += "${datadir}/tessdata"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb
new file mode 100644
index 0000000000..72bd423b8a
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "A commercial quality OCR engine "
+
+DEPENDS = "leptonica"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c0c94b3c86ad0c386bb6dec70ca8a36a"
+
+SRC_URI = "https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.tar.gz"
+SRC_URI[md5sum] = "26adc8154f0e815053816825dde246e6"
+SRC_URI[sha256sum] = "26cd39cb3f2a6f6f1bf4050d1cc0aae35edee49eb49a92df3cb7f9487caa013d"
+
+EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
+
+S = "${WORKDIR}/tesseract-ocr"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${datadir}/tessdata"
+
+RRECOMMENDS_${PN} += "tesseract-lang-eng"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
index 11c1ac1b25..9ad348d9fa 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
@@ -11,9 +11,11 @@ PR = "r4"
SRC_URI = "http://osdn.dl.sourceforge.jp/mplus-fonts/6650/mplus-TESTFLIGHT-${PV}.tar.gz"
S = "${WORKDIR}/mplus-TESTFLIGHT-${PV}"
-python populate_packages_prepend() {
+PACKAGESPLITFUNCS_prepend = "split_ttf_mplus_packages "
+
+python split_ttf_mplus_packages() {
plugindir = d.expand('${datadir}/fonts/ttf-mplus/')
- packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s', extra_depends = "ttf-common")
+ packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s')
d.setVar('FONT_PACKAGES', ' '.join(packages))
}
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
index 2d413ba418..efdcec8404 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
@@ -5,7 +5,7 @@ SUMMARY_ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font"
SUMMARY_ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font"
AUTHOR = "Electronic Font Open Laboratory (/efont/)"
HOMEPAGE = "http://sourceforge.jp/projects/efont/"
-LICENSE = "Public domain"
+LICENSE = "PD"
LIC_FILES_CHKSUM = "file://README;md5=97d739900be6e852830f55aa3c07d4a0"
SRC_DISTRIBUTE_LICENSES += "${PN}"
RPROVIDES_${PN} = "virtual-japanese-font"
diff --git a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
index e5ece21fa2..27a38c1aab 100644
--- a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
+++ b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
@@ -7,6 +7,6 @@ SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.b
SRC_URI[md5sum] = "09f56978a62854534deacc8aa8ff3031"
SRC_URI[sha256sum] = "bc7171a0fa212da866fca2301241630e2009aea8c4ddb75f21b51a31c2e4c581"
-inherit autotools
+inherit autotools pkgconfig
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb b/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
index e71846509a..43e6fda6a6 100644
--- a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
+++ b/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
@@ -7,6 +7,10 @@ DEPENDS = "virtual/libx11 libxtst"
PR = "r1"
+inherit distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
SRC_URI = "http://semicomplete.googlecode.com/files/xdotool-${PV}.tar.gz"
SRC_URI[md5sum] = "1d5be641e512c343abfe5f78b39e6f19"
SRC_URI[sha256sum] = "42d7271fbc796e53db71bb221f311b9ff3c51d90a71c9487a9bd3101ca39894f"
diff --git a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb
deleted file mode 100644
index 9d4d1c7680..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "Tool for manipulating ICE protocol authorization records"
-LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e"
-DEPENDS += "libice"
-PR = "r6"
-
-SRC_URI[md5sum] = "bb2e4d2611047f7c5a1a82ec956a9de4"
-SRC_URI[sha256sum] = "0ee6fd4554f0131b1ed526ee00b9cf643e7dc97eb70fb51448848ef2f349938d"
diff --git a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb
new file mode 100644
index 0000000000..22007d9af2
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+
+DESCRIPTION = "A collection of utilities used to tweak and query the runtime configuration\
+of the X server."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS += "libice"
+
+SRC_URI[md5sum] = "2527344acc60741a709f4858564c5ae6"
+SRC_URI[sha256sum] = "bd990837353b439e6f45d478a87b8dbfa3f67d72d903e7a9ed4eb8de52f2e2f4"
diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb
deleted file mode 100644
index 127b0f69b2..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
-DEPENDS += " libxkbfile"
-PE = "1"
-PR = "r6"
-
-SRC_URI[md5sum] = "2f6df89201eb9a2cbfb905d6b82a191e"
-SRC_URI[sha256sum] = "999591bf1ba8ca2a7d480b2c01702396e6c349d499fb583c0de136ec00dbae39"
diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb
new file mode 100644
index 0000000000..62a3ee2785
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "A program to compile XKB keyboard description"
+
+DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \
+XKB keymap into one of several output formats. The most common use for \
+xkbcomp is to create a compiled keymap file (.xkm extension) which can \
+be read directly by XKB-capable X servers or utilities."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
+
+PE = "1"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "1001771344608e120e943a396317c33a"
+SRC_URI[sha256sum] = "3d305c9d1f38224169b2e501ef0665cc3ab52d4dbc2b9a60c9dbb047f77ddec6"
diff --git a/meta-oe/recipes-graphics/xorg-app/twm_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/twm_1.0.8.bb
index d569fd0c2e..3574ba9aeb 100644
--- a/meta-oe/recipes-graphics/xorg-app/twm_1.0.6.bb
+++ b/meta-oe/recipes-graphics/xorg-app/twm_1.0.8.bb
@@ -6,8 +6,8 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586"
-SRC_URI[md5sum] = "952d06a0c2ec34687b536c7b619fc671"
-SRC_URI[sha256sum] = "e7dccad7879a7570442f0cd9df0b9064e926466b5a52b710fca8cfb167f294e9"
+SRC_URI[md5sum] = "4b28317d4a9f7ca61bef8462e132bd4c"
+SRC_URI[sha256sum] = "7660352353d632127ff50390991706aa660b28a4ada816c2582ac02720722e44"
FILES_${PN} += "${datadir}/X11/twm/system.twmrc"
ALTERNATIVE_NAME = "x-window-manager"
diff --git a/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb
new file mode 100644
index 0000000000..c74b291946
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xfontsel provides point and click selection of X11 font names"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+DEPENDS += " libxaw"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+
+SRC_URI[md5sum] = "a40302b88c599b63e3d3d412e02871e6"
+SRC_URI[sha256sum] = "170d8550b96fb47b04db6181b947e6f6b8b97f4df5d691c351a278480cc931bf"
diff --git a/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb
new file mode 100644
index 0000000000..6fb9259006
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+
+DESCRIPTION = "xgamma allows X users to query and alter the gamma \
+correction of a monitor via the X video mode extension."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ac9801b8423fd7a7699ccbd45cf134d8"
+
+DEPENDS += "libxxf86vm"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "c06067f572bc4a5298f324f27340da95"
+SRC_URI[sha256sum] = "e322a2fea80d559c09d6bc285ebe1a9e454dbeae2a07116cb7d2207db9d2c310"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb
new file mode 100644
index 0000000000..e81a3c9c38
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "A program to compile XKB keyboard description"
+DESCRIPTION = "The xkbevd event daemon listens for specified XKB \
+events and executes requested commands if they occur. "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=208668fa9004709ba22c2b748140956c"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "37ed71525c63a9acd42e7cde211dcc5b"
+SRC_URI[sha256sum] = "55b2484f9851112c2685d503b64b319f0f98fce74863ef735ecd52b52ceb0116"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb
new file mode 100644
index 0000000000..64b54dd3ec
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "A program to compile XKB keyboard description"
+DESCRIPTION = "xkbprint generates a printable or encapsulated PostScript \
+description of an XKB keyboard description."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=20f28f97555b220fde762bc2a4406a8f"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "526b5ba87cccd05aa700fa628bcfda3e"
+SRC_URI[sha256sum] = "fa846db8e588018134bd550f80eb129e4ddfdb96f3b157603a57ae2cdf5892c0"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb
new file mode 100644
index 0000000000..6a05e98e32
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "XKeyboard (XKB) extension to the X11 protocol"
+DESCRIPTION = " \
+xkbutils is a collection of small utilities utilizing the XKeyboard (XKB) \
+extension to the X11 protocol. \
+It includes: \
+ xkbbell - generate XKB bell events \
+ xkbvleds - display the state of LEDs on an XKB keyboard in a window \
+ xkbwatch - reports changes in the XKB keyboard state \
+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=64322fab5239f5c8d97cf6e0e14f1c62"
+
+DEPENDS += "libxaw libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "502b14843f610af977dffc6cbf2102d5"
+SRC_URI[sha256sum] = "d2a18ab90275e8bca028773c44264d2266dab70853db4321bdbc18da75148130"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb
new file mode 100644
index 0000000000..dd432139cd
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsatoms/"
+DESCRIPTION = "Xlsatoms lists the interned atoms defined on an X11 server"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
+
+DEPENDS += "libxmu"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "9d0e16d116d1c89e6b668c1b2672eb57"
+SRC_URI[sha256sum] = "3b8bd98c1ca9789178db80bca75556b0c76e5092403014995d5ddaa3117536f9"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb
new file mode 100644
index 0000000000..583a531baf
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsclients/"
+DESCRIPTION = "xlsclients is a utility for listing information about the \
+client applications running on a X11 server."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "9fbf6b174a5138a61738a42e707ad8f5"
+SRC_URI[sha256sum] = "5d9666fcc6c3de210fc70d5a841a404955af709a616fde530fe4e8f7723e3d3d"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.4.bb
new file mode 100644
index 0000000000..e6985d057f
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.4.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "server font list displayer for X"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsfonts/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
+
+SRC_URI[md5sum] = "5a2b476c2d84759529f01e0cd06145fe"
+SRC_URI[sha256sum] = "28179185ec2bf81dfe13652d65bdb2a4ae74e2775df591a62d66a70f80e90cd2"
diff --git a/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb
new file mode 100644
index 0000000000..d577421803
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xmag is a tool to magnify parts of the screen"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387"
+DEPENDS += " libxaw libxt"
+
+SRC_URI[md5sum] = "280b81cb09d1903aa868a058d90128ad"
+SRC_URI[sha256sum] = "4ace8795cf756be4ba387f30366045594ce26adda2f5ffe1f8e896825d0932c6"
diff --git a/meta-oe/recipes-graphics/xorg-app/xrdb_1.0.9.bb b/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb
index f258bb2516..85957e056f 100644
--- a/meta-oe/recipes-graphics/xorg-app/xrdb_1.0.9.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb
@@ -4,7 +4,6 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69"
DEPENDS += "libxmu"
-PR = "r6"
-SRC_URI[md5sum] = "ed2e48cf33584455d74615ad4bbe4246"
-SRC_URI[sha256sum] = "642401e12996efe3e5e5307a245e24c282b94a44c1f147e177c8484b862aeab7"
+SRC_URI[md5sum] = "b54c7e3e53b4f332d41ed435433fbda0"
+SRC_URI[sha256sum] = "73827b6bbfc9d27ca287d95a1224c306d7053cd7b8156641698d7dc541ca565b"
diff --git a/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb
new file mode 100644
index 0000000000..a2a4941e96
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xrefresh/"
+DESCRIPTION = "xrefresh - refresh all or part of an X screen"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "a896382bc53ef3e149eaf9b13bc81d42"
+SRC_URI[sha256sum] = "3213671b0a8a9d1e8d1d5d9e3fd86842c894dd9acc1be2560eda50bc1fb791d6"
diff --git a/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb b/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb
new file mode 100644
index 0000000000..b757329d94
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetmode/"
+DESCRIPTION = "xsetmode sets the mode of an XInput device to either absolute \
+or relative."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9b37e00e7793b667cbc64f9df7b6d733"
+
+DEPENDS += "libxi"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "d074e79d380b031d2f60e4cd56538c93"
+SRC_URI[sha256sum] = "988b47cd922991c6e6adbce15dc386ac75690b61744b526c3af5a4eaa9afa0aa"
diff --git a/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb
new file mode 100644
index 0000000000..2c79f27ca4
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetroot/"
+DESCRIPTION = "xsetroot is a root window parameter setting utility for X"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de"
+
+DEPENDS += "xbitmaps libxcursor"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "7211b31ec70631829ebae9460999aa0b"
+SRC_URI[sha256sum] = "ba215daaa78c415fce11b9e58c365d03bb602eaa5ea916578d76861a468cc3d9"
diff --git a/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
new file mode 100644
index 0000000000..3f5511e754
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xstdcmap"
+DESCRIPTION = "The xstdcmap utility can be used to selectively define \
+standard colormap properties."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
+
+RDEPENDS_${PN} = "libxmu"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "eb5473acaef15a5db9b50df29c6a7f90"
+SRC_URI[sha256sum] = "f648e2b0cf16aa29856de998e2c7204be39dc1f8daeda9464d32288e0b580fc1"
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_303.bb b/meta-oe/recipes-graphics/xorg-app/xterm_303.bb
index 52e77b7897..fad07d9ffc 100644
--- a/meta-oe/recipes-graphics/xorg-app/xterm_303.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xterm_303.bb
@@ -4,7 +4,7 @@ DEPENDS = "libxaw xproto xextproto libxext libxau libxpm ncurses"
LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=540cf18ccc16bc3c5fea40d2ab5d8d51"
-SRC_URI = "ftp://invisible-island.net/xterm/${PN}-${PV}.tgz"
+SRC_URI = "ftp://invisible-island.net/xterm/${BP}.tgz"
SRC_URI[md5sum] = "48f6d49b2b6b6933d501d767cbed9254"
SRC_URI[sha256sum] = "8af29987bda9b77205ebf6233aaa5c347e5f2407310b62ac9ba92a658257f058"
@@ -13,6 +13,7 @@ EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
--x-libraries=${STAGING_LIBDIR} \
FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
--disable-imake \
+ --disable-rpath-hack \
--disable-setuid"
B = "${S}"
diff --git a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb
index b73afe1c5d..694bf57ace 100644
--- a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb
@@ -1,11 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
SUMMARY = "xwd is a tool to capture an X window or screen to file"
HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwd/"
SECTION = "x11/app"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf"
-DEPENDS = "libxmu"
+DEPENDS = "libxmu libxkbfile"
SRC_URI[md5sum] = "6b5d48464c5f366e91efd08b62b12d94"
SRC_URI[sha256sum] = "3bb396a2268d78de4b1c3e5237a85f7849d3434e87b3cd1f4d57eef614227d79"
-
-require recipes-graphics/xorg-app/xorg-app-common.inc
diff --git a/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb
new file mode 100644
index 0000000000..33bd7f03f6
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb
@@ -0,0 +1,12 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwud/"
+DESCRIPTION = "xwud allows X users to display in a window an image saved \
+in a specially formatted dump file, such as produced by xwd."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794"
+
+SRC_URI[md5sum] = "3025b152b4f13fdffd0c46d0be587be6"
+SRC_URI[sha256sum] = "d6b3a09ccfe750868e26bd2384900ab5ff0d434f7f40cd272a50eda8aaa1f8bd"
diff --git a/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
index e128763398..1bcfd5addc 100644
--- a/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
+++ b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
@@ -4,7 +4,7 @@ LICENSE = "MIT-X"
XORG_PN = "${PN}"
-SRC_URI = "${XORG_MIRROR}/individual/data/${XORG_PN}-${PV}.tar.bz2"
+SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2"
S = "${WORKDIR}/${XORG_PN}-${PV}"
inherit autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb
index ac47cee626..547ec86c16 100644
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb
@@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
DEPENDS += "pixman"
+PNBLACKLIST[xf86-input-mtev] ?= "BROKEN: doesn't build with B!=S (Makefile without ${S} in sed call)"
+
SRC_URI = "git://gitorious.org/xorg/xf86-input-mtev.git file://fix-it.patch"
SRCREV = "1eb469166ffc095c5801475f057f911f97a6e641"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch
new file mode 100644
index 0000000000..fcd2f684b1
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch
@@ -0,0 +1,41 @@
+From 621d946e56efac2c779b83b1a5c6b645169c4ebd Mon Sep 17 00:00:00 2001
+From: "Brian A. Lloyd" <brian.lloyd@familyhonor.net>
+Date: Wed, 1 Oct 2014 12:35:18 +0300
+Subject: [PATCH] Add config.h include to src/lx_memory.c
+
+The src/lx_memory.c file uses the xf86.h header file. This file must have
+HAVE_STRNDUP defined before calling it when the building platform has a strndup
+function. When using config.h, this file doesn't have that define and so fails
+to compile.
+
+The attached patch adds the conditional config.h to this file so it may compile
+on the affected platforms.
+
+The patch is trivial and may be included and used under whatever licensing
+desired.
+
+Closes: Free Desktop Bug #84541
+
+Signed-off-by: Brian A. Lloyd <brian.lloyd@familyhonor.net>
+Upstream-Status: Backport
+---
+ src/lx_memory.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/lx_memory.c b/src/lx_memory.c
+index f26d280..992446f 100644
+--- a/src/lx_memory.c
++++ b/src/lx_memory.c
+@@ -22,6 +22,9 @@
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ */
++#if HAVE_CONFIG_H
++#include "config.h"
++#endif
+
+ #include "xf86.h"
+ #include "geode.h"
+--
+2.1.1
+
diff --git a/meta-oe/recipes-graphics/xorg-driver/nonworking/xf86-video-geode_2.11.14.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb
index 2fdb210fe5..478d08805d 100644
--- a/meta-oe/recipes-graphics/xorg-driver/nonworking/xf86-video-geode_2.11.14.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb
@@ -4,8 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e7f3e39474aeea5af381a8e103dafc36"
SUMMARY = "X.org server -- Geode GX2/LX display driver"
PR = "${INC_PR}.0"
-SRC_URI[md5sum] = "c9a4e1c5438240e5bdce332f92df9163"
-SRC_URI[sha256sum] = "4c750b46c932934faa008919922f5ac8a572afcfe265ac8d7c203b8167a0cfcc"
+SRC_URI += "file://0001-Add-config.h-include-to-src-lx_memory.c.patch"
+SRC_URI[md5sum] = "35fa387f6a33f6b22a56ce4bda424392"
+SRC_URI[sha256sum] = "38fc1f55e29fb7985b90c9021a4b7e5295d42888bd669174f42f3b7f681fc1a7"
COMPATIBLE_HOST = "i.86.*-linux"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch
new file mode 100644
index 0000000000..a82037109e
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch
@@ -0,0 +1,29 @@
+From 180a00634f351a09ceabc5695d8e1acc3e585501 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Fri, 12 Dec 2014 12:00:10 +0100
+Subject: [PATCH] glamo.h: use const for jbt6k74_state_path
+
+* fix build issue with xserver 1.16:
+ glamo-driver.c:501:32: error: assignment discards 'const' qualifier from pointer target type [-Werror]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/glamo.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/glamo.h b/src/glamo.h
+index 5fd5c04..5e072be 100644
+--- a/src/glamo.h
++++ b/src/glamo.h
+@@ -148,7 +148,7 @@ typedef struct {
+ #endif
+
+ #ifdef JBT6K74_SET_STATE
+- char *jbt6k74_state_path;
++ const char *jbt6k74_state_path;
+ char saved_jbt6k74_state[14];
+ #endif
+
+--
+2.1.3
+
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
index 38c12f3217..78c65648f9 100644
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
@@ -14,6 +14,7 @@ SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;branch=master \
file://0001-fix-build-with-KMS-disabled.patch \
file://0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch \
file://0001-glamo-driver-remove-references-to-mibstore.patch \
+ file://0004-glamo.h-use-const-for-jbt6k74_state_path.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
index 04d3efa151..85a44660eb 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
@@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
SRC_URI[md5sum] = "1347c3031b74c9e91dc4dfa53b12f143"
SRC_URI[sha256sum] = "b2c08433eab5cb202470aa9f779efefce8d9cab2534f34f3aa4a31d05671c054"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
index f3d2815f96..16e3d2ceca 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
@@ -10,6 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
SRC_URI[md5sum] = "66fb6de561648a6dce2755621d6aea17"
SRC_URI[sha256sum] = "d16f5e3f227cc6dd07a160a71f443559682dbc35f1c056a5385085aaec4fada5"
-
diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
index 3ee91cef49..08ed6b6160 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
@@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
SRC_URI[md5sum] = "9f11ade089d689b9d59e0f47d26f39cd"
SRC_URI[sha256sum] = "23c07162708e4b79eb33095c8bfa62c783717a9431254bbf44863734ea239481"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
index c83137b187..5ded41aeb4 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
@@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
SRC_URI[md5sum] = "c8b73a53dcefe3e8d3907d3500e484a9"
SRC_URI[sha256sum] = "62a83363c2536095fda49d260d21e0847675676e4e3415054064cbdffa641fbb"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
index 9a83ac1e2d..e8cfb615a9 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
@@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
SRC_URI[md5sum] = "6b223a54b15ecbd5a1bc52312ad790d8"
SRC_URI[sha256sum] = "ebe0d7444e3d7c8da7642055ac2206f0190ee060700d99cd876f8fc9964cb6ce"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
new file mode 100644
index 0000000000..d425ce5157
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
@@ -0,0 +1,17 @@
+require recipes-graphics/xorg-font/xorg-font-common.inc
+
+SUMMARY = "X.org cursor fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/cursor-misc/"
+SECTION = "x11/font"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8b32ccac3ad25e75e68478deb7780265"
+
+DEPENDS = "util-macros-native font-util-native bdftopcf-native"
+RDEPENDS_${PN} = "encodings font-util"
+
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "3e0069d4f178a399cffe56daa95c2b63"
+SRC_URI[sha256sum] = "17363eb35eece2e08144da5f060c70103b59d0972b4f4d77fd84c9a7a2dba635"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
new file mode 100644
index 0000000000..a7c284a2f5
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
@@ -0,0 +1,17 @@
+require recipes-graphics/xorg-font/xorg-font-common.inc
+
+SUMMARY = "X.org miscellaneous fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/misc-misc/"
+SECTION = "x11/font"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=200c507f595ee97008c7c5c3e94ab9a8"
+
+DEPENDS = "util-macros-native font-util-native bdftopcf-native"
+RDEPENDS_${PN} = "encodings font-util"
+
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "c88eb44b3b903d79fb44b860a213e623"
+SRC_URI[sha256sum] = "b8e77940e4e1769dc47ef1805918d8c9be37c708735832a07204258bacc11794"
diff --git a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
index aacf379731..158416b084 100644
--- a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
+++ b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
@@ -1,9 +1,9 @@
SUMMARY = "Xorg 100 DPI font set"
LICENSE = "Custom"
-inherit packagegroup
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+inherit packagegroup distro_features_check
+# rdepends on font recipes with this restriction
+REQUIRED_DISTRO_FEATURES = "x11"
RDEPENDS_${PN} = "\
font-adobe-100dpi \
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb
index fef5acd108..6963f5e33c 100644
--- a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb
+++ b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb
@@ -10,9 +10,6 @@ PR = "r2"
SRC_URI[md5sum] = "f1ea52debce7a18cc26b21647a00ad8b"
SRC_URI[sha256sum] = "2d96bcf92638b8ec5c91d379f5ec2e7b15133adeb2ba22066d48bf3239ee1bdd"
-# disable docs as groff detection doesn't work on some hosts while cross compilling
-EXTRA_OECONF += " --disable-docs "
-
do_install_append () {
ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6
ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch
new file mode 100644
index 0000000000..06df2618bd
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch
@@ -0,0 +1,24 @@
+From: Javier Viguera <javier.viguera@digi.com>
+Date: Wed, 26 Nov 2014 09:24:44 +0100
+Subject: [PATCH] xserver-common: disable TCP connections
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Javier Viguera <javier.viguera@digi.com>
+---
+ X11/xserver-common | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/X11/xserver-common b/X11/xserver-common
+index 017e5aee1ab0..4dc48c412741 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -44,7 +44,7 @@ SCREEN_SIZE=`fallback_screen_arg`
+ export USER=root
+ export XSERVER_DEFAULT_ORIENTATION=normal
+
+-ARGS="-br -pn $INPUT_EXTRA_ARGS"
++ARGS="-br -pn -nolisten tcp $INPUT_EXTRA_ARGS"
+ DPI="100"
+ MOUSE=""
+ KDRIVEARGS=""
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 12fff9ae9a..f5b1984cdd 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
@@ -24,6 +24,7 @@ SRC_URI_append = " \
file://0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch \
file://0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch \
file://0014-Xserver-Start-Xsession-like-x11-common-does.patch \
+ file://0015-xserver-common-disable-TCP-connections.patch \
"
do_install_append() {
diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch b/meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch
new file mode 100644
index 0000000000..229647f009
--- /dev/null
+++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch
@@ -0,0 +1,34 @@
+From cbaaa42933bb27b1bcff4c7d71d54c913201ee88 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Fri, 9 Jan 2015 11:51:18 +0900
+Subject: [PATCH] cross_add_configure_option
+
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9c44633..39bebd0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -229,7 +229,7 @@ gdb_merge: force
+ @echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj
+ @rm -f ${PROGRAM}
+ @if [ ! -f ${GDB}/config.status ]; then \
+- (cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --with-separate-debug-dir=/usr/lib/debug \
++ (cd ${GDB}; ./configure --host=${GDB_TARGET} --build=${GDB_HOST} --with-separate-debug-dir=/usr/lib/debug \
+ --with-bugurl="" --with-expat=no --with-python=no; \
+ make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
+ else make --no-print-directory rebuild; fi
+@@ -277,7 +277,7 @@ force:
+
+ make_configure: force
+ @rm -f configure
+- @${CC} ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS}
++ @cc ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS}
+
+ clean: make_configure
+ @./configure ${CONF_TARGET_FLAG} -q -b
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch b/meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch
new file mode 100644
index 0000000000..0d44c7f176
--- /dev/null
+++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch
@@ -0,0 +1,13 @@
+diff -uprN crash-5.1.8.org/configure.c crash-5.1.8/configure.c
+--- crash-5.1.8.org/configure.c 2011-09-17 04:01:12.000000000 +0900
++++ crash-5.1.8/configure.c 2012-09-13 13:28:45.393344108 +0900
+@@ -391,6 +391,9 @@ get_current_configuration(struct support
+ arch_mismatch(sp);
+ }
+
++ /** Force define archtecture */
++ target_data.target = FORCE_DEFINE_ARCH;
++
+ if ((fp = fopen("Makefile", "r")) == NULL) {
+ perror("Makefile");
+ goto get_release;
diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch b/meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch
new file mode 100644
index 0000000000..d567fa0a82
--- /dev/null
+++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch
@@ -0,0 +1,10 @@
+--- crash-5.1.8/Makefile.orig 2011-12-27 11:21:58.220652105 +0900
++++ crash-5.1.8/Makefile 2011-12-27 11:22:29.563651593 +0900
+@@ -285,6 +285,7 @@
+
+ library: make_build_data ${OBJECT_FILES}
+ ar -rs ${PROGRAM}lib.a ${OBJECT_FILES}
++ ${RANLIB} ${PROGRAM}lib.a
+
+ gdb: force
+ rm -f ${GDB_OFILES}
diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.9 b/meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.9
new file mode 100644
index 0000000000..d6fc22fb34
--- /dev/null
+++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.9
@@ -0,0 +1 @@
+bash_cv_have_mbstate_t=yes
diff --git a/meta-oe/recipes-kernel/crash/crash_7.0.9.bb b/meta-oe/recipes-kernel/crash/crash_7.0.9.bb
new file mode 100644
index 0000000000..8d62481091
--- /dev/null
+++ b/meta-oe/recipes-kernel/crash/crash_7.0.9.bb
@@ -0,0 +1,59 @@
+SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
+DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
+investigate either live systems, kernel core dumps created from the\
+netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
+offered by Mission Critical Linux, or the LKCD kernel patch."
+
+HOMEPAGE = "http://people.redhat.com/anderson"
+SECTION = "devel"
+
+inherit gettext
+
+DEPENDS = "zlib readline"
+
+SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz \
+ file://7001force_define_architecture.patch \
+ file://7003cross_ranlib.patch \
+ file://0001-cross_add_configure_option.patch \
+ "
+
+SRC_URI[md5sum] = "d70ad2ed0f6d210ed11e88b8e977f5fd"
+SRC_URI[sha256sum] = "c6034c6eb6b52691c60d0b72dbdec58fac4c1b3ed1cd0697c209dc48d13a577e"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
+
+EXTRA_OEMAKE = 'RPMPKG="${PV}" \
+ GDB_TARGET="${TARGET_SYS}" \
+ GDB_HOST="${BUILD_SYS}" \
+ '
+do_configure() {
+ :
+}
+
+do_compile_prepend() {
+ case ${TARGET_ARCH} in
+ arm*) ARCH=ARM ;;
+ i*86*) ARCH=X86 ;;
+ powerpc*) ARCH=PPC ;;
+ x86_64*) ARCH=X86_64 ;;
+ esac
+
+ sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
+ sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c
+ sed -i 's/&gt;/>/g' ${S}/Makefile
+}
+do_compile() {
+ oe_runmake ${EXTRA_OEMAKE}
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}/${mandir}/man8
+ install -d ${D}${includedir}/crash
+
+ oe_runmake DESTDIR=${D} install
+ install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
+ install -m 0644 ${S}/defs.h ${D}${includedir}/crash
+}
+RDEPENDS_${PN} += "liblzma"
diff --git a/meta-oe/recipes-kernel/ktap/ktap_0.4.bb b/meta-oe/recipes-kernel/ktap/ktap_0.4.bb
index 20f94d5980..cbdabf82d8 100644
--- a/meta-oe/recipes-kernel/ktap/ktap_0.4.bb
+++ b/meta-oe/recipes-kernel/ktap/ktap_0.4.bb
@@ -22,5 +22,5 @@ do_install() {
install -m 0755 ${S}/ktap ${D}${bindir}/
}
+PACKAGE_ARCH = "${MACHINE_ARCH}"
RDEPENDS_${PN} = "kernel-module-ktapvm"
-
diff --git a/meta-oe/recipes-kernel/linux/linux.inc b/meta-oe/recipes-kernel/linux/linux.inc
index 7b301ae211..e200127718 100644
--- a/meta-oe/recipes-kernel/linux/linux.inc
+++ b/meta-oe/recipes-kernel/linux/linux.inc
@@ -28,14 +28,14 @@ kernel_conf_variable() {
CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
if test "$2" = "n"
then
- echo "# CONFIG_$1 is not set" >> ${S}/.config
+ echo "# CONFIG_$1 is not set" >> ${B}/.config
else
- echo "CONFIG_$1=$2" >> ${S}/.config
+ echo "CONFIG_$1=$2" >> ${B}/.config
fi
}
do_configure_prepend() {
- echo "" > ${S}/.config
+ echo "" > ${B}/.config
CONF_SED_SCRIPT=""
#
@@ -43,8 +43,8 @@ do_configure_prepend() {
#
if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then
install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm
- kernel_conf_variable LOGO y
- kernel_conf_variable LOGO_LINUX_CLUT224 y
+ kernel_conf_variable LOGO y
+ kernel_conf_variable LOGO_LINUX_CLUT224 y
fi
#
@@ -59,7 +59,7 @@ do_configure_prepend() {
# When enabling thumb for userspace we also need thumb support in the kernel
if [ "${ARM_INSTRUCTION_SET}" = "thumb" ] ; then
- kernel_conf_variable ARM_THUMB y
+ kernel_conf_variable ARM_THUMB y
fi
kernel_conf_variable CMDLINE "\"${CMDLINE} ${CMDLINE_DEBUG}\""
@@ -112,9 +112,9 @@ do_configure_prepend() {
fi
sed -e "${CONF_SED_SCRIPT}" \
- < '${WORKDIR}/defconfig' >>'${S}/.config'
+ < '${WORKDIR}/defconfig' >>'${B}/.config'
- yes '' | oe_runmake oldconfig
+ yes '' | oe_runmake -C ${S} O=${B} oldconfig
}
do_configure_append() {
diff --git a/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb b/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb
index bf7cdfb7aa..61886599ac 100644
--- a/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb
+++ b/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb
@@ -8,7 +8,7 @@ LICENSE = "LGPLv2 & GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
-SRC_URI = "http://www.68k.org/~michael/audiofile/${PN}-${PV}.tar.gz"
+SRC_URI = "${GNOME_MIRROR}/audiofile/0.2/${BP}.tar.gz"
SRC_URI[md5sum] = "a39be317a7b1971b408805dc5e371862"
SRC_URI[sha256sum] = "a61c4036c2600a645843f16bec4be166093a9df5f15b02c85291213aa9cf15a2"
diff --git a/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb b/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb
index 3723f8dea6..63e590c9e0 100644
--- a/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb
+++ b/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb
@@ -8,7 +8,7 @@ PR = "r1"
inherit autotools
-SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-${PV}/${PN}-${PV}.tar.bz2;name=faad2 \
+SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-${PV}/${BP}.tar.bz2;name=faad2 \
"
SRC_URI[faad2.md5sum] = "4c332fa23febc0e4648064685a3d4332"
diff --git a/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch b/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch
new file mode 100644
index 0000000000..09edecc964
--- /dev/null
+++ b/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch
@@ -0,0 +1,42 @@
+Add a description to the AC_DEFINE statements so that it appears in config.h and silences a fatal warning.
+
+Upstream-Status:Pending
+Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
+---
+ configure.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index abfe4cd..ce0d380 100644
+--- a/configure.in
++++ b/configure.in
+@@ -168,7 +168,7 @@ if test $has_iconv = 1; then
+ iconv_oldstyle=1, iconv_oldstyle=0)
+ if test $iconv_oldstyle = 1; then
+ AC_MSG_RESULT(const char **)
+- AC_DEFINE(ID3LIB_ICONV_OLDSTYLE)
++ AC_DEFINE(ID3LIB_ICONV_OLDSTYLE,[1],[Old iconv prototype definition in iconv.h])
+ #we'll check out the need of
+ #typecast in the call of iconv_open
+ AC_MSG_CHECKING(whether to typecast in iconv)
+@@ -184,7 +184,7 @@ if test $has_iconv = 1; then
+ iconv_cast=0, iconv_cast=1)
+ if test $iconv_cast = 1; then
+ AC_MSG_RESULT(yes)
+- AC_DEFINE(ID3LIB_ICONV_CAST_OK)
++ AC_DEFINE(ID3LIB_ICONV_CAST_OK,[1],[Accepting const char ** in iconv prototype])
+ else
+ AC_MSG_RESULT(no)
+ fi
+@@ -206,7 +206,7 @@ if test $has_iconv = 1; then
+ iconv_cast=0, iconv_cast=1)
+ if test $iconv_cast = 1; then
+ AC_MSG_RESULT(yes)
+- AC_DEFINE(ID3LIB_ICONV_CAST_OK)
++ AC_DEFINE(ID3LIB_ICONV_CAST_OK,[1],[Accepting const char ** in iconv prototype])
+ else
+ AC_MSG_RESULT(no)
+ fi
+--
+2.0.0
+
diff --git a/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb b/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb
index 3089b8e730..fc80cc0acf 100644
--- a/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb
+++ b/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb
@@ -8,6 +8,7 @@ PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/id3lib/id3lib-${PV}.tar.gz;name=archive \
http://ftp.de.debian.org/debian/pool/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-7.2.diff.gz;name=patch \
+ file://acdefine.patch \
"
SRC_URI[archive.md5sum] = "19f27ddd2dda4b2d26a559a4f0f402a7"
SRC_URI[archive.sha256sum] = "2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079"
diff --git a/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb b/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb
index e7a0ee1118..7b3392721c 100644
--- a/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb
+++ b/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb
@@ -20,7 +20,7 @@ SRC_URI = "git://github.com/jackaudio/jack1.git \
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools pkgconfig
EXTRA_OECONF = "--enable-timestamps \
--disable-capabilities \
diff --git a/meta-oe/recipes-multimedia/libass/libass.inc b/meta-oe/recipes-multimedia/libass/libass.inc
index 64405ff680..328cd145c8 100644
--- a/meta-oe/recipes-multimedia/libass/libass.inc
+++ b/meta-oe/recipes-multimedia/libass/libass.inc
@@ -9,7 +9,7 @@ DEPENDS = "enca fontconfig freetype libpng fribidi"
INC_PR = "r1"
-SRC_URI = "http://${PN}.googlecode.com/files/${P}.tar.gz"
+SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz"
inherit autotools pkgconfig
diff --git a/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb b/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb
index 64f3e5d1fc..8cf393dcab 100644
--- a/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb
+++ b/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "ncurses"
-SRC_URI = "${GNU_MIRROR}/${PN}/${P}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
SRC_URI[md5sum] = "1c29b18e01ab2b966162bc727bf3c360"
SRC_URI[sha256sum] = "1acb3de8e0927906ade7a34c5853173d3068b87b02dfba80d0bf11e47f0b5d39"
diff --git a/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.7.bb b/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb
index 2361875c95..1070246c86 100644
--- a/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.7.bb
+++ b/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb
@@ -5,8 +5,8 @@ LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=c9182faa1f7c316f7b97d404bcbe3685"
SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz"
-SRC_URI[md5sum] = "d2d9ccd8da22412999caed076140f786"
-SRC_URI[sha256sum] = "3cfdebb60833a082e2f2b8faa3892bc9201d05c64051503e8007d8c98ae9e4c2"
+SRC_URI[md5sum] = "5f30241db109d647781b784e62ddfaa1"
+SRC_URI[sha256sum] = "77462d12ee99476c8645cb5511363e3906b88b33a6b54362b4dbc0f39aa2daad"
inherit autotools pkgconfig
diff --git a/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb b/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb
index 148d1692e3..811175ce8c 100644
--- a/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb
+++ b/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb
@@ -5,13 +5,10 @@ DEPENDS = "libav"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-PV = "0.0.0+git${SRCPV}"
-PR = "r1"
+PV = "52.3.0+git${SRCPV}"
-DEFAULT_PREFERENCE = "-1"
-
-SRCREV = "3b7053f46dbfe4662063345245cb00b6acbbe969"
-SRC_URI = "git://git.videolan.org/libpostproc.git"
+SRCREV = "811db3b957dfde24aef2d0f82e297e5bf552d873"
+SRC_URI = "git://github.com/lu-zero/postproc;protocol=https"
S = "${WORKDIR}/git"
@@ -42,5 +39,5 @@ EXTRA_OECONF = " \
"
do_configure() {
- ./configure ${EXTRA_OECONF}
+ ${S}/configure ${EXTRA_OECONF}
}
diff --git a/meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch
new file mode 100644
index 0000000000..5299d378eb
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch
@@ -0,0 +1,43 @@
+Index: SDL_image-1.2.12/configure.in
+===================================================================
+--- SDL_image-1.2.12.orig/configure.in 2012-01-21 01:51:33.000000000 +0000
++++ SDL_image-1.2.12/configure.in 2014-07-18 06:56:56.853466678 +0000
+@@ -1,5 +1,4 @@
+ dnl Process this file with autoconf to produce a configure script.
+-AC_INIT(README)
+
+ dnl Set various version strings - taken gratefully from the GTk sources
+
+@@ -11,12 +10,19 @@
+ # if backwards compatibility has been broken,
+ # set BINARY_AGE and INTERFACE_AGE to 0.
+
+-MAJOR_VERSION=1
+-MINOR_VERSION=2
+-MICRO_VERSION=12
++m4_define([sdlimage_major_version],[1])
++m4_define([sdlimage_minor_version],[2])
++m4_define([sdlimage_micro_version],[12])
++m4_define([sdlimage_version], [sdlimage_major_version.sdlimage_minor_version.sdlimage_micro_version])
++
++AC_INIT([SDL_image], [sdlimage_version])
++
++MAJOR_VERSION=sdlimage_major_version
++MINOR_VERSION=sdlimage_minor_version
++MICRO_VERSION=sdlimage_micro_version
+ INTERFACE_AGE=4
+ BINARY_AGE=12
+-VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
++VERSION=sdlimage_version
+
+ AC_SUBST(MAJOR_VERSION)
+ AC_SUBST(MINOR_VERSION)
+@@ -42,7 +48,7 @@
+ AC_CANONICAL_HOST
+
+ dnl Setup for automake
+-AM_INIT_AUTOMAKE(SDL_image, $VERSION)
++AM_INIT_AUTOMAKE([foreign])
+
+ dnl Check for tools
+ AC_PROG_LIBTOOL
diff --git a/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb
index ef78927827..ea8e9eaa30 100644
--- a/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb
+++ b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb
@@ -6,13 +6,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=613734b7586e1580ef944961c6d62227"
DEPENDS = "tiff zlib libpng jpeg virtual/libsdl"
-SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL_image-${PV}.tar.gz"
+SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL_image-${PV}.tar.gz \
+ file://configure.patch"
SRC_URI[md5sum] = "a0f9098ebe5400f0bdc9b62e60797ecb"
SRC_URI[sha256sum] = "0b90722984561004de84847744d566809dbb9daf732a9e503b91a1b5a84e5699"
S = "${WORKDIR}/SDL_image-${PV}"
-inherit autotools
+inherit autotools pkgconfig
export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
@@ -20,12 +21,12 @@ export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared"
do_configure_prepend() {
- # Removing this file fixes a libtool version mismatch.
- rm -f acinclude/libtool.m4
- rm -f acinclude/sdl.m4
- rm -f acinclude/pkg.m4
- rm -f acinclude/lt~obsolete.m4
- rm -f acinclude/ltoptions.m4
- rm -f acinclude/ltsugar.m4
- rm -f acinclude/ltversion.m4
+ # Removing these files fixes a libtool version mismatch.
+ rm -f ${S}/acinclude/libtool.m4
+ rm -f ${S}/acinclude/sdl.m4
+ rm -f ${S}/acinclude/pkg.m4
+ rm -f ${S}/acinclude/lt~obsolete.m4
+ rm -f ${S}/acinclude/ltoptions.m4
+ rm -f ${S}/acinclude/ltsugar.m4
+ rm -f ${S}/acinclude/ltversion.m4
}
diff --git a/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb b/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb
index 19b9236202..f1a01b9d5c 100644
--- a/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb
+++ b/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "1644308279a975799049e4826af2cfc787cad2abb11aa14562e402521f
S = "${WORKDIR}/SDL_mixer-${PV}"
-inherit autotools
+inherit autotools-brokensep
EXTRA_AUTORECONF += "--include=acinclude"
EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
diff --git a/meta-oe/recipes-multimedia/live555/live555.inc b/meta-oe/recipes-multimedia/live555/live555.inc
index a36177db3a..0c8208a22c 100644
--- a/meta-oe/recipes-multimedia/live555/live555.inc
+++ b/meta-oe/recipes-multimedia/live555/live555.inc
@@ -7,13 +7,13 @@ HOMEPAGE = "http://live.com/"
LICENSE = "LGPLv3"
SECTION = "devel"
-INC_PR = "r0"
+INC_PR = "r1"
URLV = "${@d.getVar('PV',1)[0:4]}.${@d.getVar('PV',1)[4:6]}.${@d.getVar('PV',1)[6:8]}"
SRC_URI = "http://www.live555.com/liveMedia/public/live.${URLV}.tar.gz \
file://config.linux-cross"
# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
-MIRRORS += "http://www.live555.com/liveMedia/public/ http://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/ \n"
+MIRRORS += "http://www.live555.com/liveMedia/public/ http://distcache.FreeBSD.org/ports-distfiles/ \n"
S = "${WORKDIR}/live"
TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.3.bb b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
index 6a3077f902..2e1b9bf057 100644
--- a/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.3.bb
+++ b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
@@ -1,15 +1,15 @@
DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm."
SECTION = "libs"
LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=b2b941d484c442e5c031a51463d8e11b"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "alsa-lib texinfo"
+DEPENDS = "alsa-lib texinfo pulseaudio"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
"
-SRC_URI[md5sum] = "0e0f9bce8f8e598ca292b41e0ae385c8"
-SRC_URI[sha256sum] = "79f02478c5abd8b2af73df4cc5f9d52625aa044327c01563168e270cf79b2437"
+SRC_URI[md5sum] = "9dd9bed30c6f7607a55480234606071b"
+SRC_URI[sha256sum] = "3f363e03f7b1db75b9b6602841bbd440ed275a548e53545f980df8155de4d330"
inherit autotools binconfig lib_package
diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
index 65fab1fda3..7c04ff178f 100644
--- a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
+++ b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
@@ -13,7 +13,7 @@ RCONFLICTS_${PN} = "mplayer"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
-PNBLACKLIST[mplayer2] = "Requires newer libav which has negative D_P"
+PNBLACKLIST[mplayer2] ?= "Requires newer libav which has negative D_P"
SRC_URI = "git://repo.or.cz/mplayer.git \
file://0001-configure-don-t-disable-ASS-support-when-explicitly-.patch \
@@ -36,7 +36,7 @@ CONFFILES_${PN} += "/usr/etc/mplayer/input.conf \
/usr/etc/mplayer/codecs.conf \
"
-inherit autotools pkgconfig
+inherit autotools-brokensep pkgconfig
EXTRA_OECONF = " \
--prefix=/usr \
@@ -141,4 +141,5 @@ do_install() {
install ${S}/etc/input.conf ${D}/usr/etc/mplayer/
install ${S}/etc/example.conf ${D}/usr/etc/mplayer/
install ${S}/etc/codecs.conf ${D}/usr/etc/mplayer/
+ [ -e ${D}/usr/lib ] && rmdir ${D}/usr/lib
}
diff --git a/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb b/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb
index 7ceab7b5b8..9264bc224d 100644
--- a/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb
+++ b/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=b1a795ac1a06805cf8fd74920bc46b5c"
DEPENDS = "flac libav jpeg sqlite3 libexif libogg libid3tag"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}_${PV}_src.tar.gz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}_${PV}_src.tar.gz \
file://search-for-headers-in-staging-dir.patch \
file://fix-makefile.patch \
"
diff --git a/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb b/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb
index ebcfd127f1..098b08d476 100644
--- a/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb
+++ b/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb
@@ -1,6 +1,6 @@
SUMMARY = "Freedesktop sound theme"
HOMEPAGE = "http://freedesktop.org/wiki/Specifications/sound-theme-spec"
-LICENSE = "GPLv2+ CC-BY-3.0 CC-BY-SA-3.0"
+LICENSE = "GPLv2+ & CC-BY-3.0 & CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://CREDITS;md5=3213e601ce34bb42ddc3498903ac4e69"
# glib-2.0 for glib-gettext.m4 which provides AM_GLIB_GNU_GETTEXT
diff --git a/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb b/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb
deleted file mode 100644
index 86e5364df0..0000000000
--- a/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Media controller control application"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d749e86a105281d7a44c2328acebc4b0"
-
-DEPENDS = "linux-libc-headers"
-
-SRC_URI = "git://git.ideasonboard.org/media-ctl.git"
-SRCREV = "a6ec4a37028952ffd6e62eb52648cf66248eb519"
-
-PV = "0.0.1"
-PR = "r4"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--with-kernel-headers=${STAGING_EXECPREFIXDIR}"
-
-PACKAGES =+ "libmediactl libv4l2subdev"
-FILES_libmediactl = "${libdir}/libmediactl${SOLIBS}"
-FILES_libv4l2subdev = "${libdir}/libv4l2subdev${SOLIBS}"
-
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.0.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb
index 6c25c90683..219ed1526f 100644
--- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.0.1.bb
+++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb
@@ -3,16 +3,17 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
-DEPENDS = "jpeg virtual/libx11"
+DEPENDS = "jpeg \
+ ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
-inherit autotools gettext
+inherit autotools gettext pkgconfig
# libv4l was absorbed into this, let OE know that
PROVIDES = "libv4l"
SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2"
-SRC_URI[md5sum] = "b06ea8b15e27cff352b4536e835448bc"
-SRC_URI[sha256sum] = "fc0132e82a18dfad9619be3abf50c206e2f449b1c14440cde36f25874fdce7df"
+SRC_URI[md5sum] = "9cb3c178f937954e65bf30920af433ef"
+SRC_URI[sha256sum] = "d3d6eb1f0204fb11f3d318bfca35d5f73cc077f88fac7665a47856a16496be7d"
EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev"
@@ -21,6 +22,7 @@ PACKAGES =+ "rc-keymaps libv4l libv4l-dbg libv4l-dev"
FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
FILES_${PN} = "${bindir} ${sbindir} ${base_libdir}/udev/rules.d/70-infrared.rules"
FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
+ ${libdir}/libdvbv5*${SOLIBS} \
${libdir}/libv4l/*-decomp"
FILES_libv4l-dbg += "${libdir}/libv4l/.debug ${libdir}/libv4l/plugins/.debug"
FILES_libv4l-dev += "${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch b/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch
index 430836fee1..41a5dbf4fd 100644
--- a/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch
+++ b/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch
@@ -1,18 +1,35 @@
-From 1146a0f01fc8730d5633b46b85d00154a721abbe Mon Sep 17 00:00:00 2001
+From 141d3b3593722eb3d588e7c4b1542f810bc25853 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 22 Jun 2012 12:40:23 +0200
+Date: Thu, 5 Jun 2014 11:29:20 -0500
Subject: [PATCH] Add stdout mode to allow streaming over the network with nc
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
---
- yavta.c | 288 ++++++++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 157 insertions(+), 131 deletions(-)
+ yavta.c | 315 ++++++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 169 insertions(+), 146 deletions(-)
diff --git a/yavta.c b/yavta.c
-index f3deae0..8020209 100644
+index 32adc26..b398da0 100644
--- a/yavta.c
+++ b/yavta.c
-@@ -188,12 +188,12 @@ static int video_open(struct device *dev, const char *devname, int no_query)
+@@ -309,7 +309,7 @@ static bool video_has_fd(struct device *dev)
+ static int video_set_fd(struct device *dev, int fd)
+ {
+ if (video_has_fd(dev)) {
+- printf("Can't set fd (already open).\n");
++ fprintf(stderr, "Can't set fd (already open).\n");
+ return -1;
+ }
+
+@@ -321,18 +321,18 @@ static int video_set_fd(struct device *dev, int fd)
+ static int video_open(struct device *dev, const char *devname)
+ {
+ if (video_has_fd(dev)) {
+- printf("Can't open device (already open).\n");
++ fprintf(stderr, "Can't open device (already open).\n");
+ return -1;
+ }
dev->fd = open(devname, O_RDWR);
if (dev->fd < 0) {
@@ -25,25 +42,27 @@ index f3deae0..8020209 100644
- printf("Device %s opened.\n", devname);
+ fprintf(stderr, "Device %s opened.\n", devname);
- if (no_query) {
- /* Assume capture device. */
-@@ -211,13 +211,13 @@ static int video_open(struct device *dev, const char *devname, int no_query)
- else if (cap.capabilities & V4L2_CAP_VIDEO_OUTPUT)
- dev->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
- else {
-- printf("Error opening device %s: neither video capture "
-+ fprintf(stderr, "Error opening device %s: neither video capture "
- "nor video output supported.\n", devname);
- close(dev->fd);
+ dev->opened = 1;
+
+@@ -352,7 +352,7 @@ static int video_querycap(struct device *dev, unsigned int *capabilities)
+ *capabilities = cap.capabilities & V4L2_CAP_DEVICE_CAPS
+ ? cap.device_caps : cap.capabilities;
+
+- printf("Device `%s' on `%s' is a video %s (%s mplanes) device.\n",
++ fprintf(stderr, "Device `%s' on `%s' is a video %s (%s mplanes) device.\n",
+ cap.card, cap.bus_info,
+ video_is_capture(dev) ? "capture" : "output",
+ video_is_mplane(dev) ? "with" : "without");
+@@ -370,7 +370,7 @@ static int cap_get_buf_type(unsigned int capabilities)
+ } else if (capabilities & V4L2_CAP_VIDEO_OUTPUT) {
+ return V4L2_BUF_TYPE_VIDEO_OUTPUT;
+ } else {
+- printf("Device supports neither capture nor output.\n");
++ fprintf(stderr, "Device supports neither capture nor output.\n");
return -EINVAL;
}
-- printf("Device `%s' on `%s' is a video %s device.\n",
-+ fprintf(stderr, "Device `%s' on `%s' is a video %s device.\n",
- cap.card, cap.bus_info,
- dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE ? "capture" : "output");
- return 0;
-@@ -280,7 +280,7 @@ static int get_control(struct device *dev, unsigned int id, int type,
+@@ -440,7 +440,7 @@ static int get_control(struct device *dev, unsigned int id, int type,
}
}
@@ -52,7 +71,7 @@ index f3deae0..8020209 100644
id, strerror(errno), errno);
return -1;
}
-@@ -322,12 +322,12 @@ static void set_control(struct device *dev, unsigned int id, int type,
+@@ -484,12 +484,12 @@ static void set_control(struct device *dev, unsigned int id, int type,
val = old.value;
}
if (ret == -1) {
@@ -67,7 +86,7 @@ index f3deae0..8020209 100644
id, old_val, val);
}
-@@ -341,7 +341,7 @@ static int video_get_format(struct device *dev)
+@@ -504,7 +504,7 @@ static int video_get_format(struct device *dev)
ret = ioctl(dev->fd, VIDIOC_G_FMT, &fmt);
if (ret < 0) {
@@ -76,16 +95,34 @@ index f3deae0..8020209 100644
errno);
return ret;
}
-@@ -351,7 +351,7 @@ static int video_get_format(struct device *dev)
- dev->bytesperline = fmt.fmt.pix.bytesperline;
- dev->imagesize = fmt.fmt.pix.bytesperline ? fmt.fmt.pix.sizeimage : 0;
+@@ -514,7 +514,7 @@ static int video_get_format(struct device *dev)
+ dev->height = fmt.fmt.pix_mp.height;
+ dev->num_planes = fmt.fmt.pix_mp.num_planes;
+
+- printf("Video format: %s (%08x) %ux%u field %s, %u planes: \n",
++ fprintf(stderr, "Video format: %s (%08x) %ux%u field %s, %u planes: \n",
+ v4l2_format_name(fmt.fmt.pix_mp.pixelformat), fmt.fmt.pix_mp.pixelformat,
+ fmt.fmt.pix_mp.width, fmt.fmt.pix_mp.height,
+ v4l2_field_name(fmt.fmt.pix_mp.field),
+@@ -527,7 +527,7 @@ static int video_get_format(struct device *dev)
+ fmt.fmt.pix_mp.plane_fmt[i].bytesperline ?
+ fmt.fmt.pix_mp.plane_fmt[i].sizeimage : 0;
+
+- printf(" * Stride %u, buffer size %u\n",
++ fprintf(stderr, " * Stride %u, buffer size %u\n",
+ fmt.fmt.pix_mp.plane_fmt[i].bytesperline,
+ fmt.fmt.pix_mp.plane_fmt[i].sizeimage);
+ }
+@@ -539,7 +539,7 @@ static int video_get_format(struct device *dev)
+ dev->plane_fmt[0].bytesperline = fmt.fmt.pix.bytesperline;
+ dev->plane_fmt[0].sizeimage = fmt.fmt.pix.bytesperline ? fmt.fmt.pix.sizeimage : 0;
-- printf("Video format: %s (%08x) %ux%u (stride %u) buffer size %u\n",
-+ fprintf(stderr, "Video format: %s (%08x) %ux%u (stride %u) buffer size %u\n",
- v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat,
- fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline,
- fmt.fmt.pix.sizeimage);
-@@ -374,12 +374,12 @@ static int video_set_format(struct device *dev, unsigned int w, unsigned int h,
+- printf("Video format: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n",
++ fprintf(stderr, "Video format: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n",
+ v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat,
+ fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline,
+ v4l2_field_name(fmt.fmt.pix_mp.field),
+@@ -581,25 +581,25 @@ static int video_set_format(struct device *dev, unsigned int w, unsigned int h,
ret = ioctl(dev->fd, VIDIOC_S_FMT, &fmt);
if (ret < 0) {
@@ -95,12 +132,27 @@ index f3deae0..8020209 100644
return ret;
}
-- printf("Video format set: %s (%08x) %ux%u (stride %u) buffer size %u\n",
-+ fprintf(stderr, "Video format set: %s (%08x) %ux%u (stride %u) buffer size %u\n",
- v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat,
- fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline,
- fmt.fmt.pix.sizeimage);
-@@ -396,16 +396,16 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f
+ if (video_is_mplane(dev)) {
+- printf("Video format set: %s (%08x) %ux%u field %s, %u planes: \n",
++ fprintf(stderr, "Video format set: %s (%08x) %ux%u field %s, %u planes: \n",
+ v4l2_format_name(fmt.fmt.pix_mp.pixelformat), fmt.fmt.pix_mp.pixelformat,
+ fmt.fmt.pix_mp.width, fmt.fmt.pix_mp.height,
+ v4l2_field_name(fmt.fmt.pix_mp.field),
+ fmt.fmt.pix_mp.num_planes);
+
+ for (i = 0; i < fmt.fmt.pix_mp.num_planes; i++) {
+- printf(" * Stride %u, buffer size %u\n",
++ fprintf(stderr, " * Stride %u, buffer size %u\n",
+ fmt.fmt.pix_mp.plane_fmt[i].bytesperline,
+ fmt.fmt.pix_mp.plane_fmt[i].sizeimage);
+ }
+ } else {
+- printf("Video format set: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n",
++ fprintf(stderr, "Video format set: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n",
+ v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat,
+ fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline,
+ v4l2_field_name(fmt.fmt.pix.field),
+@@ -619,16 +619,16 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f
ret = ioctl(dev->fd, VIDIOC_G_PARM, &parm);
if (ret < 0) {
@@ -120,7 +172,7 @@ index f3deae0..8020209 100644
time_per_frame->numerator,
time_per_frame->denominator);
-@@ -414,19 +414,19 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f
+@@ -637,19 +637,19 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f
ret = ioctl(dev->fd, VIDIOC_S_PARM, &parm);
if (ret < 0) {
@@ -143,7 +195,52 @@ index f3deae0..8020209 100644
parm.parm.capture.timeperframe.numerator,
parm.parm.capture.timeperframe.denominator);
return 0;
-@@ -449,12 +449,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs,
+@@ -674,7 +674,7 @@ static int video_buffer_mmap(struct device *dev, struct buffer *buffer,
+ buffer->mem[i] = mmap(0, length, PROT_READ | PROT_WRITE, MAP_SHARED,
+ dev->fd, offset);
+ if (buffer->mem[i] == MAP_FAILED) {
+- printf("Unable to map buffer %u/%u: %s (%d)\n",
++ fprintf(stderr, "Unable to map buffer %u/%u: %s (%d)\n",
+ buffer->idx, i, strerror(errno), errno);
+ return -1;
+ }
+@@ -682,7 +682,7 @@ static int video_buffer_mmap(struct device *dev, struct buffer *buffer,
+ buffer->size[i] = length;
+ buffer->padding[i] = 0;
+
+- printf("Buffer %u/%u mapped at address %p.\n",
++ fprintf(stderr, "Buffer %u/%u mapped at address %p.\n",
+ buffer->idx, i, buffer->mem[i]);
+ }
+
+@@ -697,7 +697,7 @@ static int video_buffer_munmap(struct device *dev, struct buffer *buffer)
+ for (i = 0; i < dev->num_planes; i++) {
+ ret = munmap(buffer->mem[i], buffer->size[i]);
+ if (ret < 0) {
+- printf("Unable to unmap buffer %u/%u: %s (%d)\n",
++ fprintf(stderr, "Unable to unmap buffer %u/%u: %s (%d)\n",
+ buffer->idx, i, strerror(errno), errno);
+ }
+
+@@ -725,7 +725,7 @@ static int video_buffer_alloc_userptr(struct device *dev, struct buffer *buffer,
+ ret = posix_memalign(&buffer->mem[i], page_size,
+ length + offset + padding);
+ if (ret < 0) {
+- printf("Unable to allocate buffer %u/%u (%d)\n",
++ fprintf(stderr, "Unable to allocate buffer %u/%u (%d)\n",
+ buffer->idx, i, ret);
+ return -ENOMEM;
+ }
+@@ -734,7 +734,7 @@ static int video_buffer_alloc_userptr(struct device *dev, struct buffer *buffer,
+ buffer->size[i] = length;
+ buffer->padding[i] = padding;
+
+- printf("Buffer %u/%u allocated at address %p.\n",
++ fprintf(stderr, "Buffer %u/%u allocated at address %p.\n",
+ buffer->idx, i, buffer->mem[i]);
+ }
+
+@@ -809,12 +809,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs,
ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb);
if (ret < 0) {
@@ -158,8 +255,8 @@ index f3deae0..8020209 100644
buffers = malloc(rb.count * sizeof buffers[0]);
if (buffers == NULL)
-@@ -470,35 +470,35 @@ static int video_alloc_buffers(struct device *dev, int nbufs,
- buf.memory = dev->memtype;
+@@ -835,12 +835,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs,
+
ret = ioctl(dev->fd, VIDIOC_QUERYBUF, &buf);
if (ret < 0) {
- printf("Unable to query buffer %u: %s (%d).\n", i,
@@ -167,49 +264,13 @@ index f3deae0..8020209 100644
strerror(errno), errno);
return ret;
}
-- printf("length: %u offset: %u\n", buf.length, buf.m.offset);
-+ fprintf(stderr, "length: %u offset: %u\n", buf.length, buf.m.offset);
-
- switch (dev->memtype) {
- case V4L2_MEMORY_MMAP:
- buffers[i].mem = mmap(0, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, dev->fd, buf.m.offset);
- if (buffers[i].mem == MAP_FAILED) {
-- printf("Unable to map buffer %u: %s (%d)\n", i,
-+ fprintf(stderr, "Unable to map buffer %u: %s (%d)\n", i,
- strerror(errno), errno);
- return ret;
- }
- buffers[i].size = buf.length;
- buffers[i].padding = 0;
-- printf("Buffer %u mapped at address %p.\n", i, buffers[i].mem);
-+ fprintf(stderr, "Buffer %u mapped at address %p.\n", i, buffers[i].mem);
- break;
-
- case V4L2_MEMORY_USERPTR:
- ret = posix_memalign(&buffers[i].mem, page_size, buf.length + offset + padding);
- if (ret < 0) {
-- printf("Unable to allocate buffer %u (%d)\n", i, ret);
-+ fprintf(stderr, "Unable to allocate buffer %u (%d)\n", i, ret);
- return -ENOMEM;
- }
- buffers[i].mem += offset;
- buffers[i].size = buf.length;
- buffers[i].padding = padding;
-- printf("Buffer %u allocated at address %p.\n", i, buffers[i].mem);
-+ fprintf(stderr, "Buffer %u allocated at address %p.\n", i, buffers[i].mem);
- break;
+ get_ts_flags(buf.flags, &ts_type, &ts_source);
+- printf("length: %u offset: %u timestamp type/source: %s/%s\n",
++ fprintf(stderr, "length: %u offset: %u timestamp type/source: %s/%s\n",
+ buf.length, buf.m.offset, ts_type, ts_source);
- default:
-@@ -525,7 +525,7 @@ static int video_free_buffers(struct device *dev)
- case V4L2_MEMORY_MMAP:
- ret = munmap(dev->buffers[i].mem, dev->buffers[i].size);
- if (ret < 0) {
-- printf("Unable to unmap buffer %u: %s (%d)\n", i,
-+ fprintf(stderr, "Unable to unmap buffer %u: %s (%d)\n", i,
- strerror(errno), errno);
- return ret;
- }
-@@ -549,12 +549,12 @@ static int video_free_buffers(struct device *dev)
+ buffers[i].idx = i;
+@@ -899,12 +899,12 @@ static int video_free_buffers(struct device *dev)
ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb);
if (ret < 0) {
@@ -224,7 +285,7 @@ index f3deae0..8020209 100644
free(dev->buffers);
dev->nbufs = 0;
-@@ -589,7 +589,7 @@ static int video_queue_buffer(struct device *dev, int index, enum buffer_fill_mo
+@@ -974,7 +974,7 @@ static int video_queue_buffer(struct device *dev, int index, enum buffer_fill_mo
ret = ioctl(dev->fd, VIDIOC_QBUF, &buf);
if (ret < 0)
@@ -233,7 +294,7 @@ index f3deae0..8020209 100644
strerror(errno), errno);
return ret;
-@@ -602,7 +602,7 @@ static int video_enable(struct device *dev, int enable)
+@@ -987,7 +987,7 @@ static int video_enable(struct device *dev, int enable)
ret = ioctl(dev->fd, enable ? VIDIOC_STREAMON : VIDIOC_STREAMOFF, &type);
if (ret < 0) {
@@ -242,19 +303,20 @@ index f3deae0..8020209 100644
enable ? "start" : "stop", strerror(errno), errno);
return ret;
}
-@@ -623,9 +623,9 @@ static void video_query_menu(struct device *dev, struct v4l2_queryctrl *query)
+@@ -1009,10 +1009,10 @@ static void video_query_menu(struct device *dev, struct v4l2_queryctrl *query,
continue;
if (query->type == V4L2_CTRL_TYPE_MENU)
-- printf(" %u: %.32s\n", menu.index, menu.name);
-+ fprintf(stderr, " %u: %.32s\n", menu.index, menu.name);
+- printf(" %u: %.32s%s\n", menu.index, menu.name,
++ fprintf(stderr, " %u: %.32s%s\n", menu.index, menu.name,
+ menu.index == value ? " (*)" : "");
else
-- printf(" %u: %lld\n", menu.index, menu.value);
-+ fprintf(stderr, " %u: %lld\n", menu.index, menu.value);
+- printf(" %u: %lld%s\n", menu.index, menu.value,
++ fprintf(stderr, " %u: %lld%s\n", menu.index, menu.value,
+ menu.index == value ? " (*)" : "");
};
}
-
-@@ -655,7 +655,7 @@ static void video_list_controls(struct device *dev)
+@@ -1043,7 +1043,7 @@ static void video_list_controls(struct device *dev)
continue;
if (query.type == V4L2_CTRL_TYPE_CTRL_CLASS) {
@@ -263,7 +325,7 @@ index f3deae0..8020209 100644
continue;
}
-@@ -665,7 +665,7 @@ static void video_list_controls(struct device *dev)
+@@ -1053,7 +1053,7 @@ static void video_list_controls(struct device *dev)
else
sprintf(value, "%" PRId64, val64);
@@ -272,7 +334,7 @@ index f3deae0..8020209 100644
query.id, query.name, query.minimum, query.maximum,
query.step, query.default_value, value);
-@@ -677,9 +677,9 @@ static void video_list_controls(struct device *dev)
+@@ -1065,9 +1065,9 @@ static void video_list_controls(struct device *dev)
}
if (nctrls)
@@ -284,7 +346,7 @@ index f3deae0..8020209 100644
}
static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
-@@ -700,30 +700,30 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
+@@ -1088,30 +1088,30 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
break;
if (i != ival.index)
@@ -322,7 +384,7 @@ index f3deae0..8020209 100644
ival.stepwise.min.numerator,
ival.stepwise.min.denominator,
ival.stepwise.max.numerator,
-@@ -731,7 +731,7 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
+@@ -1119,7 +1119,7 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
return;
case V4L2_FRMIVAL_TYPE_STEPWISE:
@@ -331,7 +393,7 @@ index f3deae0..8020209 100644
ival.stepwise.min.numerator,
ival.stepwise.min.denominator,
ival.stepwise.max.numerator,
-@@ -761,23 +761,23 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
+@@ -1149,23 +1149,23 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
break;
if (i != frame.index)
@@ -360,7 +422,7 @@ index f3deae0..8020209 100644
frame.stepwise.min_width,
frame.stepwise.min_height,
frame.stepwise.max_width,
-@@ -785,11 +785,11 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
+@@ -1173,11 +1173,11 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
video_enum_frame_intervals(dev, frame.pixel_format,
frame.stepwise.max_width,
frame.stepwise.max_height);
@@ -374,7 +436,7 @@ index f3deae0..8020209 100644
frame.stepwise.min_width,
frame.stepwise.min_height,
frame.stepwise.max_width,
-@@ -799,7 +799,7 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
+@@ -1187,7 +1187,7 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
video_enum_frame_intervals(dev, frame.pixel_format,
frame.stepwise.max_width,
frame.stepwise.max_height);
@@ -383,7 +445,7 @@ index f3deae0..8020209 100644
break;
default:
-@@ -823,19 +823,19 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type)
+@@ -1211,19 +1211,19 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type)
break;
if (i != fmt.index)
@@ -409,7 +471,7 @@ index f3deae0..8020209 100644
}
}
-@@ -853,13 +853,13 @@ static void video_enum_inputs(struct device *dev)
+@@ -1241,13 +1241,13 @@ static void video_enum_inputs(struct device *dev)
break;
if (i != input.index)
@@ -426,7 +488,7 @@ index f3deae0..8020209 100644
}
static int video_get_input(struct device *dev)
-@@ -869,7 +869,7 @@ static int video_get_input(struct device *dev)
+@@ -1257,7 +1257,7 @@ static int video_get_input(struct device *dev)
ret = ioctl(dev->fd, VIDIOC_G_INPUT, &input);
if (ret < 0) {
@@ -435,7 +497,7 @@ index f3deae0..8020209 100644
strerror(errno), errno);
return ret;
}
-@@ -884,7 +884,7 @@ static int video_set_input(struct device *dev, unsigned int input)
+@@ -1272,7 +1272,7 @@ static int video_set_input(struct device *dev, unsigned int input)
ret = ioctl(dev->fd, VIDIOC_S_INPUT, &_input);
if (ret < 0)
@@ -444,7 +506,7 @@ index f3deae0..8020209 100644
strerror(errno), errno);
return ret;
-@@ -903,14 +903,14 @@ static int video_set_quality(struct device *dev, unsigned int quality)
+@@ -1291,14 +1291,14 @@ static int video_set_quality(struct device *dev, unsigned int quality)
ret = ioctl(dev->fd, VIDIOC_S_JPEGCOMP, &jpeg);
if (ret < 0) {
@@ -461,87 +523,99 @@ index f3deae0..8020209 100644
return 0;
}
-@@ -930,7 +930,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
-
- if (filename == NULL) {
- if (dev->bytesperline == 0) {
-- printf("Compressed format detect and no test pattern filename given.\n"
-+ fprintf(stderr, "Compressed format detect and no test pattern filename given.\n"
- "The test pattern can't be generated automatically.\n");
- return -EINVAL;
+@@ -1313,7 +1313,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
+ if (filename != NULL) {
+ fd = open(filename, O_RDONLY);
+ if (fd == -1) {
+- printf("Unable to open test pattern file '%s': %s (%d).\n",
++ fprintf(stderr, "Unable to open test pattern file '%s': %s (%d).\n",
+ filename, strerror(errno), errno);
+ return -errno;
}
-@@ -947,7 +947,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
+@@ -1331,7 +1331,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
+ if (filename != NULL) {
+ ret = read(fd, dev->pattern[plane], size);
+ if (ret != (int)size && dev->plane_fmt[plane].bytesperline != 0) {
+- printf("Test pattern file size %u doesn't match image size %u\n",
++ fprintf(stderr, "Test pattern file size %u doesn't match image size %u\n",
+ ret, size);
+ ret = -EINVAL;
+ goto done;
+@@ -1341,7 +1341,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
+ unsigned int i;
+
+ if (dev->plane_fmt[plane].bytesperline == 0) {
+- printf("Compressed format detected for plane %u and no test pattern filename given.\n"
++ fprintf(stderr, "Compressed format detected for plane %u and no test pattern filename given.\n"
+ "The test pattern can't be generated automatically.\n", plane);
+ ret = -EINVAL;
+ goto done;
+@@ -1410,7 +1410,7 @@ static void video_verify_buffer(struct device *dev, struct v4l2_buffer *buf)
- fd = open(filename, O_RDONLY);
- if (fd == -1) {
-- printf("Unable to open test pattern file '%s': %s (%d).\n",
-+ fprintf(stderr, "Unable to open test pattern file '%s': %s (%d).\n",
- filename, strerror(errno), errno);
- return -errno;
- }
-@@ -956,7 +956,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
- close(fd);
+ if (dev->plane_fmt[plane].sizeimage &&
+ dev->plane_fmt[plane].sizeimage != length)
+- printf("Warning: bytes used %u != image size %u for plane %u\n",
++ fprintf(stderr, "Warning: bytes used %u != image size %u for plane %u\n",
+ length, dev->plane_fmt[plane].sizeimage, plane);
- if (ret != (int)size && dev->bytesperline != 0) {
-- printf("Test pattern file size %u doesn't match image size %u\n",
-+ fprintf(stderr, "Test pattern file size %u doesn't match image size %u\n",
- ret, size);
- return -EINVAL;
- }
-@@ -1012,16 +1012,16 @@ static void video_verify_buffer(struct device *dev, int index)
- }
+ if (buffer->padding[plane] == 0)
+@@ -1424,16 +1424,16 @@ static void video_verify_buffer(struct device *dev, struct v4l2_buffer *buf)
+ }
- if (errors) {
-- printf("Warning: %u bytes overwritten among %u first padding bytes\n",
-+ fprintf(stderr, "Warning: %u bytes overwritten among %u first padding bytes\n",
- errors, dirty);
+ if (errors) {
+- printf("Warning: %u bytes overwritten among %u first padding bytes for plane %u\n",
++ fprintf(stderr, "Warning: %u bytes overwritten among %u first padding bytes for plane %u\n",
+ errors, dirty, plane);
- dirty = (dirty + 15) & ~15;
- dirty = dirty > 32 ? 32 : dirty;
+ dirty = (dirty + 15) & ~15;
+ dirty = dirty > 32 ? 32 : dirty;
- for (i = 0; i < dirty; ++i) {
-- printf("%02x ", data[i]);
-+ fprintf(stderr, "%02x ", data[i]);
- if (i % 16 == 15)
-- printf("\n");
-+ fprintf(stderr, "\n");
+ for (i = 0; i < dirty; ++i) {
+- printf("%02x ", data[i]);
++ fprintf(stderr, "%02x ", data[i]);
+ if (i % 16 == 15)
+- printf("\n");
++ fprintf(stderr, "\n");
+ }
}
}
- }
-@@ -1061,15 +1061,29 @@ static void video_save_image(struct device *dev, struct v4l2_buffer *buf,
+@@ -1481,18 +1481,32 @@ static void video_save_image(struct device *dev, struct v4l2_buffer *buf,
+
+ ret = write(fd, dev->buffers[buf->index].mem[i], length);
+ if (ret < 0) {
+- printf("write error: %s (%d)\n", strerror(errno), errno);
++ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno);
+ break;
+ } else if (ret != (int)length)
+- printf("write error: only %d bytes written instead of %u\n",
++ fprintf(stderr, "write error: only %d bytes written instead of %u\n",
+ ret, length);
+ }
close(fd);
+ }
- if (ret < 0)
-- printf("write error: %s (%d)\n", strerror(errno), errno);
-+ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno);
- else if (ret != (int)buf->bytesused)
-- printf("write error: only %d bytes written instead of %u\n",
-+ fprintf(stderr, "write error: only %d bytes written instead of %u\n",
-+ ret, buf->bytesused);
-+}
-+
+static void video_stdout_image(struct device *dev, struct v4l2_buffer *buf)
+{
-+ int ret;
++ int ret;
+
-+ fprintf(stderr, "stdout");
-+ ret = fwrite(dev->buffers[buf->index].mem, buf->bytesused, 1, stdout);
++ fprintf(stderr, "stdout");
++ ret = fwrite(dev->buffers[buf->index].mem, buf->bytesused, 1, stdout);
++
++ if (ret < 0)
++ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno);
++ else if (ret != (int)buf->bytesused)
++ fprintf(stderr, "write error: only %d bytes written instead of %u\n",
++ ret, buf->bytesused);
++}
+
-+ if (ret < 0)
-+ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno);
-+ else if (ret != (int)buf->bytesused)
-+ fprintf(stderr, "write error: only %d bytes written instead of %u\n",
- ret, buf->bytesused);
- }
-
static int video_do_capture(struct device *dev, unsigned int nframes,
unsigned int skip, unsigned int delay, const char *pattern,
- int do_requeue_last, enum buffer_fill_mode fill)
+ int do_requeue_last, enum buffer_fill_mode fill, int do_stdout)
{
- struct timespec start;
- struct timeval last;
-@@ -1099,7 +1113,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+ struct v4l2_plane planes[VIDEO_MAX_PLANES];
+ struct v4l2_buffer buf;
+@@ -1529,7 +1543,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
ret = ioctl(dev->fd, VIDIOC_DQBUF, &buf);
if (ret < 0) {
if (errno != EIO) {
@@ -550,40 +624,26 @@ index f3deae0..8020209 100644
strerror(errno), errno);
goto done;
}
-@@ -1111,7 +1125,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
-
- if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE &&
- dev->imagesize != 0 && buf.bytesused != dev->imagesize)
-- printf("Warning: bytes used %u != image size %u\n",
-+ fprintf(stderr, "Warning: bytes used %u != image size %u\n",
- buf.bytesused, dev->imagesize);
-
- if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
-@@ -1124,7 +1138,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
- fps = fps ? 1000000.0 / fps : 0.0;
+@@ -1550,7 +1564,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
clock_gettime(CLOCK_MONOTONIC, &ts);
-- printf("%u (%u) [%c] %u %u bytes %ld.%06ld %ld.%06ld %.3f fps\n", i, buf.index,
-+ fprintf(stderr, "%u (%u) [%c] %u %u bytes %ld.%06ld %ld.%06ld %.3f fps\n", i, buf.index,
+ get_ts_flags(buf.flags, &ts_type, &ts_source);
+- printf("%u (%u) [%c] %s %u %u B %ld.%06ld %ld.%06ld %.3f fps ts %s/%s\n", i, buf.index,
++ fprintf(stderr, "%u (%u) [%c] %s %u %u B %ld.%06ld %ld.%06ld %.3f fps ts %s/%s\n", i, buf.index,
(buf.flags & V4L2_BUF_FLAG_ERROR) ? 'E' : '-',
+ v4l2_field_name(buf.field),
buf.sequence, buf.bytesused, buf.timestamp.tv_sec,
- buf.timestamp.tv_usec, ts.tv_sec, ts.tv_nsec/1000, fps);
-@@ -1132,8 +1146,13 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
- last = buf.timestamp;
-
- /* Save the image. */
-- if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pattern && !skip)
-+ if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pattern && !skip) {
+@@ -1563,6 +1577,9 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+ if (video_is_capture(dev) && pattern && !skip)
video_save_image(dev, &buf, pattern, i);
-+ }
-+
-+ if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && do_stdout && !skip) {
-+ video_stdout_image(dev, &buf);
-+ }
++ if (video_is_capture(dev) && do_stdout && !skip)
++ video_stdout_image(dev, &buf);
++
if (skip)
--skip;
-@@ -1149,7 +1168,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+
+@@ -1577,7 +1594,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
ret = video_queue_buffer(dev, buf.index, fill);
if (ret < 0) {
@@ -592,7 +652,7 @@ index f3deae0..8020209 100644
strerror(errno), errno);
goto done;
}
-@@ -1159,7 +1178,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+@@ -1587,7 +1604,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
video_enable(dev, 0);
if (nframes == 0) {
@@ -601,7 +661,7 @@ index f3deae0..8020209 100644
goto done;
}
-@@ -1176,7 +1195,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+@@ -1604,7 +1621,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
bps = size/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0;
fps = i/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0;
@@ -610,12 +670,14 @@ index f3deae0..8020209 100644
i, ts.tv_sec, ts.tv_nsec/1000, fps, bps);
done:
-@@ -1188,37 +1207,38 @@ done:
+@@ -1616,42 +1633,42 @@ done:
static void usage(const char *argv0)
{
- printf("Usage: %s [options] device\n", argv0);
- printf("Supported options:\n");
+- printf("-B, --buffer-type Buffer type (\"capture\", \"output\",\n");
+- printf(" \"capture-mplane\" or \"output-mplane\")\n");
- printf("-c, --capture[=nframes] Capture frames\n");
- printf("-C, --check-overrun Verify dequeued frames for buffer overrun\n");
- printf("-d, --delay Delay (in ms) before requeuing buffers\n");
@@ -639,14 +701,19 @@ index f3deae0..8020209 100644
- printf("-w, --set-control 'ctrl value' Set control 'ctrl' to 'value'\n");
- printf(" --enum-formats Enumerate formats\n");
- printf(" --enum-inputs Enumerate inputs\n");
+- printf(" --fd Use a numeric file descriptor insted of a device\n");
+- printf(" --field Interlaced format field order\n");
- printf(" --no-query Don't query capabilities on open\n");
- printf(" --offset User pointer buffer offset from page start\n");
- printf(" --requeue-last Requeue the last buffers before streamoff\n");
+- printf(" --timestamp-source Set timestamp source on output buffers [eof, soe]\n");
- printf(" --skip n Skip the first n frames\n");
- printf(" --sleep-forever Sleep forever after configuring the device\n");
- printf(" --stride value Line stride in bytes\n");
+ fprintf(stderr, "Usage: %s [options] device\n", argv0);
+ fprintf(stderr, "Supported options:\n");
++ fprintf(stderr, "-B, --buffer-type Buffer type (\"capture\", \"output\",\n");
++ fprintf(stderr, " \"capture-mplane\" or \"output-mplane\")\n");
+ fprintf(stderr, "-c, --capture[=nframes] Capture frames\n");
+ fprintf(stderr, "-C, --check-overrun Verify dequeued frames for buffer overrun\n");
+ fprintf(stderr, "-d, --delay Delay (in ms) before requeuing buffers\n");
@@ -655,7 +722,6 @@ index f3deae0..8020209 100644
+ fprintf(stderr, "\tFor video capture devices, the first '#' character in the file name is\n");
+ fprintf(stderr, "\texpanded to the frame sequence number. The default file name is\n");
+ fprintf(stderr, "\t'frame-#.bin'.\n");
-+ fprintf(stderr, " --stdout write frames to stdout\n");
+ fprintf(stderr, "-h, --help Show this help screen\n");
+ fprintf(stderr, "-i, --input input Select the video input\n");
+ fprintf(stderr, "-I, --fill-frames Fill frames with check pattern before queuing them\n");
@@ -671,32 +737,35 @@ index f3deae0..8020209 100644
+ fprintf(stderr, "-w, --set-control 'ctrl value' Set control 'ctrl' to 'value'\n");
+ fprintf(stderr, " --enum-formats Enumerate formats\n");
+ fprintf(stderr, " --enum-inputs Enumerate inputs\n");
++ fprintf(stderr, " --fd Use a numeric file descriptor insted of a device\n");
++ fprintf(stderr, " --field Interlaced format field order\n");
+ fprintf(stderr, " --no-query Don't query capabilities on open\n");
+ fprintf(stderr, " --offset User pointer buffer offset from page start\n");
+ fprintf(stderr, " --requeue-last Requeue the last buffers before streamoff\n");
++ fprintf(stderr, " --timestamp-source Set timestamp source on output buffers [eof, soe]\n");
+ fprintf(stderr, " --skip n Skip the first n frames\n");
+ fprintf(stderr, " --sleep-forever Sleep forever after configuring the device\n");
+ fprintf(stderr, " --stride value Line stride in bytes\n");
}
#define OPT_ENUM_FORMATS 256
-@@ -1229,6 +1249,7 @@ static void usage(const char *argv0)
- #define OPT_USERPTR_OFFSET 261
- #define OPT_REQUEUE_LAST 262
- #define OPT_STRIDE 263
-+#define OPT_STDOUT 264
+@@ -1665,6 +1682,7 @@ static void usage(const char *argv0)
+ #define OPT_FD 264
+ #define OPT_TSTAMP_SRC 265
+ #define OPT_FIELD 266
++#define OPT_STDOUT 267
static struct option opts[] = {
- {"capture", 2, 0, 'c'},
-@@ -1238,6 +1259,7 @@ static struct option opts[] = {
- {"enum-inputs", 0, 0, OPT_ENUM_INPUTS},
+ {"buffer-type", 1, 0, 'B'},
+@@ -1677,6 +1695,7 @@ static struct option opts[] = {
+ {"field", 1, 0, OPT_FIELD},
{"file", 2, 0, 'F'},
{"fill-frames", 0, 0, 'I'},
+ {"stdout", 0, 0, OPT_STDOUT},
{"format", 1, 0, 'f'},
{"help", 0, 0, 'h'},
{"input", 1, 0, 'i'},
-@@ -1274,7 +1296,8 @@ int main(int argc, char *argv[])
+@@ -1717,7 +1736,8 @@ int main(int argc, char *argv[])
int do_list_controls = 0, do_get_control = 0, do_set_control = 0;
int do_sleep_forever = 0, do_requeue_last = 0;
int do_rt = 0;
@@ -706,16 +775,25 @@ index f3deae0..8020209 100644
char *endptr;
int c;
-@@ -1321,7 +1344,7 @@ int main(int argc, char *argv[])
+@@ -1755,7 +1775,7 @@ int main(int argc, char *argv[])
+ case 'B':
+ ret = v4l2_buf_type_from_string(optarg);
+ if (ret == -1) {
+- printf("Bad buffer type \"%s\"\n", optarg);
++ fprintf(stderr, "Bad buffer type \"%s\"\n", optarg);
+ return 1;
+ }
+ video_set_buf_type(&dev, ret);
+@@ -1775,7 +1795,7 @@ int main(int argc, char *argv[])
do_set_format = 1;
- pixelformat = v4l2_format_code(optarg);
- if (pixelformat == 0) {
+ info = v4l2_format_by_name(optarg);
+ if (info == NULL) {
- printf("Unsupported video format '%s'\n", optarg);
+ fprintf(stderr, "Unsupported video format '%s'\n", optarg);
return 1;
}
- break;
-@@ -1357,7 +1380,7 @@ int main(int argc, char *argv[])
+ pixelformat = info->fourcc;
+@@ -1812,7 +1832,7 @@ int main(int argc, char *argv[])
case 'r':
ctrl_name = strtol(optarg, &endptr, 0);
if (*endptr != 0) {
@@ -724,7 +802,7 @@ index f3deae0..8020209 100644
return 1;
}
do_get_control = 1;
-@@ -1371,12 +1394,12 @@ int main(int argc, char *argv[])
+@@ -1826,12 +1846,12 @@ int main(int argc, char *argv[])
do_set_format = 1;
width = strtol(optarg, &endptr, 10);
if (*endptr != 'x' || endptr == optarg) {
@@ -739,7 +817,7 @@ index f3deae0..8020209 100644
return 1;
}
break;
-@@ -1384,12 +1407,12 @@ int main(int argc, char *argv[])
+@@ -1839,12 +1859,12 @@ int main(int argc, char *argv[])
do_set_time_per_frame = 1;
time_per_frame.numerator = strtol(optarg, &endptr, 10);
if (*endptr != '/' || endptr == optarg) {
@@ -754,7 +832,7 @@ index f3deae0..8020209 100644
return 1;
}
break;
-@@ -1399,12 +1422,12 @@ int main(int argc, char *argv[])
+@@ -1854,12 +1874,12 @@ int main(int argc, char *argv[])
case 'w':
ctrl_name = strtol(optarg, &endptr, 0);
if (*endptr != ' ' || endptr == optarg) {
@@ -769,7 +847,35 @@ index f3deae0..8020209 100644
return 1;
}
do_set_control = 1;
-@@ -1433,15 +1456,18 @@ int main(int argc, char *argv[])
+@@ -1873,16 +1893,16 @@ int main(int argc, char *argv[])
+ case OPT_FD:
+ ret = atoi(optarg);
+ if (ret < 0) {
+- printf("Bad file descriptor %d\n", ret);
++ fprintf(stderr, "Bad file descriptor %d\n", ret);
+ return 1;
+ }
+- printf("Using file descriptor %d\n", ret);
++ fprintf(stderr, "Using file descriptor %d\n", ret);
+ video_set_fd(&dev, ret);
+ break;
+ case OPT_FIELD:
+ field = v4l2_field_from_string(optarg);
+ if (field == (enum v4l2_field)-1) {
+- printf("Invalid field order '%s'\n", optarg);
++ fprintf(stderr, "Invalid field order '%s'\n", optarg);
+ return 1;
+ }
+ break;
+@@ -1907,22 +1927,25 @@ int main(int argc, char *argv[])
+ } else if (!strcmp(optarg, "soe")) {
+ dev.buffer_output_flags |= V4L2_BUF_FLAG_TSTAMP_SRC_SOE;
+ } else {
+- printf("Invalid timestamp source %s\n", optarg);
++ fprintf(stderr, "Invalid timestamp source %s\n", optarg);
+ return 1;
+ }
+ break;
case OPT_USERPTR_OFFSET:
userptr_offset = atoi(optarg);
break;
@@ -791,7 +897,7 @@ index f3deae0..8020209 100644
return 1;
}
-@@ -1470,7 +1496,7 @@ int main(int argc, char *argv[])
+@@ -1959,7 +1982,7 @@ int main(int argc, char *argv[])
ret = get_control(&dev, ctrl_name,
get_control_type(&dev, ctrl_name), &val);
if (ret >= 0)
@@ -800,15 +906,16 @@ index f3deae0..8020209 100644
}
if (do_set_control)
-@@ -1481,21 +1507,21 @@ int main(int argc, char *argv[])
+@@ -1970,7 +1993,7 @@ int main(int argc, char *argv[])
video_list_controls(&dev);
if (do_enum_formats) {
- printf("- Available formats:\n");
+ fprintf(stderr, "- Available formats:\n");
video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_CAPTURE);
+ video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_OUTPUT);
- video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_OVERLAY);
+@@ -1979,14 +2002,14 @@ int main(int argc, char *argv[])
}
if (do_enum_inputs) {
@@ -825,7 +932,7 @@ index f3deae0..8020209 100644
}
/* Set the video format. */
-@@ -1537,7 +1563,7 @@ int main(int argc, char *argv[])
+@@ -2028,7 +2051,7 @@ int main(int argc, char *argv[])
}
if (do_pause) {
@@ -834,7 +941,7 @@ index f3deae0..8020209 100644
getchar();
}
-@@ -1546,12 +1572,12 @@ int main(int argc, char *argv[])
+@@ -2037,12 +2060,12 @@ int main(int argc, char *argv[])
sched.sched_priority = rt_priority;
ret = sched_setscheduler(0, SCHED_RR, &sched);
if (ret < 0)
@@ -850,5 +957,5 @@ index f3deae0..8020209 100644
return 1;
}
--
-1.7.10
+1.7.9.5
diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb
index a20f5915cf..d4e32dea48 100644
--- a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb
+++ b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb
@@ -4,12 +4,17 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "git://git.ideasonboard.org/yavta.git \
file://0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch"
-SRCREV = "82ff2efdb9787737b9f21b6f4759f077c827b238"
+SRCREV = "7e9f28bedc1ed3205fb5164f686aea96f27a0de2"
PV = "0.0"
PR = "r2"
S = "${WORKDIR}/git"
+# The yavta sources include copies of the headers required to build in the
+# include directory. The Makefile uses CFLAGS to include these, but since
+# we override the CFLAGS then we need to add this include path back in.
+CFLAGS += "-I${S}/include"
+
do_install() {
install -d ${D}${bindir}
install -m 0755 yavta ${D}${bindir}
diff --git a/meta-oe/recipes-multimedia/webm/libvpx.inc b/meta-oe/recipes-multimedia/webm/libvpx.inc
deleted file mode 100644
index 4d8ba9d825..0000000000
--- a/meta-oe/recipes-multimedia/webm/libvpx.inc
+++ /dev/null
@@ -1,38 +0,0 @@
-DESCRIPTION = "vpx Multi-Format Codec SDK"
-LICENSE = "BSD"
-
-INC_PR = "r3"
-
-SRC_URI = "http://webm.googlecode.com/files/libvpx-v${PV}.tar.bz2"
-S = "${WORKDIR}/libvpx-v${PV}"
-
-# ffmpeg links with this and fails
-# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
-ARM_INSTRUCTION_SET = "arm"
-
-CFLAGS += "-fPIC"
-
-export CC
-export LD = "${CC}"
-
-VPXTARGET_armv5te = "armv5te-linux-gcc"
-VPXTARGET_armv6 = "armv6-linux-gcc"
-VPXTARGET_armv7a = "armv7-linux-gcc"
-VPXTARGET ?= "generic-gnu"
-
-CONFIGUREOPTS = " \
- --target=${VPXTARGET} \
- --enable-vp8 \
- --enable-libs \
- --disable-install-docs \
-"
-do_configure() {
- ${S}/configure ${CONFIGUREOPTS}
-}
-do_compile() {
- oe_runmake
-}
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
diff --git a/meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch b/meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch
new file mode 100644
index 0000000000..bf94b2dce8
--- /dev/null
+++ b/meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch
@@ -0,0 +1,40 @@
+From f45fe1668401d72c2937a52385b492216715c0f9 Mon Sep 17 00:00:00 2001
+From: James Zern <jzern@google.com>
+Date: Thu, 6 Mar 2014 15:58:37 -0800
+Subject: [PATCH] configure.sh: quote local variables
+
+fixes issue #711
+
+specifying a multiword CC, e.g., CC='gcc -m32', would cause the failure
+under dash
+
+reported in
+https://bugs.gentoo.org/show_bug.cgi?id=498136
+
+patch by floppymaster at gmail dot com
+
+Upstream-Status: Backport [f45fe1668401d72c2937a52385b492216715c0f9]
+
+Change-Id: I2ba246f765646161538622739961ec0f6c2d8c2d
+---
+ build/make/configure.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/build/make/configure.sh b/build/make/configure.sh
+index 449d1b9..43f8e77 100755
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -405,8 +405,8 @@ true
+ }
+
+ write_common_target_config_mk() {
+- local CC=${CC}
+- local CXX=${CXX}
++ local CC="${CC}"
++ local CXX="${CXX}"
+ enabled ccache && CC="ccache ${CC}"
+ enabled ccache && CXX="ccache ${CXX}"
+ print_webm_license $1 "##" ""
+--
+1.8.3.2
+
diff --git a/meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch b/meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch
deleted file mode 100644
index 37f5108a51..0000000000
--- a/meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From: John Koleszar <jkoleszar@google.com>
-Date: Thu, 4 Nov 2010 20:59:26 +0000 (-0400)
-Subject: fix integer promotion bug in partition size check
-X-Git-Url: https://review.webmproject.org/gitweb?p=libvpx.git;a=commitdiff_plain;h=9fb80f7170ec48e23c3c7b477149eeb37081c699
-
-fix integer promotion bug in partition size check
-
-The check '(user_data_end - partition < partition_size)' must be
-evaluated as a signed comparison, but because partition_size was
-unsigned, the LHS was promoted to unsigned, causing an incorrect
-result on 32-bit. Instead, check the upper and lower bounds of
-the segment separately.
-
-Change-Id: I6266aba7fd7de084268712a3d2a81424ead7aa06
----
-
-diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c
-index 2d81d61..f5e49a1 100644
---- a/vp8/decoder/decodframe.c
-+++ b/vp8/decoder/decodframe.c
-@@ -462,7 +462,8 @@ static void setup_token_decoder(VP8D_COMP *pbi,
- partition_size = user_data_end - partition;
- }
-
-- if (user_data_end - partition < partition_size)
-+ if (partition + partition_size > user_data_end
-+ || partition + partition_size < partition)
- vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME,
- "Truncated packet or corrupt partition "
- "%d length", i + 1);
-@@ -580,7 +581,8 @@ int vp8_decode_frame(VP8D_COMP *pbi)
- (data[0] | (data[1] << 8) | (data[2] << 16)) >> 5;
- data += 3;
-
-- if (data_end - data < first_partition_length_in_bytes)
-+ if (data + first_partition_length_in_bytes > data_end
-+ || data + first_partition_length_in_bytes < data)
- vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME,
- "Truncated packet or corrupt partition 0 length");
- vp8_setup_version(pc);
-diff --git a/vp8/vp8_dx_iface.c b/vp8/vp8_dx_iface.c
-index e7e5356..f0adf5b 100644
---- a/vp8/vp8_dx_iface.c
-+++ b/vp8/vp8_dx_iface.c
-@@ -253,8 +253,11 @@ static vpx_codec_err_t vp8_peek_si(const uint8_t *data,
- unsigned int data_sz,
- vpx_codec_stream_info_t *si)
- {
--
- vpx_codec_err_t res = VPX_CODEC_OK;
-+
-+ if(data + data_sz <= data)
-+ res = VPX_CODEC_INVALID_PARAM;
-+ else
- {
- /* Parse uncompresssed part of key frame header.
- * 3 bytes:- including version, frame type and an offset
-@@ -331,7 +334,10 @@ static vpx_codec_err_t vp8_decode(vpx_codec_alg_priv_t *ctx,
-
- ctx->img_avail = 0;
-
-- /* Determine the stream parameters */
-+ /* Determine the stream parameters. Note that we rely on peek_si to
-+ * validate that we have a buffer that does not wrap around the top
-+ * of the heap.
-+ */
- if (!ctx->si.h)
- res = ctx->base.iface->dec.peek_si(data, data_sz, &ctx->si);
-
diff --git a/meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch b/meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch
deleted file mode 100644
index d871694215..0000000000
--- a/meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-
-Upstream-Status: Inappopriate [upstream has it done in other way]
-
-Problem is solved upstream but we have quite old version so backporting patches
-is waste of time.
-
----
- build/make/configure.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- libvpx-v0.9.5.orig/build/make/configure.sh
-+++ libvpx-v0.9.5/build/make/configure.sh
-@@ -659,12 +659,12 @@ process_common_toolchain() {
- if enabled iwmmxt || enabled iwmmxt2
- then
- check_add_asflags -mcpu=${tgt_isa}
- elif enabled armv7
- then
-- check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-ftree-vectorize
-- check_add_asflags -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-march=armv7-a
-+ check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfpu=neon #-ftree-vectorize
-+ check_add_asflags -mcpu=cortex-a8 -mfpu=neon #-march=armv7-a
- else
- check_add_cflags -march=${tgt_isa}
- check_add_asflags -march=${tgt_isa}
- fi
-
diff --git a/meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb b/meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb
deleted file mode 100644
index 597d0e14ce..0000000000
--- a/meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require libvpx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6e8dee932c26f2dab503abf70c96d8bb"
-
-PR = "${INC_PR}.0"
-
-SRC_URI += "file://libvpx-configure-support-blank-prefix.patch \
- file://do-not-hardcode-softfp-float-api.patch \
- file://CVE-2010-4203.patch \
-"
-
-SRC_URI[md5sum] = "4bf2f2c76700202c1fe9201fcb0680e3"
-SRC_URI[sha256sum] = "2e93968afcded113a7e218de047feecf6659a089058803a9e40fb687de5f9bfa"
-
-CONFIGUREOPTS += " \
- --prefix=${prefix} \
- --libdir=${libdir} \
-"
-
diff --git a/meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb b/meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb
new file mode 100644
index 0000000000..eb19a576da
--- /dev/null
+++ b/meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb
@@ -0,0 +1,55 @@
+SUMMARY = "VPX multi-format codec"
+DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
+HOMEPAGE = "http://www.webmproject.org/code/"
+BUGTRACKER = "http://code.google.com/p/webm/issues/list"
+SECTION = "libs/multimedia"
+LICENSE = "BSD"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
+
+SRC_URI += "http://webm.googlecode.com/files/libvpx-v${PV}.tar.bz2 \
+ file://libvpx-configure-support-blank-prefix.patch \
+ file://0001-configure.sh-quote-local-variables.patch"
+SRC_URI[md5sum] = "14783a148872f2d08629ff7c694eb31f"
+SRC_URI[sha256sum] = "d3dcc8d84af51c6c382b214397c62402e37a799e8ebcda6f4217aef0010451a9"
+
+S = "${WORKDIR}/libvpx-v${PV}"
+
+# ffmpeg links with this and fails
+# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
+ARM_INSTRUCTION_SET = "arm"
+
+CFLAGS += "-fPIC"
+
+export CC
+export LD = "${CC}"
+
+VPXTARGET_armv5te = "armv5te-linux-gcc"
+VPXTARGET_armv6 = "armv6-linux-gcc"
+VPXTARGET_armv7a = "armv7-linux-gcc"
+VPXTARGET ?= "generic-gnu"
+
+CONFIGUREOPTS = " \
+ --target=${VPXTARGET} \
+ --enable-vp8 \
+ --enable-vp9 \
+ --enable-libs \
+ --disable-install-docs \
+ --disable-static \
+ --enable-shared \
+ --prefix=${prefix} \
+ --libdir=${libdir} \
+"
+
+do_configure() {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
diff --git a/meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb b/meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb
new file mode 100644
index 0000000000..7663b3b0bb
--- /dev/null
+++ b/meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb
@@ -0,0 +1,47 @@
+SUMMARY = "WebP is an image format designed for the Web"
+DESCRIPTION = "WebP is a method of lossy and lossless compression that can be \
+ used on a large variety of photographic, translucent and \
+ graphical images found on the web. The degree of lossy \
+ compression is adjustable so a user can choose the trade-off \
+ between file size and image quality. WebP typically achieves \
+ an average of 30% more compression than JPEG and JPEG 2000, \
+ without loss of image quality."
+HOMEPAGE = "https://developers.google.com/speed/webp/"
+SECTION = "libs"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PATENTS;md5=7ec8a34de2073ea13ea2991006246d20"
+
+DEPENDS = "giflib"
+
+SRC_URI = "https://webp.googlecode.com/files/${BP}.tar.gz"
+SRC_URI[md5sum] = "c8dd1d26eb9566833aba269b86d97e68"
+SRC_URI[sha256sum] = "31913577e96386556855b41d210736449445fe96cfbe9289014e9b8afa944d69"
+
+EXTRA_OECONF = " \
+ --disable-experimental \
+ --disable-wic \
+ --enable-libwebpmux \
+ --enable-libwebpdemux \
+ --enable-threading \
+"
+
+inherit autotools lib_package
+
+PACKAGECONFIG ??= ""
+
+# libwebpdecoder is a subset of libwebp, don't build it unless requested
+PACKAGECONFIG[decoder] = "--enable-libwebpdecoder,--disable-libwebpdecoder"
+
+# Apply for examples programs: cwebp and dwebp
+PACKAGECONFIG[jpeg] = ",ac_cv_header_jpeglib_h=no,jpeg"
+PACKAGECONFIG[png] = ",ac_cv_header_png_h=no,libpng"
+PACKAGECONFIG[tiff] = ",ac_cv_header_tiffio_h=no,tiff"
+
+# Apply only for example program vwebp
+PACKAGECONFIG[gl] = ",,mesa-glut"
+
+PACKAGES =+ "${PN}-gif2webp"
+
+DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP"
+FILES_${PN}-gif2webp = "${bindir}/gif2webp"
diff --git a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
index 7cb84ff390..d65546d0b9 100644
--- a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
+++ b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
@@ -5,17 +5,13 @@ DEPENDS = "virtual/libx11 libxext"
LIC_FILES_CHKSUM = "file://COPYING;md5=db043791349ba57ad1169e1c92477cb6"
-SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${PN}/${PN}_${PV}.tar.gz \
+SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${BPN}/${BPN}_${PV}.tar.gz \
file://auxdir.patch;striplevel=0"
S = "${WORKDIR}/xpext-1.0"
-inherit autotools pkgconfig
-
-do_configure_prepend () {
- cd ${S}
- chmod +x ./autogen.sh
- ./autogen.sh
-}
+inherit autotools pkgconfig distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[md5sum] = "1b0cb67b6f2bd7c4abef17648b062896"
SRC_URI[sha256sum] = "a3b06f5188fd9effd0799ae31352b3cd65cb913b964e2c1a923ffa9d3c08abbe"
diff --git a/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb b/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb
index 22d92ca7d8..c7a068df38 100644
--- a/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb
+++ b/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb
@@ -3,11 +3,13 @@ SUMMARY = "X Server Nokia 770 extensions library"
SECTION = "x11/libs"
DEPENDS = "virtual/libx11 libxext xpext"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea2bda168c508c7cd8afa567b2fcc549"
-SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${PN}_${PV}.tar.gz \
+SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${BPN}_${PV}.tar.gz \
file://xsp-fix-pc.patch"
S = "${WORKDIR}/Xsp"
-inherit autotools pkgconfig
+inherit autotools pkgconfig distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[md5sum] = "2a0d8d02228d4cbd28b6e07bb7c17cf5"
SRC_URI[sha256sum] = "8b722b952b64841d996c70c3278499886c81bb5012991beed5f66f4158418f59"
diff --git a/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb b/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb
index 7ed3bf2bfc..101e87e881 100644
--- a/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb
+++ b/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb
@@ -4,9 +4,9 @@ HOMEPAGE = "http://www.foxtrotgps.org/"
SECTION = "x11/applications"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "curl gtk+ libglade sqlite3 libexif gpsd bluez4"
+DEPENDS = "curl gtk+ libglade sqlite3 libexif gpsd bluez4 intltool-native"
-SRC_URI = "http://www.foxtrotgps.org/releases/${P}.tar.gz"
+SRC_URI = "http://www.foxtrotgps.org/releases/${BP}.tar.gz"
SRC_URI[md5sum] = "6777d448ee9d3ba195f9d26ea90e3163"
SRC_URI[sha256sum] = "ae9706285510554cc0813ac92522e0d1672b0ddb065307bfacfcff3c328f6adb"
diff --git a/meta-oe/recipes-navigation/gdal/gdal_1.10.1.bb b/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb
index 4fa6de1169..b181b3ef8f 100644
--- a/meta-oe/recipes-navigation/gdal/gdal_1.10.1.bb
+++ b/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb
@@ -1,16 +1,16 @@
SUMMARY = "GDAL is a translator library for raster geospatial data formats"
HOMEPAGE = "http://www.gdal.org/"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=b9bd75ae5af7ff87ab259be0121c4106"
+LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=0952e17969fab12227096b5228f23149"
-DEPENDS = "proj sqlite3 tiff"
+DEPENDS = "proj sqlite3 tiff json-c"
-SRC_URI = "ftp://download.osgeo.org/gdal/${PV}/${P}.tar.xz"
+SRC_URI = "ftp://download.osgeo.org/gdal/${PV}/${BP}.tar.xz"
-SRC_URI[md5sum] = "f354c614aea76e5630e4edbf06e5c292"
-SRC_URI[sha256sum] = "e6c9c6c4480228c943af29120d87435ddfe9ca460458bc60b91639fb8d443791"
+SRC_URI[md5sum] = "2e126d7c6605691d38f3e71b945f5c73"
+SRC_URI[sha256sum] = "20e1042cff15a71038459a299732fb342428aea9912f32df30c85790fcab6302"
-inherit autotools lib_package binconfig
+inherit autotools-brokensep lib_package binconfig
EXTRA_OECONF = "--without-perl \
--without-php \
@@ -79,8 +79,10 @@ EXTRA_OECONF = "--without-perl \
--with-pcraster=internal \
--with-geotiff=internal \
\
- --with-sqlite3=${STAGING_LIBDIR} \
- --with-libtiff=${STAGING_LIBDIR} \
+ --with-sqlite3=${STAGING_EXECPREFIXDIR} \
+ --with-libtiff=${STAGING_EXECPREFIXDIR} \
+ --with-libjson-c=${STAGING_EXECPREFIXDIR} \
+ --with-expat=${STAGING_EXECPREFIXDIR} \
"
EXTRA_OEMAKE += "INST_DATA="${datadir}/gdal""
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch
index 40baa01947..c4134f4b58 100644
--- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch
+++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch
@@ -1,22 +1,25 @@
-From f5f262be8ae54bd0c0f52802f2007ec89163756f Mon Sep 17 00:00:00 2001
+From 3c5fb3a8691ac711ea93edf8e0b42bffc62b197e Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 24 Apr 2012 11:52:35 +0200
-Subject: [PATCH 1/2] SConstruct: respect sysroot also in SPLINTOPTS
+Subject: [PATCH 1/4] SConstruct: respect sysroot also in SPLINTOPTS
+
+Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
+Signed-off-by: Peter A. Bigot <pab@pabigot.com>
---
- SConstruct | 5 ++++-
- 1 files changed, 4 insertions(+), 1 deletions(-)
+ SConstruct | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/SConstruct b/SConstruct
-index a25e88a..a1bddb9 100644
+index 14e2f59..f0cafa8 100644
--- a/SConstruct
+++ b/SConstruct
-@@ -1277,7 +1277,10 @@ def Utility(target, source, action):
-
+@@ -1414,7 +1414,10 @@ def Utility(target, source, action):
# Report splint warnings
# Note: test_bits.c is unsplintable because of the PRI64 macros.
+ # If you get preprocessor or fatal errors, add +showscan.
-splintopts = "-I/usr/include/libusb-1.0 +quiet"
+if not env['sysroot']:
+ splintopts = "-I/usr/include/libusb-1.0 +quiet"
@@ -26,5 +29,5 @@ index a25e88a..a1bddb9 100644
ma_status, ma = _getstatusoutput('dpkg-architecture -qDEB_HOST_MULTIARCH')
if ma_status == 0:
--
-1.7.5.4
+1.8.5.5
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch
index 83b98bb5ed..083a6621f5 100644
--- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch
+++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch
@@ -1,7 +1,7 @@
-From 7d736bbd517c12d19d7b85a5b0db84732b2f86da Mon Sep 17 00:00:00 2001
+From d090638ff983e509162d5e3b62aa4918de4aa5fa Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 24 Apr 2012 16:24:35 +0200
-Subject: [PATCH 2/2] SConstruct: remove rpath
+Subject: [PATCH 2/4] SConstruct: remove rpath
* even with correct prefix (without DESTDIR) included it's redundant
WARNING: QA Issue: libgps:
@@ -13,19 +13,22 @@ Subject: [PATCH 2/2] SConstruct: remove rpath
in file
/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packages-split/libgps/usr/lib/libgps.so.20.0
+Upstream-Status: Inapppropriate [embedded specific]
+
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
+Signed-off-by: Peter A. Bigot <pab@pabigot.com>
---
- SConstruct | 7 +++++--
- 1 files changed, 5 insertions(+), 2 deletions(-)
+ SConstruct | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/SConstruct b/SConstruct
-index a1bddb9..3e7c607 100644
+index f0cafa8..ff46713 100644
--- a/SConstruct
+++ b/SConstruct
-@@ -1205,8 +1205,11 @@ if qt_env:
+@@ -1340,8 +1340,11 @@ if qt_env:
+ binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib))
- # We don't use installdir here in order to avoid having DESTDIR affect the rpath
if env["shared"] and env["chrpath"]:
- env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \
- % (installdir('libdir', False), ))
@@ -38,5 +41,5 @@ index a1bddb9..3e7c607 100644
if not env['debug'] and not env['profiling'] and env['strip']:
env.AddPostAction(binaryinstall, '$STRIP $TARGET')
--
-1.7.5.4
+1.8.5.5
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
index c6eb03bf2f..1d8c14b57c 100644
--- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
+++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
@@ -1,8 +1,8 @@
-From dd3ca38b27cce93f7e932abaa27b41371234fa90 Mon Sep 17 00:00:00 2001
+From ad7b06d375730b30f181c5efb3bf21418f296f73 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 24 Apr 2012 18:45:14 +0200
-Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
- from python_lib_dir
+Subject: [PATCH 3/4] SConstruct: prefix includepy with sysroot and drop
+ sysroot from python_lib_dir
* without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix
and with PYTHONPATH from OE it's pointing to native python dir
@@ -30,19 +30,22 @@ Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
* python_lib_dir = python_lib_dir.replace(env['sysroot'], '')
returns path to target sysroot
+Upstream-Status: Inappropriate [embedded specific]
+
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Peter A. Bigot <pab@pabigot.com>
---
- SConstruct | 9 +++++++++
- 1 files changed, 9 insertions(+), 0 deletions(-)
+ SConstruct | 9 +++++++++
+ 1 file changed, 9 insertions(+)
diff --git a/SConstruct b/SConstruct
-index 3c919fc..8478181 100644
+index ff46713..0e518e7 100644
--- a/SConstruct
+++ b/SConstruct
-@@ -932,6 +932,12 @@ else:
- if vars[i] is None:
- vars[i] = []
- (cc, cxx, opt, basecflags, ccshared, ldshared, so_ext, includepy, ldflags) = vars
+@@ -1089,6 +1089,12 @@ else:
+ basecflags += ' -coverage'
+ ldflags += ' -coverage'
+ ldshared += ' -coverage'
+
+ if env['sysroot']:
+ print "Prefixing includepy '%s' with sysroot prefix" % includepy
@@ -52,7 +55,7 @@ index 3c919fc..8478181 100644
# in case CC/CXX was set to the scan-build wrapper,
# ensure that we build the python modules with scan-build, too
if env['CC'] is None or env['CC'].find('scan-build') < 0:
-@@ -1165,11 +1171,14 @@ if not env['python']:
+@@ -1353,11 +1359,14 @@ if not env['python']:
python_install = []
else:
python_lib_dir = sysconfig.get_python_lib(plat_specific=1)
@@ -68,5 +71,5 @@ index 3c919fc..8478181 100644
python_modules_install = python_env.Install( DESTDIR + python_module_dir,
python_modules)
--
-1.7.8.5
+1.8.5.5
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
index 9db24326cf..8527f0db39 100644
--- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch
+++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
@@ -1,7 +1,7 @@
-From ca1a781afbd68697ef2f573557f1f93ec7ab8d3c Mon Sep 17 00:00:00 2001
+From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 29 Apr 2012 00:05:59 +0200
-Subject: [PATCH] SConstruct: disable html and man docs building because
+Subject: [PATCH 4/4] SConstruct: disable html and man docs building because
xmlto-native from OE is broken
It will try to load dtd and fail:
@@ -20,30 +20,33 @@ It will try to load dtd and fail:
| scons: *** [gpsctl.1] Error 1
| scons: building terminated because of errors.
+Upstream-Status: Inappropriate [disable feature]
+
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Peter A. Bigot <pab@pabigot.com>
---
- SConstruct | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
+ SConstruct | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/SConstruct b/SConstruct
-index 9c0f751..8236abb 100644
+index 0e518e7..c01a71b 100644
--- a/SConstruct
+++ b/SConstruct
-@@ -560,12 +560,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size);
-
+@@ -704,12 +704,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size);
- manbuilder = mangenerator = htmlbuilder = None
--if config.CheckXsltproc():
-+if False and config.CheckXsltproc():
- mangenerator = 'xsltproc'
- build = "xsltproc --nonet %s $SOURCE >$TARGET"
- htmlbuilder = build % docbook_html_uri
- manbuilder = build % docbook_man_uri
--elif WhereIs("xmlto"):
-+elif False and WhereIs("xmlto"):
- mangenerator = 'xmlto'
- htmlbuilder = "xmlto html-nochunks $SOURCE; mv `basename $TARGET` $TARGET"
- manbuilder = "xmlto man $SOURCE; mv `basename $TARGET` $TARGET"
+ manbuilder = mangenerator = htmlbuilder = None
+ if env['manbuild']:
+- if config.CheckXsltproc():
++ if False and config.CheckXsltproc():
+ mangenerator = 'xsltproc'
+ build = "xsltproc --nonet %s $SOURCE >$TARGET"
+ htmlbuilder = build % docbook_html_uri
+ manbuilder = build % docbook_man_uri
+- elif WhereIs("xmlto"):
++ elif False and WhereIs("xmlto"):
+ mangenerator = 'xmlto'
+ xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` `dirname $TARGET`"
+ htmlbuilder = xmlto % "html-nochunks"
--
-1.7.8.6
+1.8.5.5
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb
index c82aadca99..6d3adc18da 100644
--- a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb
+++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb
@@ -2,25 +2,23 @@ SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
SECTION = "console/network"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
-DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native"
+DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
PROVIDES = "virtual/gpsd"
EXTRANATIVEPATH += "chrpath-native"
-PR = "r14"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/${PN}/${P}.tar.gz \
- file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \
- file://0004-SConstruct-remove-rpath.patch \
- file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
- file://0001-SConstruct-disable-html-and-man-docs-building-becaus.patch \
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \
+ file://0002-SConstruct-remove-rpath.patch \
+ file://0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
+ file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
file://gpsd-default \
file://gpsd \
file://60-gpsd.rules \
file://gpsd.service \
"
-SRC_URI[md5sum] = "52d9785eaf1a51298bb8900dbde88f98"
-SRC_URI[sha256sum] = "7800c478ee9d7ca7a502b0f892828561b1fbf7bc69d9d38c447c82c3628302ac"
+SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3"
+SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320"
inherit scons update-rc.d python-dir pythonnative systemd
diff --git a/meta-oe/recipes-navigation/gypsy/gypsy.inc b/meta-oe/recipes-navigation/gypsy/gypsy.inc
index 747b61d23b..7c93d0a193 100644
--- a/meta-oe/recipes-navigation/gypsy/gypsy.inc
+++ b/meta-oe/recipes-navigation/gypsy/gypsy.inc
@@ -11,8 +11,6 @@ DEPENDS = "glib-2.0 dbus bluez4 dbus-glib libxslt-native libxslt"
inherit autotools pkgconfig gtk-doc
PACKAGES += "libgypsy"
-EXTRA_OECONF += "--with-distro=debian"
-
FILES_${PN} = " \
${sysconfdir}/gypsy.conf \
${sysconfdir}/dbus-1 \
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc b/meta-oe/recipes-navigation/libspatialite/libspatialite.inc
index c8d7ec1e97..b5c387968f 100644
--- a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc
+++ b/meta-oe/recipes-navigation/libspatialite/libspatialite.inc
@@ -5,7 +5,7 @@ DEPENDS = "proj geos sqlite3"
INC_PR = "r0"
-LICENSE = "MPLv1.1 GPLv2+ LGPLv2.1+"
+LICENSE = "MPLv1.1 & GPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e"
SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz"
diff --git a/meta-oe/recipes-navigation/navit/navit.inc b/meta-oe/recipes-navigation/navit/navit.inc
index eb8f43a5a2..9d4f4eccba 100644
--- a/meta-oe/recipes-navigation/navit/navit.inc
+++ b/meta-oe/recipes-navigation/navit/navit.inc
@@ -1,5 +1,5 @@
DESCRIPTION = "Navit is a car navigation system with routing engine."
-LICENSE = "GPLv2 LGPLv2"
+LICENSE = "GPLv2 & LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ed539d099d6ce08de6ea0dfed9ecb333 \
file://LGPL-2;md5=3214f080875748938ba060314b4f727d \
file://GPL-2;md5=751419260aa954499f7abaabaa882bbe \
@@ -15,7 +15,7 @@ RSUGGESTS_${PN} = "flite-alsa espeak ${PN}-speech-dbus ${PN}-gui-gtk ${PN}-gui-q
PE = "1"
INC_PR = "r11"
-inherit autotools gettext
+inherit autotools gettext pkgconfig
PACKAGECONFIG ?= "qt"
PACKAGECONFIG[fribidi] = "--enable-fribidi,--disable-fribidi,fribidi"
diff --git a/meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch b/meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch
new file mode 100644
index 0000000000..1680bc0627
--- /dev/null
+++ b/meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch
@@ -0,0 +1,22 @@
+omgps: omgps fails compilation due to uninitialized variables
+
+omgps does not compile with gcc 4.9 due to uninitialized variables
+with the option -Werror=maybe-uninitialized
+To solve the problem, just initiated the variable and checked for side
+effects.
+Upstream-Status: Submitted
++https://code.google.com/p/omgps/issues/detail?id=16
+
+Signed-off-by: Raphael Silva <rapphil@gmail.com>
+diff -urpN omgps.orig/src/sound.c omgps/src/sound.c
+--- omgps.orig/src/sound.c 2014-12-14 15:13:29.609243994 -0200
++++ omgps/src/sound.c 2014-12-14 15:14:13.831116745 -0200
+@@ -44,7 +44,7 @@ static gboolean play_sound_files(char *f
+ return FALSE;
+
+ char *bak = strdup(files);
+- char *saveptr;
++ char *saveptr = NULL;
+ char *p = strtok_r(bak, ";", &saveptr);
+
+ #define MAX_SOUND_FILES 14
diff --git a/meta-oe/recipes-navigation/omgps/omgps_svn.bb b/meta-oe/recipes-navigation/omgps/omgps_svn.bb
index a56a51bfa1..391545e39e 100644
--- a/meta-oe/recipes-navigation/omgps/omgps_svn.bb
+++ b/meta-oe/recipes-navigation/omgps/omgps_svn.bb
@@ -12,6 +12,7 @@ S = "${WORKDIR}/${PN}"
do_configure_prepend() {
sed -i "s#PY_VERSION = 2.6#PY_VERSION = ${PYTHON_BASEVERSION}#g" ${S}/Makefile.am
sed -i "s#PY_INC_DIR = \$(OPIEDIR)#PY_INC_DIR = ${STAGING_DIR_HOST}#g" ${S}/Makefile.am
+ sed -i "s#dist_conf_DATA = data/etc/\*\.\*#dist_conf_DATA = ${S}/data/etc/\*\.\*#g" ${S}/Makefile.am
}
SRC_URI = "svn://omgps.googlecode.com/svn/trunk;module=omgps;protocol=http \
@@ -22,6 +23,7 @@ SRC_URI = "svn://omgps.googlecode.com/svn/trunk;module=omgps;protocol=http \
file://fix.build.with.glib.2.34.patch \
file://gdk-pixbuf-2.26.5.patch \
file://0001-g_type_init-is-deprecated-for-glib-2.35.0.patch \
+ file://fix.build.with.gcc.4.9.patch \
"
-inherit autotools
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
index f5523e3170..e6cbffcf4e 100644
--- a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
+++ b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
@@ -5,7 +5,7 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://orrery.c;endline=25;md5=d792bdf2b591972da175aecc38d88cfe"
DEPENDS = "gtk+"
-inherit autotools
+inherit autotools-brokensep pkgconfig
SRC_URI = "http://projects.openmoko.org/frs/download.php/923/orrery_2.7_clean.tar.gz \
file://orrery.png \
diff --git a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb
index 1033bf241f..e307a72c19 100644
--- a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb
+++ b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb
@@ -4,6 +4,8 @@ RCONFLICTS_${PN} = "qconnman"
inherit qt4e
+PNBLACKLIST[qconnman-e] ?= "BROKEN: doesn't work with B!=S, ls: cannot access *.pro: No such file or directory"
+
EXTRA_QMAKEVARS_PRE += "PREFIX=/usr"
EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
diff --git a/meta-oe/recipes-qt/qconnman/qconnman_git.bb b/meta-oe/recipes-qt/qconnman/qconnman_git.bb
index d298cb5217..2f8cca25a0 100644
--- a/meta-oe/recipes-qt/qconnman/qconnman_git.bb
+++ b/meta-oe/recipes-qt/qconnman/qconnman_git.bb
@@ -4,5 +4,7 @@ RCONFLICTS_${PN} = "qconnman-e"
inherit qt4x11
+PNBLACKLIST[qconnman] ?= "BROKEN: doesn't work with B!=S, ls: cannot access *.pro: No such file or directory"
+
EXTRA_QMAKEVARS_PRE += "PREFIX=/usr"
EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
diff --git a/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb b/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb
index 831a1402c3..a8bee71328 100644
--- a/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb
+++ b/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb
@@ -1,6 +1,6 @@
SECTION = "x11/network"
SUMMARY = "Mail user agent"
-DEPENDS = "gtk+ libetpan openssl aspell curl"
+DEPENDS = "gtk+ libetpan openssl aspell curl libgcrypt"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=e059bde2972c1790af786f3e86bac22e"
@@ -14,7 +14,7 @@ SRC_URI[archive.md5sum] = "4c5ac7b21f0ed17d0f6404124c2229a4"
SRC_URI[archive.sha256sum] = "ed70975a5056b3ffc4fe6e977f0d9606febc1499763c090241b029a73ff24e65"
do_configure_append() {
- cd po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done
+ cd ${S}/po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done; cd ${B}
}
PACKAGECONFIG ??= "startup-notification dbus"
@@ -26,8 +26,6 @@ PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap"
# FIXME: maemo builds may want --enable-maemo
# FIXME: some platforms may want --enable-generic-umpc
EXTRA_OECONF = " \
- --disable-aspell-test \
- --enable-aspell \
--disable-manual \
--disable-crash-dialog \
--disable-jpilot \
@@ -38,8 +36,6 @@ EXTRA_OECONF = " \
--disable-pgpmime-plugin \
--disable-pgpinline-plugin \
--disable-dillo-viewer-plugin \
- --disable-clamav-plugin \
- --disable-gnomeprint \
--disable-valgrind \
"
@@ -52,7 +48,7 @@ do_install_prepend() {
do_install_append() {
rm -r ${D}${datadir}/icons
install -d ${D}${datadir}/pixmaps
- install -m 0644 claws-mail.png ${D}${datadir}/pixmaps/
+ install -m 0644 ${S}/claws-mail.png ${D}${datadir}/pixmaps/
sed -i 's/Icon=[^.]*$/&.png/' ${D}${datadir}/applications/claws-mail.desktop
}
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch
new file mode 100644
index 0000000000..222a796028
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch
@@ -0,0 +1,52 @@
+Index: gtkhtml2_viewer-0.31/configure.ac
+===================================================================
+--- gtkhtml2_viewer-0.31.orig/configure.ac 2011-08-27 08:08:55.000000000 +0000
++++ gtkhtml2_viewer-0.31/configure.ac 2014-07-18 07:28:42.769518618 +0000
+@@ -1,33 +1,27 @@
+ AC_PREREQ(2.60)
+-AC_INIT(src/gtkhtml2_viewer.c)
++
++dnl plugin version
++m4_define([plugin_major_version],[0])
++m4_define([plugin_minor_version],[31])
++m4_define([plugin_micro_version],[0])
++m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version])
++
++AC_INIT(gtkhml2_viewer, plugin_version)
++AC_CONFIG_SRCDIR(src/gtkhtml2_viewer.c)
+ AC_CONFIG_AUX_DIR(config)
+ AM_MAINTAINER_MODE
+
+ PACKAGE=gtkhtml2_viewer
+
+-dnl plugin version
+-MAJOR_VERSION=0
+-MINOR_VERSION=31
+-MICRO_VERSION=0
++MAJOR_VERSION=plugin_major_version
++MINOR_VERSION=plugin_minor_version
++MICRO_VERSION=plugin_micro_version
+ EXTRA_VERSION=0
+-
+-if test \( $EXTRA_VERSION -eq 0 \); then
+- if test \( $MICRO_VERSION -eq 0 \); then
+- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}
+- else
+- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}
+- fi
+-else
+- if test \( $MICRO_VERSION -eq 0 \); then
+- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION}
+- else
+- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION}
+- fi
+-fi
++VERSION=plugin_version
+
+ AC_CANONICAL_SYSTEM
+
+-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
++AM_INIT_AUTOMAKE([foreign no-define])
+ AC_CONFIG_HEADERS(config.h)
+ AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version])
+
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb
index f203cc002d..9adfd28062 100644
--- a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb
+++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb
@@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=977f04a8048c04684e521c06e2844a94"
PR = "r1"
-SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/gtkhtml2_viewer-${PV}.tar.gz"
+SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/gtkhtml2_viewer-${PV}.tar.gz \
+ file://configure.patch"
SRC_URI[md5sum] = "a6c9dfa6f969ccd844796a5724b52167"
SRC_URI[sha256sum] = "4d41f6d961efaac0f51705e5052bac732bc0bdafee2ef2082a9cf9d89f183ae5"
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch
new file mode 100644
index 0000000000..a7a38f30c8
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch
@@ -0,0 +1,53 @@
+Index: rssyl-0.34/configure.ac
+===================================================================
+--- rssyl-0.34.orig/configure.ac 2014-07-18 07:37:28.981532959 +0000
++++ rssyl-0.34/configure.ac 2014-07-18 07:39:45.881536690 +0000
+@@ -1,5 +1,13 @@
++
++dnl plugin version
++m4_define([plugin_major_version],[0])
++m4_define([plugin_minor_version],[34])
++m4_define([plugin_micro_version],[0])
++m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version])
++
+ AC_PREREQ(2.60)
+-AC_INIT(src/plugin.c)
++AC_INIT(rssyl, plugin_version)
++AC_CONFIG_SRCDIR(src/plugin.c)
+ AC_CONFIG_AUX_DIR(config)
+ AM_MAINTAINER_MODE
+ AC_CONFIG_HEADERS(config.h)
+@@ -7,28 +15,15 @@
+ PACKAGE=rssyl
+
+ dnl plugin version
+-MAJOR_VERSION=0
+-MINOR_VERSION=34
+-MICRO_VERSION=0
++MAJOR_VERSION=plugin_major_version
++MINOR_VERSION=plugin_minor_version
++MICRO_VERSION=plugin_micro_version
+ EXTRA_VERSION=0
+-
+-if test \( $EXTRA_VERSION -eq 0 \); then
+- if test \( $MICRO_VERSION -eq 0 \); then
+- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}
+- else
+- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}
+- fi
+-else
+- if test \( $MICRO_VERSION -eq 0 \); then
+- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION}
+- else
+- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION}
+- fi
+-fi
++VERSION=plugin_version
+
+ AC_CANONICAL_SYSTEM
+
+-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
++AM_INIT_AUTOMAKE([foreign no-define])
+ AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version])
+
+ AC_PROG_CC
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb
index f441c98937..cdc465c21c 100644
--- a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb
+++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb
@@ -4,7 +4,8 @@ DEPENDS = "claws-mail libxml2 curl glib-2.0 gtk+"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c2348e0a084e573f0220f5e45d8097e"
-SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/rssyl-${PV}.tar.gz"
+SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/rssyl-${PV}.tar.gz \
+ file://configure.patch"
SRC_URI[md5sum] = "49b45608e8d160b3625d3d50016ec2ca"
SRC_URI[sha256sum] = "2e96a1cd6a1a5bb7f86cd2eb48f6e174665957fafe1f3b1e8361aac3bb967f79"
inherit autotools pkgconfig gettext
diff --git a/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb
index a878220ac2..1b010a5b6c 100644
--- a/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb
+++ b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb
@@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \
PR = "r2"
+PNBLACKLIST[sylpheed] ?= "BROKEN: Doesn't work with B!=S"
+
SRC_URI = "http://sylpheed.sraoss.jp/sylpheed/v2.7/sylpheed-${PV}.tar.bz2 \
file://glib-2.32.patch \
"
@@ -27,7 +29,7 @@ do_configure_prepend() {
done
}
-inherit autotools
+inherit autotools pkgconfig
do_install_append() {
install -d ${D}${datadir}/applications
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 07b8ccb464..18979d574b 100644
--- a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb
+++ b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb
@@ -7,6 +7,8 @@ SRC_URI = "http://garr.dl.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3
SRC_URI[md5sum] = "5928822d855c5cf7ac29655e3e0b8c23"
SRC_URI[sha256sum] = "0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032"
+PNBLACKLIST[apcupsd] ?= "BROKEN: doesn't build with B!=S"
+
inherit autotools
LD = "${CXX}"
diff --git a/meta-oe/recipes-support/asio/asio.inc b/meta-oe/recipes-support/asio/asio.inc
index c2a6b1b523..9cea824919 100644
--- a/meta-oe/recipes-support/asio/asio.inc
+++ b/meta-oe/recipes-support/asio/asio.inc
@@ -8,7 +8,7 @@ LICENSE = "BSL-1.0"
DEPENDS = "boost"
-SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${PN}-${PV}.tar.bz2"
+SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
inherit autotools
diff --git a/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb b/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb
index 9a0ff352d0..fbe4278d7f 100644
--- a/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb
+++ b/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb
@@ -23,9 +23,12 @@ do_install_append() {
# Delete files already provided by util-linux
local i
- for i in cal dmesg eject hexdump hwclock ionice look renice rtcwake; do
+ for i in cal dmesg eject hexdump hwclock ionice look renice rtcwake su; do
rm ${D}${datadir}/${BPN}/completions/$i
done
+
+ # Delete files for networkmanager
+ rm ${D}${datadir}/${BPN}/completions/nmcli
}
RDEPENDS_${PN} = "bash"
diff --git a/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch b/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch
new file mode 100644
index 0000000000..477cc31ad2
--- /dev/null
+++ b/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch
@@ -0,0 +1,18 @@
+No need to link with libfl.
+
+Upstream-Status: Pending
+Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
+
+Index: ccid-1.4.8/src/Makefile.am
+===================================================================
+--- ccid-1.4.8.orig/src/Makefile.am
++++ ccid-1.4.8/src/Makefile.am
+@@ -53,7 +53,7 @@ PROVIDED_BY_PCSC = debug.c
+ endif
+
+ libccid_la_SOURCES = $(COMMON) $(USB) $(TOKEN_PARSER) $(PROVIDED_BY_PCSC) $(T1)
+-libccid_la_LIBADD = $(LEXLIB) $(LIBUSB_LIBS) $(PTHREAD_LIBS)
++libccid_la_LIBADD = $(LIBUSB_LIBS) $(PTHREAD_LIBS)
+ libccid_la_CFLAGS = $(PCSC_CFLAGS) $(LIBUSB_CFLAGS) $(PTHREAD_CFLAGS) \
+ $(SYMBOL_VISIBILITY) -D$(CCID_VERSION) -DSIMCLIST_NO_DUMPRESTORE
+ libccid_la_LDFLAGS = -avoid-version
diff --git a/meta-oe/recipes-support/ccid/ccid_1.4.8.bb b/meta-oe/recipes-support/ccid/ccid_1.4.8.bb
index efaf72d260..078f785aba 100644
--- a/meta-oe/recipes-support/ccid/ccid_1.4.8.bb
+++ b/meta-oe/recipes-support/ccid/ccid_1.4.8.bb
@@ -6,11 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "virtual/libusb0 pcsc-lite"
RDEPENDS_${PN} = "pcsc-lite"
-SRC_URI = "https://alioth.debian.org/frs/download.php/file/3768/ccid-${PV}.tar.bz2"
+SRC_URI = "https://alioth.debian.org/frs/download.php/file/3768/ccid-${PV}.tar.bz2 \
+ file://no-dep-on-libfl.patch"
+
SRC_URI[md5sum] = "b6c37110f50b059a8ba94f118cfd679a"
SRC_URI[sha256sum] = "7aca09fa4b9099e423402fd5df424adbafa502888710d1fda6015b6c1ff637ef"
-inherit autotools
+inherit autotools pkgconfig
FILES_${PN} += "${libdir}/pcsc/"
FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug"
diff --git a/meta-oe/recipes-support/ckermit/ckermit_301.bb b/meta-oe/recipes-support/ckermit/ckermit_302.bb
index b255f5e7ea..32a6c03a97 100644
--- a/meta-oe/recipes-support/ckermit/ckermit_301.bb
+++ b/meta-oe/recipes-support/ckermit/ckermit_302.bb
@@ -7,7 +7,11 @@ HOMEPAGE = "http://www.columbia.edu/kermit/"
SECTION = "console/network"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING.TXT;md5=932ca542d6c6cb8a59a0bcd76ab67cc3"
-SRC_URI = "ftp://kermit.columbia.edu/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}"
+
+SRC_URI = "ftp://ftp.kermitproject.org/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}"
+SRC_URI[md5sum] = "eac4dbf18b45775e4cdee5a7c74762b0"
+SRC_URI[sha256sum] = "0d5f2cd12bdab9401b4c836854ebbf241675051875557783c332a6a40dac0711"
+
export CC2 = "${CC}"
export BINDIR = "${bindir}"
@@ -52,6 +56,3 @@ do_install () {
rm ${D}${BINDIR}/kermit-sshsub
(cd ${D}${BINDIR} && ln -s ${BINDIR}/kermit kermit-sshusb)
}
-
-SRC_URI[md5sum] = "59e80f909edf305933af8e0348dcc5d7"
-SRC_URI[sha256sum] = "9793eb125f8936b079c6d7e5c3d2ff885cfedc07f9d2dd1e7db928e3029a211a"
diff --git a/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb b/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.6.bb
index 6c3418a0c4..d84ad2f074 100644
--- a/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb
+++ b/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.6.bb
@@ -11,11 +11,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
DEPENDS = "util-linux lvm2 popt libgcrypt"
-SRC_URI = "http://cryptsetup.googlecode.com/files/cryptsetup-${PV}.tar.bz2"
-SRC_URI[md5sum] = "cd834da49fbe92dd66df02cc5c61280f"
-SRC_URI[sha256sum] = "15723f0198303d4bcb99d480b7a773918e2d319f0348457988c063bdd03e109a"
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v1.6/${BP}.tar.xz"
+SRC_URI[md5sum] = "179c0781de59838a4e39f61b2df5ea48"
+SRC_URI[sha256sum] = "2d2ce28e4e1137dd599d87884b62ef6dbf14fd7848b2a2bf7d61cf125fbd8e6f"
-inherit autotools gettext
+inherit autotools gettext pkgconfig
# Use openssl because libgcrypt drops root privileges
# if libgcrypt is linked with libcap support
diff --git a/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb b/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb
new file mode 100644
index 0000000000..a3b67f7e8c
--- /dev/null
+++ b/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Common files and packaging infrastructure for CT-API modules"
+HOMEPAGE = "http://fedoraproject.org/"
+SECTION = "System Environment/Libraries"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://../ctapi-common.LICENSE;md5=8744cd52545ecb45befebd0da6f70f0a"
+
+SRC_URI = "http://ftp.riken.jp/Linux/fedora/releases/20/Fedora/source/SRPMS/c/${BPN}-${PV}.fc20.src.rpm;extract=ctapi-common.LICENSE \
+ http://ftp.riken.jp/Linux/fedora/releases/20/Fedora/source/SRPMS/c/${BPN}-${PV}.fc20.src.rpm;extract=ctapi-common.README"
+SRC_URI[md5sum] = "f02e67487c48319376800563a2659502"
+SRC_URI[sha256sum] = "32399819b0a1cac1abb2b8f0f180c572c93809faad36c46825dd536e4844c7cf"
+
+do_compile() {
+ install -pm 644 ${WORKDIR}/ctapi-common.LICENSE LICENSE
+ install -pm 644 ${WORKDIR}/ctapi-common.README README
+ echo ${libdir}/ctapi > ctapi.conf
+}
+
+do_install() {
+ install -Dpm 644 ctapi.conf ${D}${sysconfdir}/ld.so.conf.d/ctapi-${TARGET_ARCH}.conf
+ install -dm 755 ${D}${libdir}/ctapi
+}
+
+FILES_${PN} += "${libdir}/ctapi"
diff --git a/meta-oe/recipes-support/daemonize/daemonize_git.bb b/meta-oe/recipes-support/daemonize/daemonize_git.bb
index 57dc15b3f4..8b1591ceff 100644
--- a/meta-oe/recipes-support/daemonize/daemonize_git.bb
+++ b/meta-oe/recipes-support/daemonize/daemonize_git.bb
@@ -6,7 +6,9 @@ PV = "1.7.3+git${SRCPV}"
inherit autotools
-SRCREV = "93788682a4749d8b577ce6549d6d3dd6df166ba4"
+SRCREV = "a4ac64a243af91dc434b7a3915f43482d528a2b1"
SRC_URI = "git://github.com/bmc/daemonize.git"
S = "${WORKDIR}/git"
+
+EXTRA_AUTORECONF += "--exclude=autoheader"
diff --git a/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff b/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff
new file mode 100644
index 0000000000..ce1959782a
--- /dev/null
+++ b/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff
@@ -0,0 +1,25 @@
+From d3e7651e2f2492dd1031d09a99713644b604cab5 Mon Sep 17 00:00:00 2001
+From: Gerrit Pape <pape@smarden.org>
+Date: Wed, 12 Dec 2007 13:44:15 +0000
+Subject: [PATCH] error.h: '#include <errno.h>' instead of 'extern int errno;'
+
+---
+ daemontools-0.76/src/error.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git daemontools-0.76.orig/src/error.h daemontools-0.76/src/error.h
+index 086fb55..f7e8273 100644
+--- daemontools-0.76.orig/src/error.h
++++ daemontools-0.76/src/error.h
+@@ -3,7 +3,7 @@
+ #ifndef ERROR_H
+ #define ERROR_H
+
+-extern int errno;
++#include <errno.h>
+
+ extern int error_intr;
+ extern int error_nomem;
+--
+1.5.4.2
+
diff --git a/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff b/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff
new file mode 100644
index 0000000000..73dce90726
--- /dev/null
+++ b/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff
@@ -0,0 +1,47 @@
+From 7ee585cab1d5b68f804a5601a66ae87799c8a7c3 Mon Sep 17 00:00:00 2001
+From: Gerrit Pape <pape@smarden.org>
+Date: Sun, 24 Feb 2008 10:54:26 +0000
+Subject: [PATCH] supervise.c: ./supervise may be a symlink, if it's dangling, create link target
+
+---
+ daemontools-0.76/src/supervise.c | 17 ++++++++++++++++-
+ 1 files changed, 16 insertions(+), 1 deletions(-)
+
+diff --git daemontools-0.76.orig/src/supervise.c daemontools-0.76/src/supervise.c
+index 2482ad2..f43cabf 100644
+--- daemontools-0.76.orig/src/supervise.c
++++ daemontools-0.76/src/supervise.c
+@@ -208,6 +208,8 @@ void doit(void)
+ int main(int argc,char **argv)
+ {
+ struct stat st;
++ int r;
++ char buf[256];
+
+ dir = argv[1];
+ if (!dir || argv[2])
+@@ -232,7 +234,20 @@ int main(int argc,char **argv)
+ if (errno != error_noent)
+ strerr_die4sys(111,FATAL,"unable to stat ",dir,"/down: ");
+
+- mkdir("supervise",0700);
++ if (mkdir("supervise",0700) == -1) {
++ if ((r = readlink("supervise", buf, 256)) != -1) {
++ if (r == 256) {
++ errno = EOVERFLOW;
++ strerr_die1sys(111,"unable to readlink ./supervise: ");
++ }
++ buf[r] = 0;
++ mkdir(buf, 0700);
++ }
++ else {
++ if ((errno != ENOENT) && (errno != EINVAL))
++ strerr_die1sys(111, "unable to readlink ./supervise: ");
++ }
++ }
+ fdlock = open_append("supervise/lock");
+ if ((fdlock == -1) || (lock_exnb(fdlock) == -1))
+ strerr_die4sys(111,FATAL,"unable to acquire ",dir,"/supervise/lock: ");
+--
+1.5.4.2
+
diff --git a/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
new file mode 100644
index 0000000000..f164c2d10d
--- /dev/null
+++ b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
@@ -0,0 +1,45 @@
+make sure it can be compiled for cross target
+
+1. never try to compile target binary by native gcc
+2. target's chkshsgr doesn't work on native.
+3. it's wrong to do target tests on native.
+
+Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
+
+diff -Nurp daemontools-0.76.orig/src/conf-cc daemontools-0.76/src/conf-cc
+--- daemontools-0.76.orig/src/conf-cc 2001-07-13 00:49:49.000000000 +0800
++++ daemontools-0.76/src/conf-cc 2014-11-26 09:34:38.828812162 +0800
+@@ -1,3 +1,3 @@
+-gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings
++${CC} -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings
+
+ This will be used to compile .c files.
+diff -Nurp daemontools-0.76.orig/src/conf-ld daemontools-0.76/src/conf-ld
+--- daemontools-0.76.orig/src/conf-ld 2001-07-13 00:49:49.000000000 +0800
++++ daemontools-0.76/src/conf-ld 2014-11-26 09:34:49.880811730 +0800
+@@ -1,3 +1,3 @@
+-gcc -s
++${CC}
+
+ This will be used to link .o files into an executable.
+diff -Nurp daemontools-0.76.orig/src/Makefile daemontools-0.76/src/Makefile
+--- daemontools-0.76.orig/src/Makefile 2001-07-13 00:49:49.000000000 +0800
++++ daemontools-0.76/src/Makefile 2014-11-26 09:38:47.120802459 +0800
+@@ -165,7 +165,7 @@ hassgprm.h: choose compile hassgprm.h1 h
+
+ hasshsgr.h: chkshsgr choose compile hasshsgr.h1 hasshsgr.h2 load \
+ tryshsgr.c warn-shsgr
+- ./chkshsgr || ( cat warn-shsgr; exit 1 )
++ chkshsgr || ( cat warn-shsgr; exit 1 )
+ ./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h
+
+ haswaitp.h: choose compile haswaitp.h1 haswaitp.h2 load trywaitp.c
+@@ -265,7 +265,7 @@ readproctitle.o: compile error.h readpro
+ rts: envdir envuidgid fghack matchtest multilog pgrphack \
+ readproctitle rts.tests setlock setuidgid softlimit supervise svc \
+ svok svscan svscanboot svstat tai64n tai64nlocal
+- env - /bin/sh rts.tests 2>&1 | cat -v > rts
++ echo "Warning: We can not run test on cross target."
+
+ scan_ulong.o: compile scan.h scan_ulong.c
+ ./compile scan_ulong.c
diff --git a/meta-oe/recipes-support/daemontools/daemontools_0.76.bb b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
new file mode 100644
index 0000000000..fb87ea8ad2
--- /dev/null
+++ b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
@@ -0,0 +1,47 @@
+SUMMARY = "DJB daemontools"
+DESCRIPTION = "supervise monitors a service. It starts the service and restarts the \
+service if it dies. The companion svc program stops, pauses, or restarts \
+the service on sysadmin request. The svstat program prints a one-line \
+status report. \
+multilog saves error messages to one or more logs. It optionally timestamps \
+each line and, for each log, includes or excludes lines matching specified \
+patterns. It automatically rotates logs to limit the amount of disk space \
+used. If the disk fills up, it pauses and tries again, without losing any \
+data."
+
+SECTION = "System/Servers"
+
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/PD;md5=b3597d12946881e13cb3b548d1173851"
+LICENSE = "PD"
+
+SRC_URI = "http://cr.yp.to/daemontools/${BPN}-${PV}.tar.gz \
+ file://0001-error.h-include-errno.h-instead-of-extern-int.diff \
+ file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff "
+
+SRC_URI_append_class-target = "file://cross-compile.patch"
+
+SRC_URI[md5sum] = "1871af2453d6e464034968a0fbcb2bfc"
+SRC_URI[sha256sum] = "a55535012b2be7a52dcd9eccabb9a198b13be50d0384143bd3b32b8710df4c1f"
+
+S = "${WORKDIR}/admin/${BPN}-${PV}"
+
+DEPENDS += "daemontools-native"
+DEPENDS_virtclass-native = ""
+
+do_compile() {
+ ./package/compile
+}
+
+do_install() {
+ install -d ${D}/${bindir}
+}
+
+do_install_append_class-native() {
+ install -m 755 ${S}/compile/chkshsgr ${D}/${bindir}
+}
+
+do_install_append_class-target() {
+ install -m755 ${S}/command/* ${D}/${bindir}
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb b/meta-oe/recipes-support/debianutils/debianutils_4.4.bb
deleted file mode 100644
index 30dd9a6faf..0000000000
--- a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "Miscellaneous utilities specific to Debian"
-SECTION = "base"
-LICENSE = "GPLv2 & SMAIL_GPL"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.gz"
-SRC_URI[md5sum] = "c0cb076754d7f4eb1e3397d00916647f"
-SRC_URI[sha256sum] = "190850cdd6b5302e0a1ba1aaed1bc7074d67d3bd8d04c613f242f7145afa53a6"
-
-inherit autotools
-
-do_configure_prepend() {
- sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
-}
-
-do_install_append() {
- for app in ${D}${sbindir}/* ${D}${bindir}/*; do
- mv $app $app.${PN}
- done
- if [ "${base_bindir}" != "${bindir}" ]; then
- # Debian places some utils into ${base_bindir} as does busybox
- install -d ${D}${base_bindir}
- for app in run-parts.${PN} tempfile.${PN}; do
- mv ${D}${bindir}/$app ${D}${base_bindir}/$app
- done
- fi
-}
-
-pkg_prerm_${PN} () {
-if [ "x$D" != "x" ]; then
- echo "can't do u-a offline" ; exit 1
-else
- for app in add-shell installkernel mkboot remove-shell run-parts savelog sensible-browser sensible-editor sensible-pager tempfile which ; do
- update-alternatives --remove $app $app.${PN}
- done
-fi
-}
-
-pkg_postinst_${PN} () {
-if [ "x$D" != "x" ]; then
- echo "can't do u-a offline" ; exit 1
-else
- for app in add-shell installkernel mkboot remove-shell ; do
- update-alternatives --install ${sbindir}/$app $app $app.${PN} 100
- done
-
- for app in savelog sensible-browser sensible-editor sensible-pager which ; do
- update-alternatives --install ${bindir}/$app $app $app.${PN} 100
- done
-
- for app in run-parts tempfile ; do
- update-alternatives --install ${base_bindir}/$app $app $app.${PN} 100
- done
-fi
-}
-
-
-
diff --git a/meta-oe/recipes-support/devicekit/devicekit-power_014.bb b/meta-oe/recipes-support/devicekit/devicekit-power_014.bb
index 9484887a82..0c1245fbf3 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"
+DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit intltool-native"
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/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch b/meta-oe/recipes-support/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch
deleted file mode 100644
index 9ffc5821c8..0000000000
--- a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From b379db29534ce6fa2e185f559e817398b3feb9ea Mon Sep 17 00:00:00 2001
-From: Martin JaMa Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 11 Aug 2011 11:19:52 +0200
-Subject: [PATCH] Revert "Makefile.am: Drop static dfu-util"
-
-This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071.
-
-Conflicts:
-
- src/Makefile.am
-
-Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com>
----
- src/Makefile.am | 15 ++++++++++++++-
- 1 files changed, 14 insertions(+), 1 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 0674413..ed87891 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1,6 +1,6 @@
- AM_CFLAGS = -Wall
-
--bin_PROGRAMS = dfu-util
-+bin_PROGRAMS = dfu-util dfu-util_static
- dfu_util_SOURCES = main.c \
- dfu_load.c \
- dfu_load.h \
-@@ -11,3 +11,17 @@ dfu_util_SOURCES = main.c \
- dfu_file.h \
- quirks.c \
- quirks.h
-+
-+dfu_util_static_SOURCES = main.c \
-+ dfu_load.c \
-+ dfu_load.h \
-+ dfu.c \
-+ dfu.h \
-+ usb_dfu.h \
-+ dfu_file.c \
-+ dfu_file.h \
-+ quirks.c \
-+ quirks.h
-+
-+dfu_util_static_LDFLAGS = -static
-+dfu_util_static_LDADD = -lusb-1.0 -lrt -lpthread
---
-1.7.6
-
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch b/meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch
deleted file mode 100644
index e4f943e5e3..0000000000
--- a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: dfu-util-0.4/configure.ac
-===================================================================
---- dfu-util-0.4.orig/configure.ac 2011-08-10 22:22:30.000000000 +0200
-+++ dfu-util-0.4/configure.ac 2011-08-10 22:22:57.000000000 +0200
-@@ -18,14 +18,12 @@
- # Checks for libraries.
- PKG_CHECK_MODULES(USB, libusb-1.0 >= 1.0.0,,
- AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***]))
--AC_CHECK_LIB([usbpath],[usb_path2devnum],,,-lusb)
--
- LIBS="$LIBS $USB_LIBS"
- CFLAGS="$CFLAGS $USB_CFLAGS"
-
- # Checks for header files.
- AC_HEADER_STDC
--AC_CHECK_HEADERS([stdlib.h string.h stdio.h usbpath.h])
-+AC_CHECK_HEADERS([stdlib.h string.h stdio.h])
-
- # Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.4.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb
index ce6e566fa7..8be9d850e0 100644
--- a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.4.bb
+++ b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb
@@ -6,7 +6,7 @@ do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
DEPENDS = "libusb1-native"
FILESPATH =. "${FILE_DIRNAME}/${BPN}-${PV}:"
-SRC_URI += "file://0001-Revert-Makefile.am-Drop-static-dfu-util.patch"
+SRC_URI += "file://0002-Revert-Makefile.am-Drop-static-dfu-util.patch"
do_deploy() {
install -d ${DEPLOY_DIR_TOOLS}
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb
deleted file mode 100644
index 4bed46aa70..0000000000
--- a/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require dfu-util_${PV}.bb
-
-inherit native deploy
-do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
-
-DEPENDS = "libusb-compat usbpath-native"
-
-do_deploy() {
- install -d ${DEPLOY_DIR_TOOLS}
- install -m 0755 src/dfu-util_static ${DEPLOY_DIR_TOOLS}/dfu-util-${PV}
- rm -f ${DEPLOY_DIR_TOOLS}/dfu-util
- ln -sf ./dfu-util-${PV} ${DEPLOY_DIR_TOOLS}/dfu-util
-
-}
-
-addtask deploy before do_package after do_install
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util.inc b/meta-oe/recipes-support/dfu-util/dfu-util.inc
deleted file mode 100644
index 633b829b2a..0000000000
--- a/meta-oe/recipes-support/dfu-util/dfu-util.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-DESCRIPTION = "USB Device Firmware Upgrade utility"
-SECTION = "devel"
-AUTHOR = "Harald Welte <laforge@openmoko.org>"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "http://dfu-util.gnumonks.org/releases/dfu-util-${PV}.tar.gz"
-
-inherit autotools
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch b/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch
new file mode 100644
index 0000000000..a583c333d7
--- /dev/null
+++ b/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch
@@ -0,0 +1,38 @@
+From 63f6f6882f3813ab22c62806feeab942579a2acf Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 3 Aug 2014 17:50:06 +0200
+Subject: [PATCH 1/2] configure.ac: Don't check for usbpath
+
+* otherwise it fails to build with -lusb
+ | main.o: In function `resolve_device_path':
+ | dfu-util/0.7-r0/dfu-util-0.7/src/main.c:371: undefined reference to `usb_path2devnum'
+ | collect2: error: ld returned 1 exit status
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 700b556..fb58473 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,14 +22,13 @@ AS_IF([test x$native_libusb = xno], [
+ PKG_CHECK_MODULES([USB], [libusb-1.0 >= 1.0.0],,
+ AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***]))
+ ])
+-AC_CHECK_LIB([usbpath],[usb_path2devnum],,,-lusb)
+
+ LIBS="$LIBS $USB_LIBS"
+ CFLAGS="$CFLAGS $USB_CFLAGS"
+
+ # Checks for header files.
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS([usbpath.h windows.h])
++AC_CHECK_HEADERS([windows.h])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+--
+2.0.2
+
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch b/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch
new file mode 100644
index 0000000000..de17808e12
--- /dev/null
+++ b/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch
@@ -0,0 +1,67 @@
+From 440a026379ff111aaa8314db1c29ffae8f482824 Mon Sep 17 00:00:00 2001
+From: Martin JaMa Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 11 Aug 2011 11:19:52 +0200
+Subject: [PATCH 2/2] Revert "Makefile.am: Drop static dfu-util"
+
+This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071.
+
+Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac | 2 +-
+ src/Makefile.am | 20 +++++++++++++++++++-
+ 2 files changed, 20 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fb58473..09b9e5a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,7 +23,7 @@ AS_IF([test x$native_libusb = xno], [
+ AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***]))
+ ])
+
+-LIBS="$LIBS $USB_LIBS"
++LIBS="$LIBS $USB_LIBS -lpthread"
+ CFLAGS="$CFLAGS $USB_CFLAGS"
+
+ # Checks for header files.
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 99df307..28d53f7 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,6 +1,6 @@
+ AM_CFLAGS = -Wall
+
+-bin_PROGRAMS = dfu-util dfu-suffix
++bin_PROGRAMS = dfu-util dfu-util_static dfu-suffix
+ dfu_util_SOURCES = main.c \
+ portable.h \
+ dfu_load.c \
+@@ -17,6 +17,24 @@ dfu_util_SOURCES = main.c \
+ quirks.c \
+ quirks.h
+
++dfu_util_static_SOURCES = main.c \
++ portable.h \
++ dfu_load.c \
++ dfu_load.h \
++ dfuse.c \
++ dfuse.h \
++ dfuse_mem.c \
++ dfuse_mem.h \
++ dfu.c \
++ dfu.h \
++ usb_dfu.h \
++ dfu_file.c \
++ dfu_file.h \
++ quirks.c \
++ quirks.h
++
++dfu_util_static_LDFLAGS = -static
++
+ dfu_suffix_SOURCES = suffix.c \
+ dfu_file.h \
+ dfu_file.c \
+--
+2.0.2
+
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb
deleted file mode 100644
index b63d74d1ad..0000000000
--- a/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require dfu-util.inc
-
-PR = "r1"
-
-DEPENDS = "virtual/libusb0 usbpath"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "454b931249d29e4a6c2a2ade17858490"
-SRC_URI[sha256sum] = "a27cc667be9b158fecf0ed066698e30eca0c0b3cd7a85aad2058d47ffe16f0e1"
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb
deleted file mode 100644
index 12d6af6af4..0000000000
--- a/meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require dfu-util.inc
-
-DEPENDS = "libusb1"
-
-SRC_URI += "file://no-usbpath.patch"
-
-SRC_URI[md5sum] = "2cf466fabb881e8598fa02f286d3242c"
-SRC_URI[sha256sum] = "f60fea987aa06ee03da22a656d1d113ac224458ec4442bcf1764a62f0930bd07"
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb
new file mode 100644
index 0000000000..7f06f8f6af
--- /dev/null
+++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "USB Device Firmware Upgrade utility"
+SECTION = "devel"
+AUTHOR = "Harald Welte <laforge@openmoko.org>"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://gitorious.org/dfu-util/dfu-util.git \
+ file://0001-configure.ac-Don-t-check-for-usbpath.patch \
+"
+SRCREV="a0a3668e0571a9b007f7d62b01e7dcfd7754ce50"
+
+inherit autotools pkgconfig
+
+DEPENDS = "libusb1"
+
+SRC_URI[md5sum] = "1de724551604bce1962960b7a301cc08"
+SRC_URI[sha256sum] = "5d253f924fd29bc13054b664bba9aa86b865299971195969478253c1775b7e56"
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb
deleted file mode 100644
index 026a904f27..0000000000
--- a/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "USB Device Firmware Upgrade utility"
-SECTION = "devel"
-AUTHOR = "Harald Welte <laforge@openmoko.org>"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-SRCREV = "4160"
-PV = "0.1+svnr${SRCPV}"
-PR = "r2"
-
-DEPENDS = "virtual/libusb0 usbpath"
-
-SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=dfu-util;protocol=http"
-S = "${WORKDIR}/dfu-util"
-
-inherit autotools
-
diff --git a/meta-oe/recipes-support/dstat/dstat_0.7.2.bb b/meta-oe/recipes-support/dstat/dstat_0.7.2.bb
new file mode 100644
index 0000000000..63f1812b99
--- /dev/null
+++ b/meta-oe/recipes-support/dstat/dstat_0.7.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "versatile resource statics tool"
+DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \
+Dstat overcomes some of their limitations and adds some extra features, more counters \
+and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \
+benchmarks or troubleshooting."
+HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+SRC_URI = "git://github.com/dagwieers/dstat.git"
+SRC_URI[md5sum] = "798e050e2e024f08a272dd4b0e1eba41"
+SRC_URI[sha256sum] = "96d1e6ea2434e477fa97322d92778f68458d7e57bc55bc4f72e29467a52cffd1"
+
+SRCREV = "5251397eb8d3b284a90bfdfaec0c8e1210146e3f"
+
+S = "${WORKDIR}/git"
+
+do_compile_prepend() {
+ #undo the step "make docs"
+ sed -i -e 's/$(MAKE) -C docs docs/# $(MAKE) -C docs docs/;' ${S}/Makefile
+}
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch
new file mode 100644
index 0000000000..7403606065
--- /dev/null
+++ b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch
@@ -0,0 +1,19 @@
+Kept to help with debugging
+
+Upstream-Status: Pending
+
+Signed-off-by: Morgan Little <morgan.little@windriver.com>
+
+--- eject-2.1.1/eject.c.tn 2005-08-24 11:27:42.000000000 +0200
++++ eject-2.1.1/eject.c 2005-08-24 11:33:05.000000000 +0200
+@@ -638,7 +638,9 @@
+ unsigned char sense_buffer[32];
+
+ if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) {
+- printf("not an sg device, or old sg driver\n");
++ if (v_option) {
++ printf(_("not an sg device, or old sg driver\n"));
++ }
+ return 0;
+ }
+
diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch
new file mode 100644
index 0000000000..a16c4b1ceb
--- /dev/null
+++ b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch
@@ -0,0 +1,66 @@
+Kept to help with spaces in the mount path
+
+Upstream-Status: Backport
+
+Linux mangles spaces in mount points by changing them to an octal string
+of '\040'. So lets scan the mount point and fix it up by replacing all
+occurrences off '\0##' with the ASCII value of 0##. Requires a writable
+string as input as we mangle in place. Some of this was taken from the
+util-linux package.
+
+Signed-off-by: Morgan Little <morgan.little@windriver.com>
+--- eject/eject.c.ori 2007-06-24 00:08:44 -0700
++++ eject/eject.c 2007-06-24 00:12:44 -0700
+@@ -370,6 +370,30 @@
+
+
+ /*
++ * Linux mangles spaces in mount points by changing them to an octal string
++ * of '\040'. So lets scan the mount point and fix it up by replacing all
++ * occurrences off '\0##' with the ASCII value of 0##. Requires a writable
++ * string as input as we mangle in place. Some of this was taken from the
++ * util-linux package.
++ */
++#define octalify(a) ((a) & 7)
++#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3]))
++#define isoctal(a) (((a) & ~7) == '0')
++static char *DeMangleMount(char *s)
++{
++ char *tmp = s;
++ while ((tmp = strchr(tmp, '\\')) != NULL) {
++ if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) {
++ tmp[0] = tooctal(tmp);
++ memmove(tmp+1, tmp+4, strlen(tmp)-3);
++ }
++ ++tmp;
++ }
++ return s;
++}
++
++
++/*
+ * Given name, such as foo, see if any of the following exist:
+ *
+ * foo (if foo starts with '.' or '/')
+@@ -884,8 +908,8 @@
+ if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) ||
+ ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) {
+ FCLOSE(fp);
+- *deviceName = strdup(s1);
+- *mountName = strdup(s2);
++ *deviceName = DeMangleMount(strdup(s1));
++ *mountName = DeMangleMount(strdup(s2));
+ return 1;
+ }
+ }
+@@ -928,8 +952,8 @@
+ rc = sscanf(line, "%1023s %1023s", s1, s2);
+ if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) {
+ FCLOSE(fp);
+- *deviceName = strdup(s1);
+- *mountName = strdup(s2);
++ *deviceName = DeMangleMount(strdup(s1));
++ *mountName = DeMangleMount(strdup(s2));
+ return 1;
+ }
+ }
diff --git a/meta-oe/recipes-support/eject/eject/eject-timeout.patch b/meta-oe/recipes-support/eject/eject/eject-timeout.patch
new file mode 100644
index 0000000000..de8146f32a
--- /dev/null
+++ b/meta-oe/recipes-support/eject/eject/eject-timeout.patch
@@ -0,0 +1,17 @@
+allow a longer timeout
+
+Upstream-Status: Backport
+
+Signed-off-by: Morgan Little <morgan.little@windriver.com>
+
+--- eject/eject.c.orig 2006-08-07 16:35:15.000000000 +0200
++++ eject/eject.c 2006-08-07 16:35:54.000000000 +0200
+@@ -723,7 +723,7 @@
+ io_hdr.dxfer_len = 0;
+ io_hdr.dxferp = inqBuff;
+ io_hdr.sbp = sense_buffer;
+- io_hdr.timeout = 2000;
++ io_hdr.timeout = 10000;
+
+ io_hdr.cmdp = allowRmBlk;
+ status = ioctl(fd, SG_IO, (void *)&io_hdr);
diff --git a/meta-oe/recipes-support/eject/eject_2.1.5.bb b/meta-oe/recipes-support/eject/eject_2.1.5.bb
index c47c653444..0440f0c370 100644
--- a/meta-oe/recipes-support/eject/eject_2.1.5.bb
+++ b/meta-oe/recipes-support/eject/eject_2.1.5.bb
@@ -7,6 +7,9 @@ inherit autotools gettext update-alternatives
SRC_URI = "http://sources.openembedded.org/${BP}.tar.gz \
file://eject-2.1.5-error-return.patch \
+ file://eject-2.1.1-verbose.patch \
+ file://eject-2.1.5-spaces.patch \
+ file://eject-timeout.patch \
"
SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738"
@@ -16,6 +19,14 @@ S = "${WORKDIR}/${BPN}"
PR = "r1"
+do_compile_prepend() {
+ # PO subdir must be in build directory
+ if [ ! ${S} = ${B} ]; then
+ mkdir -p ${B}/po
+ cp -r ${S}/po/* ${B}/po/
+ fi
+}
+
ALTERNATIVE_${PN} = "volname eject"
ALTERNATIVE_LINK_NAME[volname] = "${bindir}/volname"
ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb
index 3db5da68dc..a32482883b 100644
--- a/meta-oe/recipes-support/emacs/emacs_23.4.bb
+++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb
@@ -2,7 +2,7 @@ require emacs.inc
PR = "r4"
-PNBLACKLIST[emacs] = "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
+PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
file://use-qemu.patch \
diff --git a/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch
new file mode 100644
index 0000000000..dbf0fb8ea7
--- /dev/null
+++ b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch
@@ -0,0 +1,28 @@
+From 7e144495093187143a3d1589f74c2eac37e4d790 Mon Sep 17 00:00:00 2001
+From: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
+Date: Sun, 4 May 2014 15:49:28 +0200
+Subject: [PATCH] libiconv.m4: Fix AM_ICONV macro usage
+
+This patch come straight from the Buildroot source tree.
+
+Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com>
+Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
+---
+ m4/libiconv.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/libiconv.m4 b/m4/libiconv.m4
+index fc8c6f8..3a59549 100644
+--- a/m4/libiconv.m4
++++ b/m4/libiconv.m4
+@@ -17,7 +17,7 @@ AC_REQUIRE([AC_C_CONST])dnl
+ dnl
+
+ dnl Use standard iconv test
+-AM_ICONV
++m4_pattern_allow([AM_ICONV])
+ CONVERTOR_LIBS="$CONVERTOR_LIBS $LIBICONV"
+
+ dnl Compile iconvcap.c and run it to determine what encodings iconv actually
+--
+1.9.3
diff --git a/meta-oe/recipes-support/enca/enca_1.9.bb b/meta-oe/recipes-support/enca/enca_1.9.bb
index e65a143e51..184b27e534 100644
--- a/meta-oe/recipes-support/enca/enca_1.9.bb
+++ b/meta-oe/recipes-support/enca/enca_1.9.bb
@@ -2,6 +2,8 @@ SUMMARY = "Enca is an Extremely Naive Charset Analyser"
SECTION = "libs"
HOMEPAGE = "http://trific.ath.cx/software/enca/"
+DEPENDS += "gettext-native"
+
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=24b9569831c46d4818450b55282476b4"
@@ -9,7 +11,8 @@ SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/enca-${PV}
file://configure-hack.patch \
file://dont-run-tests.patch \
file://configure-remove-dumbness.patch \
- file://makefile-remove-tools.patch "
+ file://makefile-remove-tools.patch \
+ file://libenca-003-iconv.patch "
SRC_URI[md5sum] = "b3581e28d68d452286fb0bfe58bed3b3"
SRC_URI[sha256sum] = "02acfef2b24a9c842612da49338138311f909f1cd33933520c07b8b26c410f4d"
@@ -20,17 +23,17 @@ EXTRA_OECONF = "--with-libiconv-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
do_configure_prepend() {
# remove failing test which checks for something that isn't even used
- sed -i -e '/ye_FUNC_SCANF_MODIF_SIZE_T/d' configure.ac
+ sed -i -e '/ye_FUNC_SCANF_MODIF_SIZE_T/d' ${S}/configure.ac
}
do_configure_append() {
- sed -i s:-I/usr/include::g Makefile
- sed -i s:-I/usr/include::g */Makefile
+ sed -i s:-I/usr/include::g ${B}/Makefile
+ sed -i s:-I/usr/include::g ${B}/*/Makefile
}
do_compile() {
cd ${S}/tools && ${BUILD_CC} -o make_hash make_hash.c
- cd ..
+ cd ${B}
oe_runmake
}
diff --git a/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb b/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb
new file mode 100644
index 0000000000..d665242bb1
--- /dev/null
+++ b/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb
@@ -0,0 +1,29 @@
+SUMMARY = "A PKCS"
+DESCRIPTION = "\
+Engine_pkcs11 is an implementation of an engine for OpenSSL. It can be \
+loaded using code, config file or command line and will pass any function \
+call by openssl to a PKCS cards and software for using smart cards in PKCS"
+HOMEPAGE = "https://github.com/OpenSC/engine_pkcs11"
+SECTION = "Development/Libraries"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://doc/README;md5=d2ab6bf8854463fa6bf98f5bb6dfc47c"
+DEPENDS = "openssl libp11"
+
+SRC_URI = "git://github.com/OpenSC/engine_pkcs11.git"
+SRCREV = "bb775c32dba8cc4b4381a53da7ab5d7b22b7921d"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "\
+ --disable-static \
+ --libdir ${libdir}/openssl \
+"
+
+do_install_append () {
+ rm -f ${D}${libdir}/openssl/engines/engine_pkcs11.la
+}
+
+FILES_${PN} += "/usr/lib/openssl/engines/engine_pkcs11.so*"
+FILES_${PN}-dbg += "/usr/lib/openssl/engines/.debug/*"
diff --git a/meta-oe/recipes-support/evtest/evtest_1.25.bb b/meta-oe/recipes-support/evtest/evtest_git.bb
index 34b5b74227..6fbb77d903 100644
--- a/meta-oe/recipes-support/evtest/evtest_1.25.bb
+++ b/meta-oe/recipes-support/evtest/evtest_git.bb
@@ -7,8 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "libxml2"
-SRC_URI = "http://cgit.freedesktop.org/~whot/evtest/snapshot/evtest-${PV}.tar.bz2;name=archive"
-SRC_URI[archive.md5sum] = "770d6af03affe976bdbe3ad1a922c973"
-SRC_URI[archive.sha256sum] = "3d34123c68014dae6f7c19144ef79ea2915fa7a2f89ea35ca375a9cf9e191473"
+SRCREV = "0e14da978ea906c7fdaf90f54f798a542e79ce8f"
+SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git"
-inherit autotools
+PV = "1.31+${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb
index a1029b34e3..beb610813a 100644
--- a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb
+++ b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers."
HOMEPAGE = "http://farsight.sf.net"
-SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${P}.tar.gz"
+SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${BP}.tar.gz"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
diff --git a/meta-oe/recipes-support/farsight/libnice_0.0.13.bb b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
index 3205aaf357..711b6bdbf0 100644
--- a/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
+++ b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
@@ -16,13 +16,17 @@ DEPENDS = "glib-2.0 gstreamer"
PACKAGECONFIG ??= ""
PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
-inherit autotools
+inherit autotools pkgconfig gtk-doc
FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la"
FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a"
FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
+do_configure_prepend() {
+ mkdir ${S}/m4 || true
+}
+
do_compile_append() {
for i in $(find ${S} -name "*.pc") ; do
sed -i -e s:${STAGING_DIR_TARGET}::g \
diff --git a/meta-oe/recipes-support/fbset/fbset_2.1.bb b/meta-oe/recipes-support/fbset/fbset_2.1.bb
index 0639afc3c5..18559326a1 100644
--- a/meta-oe/recipes-support/fbset/fbset_2.1.bb
+++ b/meta-oe/recipes-support/fbset/fbset_2.1.bb
@@ -18,13 +18,13 @@ SRC_URI = "http://ftp.debian.org/debian/pool/main/f/fbset/fbset_2.1.orig.tar.gz
file://fbset-2.1-fix-makefile-dep.patch \
"
-inherit autotools-brokensep update-alternatives
+inherit update-alternatives
do_install() {
install -d ${D}${sbindir} ${D}${datadir}/man/man8 ${D}${datadir}/man/man5
- install -m 0755 ${WORKDIR}/${P}/fbset ${D}${sbindir}/fbset.real
- install -m 0644 ${WORKDIR}/${P}/*.5 ${D}${datadir}/man/man5
- install -m 0644 ${WORKDIR}/${P}/*.8 ${D}${datadir}/man/man8
+ install -m 0755 ${WORKDIR}/${BP}/fbset ${D}${sbindir}/fbset.real
+ install -m 0644 ${WORKDIR}/${BP}/*.5 ${D}${datadir}/man/man5
+ install -m 0644 ${WORKDIR}/${BP}/*.8 ${D}${datadir}/man/man8
}
ALTERNATIVE_fbset = "fbset"
diff --git a/meta-oe/recipes-support/fbtest/fb-test_git.bb b/meta-oe/recipes-support/fbtest/fb-test_git.bb
index c8b4a1beae..13f9e377a8 100644
--- a/meta-oe/recipes-support/fbtest/fb-test_git.bb
+++ b/meta-oe/recipes-support/fbtest/fb-test_git.bb
@@ -1,19 +1,20 @@
SUMMARY = "Test suite for Linux framebuffer"
-PV = "0.0"
+PV = "1.1.0"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
-SRCREV = "85eab266b123a08098af86afdb1599947d276e32"
+SRCREV = "063ec650960c2d79ac51f5c5f026cb05343a33e2"
SRC_URI = "git://github.com/prpplague/fb-test-app.git"
S = "${WORKDIR}/git"
do_install() {
- install -d ${D}${bindir}
- for prog in perf rect fb-test offset ; do
- install -m 0755 $prog ${D}${bindir}
- done
+ install -d ${D}${bindir}
+ install -m 0755 fb-test ${D}${bindir}
+ # avoid collisions with perf (perf) and mesa-demos (offset)
+ for prog in perf rect offset ; do
+ install -m 0755 $prog ${D}${bindir}/fb-$prog
+ done
}
-
diff --git a/meta-oe/recipes-support/fftw/fftw.inc b/meta-oe/recipes-support/fftw/fftw.inc
index 6bd622d9b8..1522ea0bb4 100644
--- a/meta-oe/recipes-support/fftw/fftw.inc
+++ b/meta-oe/recipes-support/fftw/fftw.inc
@@ -3,6 +3,8 @@ SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+PROVIDES = "virtual/fftw"
+
RPROVIDES_${PN} += "libfftw3"
SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz"
@@ -17,7 +19,7 @@ do_configure_prepend() {
echo 'AM_PROG_AS' >> ${S}/configure.ac
}
-PACKAGES =+ "lib${PN}"
-FILES_lib${PN} = "${libdir}/lib*.so.*"
+PACKAGES =+ "lib${BPN}"
+FILES_lib${BPN} = "${libdir}/lib*.so.*"
# rename binary in /bin and use u-a tpo choose between different precision implementations?
diff --git a/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb
index 59f4a111f6..7a4fbac8c1 100644
--- a/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb
+++ b/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb
@@ -1,5 +1,8 @@
require fftw.inc
+# conflicts with fftw and fftwl
+EXCLUDE_FROM_WORLD = "1"
+
EXTRA_OECONF += "--enable-single \
${@base_contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)} \
"
diff --git a/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb
index 8f37346596..432ff1241e 100644
--- a/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb
+++ b/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb
@@ -1,5 +1,8 @@
require fftw.inc
+# conflicts with fftw and fftwf
+EXCLUDE_FROM_WORLD = "1"
+
EXTRA_OECONF += "--enable-long-double"
SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
diff --git a/meta-oe/recipes-support/flite/flite.inc b/meta-oe/recipes-support/flite/flite.inc
index b9d5e5aa62..0ef82c004c 100644
--- a/meta-oe/recipes-support/flite/flite.inc
+++ b/meta-oe/recipes-support/flite/flite.inc
@@ -11,7 +11,7 @@ S = "${WORKDIR}/flite-${PV}-release"
CFLAGS += " -lasound "
-inherit autotools
+inherit autotools-brokensep
PACKAGES += "lib${PN} lib${PN}-vox8 lib${PN}-vox16"
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 490946096f..fa01455312 100644
--- a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb
+++ b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb
@@ -16,7 +16,7 @@ SRC_URI = "ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/${PV}/fl
S = "${WORKDIR}/fltk-${PV}"
-inherit lib_package autotools binconfig
+inherit lib_package autotools-brokensep binconfig
TARGET_CC_ARCH += "${LDFLAGS} -DXFT_MAJOR=2"
diff --git a/meta-oe/recipes-support/gd/gd_2.1.0.bb b/meta-oe/recipes-support/gd/gd_2.1.0.bb
index d92e6395f8..f03b9b08b8 100644
--- a/meta-oe/recipes-support/gd/gd_2.1.0.bb
+++ b/meta-oe/recipes-support/gd/gd_2.1.0.bb
@@ -10,7 +10,7 @@ HOMEPAGE = "http://libgd.bitbucket.org/"
SECTION = "libs"
LICENSE = "GD"
LIC_FILES_CHKSUM = "file://COPYING;md5=c97638cafd3581eb87abd37332137669"
-DEPENDS = "freetype libpng jpeg zlib"
+DEPENDS = "freetype libpng jpeg zlib tiff libvpx"
SRC_URI = "https://bitbucket.org/libgd/gd-libgd/downloads/libgd-${PV}.tar.bz2 \
file://fix-the-subdir-objects-error.patch \
@@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "f3e1bc472bd81ee976a739436659fe752a14727a964c64530fde68531d
S = "${WORKDIR}/libgd-${PV}"
-inherit autotools binconfig gettext
+inherit autotools binconfig gettext pkgconfig
EXTRA_OECONF += " --disable-rpath \
--with-jpeg=${STAGING_LIBDIR}/.. \
diff --git a/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch
new file mode 100644
index 0000000000..f0c697c7b5
--- /dev/null
+++ b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch
@@ -0,0 +1,61 @@
+From fbf7b9e5a8e2978acd5b0a7a8311912a080ee9b9 Mon Sep 17 00:00:00 2001
+From: Qian Lei <qianl.fnst@cn.fujitsu.com>
+Date: Thu, 18 Dec 2014 11:09:01 +0800
+Subject: [PATCH] Makefile: remove strip
+
+Avoid QA error by removing strip from Makefile
+
+[...]
+ERROR: QA Issue: File '/sbin/gradm' from gradm was already stripped,
+this will prevent future debugging! [already-stripped]
+ERROR: QA Issue: File '/sbin/grlearn' from gradm was already stripped,
+this will prevent future debugging! [already-stripped]
+[...]
+
+Upstream-Status: Pending
+
+Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
+
+---
+ Makefile | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 6c33fee..3570a4e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -24,7 +24,6 @@ MKNOD=/bin/mknod
+ #CC=/usr/bin/diet /usr/bin/gcc
+ CC=/usr/bin/gcc
+ FIND=/usr/bin/find
+-STRIP=/usr/bin/strip
+ LIBS := $(shell if [ "`uname -m`" != "sparc64" -a "`uname -m`" != "x86_64" ]; then echo "-lfl" ; else echo "" ; fi)
+ OPT_FLAGS := -O2
+ # for older versions of grsecurity, comment the above line and uncomment the below:
+@@ -140,15 +139,12 @@ install: $(GRADM_BIN) gradm.8 policy grlearn
+ @mkdir -p $(DESTDIR)/sbin
+ @echo "Installing gradm..."
+ @$(INSTALL) -m 0755 $(GRADM_BIN) $(DESTDIR)/sbin
+- @$(STRIP) $(DESTDIR)/sbin/$(GRADM_BIN)
+ @if [ -f $(GRADM_PAM) ] ; then \
+ echo "Installing gradm_pam..." ; \
+ $(INSTALL) -m 4755 $(GRADM_PAM) $(DESTDIR)/sbin ; \
+- $(STRIP) $(DESTDIR)/sbin/$(GRADM_PAM) ; \
+ fi
+ @echo "Installing grlearn..."
+ @$(INSTALL) -m 0700 grlearn $(DESTDIR)/sbin
+- @$(STRIP) $(DESTDIR)/sbin/grlearn
+ @mkdir -p -m 700 $(DESTDIR)$(GRSEC_DIR)
+ @if [ ! -f $(DESTDIR)$(GRSEC_DIR)/policy ] ; then \
+ if [ -f $(DESTDIR)$(GRSEC_DIR)/acl ] ; then \
+@@ -168,6 +164,7 @@ install: $(GRADM_BIN) gradm.8 policy grlearn
+ $(MKNOD) -m 0622 $(DESTDIR)/dev/grsec c 1 13 ; \
+ fi \
+ fi
++ @mkdir -p $(DESTDIR)/etc/udev/rules.d
+ @if [ -d $(DESTDIR)/etc/udev/rules.d ] ; then \
+ echo "ACTION!=\"add|change\", GOTO=\"permissions_end\"" > $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \
+ echo "KERNEL==\"grsec\", MODE=\"0622\"" >> $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \
+--
+1.8.3.1
+
diff --git a/meta-oe/recipes-support/gradm/gradm_3.0.bb b/meta-oe/recipes-support/gradm/gradm_3.0.bb
new file mode 100644
index 0000000000..2f1d39d996
--- /dev/null
+++ b/meta-oe/recipes-support/gradm/gradm_3.0.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Administration program for the grsecurity RBAC syste"
+DESCRIPTION = "\
+gradm is the userspace RBAC parsing and authentication program for \
+grsecurity grsecurity aims to be a complete security system. gradm \
+performs several tasks for the RBAC system including authenticated \
+via a password to the kernel and parsing rules to be passed to the \
+kernel"
+HOMEPAGE = "http://grsecurity.net/index.php"
+SECTION = "admin"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b"
+DEPENDS = "flex-native bison-native ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+SRC_URI = "http://grsecurity.net/stable/${BP}-201408301734.tar.gz \
+ file://0001-Makefile-remove-strip.patch"
+SRC_URI[md5sum] = "79ec912e6544c5e58753f658623763f9"
+SRC_URI[sha256sum] = "b190e5afecdf3ac5020a4e5e4b698645f1c01b20d036129dd8b609c4bd0c319c"
+
+S = "${WORKDIR}/gradm"
+
+inherit autotools-brokensep
+
+do_compile() {
+ oe_runmake 'CC=${CC}' \
+ 'OPT_FLAGS=${CFLAGS}' \
+ 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
+ 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
+ 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
+ ${@base_contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)}
+}
+
+do_install() {
+ oe_runmake 'CC=${CC}' \
+ 'DESTDIR=${D}' \
+ 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
+ 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
+ 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
+ install
+
+ # The device nodes are generated by postinstall or udev
+ rm -rf ${D}/dev
+}
+
+pkg_postinst_${PN}() {
+ # make sure running on the target
+ if [ x"$D" != "x" ]; then
+ exit 1
+ fi
+ /bin/mknod -m 0622 /dev/grsec c 1 13
+}
diff --git a/meta-oe/recipes-support/i2c-tools/i2c-tools-3.1.0/Module.mk b/meta-oe/recipes-support/i2c-tools/i2c-tools-3.1.0/Module.mk
deleted file mode 100644
index fcaf72f22a..0000000000
--- a/meta-oe/recipes-support/i2c-tools/i2c-tools-3.1.0/Module.mk
+++ /dev/null
@@ -1,72 +0,0 @@
-# EEPROMER
-#
-# Licensed under the GNU General Public License.
-
-EEPROMER_DIR := eepromer
-
-EEPROMER_CFLAGS := -Wstrict-prototypes -Wshadow -Wpointer-arith -Wcast-qual \
- -Wcast-align -Wwrite-strings -Wnested-externs -Winline \
- -W -Wundef -Wmissing-prototypes -Iinclude
-
-EEPROMER_TARGETS := eepromer eeprom eeprog
-
-#
-# Programs
-#
-
-$(EEPROMER_DIR)/eepromer: $(EEPROMER_DIR)/eepromer.o
- $(CC) $(LDFLAGS) -o $@ $^
-
-$(EEPROMER_DIR)/eeprom: $(EEPROMER_DIR)/eeprom.o
- $(CC) $(LDFLAGS) -o $@ $^
-
-$(EEPROMER_DIR)/eeprog: $(EEPROMER_DIR)/eeprog.o $(EEPROMER_DIR)/24cXX.o
- $(CC) $(LDFLAGS) -o $@ $^
-
-#
-# Objects
-#
-
-$(EEPROMER_DIR)/eepromer.o: $(EEPROMER_DIR)/eepromer.c
- $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@
-
-$(EEPROMER_DIR)/eeprom.o: $(EEPROMER_DIR)/eeprom.c
- $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@
-
-$(EEPROMER_DIR)/eeprog.o: $(EEPROMER_DIR)/eeprog.c
- $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@
-
-$(EEPROMER_DIR)/24cXX.o: $(EEPROMER_DIR)/24cXX.c
- $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@
-
-#
-# Commands
-#
-
-all-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS))
-
-strip-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS))
- strip $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS))
-
-clean-eepromer:
- $(RM) $(addprefix $(EEPROMER_DIR)/,*.o $(EEPROMER_TARGETS))
-
-install-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS))
- $(INSTALL_DIR) $(DESTDIR)$(sbindir) $(DESTDIR)$(man8dir)
- for program in $(EEPROMER_TARGETS) ; do \
- $(INSTALL_PROGRAM) $(EEPROMER_DIR)/$$program $(DESTDIR)$(sbindir) ; done
-
-uninstall-eepromer:
- for program in $(EEPROMER_TARGETS) ; do \
- $(RM) $(DESTDIR)$(sbindir)/$$program ; \
- $(RM) $(DESTDIR)$(man8dir)/$$program.8 ; done
-
-all: all-eepromer
-
-strip: strip-eepromer
-
-clean: clean-eepromer
-
-install: install-eepromer
-
-uninstall: uninstall-eepromer
diff --git a/meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb b/meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb
deleted file mode 100644
index b8be9eddda..0000000000
--- a/meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Set of i2c tools for linux"
-SECTION = "base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-RDEPENDS_${PN} += "perl"
-
-SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/i2c-tools/i2c-tools-3.1.0.tar.bz2/f15019e559e378c6e9d5d6299a00df21/i2c-tools-${PV}.tar.bz2 \
- file://Module.mk \
-"
-SRC_URI[md5sum] = "f15019e559e378c6e9d5d6299a00df21"
-SRC_URI[sha256sum] = "960023f61de292c6dd757fcedec4bffa7dd036e8594e24b26a706094ca4c142a"
-
-inherit autotools-brokensep
-
-do_compile_prepend() {
- cp ${WORKDIR}/Module.mk ${S}/eepromer/
- sed -i 's#/usr/local#/usr#' ${S}/Makefile
- echo "include eepromer/Module.mk" >> ${S}/Makefile
-}
-
-do_install_append() {
- install -d ${D}${includedir}/linux
- install -m 0644 include/linux/i2c-dev.h ${D}${includedir}/linux/i2c-dev-user.h
- rm -f ${D}${includedir}/linux/i2c-dev.h
-}
diff --git a/meta-oe/recipes-support/iksemel/iksemel_1.4.bb b/meta-oe/recipes-support/iksemel/iksemel_1.4.bb
index c7de2f4ced..6d2abf7cea 100644
--- a/meta-oe/recipes-support/iksemel/iksemel_1.4.bb
+++ b/meta-oe/recipes-support/iksemel/iksemel_1.4.bb
@@ -8,7 +8,7 @@ DEPENDS = "gnutls"
PR = "r1"
-SRC_URI = "http://iksemel.googlecode.com/files/${P}.tar.gz;name=archive \
+SRC_URI = "http://iksemel.googlecode.com/files/${BP}.tar.gz;name=archive \
file://r25.diff"
SRC_URI[archive.md5sum] = "532e77181694f87ad5eb59435d11c1ca"
SRC_URI[archive.sha256sum] = "458c1b8fb3349076a6cecf26c29db1d561315d84e16bfcfba419f327f502e244"
diff --git a/meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch b/meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch
deleted file mode 100644
index 559aa247d0..0000000000
--- a/meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Our automake-1.11.2 doesn't support it yet, see:
-http://lists.gnu.org/archive/html/automake/2011-12/msg00081.html
-
-Upstream-Status: Inappropriate [fix or upgrade oe-core automake]
-
-diff -uNr ImageMagick-6.7.5-6.orig/configure.ac ImageMagick-6.7.5-6/configure.ac
---- ImageMagick-6.7.5-6.orig/configure.ac 2012-02-12 18:07:28.000000000 +0100
-+++ ImageMagick-6.7.5-6/configure.ac 2012-02-15 12:55:47.668813474 +0100
-@@ -128,7 +128,7 @@
- # Ensure that make can run correctly
- AM_SANITY_CHECK
-
--AM_INIT_AUTOMAKE([1.11 color-tests foreign parallel-tests silent-rules subdir-objects dist-bzip2 dist-lzip dist-xz dist-zip])
-+AM_INIT_AUTOMAKE([1.11 color-tests foreign parallel-tests silent-rules subdir-objects dist-bzip2 dist-xz dist-zip])
-
- # Enable support for silent build rules
- m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_6.8.8.bb b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb
index e261eb8b70..1252020d27 100644
--- a/meta-oe/recipes-support/imagemagick/imagemagick_6.8.8.bb
+++ b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb
@@ -2,26 +2,30 @@ SUMMARY = "ImageMagick is an image convertion tools"
SECTION = "console/utils"
LICENSE = "ImageMagick"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d84c6ddd4028aa53d028b4c50f9361e"
-# FIXME: There is much more checked libraries. All should be added or explicitly disabled to get consistent results.
-DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib fftw freetype"
+# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
+DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib virtual/fftw freetype"
-PATCHSET = "10"
-SRC_URI = "http://www.imagemagick.org/download/legacy/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \
- file://remove.dist-lzip.patch \
+PATCHSET = "9"
+SRC_URI = "http://www.imagemagick.org/download/releases/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \
"
-SRC_URI[md5sum] = "a3a0fa301965d6fde68fccd066f62b0b"
-SRC_URI[sha256sum] = "8c0982b2bc0c1cea8ac9627b4e1e5d37f8171ef8282ee09aef32529cf68e1820"
+SRC_URI[md5sum] = "971648be6ae5f5070d98e2b6c5fb004d"
+SRC_URI[sha256sum] = "ea0c4f00019b58b290b1329e4e747972c61a00780a67b35df9228a76f26f1592"
S = "${WORKDIR}/ImageMagick-${PV}-${PATCHSET}"
-inherit autotools binconfig pkgconfig
+inherit autotools pkgconfig
# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2
# if someone needs xml support then fix it first
EXTRA_OECONF = "--program-prefix= --program-suffix=.im6 --without-x --without-perl --disable-openmp --without-xml --disable-opencl"
+CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
PACKAGECONFIG ??= ""
-PACKAGECONFIG[jp2] = "--with-jp2,--without-jp2,jasper"
+PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
+PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
+PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo"
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
+PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
FILES_${PN} += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.so \
${libdir}/ImageMagick-${PV}/modules-Q16/*/*.la \
@@ -35,9 +39,3 @@ FILES_${PN}-dev += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.a"
FILES_${PN}-dbg += "${libdir}/ImageMagick-${PV}/modules-Q16/*/.debug/*"
BBCLASSEXTEND = "native"
-
-LEAD_SONAME = "libMagickCore.so.*"
-
-do_configure_prepend() {
- export ac_cv_sys_file_offset_bits=yes
-}
diff --git a/meta-oe/recipes-support/lcov/lcov_1.11.bb b/meta-oe/recipes-support/lcov/lcov_1.11.bb
new file mode 100644
index 0000000000..5f3b889346
--- /dev/null
+++ b/meta-oe/recipes-support/lcov/lcov_1.11.bb
@@ -0,0 +1,28 @@
+SUMMARY = "A graphical front-end for gcov"
+HOMEPAGE = "http://ltp.sourceforge.net/coverage/lcov.php"
+DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \
+tool gcov. It collects gcov data for multiple source files and creates \
+HTML pages containing the source code annotated with coverage information. \
+It also adds overview pages for easy navigation within the file structure. \
+LCOV supports statement, function and branch coverage measurement."
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+RDEPENDS_${PN} += " \
+ gcov \
+ perl \
+ perl-module-filehandle \
+ perl-module-getopt-std \
+ perl-module-digest-sha \
+"
+
+SRC_URI = "http://downloads.sourceforge.net/ltp/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "e79b799ae3ce149aa924c7520e993024"
+SRC_URI[sha256sum] = "c282de8d678ecbfda32ce4b5c85fc02f77c2a39a062f068bd8e774d29ddc9bf8"
+
+do_install() {
+ oe_runmake install PREFIX=${D}
+ sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/*
+}
+
diff --git a/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb
index 21f4e2ac4b..16657b4b13 100644
--- a/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb
+++ b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb
@@ -9,7 +9,7 @@ SRC_URI = "git://git.0pointer.de/libatasmart.git"
S = "${WORKDIR}/git"
-inherit autotools lib_package
+inherit autotools lib_package pkgconfig
do_install_append() {
sed -i -e s://:/:g -e 's:=${libdir}/libudev.la:-ludev:g' ${D}${libdir}/libatasmart.la
diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb
index b10c3fde95..0f00b209fb 100644
--- a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb
+++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
DEPENDS = "gstreamer gtk+ gtk+3 libtool libvorbis"
-inherit autotools
+inherit autotools gtk-doc
SRC_URI = " \
http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \
@@ -59,4 +59,4 @@ FILES_${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \
FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \
${datadir}/gdm/ ${datadir}/gnome/"
-FILES_${PN}-systemd = "${base_libdir}/systemd/system/*.service"
+FILES_${PN}-systemd = "${systemd_unitdir}/system/*.service"
diff --git a/meta-oe/recipes-support/libee/libee.inc b/meta-oe/recipes-support/libee/libee.inc
new file mode 100644
index 0000000000..5b552ca2a6
--- /dev/null
+++ b/meta-oe/recipes-support/libee/libee.inc
@@ -0,0 +1,39 @@
+SUMMARY = "An Event Expression Library inspired by CEE"
+DESCRIPTION = "The core idea of libee is to provide a small \
+but hopefully convenient API layer above the CEE standard."
+
+HOMEPAGE = "http://www.libee.org"
+SECTION = "base"
+
+LICENSE = "LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1c2687de35e36ba3b999136236a66cd6"
+
+SRC_URI = "http://www.libee.org/download/files/download/${BPN}-${PV}.tar.gz\
+ file://libee-parallel-make.patch \
+ file://run-ptest \
+ file://ezapi1.sh \
+"
+
+inherit autotools ptest pkgconfig
+
+DEPENDS += "libestr"
+
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench', '', d)}"
+
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
+PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
+
+TESTDIR = "tests"
+
+# We presume the tests we are going to install so just build them directly.
+#
+do_compile_ptest() {
+ oe_runmake -C ${TESTDIR} genfile ezapi1
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ install -m 0755 ${B}/${TESTDIR}/genfile ${D}${PTEST_PATH}
+ install -m 0755 ${B}/${TESTDIR}/.libs/ezapi1 ${D}${PTEST_PATH}
+ install -m 0755 ${WORKDIR}/ezapi1.sh ${D}${PTEST_PATH}
+}
diff --git a/meta-oe/recipes-support/libee/libee/ezapi1.sh b/meta-oe/recipes-support/libee/libee/ezapi1.sh
new file mode 100755
index 0000000000..e9db5e614b
--- /dev/null
+++ b/meta-oe/recipes-support/libee/libee/ezapi1.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+echo ---------------------------------------------------------------------------
+echo A very basic test for the event class
+echo ---------------------------------------------------------------------------
+rm -f infile
+./genfile 100 > infile
+./ezapi1 -iinfile
+if [ $? -ne 0 ] ; then
+ echo "FAIL: $0"
+ exit 1
+fi
+echo "PASS: $0"
+rm -f infile
diff --git a/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch
new file mode 100644
index 0000000000..25e5c6ae02
--- /dev/null
+++ b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch
@@ -0,0 +1,20 @@
+fix parallel compiling problem
+
+without specifying libee_convert_DEPENDENCIES = libee.la, libee_convert
+can't find libee.la when linking as libee is not generated yet.
+
+Upstream-Status: pending
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+---
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 08aaa9e..f0c78f7 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -46,5 +46,6 @@ libee_la_LDFLAGS = -version-info 0:0:0
+ libee_convert_SOURCES = convert.c
+ libee_convert_CPPFLAGS = -I$(top_srcdir) $(LIBEE_CFLAGS) $(LIBESTR_CFLAGS) $(LIBXML2_CFLAGS)
+ libee_convert_LDADD = $(LIBEE_LIBS) $(LIBXML2_LIBS) $(LIBESTR_LIBS)
++libee_convert_DEPENDENCIES = libee.la
+
+ include_HEADERS =
diff --git a/meta-oe/recipes-support/libee/libee/run-ptest b/meta-oe/recipes-support/libee/libee/run-ptest
new file mode 100755
index 0000000000..3cb6607645
--- /dev/null
+++ b/meta-oe/recipes-support/libee/libee/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+#
+./ezapi1.sh
diff --git a/meta-oe/recipes-support/libee/libee_0.4.1.bb b/meta-oe/recipes-support/libee/libee_0.4.1.bb
new file mode 100644
index 0000000000..ef2c20db5a
--- /dev/null
+++ b/meta-oe/recipes-support/libee/libee_0.4.1.bb
@@ -0,0 +1,4 @@
+require ${BPN}.inc
+
+SRC_URI[md5sum] = "7bbf4160876c12db6193c06e2badedb2"
+SRC_URI[sha256sum] = "c0dac01938593deee06c3d161e4eda4ecc0fd7317e1321bd96e301aceb7fb027"
diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb
index 4183f0521c..de5186f10c 100644
--- a/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb
+++ b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb
@@ -13,9 +13,6 @@ S = "${WORKDIR}/eigen-eigen-ffa86ffb5570"
inherit cmake
-OECMAKE_SOURCEPATH = ".."
-OECMAKE_BUILDPATH = "build"
-
EXTRA_OECMAKE += "-Dpkg_config_libdir=${libdir}"
FILES_${PN} = "${includedir} ${libdir}"
diff --git a/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch b/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch
new file mode 100644
index 0000000000..4f0161727f
--- /dev/null
+++ b/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch
@@ -0,0 +1,16 @@
+Index: libetpan-0.57/rules.mk
+===================================================================
+--- libetpan-0.57.orig/rules.mk
++++ libetpan-0.57/rules.mk
+@@ -134,9 +134,9 @@ prepare-am: prepare-local
+ if test -e ../../$(subdir)/$${hdr}; then \
+ echo "$(LN_S) -f ../../$(subdir)/$${hdr} ."; \
+ $(LN_S) -f ../../$(subdir)/$${hdr} .; \
+ else \
+- echo "$(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} ."; \
+- $(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} .; \
++ echo "$(LN_S) -f $(srcdir)/$${hdr} ."; \
++ $(LN_S) -f $(srcdir)/$${hdr} .; \
+ fi; \
+ fi; \
+ done; \
diff --git a/meta-oe/recipes-support/libetpan/libetpan_0.57.bb b/meta-oe/recipes-support/libetpan/libetpan_0.57.bb
index 0dbd782025..6be0694ef1 100644
--- a/meta-oe/recipes-support/libetpan/libetpan_0.57.bb
+++ b/meta-oe/recipes-support/libetpan/libetpan_0.57.bb
@@ -10,7 +10,8 @@ PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz \
file://libetpan-autoreconf.patch \
- file://libetpan-ldflags.patch"
+ file://libetpan-ldflags.patch \
+ file://sepbuild.patch"
inherit autotools pkgconfig gettext binconfig
diff --git a/meta-oe/recipes-support/libftdi/libftdi_0.19.bb b/meta-oe/recipes-support/libftdi/libftdi_0.19.bb
deleted file mode 100644
index a62236f7cb..0000000000
--- a/meta-oe/recipes-support/libftdi/libftdi_0.19.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "libftdi is a library to talk to FTDI chips.\
-FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\
-including the popular bitbang mode."
-HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/"
-SECTION = "libs"
-
-PR = "r1"
-
-LICENSE = "LGPLv2.1 GPLv2"
-LIC_FILES_CHKSUM= "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \
- file://COPYING.LIB;md5=db979804f025cf55aabec7129cb671ed \
-"
-
-DEPENDS = "virtual/libusb0"
-DEPENDS_virtclass-native = "virtual/libusb0-native"
-
-SRC_URI = "http://www.intra2net.com/en/developer/libftdi/download/libftdi-${PV}.tar.gz \
- file://libtool-m4.patch \
-"
-SRC_URI[md5sum] = "e6e25f33b4327b1b7aa1156947da45f3"
-SRC_URI[sha256sum] = "567c9d2c42d92fc401c5aba2deed45ffb2433990984e816bcdf31e441aef06be"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[cpp-wrapper] = "--enable-libftdipp,--disable-libftdipp,boost"
-
-inherit autotools binconfig pkgconfig
-
-BBCLASSEXTEND = "native"
-
diff --git a/meta-oe/recipes-support/libftdi/libftdi_1.1.bb b/meta-oe/recipes-support/libftdi/libftdi_1.1.bb
new file mode 100644
index 0000000000..d8b189be95
--- /dev/null
+++ b/meta-oe/recipes-support/libftdi/libftdi_1.1.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "libftdi is a library to talk to FTDI chips.\
+FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\
+including the popular bitbang mode."
+HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM= "\
+ file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \
+ file://COPYING.LIB;md5=db979804f025cf55aabec7129cb671ed \
+"
+
+DEPENDS = "libusb1"
+
+SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "b79a6356978aa8e69f8eecc3a720ff79"
+SRC_URI[sha256sum] = "c0b1af1a13e2c6682a1d8041e5b164a1e0d90267cd378bb51e059bd62f821e21"
+
+S = "${WORKDIR}/${BPN}1-${PV}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on,-DFTDI_BUILD_CPP=off,boost"
+
+inherit cmake binconfig pkgconfig
+
+FILES_${PN}-dev += "${libdir}/cmake"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/libgc/libgc_7.2d.bb b/meta-oe/recipes-support/libgc/libgc_7.2d.bb
deleted file mode 100644
index b472a5d13e..0000000000
--- a/meta-oe/recipes-support/libgc/libgc_7.2d.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Garbage Collection Library"
-DESCRIPTION = "The GC library provides a garbage collector for C and C++."
-HOMEPAGE = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/"
-
-LICENSE = "GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://doc/README;beginline=1;endline=37;md5=9f4fd307082acf7a8af3e3897245163b \
- file://README.QUICK;beginline=1;endline=23;md5=293ea42f3f606426deefadd5dd8ddd15 \
-"
-
-SRC_URI = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "91340b28c61753a789eb6077675d87d2"
-SRC_URI[sha256sum] = "d9fe0ae8650d43746a48bfb394cab01a319f3809cee19f8ebd16aa985b511c5e"
-
-S = "${WORKDIR}/gc-7.2"
-
-inherit autotools
-
-PACKAGES =+ "${PN}-docs"
-FILES_${PN}-docs = "/usr/share/gc"
diff --git a/meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb b/meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb
new file mode 100644
index 0000000000..cf7c2d54dd
--- /dev/null
+++ b/meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "JavaScript library for dynamic web applications"
+LICENSE = "GPLv2+ & MIT"
+LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-jquery/copyright;md5=2b490904c50a58472452b6e9e1c81203"
+
+SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/main/j/jquery/${BPN}_${PV}-1ubuntu1_all.deb;subdir=${BP}"
+SRC_URI[md5sum] = "1ac8a9e4dfe18de22e65baec3dd53f8b"
+SRC_URI[sha256sum] = "0551e20c88035d80c00b552707573d62ee89e8e5a204d8b427a6020b065e2542"
+
+JQUERYDIR = "${datadir}/javascript/jquery"
+JQUERYDOCDIR = "${docdir}/libjs-jquery"
+
+do_install() {
+ install -d -m 0755 ${D}${JQUERYDIR}
+ install -m 0644 ${S}${JQUERYDIR}/jquery.js ${D}${JQUERYDIR}/
+ install -m 0644 ${S}${JQUERYDIR}/jquery.min.js ${D}${JQUERYDIR}/
+
+ ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.lite.js
+ ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.pack.js
+
+ install -d -m 0644 ${D}${JQUERYDOCDIR}
+ install -m 0644 ${S}${JQUERYDOCDIR}/copyright ${D}${JQUERYDOCDIR}/
+}
+
+FILES_${PN} = "/usr/share/javascript/jquery"
diff --git a/meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb b/meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb
new file mode 100644
index 0000000000..ad0f9c64d5
--- /dev/null
+++ b/meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Pure-JavaScript CSS selector engine"
+LICENSE = "GPLv2+ & MIT & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-sizzle/copyright;md5=9b35efb1635ff8f06d1984376b06ee5a"
+
+SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/universe/s/sizzle/${BPN}_${PV}-1_all.deb;subdir=${BP}"
+SRC_URI[md5sum] = "748b8805e21caed658f6765f7c491d46"
+SRC_URI[sha256sum] = "2a6468763c40a30f6f7d0df8906cd17aaebd6edaa5478aeaffd7b6b5fb8abd35"
+
+SIZZLEDIR = "${datadir}/javascript/sizzle"
+SIZZLEDOCDIR = "${docdir}/libjs-sizzle"
+
+do_install() {
+ install -d -m 0755 ${D}${SIZZLEDIR}
+ install -m 0644 ${S}${SIZZLEDIR}/sizzle.js ${D}${SIZZLEDIR}/
+ install -m 0644 ${S}${SIZZLEDIR}/sizzle.min.js ${D}${SIZZLEDIR}/
+ install -d -m 0755 ${D}${SIZZLEDOCDIR}
+ install -m 0644 ${S}${SIZZLEDOCDIR}/* ${D}${SIZZLEDOCDIR}/
+}
+
+FILES_${PN} = "/usr/share/javascript/sizzle/"
diff --git a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb
index 5de939060e..e3c833bf40 100644
--- a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb
+++ b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/"
LICENSE = "LGPL-2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5"
SECTION = "net"
-DEPENDS = "libgcrypt gnutls"
+DEPENDS = "libgcrypt gnutls file"
SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz"
SRC_URI[md5sum] = "2947eee13c2c8affb95023a0cb6fda0c"
@@ -11,7 +11,8 @@ SRC_URI[sha256sum] = "29a2bfd4fd2ddf60c756b8c283291a134898e3cc143843be421a040be1
inherit autotools lib_package
-EXTRA_OECONF += "-disable-static --enable-gnutls"
+# disable spdy, because it depends on openssl
+EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../ --disable-spdy"
PACKAGECONFIG ?= "curl"
PACKAGECONFIG_append_class-target = "\
diff --git a/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb
index 3aa574691b..3311da5a8f 100644
--- a/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb
+++ b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb
@@ -7,10 +7,10 @@ LICENSE = "MIT|GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=6266718a5241c045c8099d9be48817df \
file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
SECTION = "libs"
-DEPENDS = "curl"
+DEPENDS = "curl openssl"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}.tar.gz"
SRC_URI[md5sum] = "689b46c2b3ab1a39735ac33f714c4f7f"
SRC_URI[sha256sum] = "0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f"
-inherit autotools
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-support/libol/libol/configure.patch b/meta-oe/recipes-support/libol/libol/configure.patch
new file mode 100644
index 0000000000..87695fb06d
--- /dev/null
+++ b/meta-oe/recipes-support/libol/libol/configure.patch
@@ -0,0 +1,14 @@
+Index: libol-0.3.18/configure.in
+===================================================================
+--- libol-0.3.18.orig/configure.in 2006-03-27 14:44:52.000000000 +0000
++++ libol-0.3.18/configure.in 2014-07-18 07:05:56.029481372 +0000
+@@ -1,7 +1,7 @@
+ dnl Process this file with autoconf to produce a configure script.
+-AC_INIT(src/abstract_io.c)
++AC_INIT(libol, "0.3.18")
+
+-AM_INIT_AUTOMAKE(libol, "0.3.18", 1)
++AM_INIT_AUTOMAKE([foreign])
+ if test -n "$SNAPSHOT_VERSION"; then
+ VERSION=$VERSION+$SNAPSHOT_VERSION
+ fi
diff --git a/meta-oe/recipes-support/libol/libol_0.3.18.bb b/meta-oe/recipes-support/libol/libol_0.3.18.bb
index 429945fe63..c31f483131 100644
--- a/meta-oe/recipes-support/libol/libol_0.3.18.bb
+++ b/meta-oe/recipes-support/libol/libol_0.3.18.bb
@@ -3,8 +3,17 @@ SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${P}.tar.gz"
+SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${BP}.tar.gz \
+ file://configure.patch"
SRC_URI[md5sum] = "cbadf4b7ea276dfa85acc38a1cc5ff17"
SRC_URI[sha256sum] = "9de3bf13297ff882e02a1e6e5f6bf760a544aff92a9d8a1cf4328a32005cefe7"
inherit autotools binconfig
+
+do_compile_prepend() {
+ install ${S}/utils/make_class.in ${B}/utils
+}
+
+do_install_append() {
+ rm -fr ${D}${bindir}
+}
diff --git a/meta-oe/recipes-support/libp11/libp11_0.2.8.bb b/meta-oe/recipes-support/libp11/libp11_0.2.8.bb
new file mode 100644
index 0000000000..5801484c2b
--- /dev/null
+++ b/meta-oe/recipes-support/libp11/libp11_0.2.8.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Library for using PKCS"
+DESCRIPTION = "\
+Libp11 is a library implementing a small layer on top of PKCS \
+make using PKCS"
+HOMEPAGE = "http://www.opensc-project.org/libp11"
+SECTION = "Development/Libraries"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
+DEPENDS = "libtool openssl"
+
+SRC_URI = "git://github.com/OpenSC/libp11.git"
+SRCREV = "7d56d89fcad6440d108bbbccfb1ebd958e7eb740"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-static"
+
+do_install_append () {
+ rm -rf ${D}${libdir}/*.la
+ rm -rf ${D}${docdir}/${BPN}
+}
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch
index 2069644f9b..de88f0a34a 100644
--- a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch
+++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch
@@ -1,8 +1,38 @@
Index: SDL_ttf-2.0.10/configure.in
===================================================================
---- SDL_ttf-2.0.10.orig/configure.in 2010-10-15 10:54:51.392730531 +0200
-+++ SDL_ttf-2.0.10/configure.in 2010-10-15 10:55:06.382727473 +0200
-@@ -25,6 +25,8 @@
+--- SDL_ttf-2.0.10.orig/configure.in 2009-10-12 23:06:38.000000000 +0000
++++ SDL_ttf-2.0.10/configure.in 2014-07-17 12:33:34.011662505 +0000
+@@ -1,5 +1,4 @@
+ dnl Process this file with autoconf to produce a configure script.
+-AC_INIT(README)
+
+ dnl Set various version strings - taken gratefully from the GTk sources
+
+@@ -11,12 +10,19 @@
+ # if backwards compatibility has been broken,
+ # set BINARY_AGE and INTERFACE_AGE to 0.
+
+-MAJOR_VERSION=2
+-MINOR_VERSION=0
+-MICRO_VERSION=10
++m4_define([sdlttf_major_version],[2])
++m4_define([sdlttf_minor_version],[0])
++m4_define([sdlttf_micro_version],[10])
++m4_define([sdlttf_version], [sdlttf_major_version.sdlttf_minor_version.sdlttf_micro_version])
++
++AC_INIT([SDL_ttf], [sdlttf_version])
++
++MAJOR_VERSION=sdlttf_major_version
++MINOR_VERSION=sdlttf_minor_version
++MICRO_VERSION=sdlttf_micro_version
+ INTERFACE_AGE=0
+ BINARY_AGE=10
+-VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
++VERSION=sdlttf_version
+
+ AC_SUBST(MAJOR_VERSION)
+ AC_SUBST(MINOR_VERSION)
+@@ -25,6 +31,8 @@
AC_SUBST(BINARY_AGE)
AC_SUBST(VERSION)
@@ -11,3 +41,12 @@ Index: SDL_ttf-2.0.10/configure.in
# libtool versioning
LT_INIT([win32-dll])
+@@ -42,7 +50,7 @@
+ AC_CANONICAL_HOST
+
+ dnl Setup for automake
+-AM_INIT_AUTOMAKE(SDL_ttf, $VERSION)
++AM_INIT_AUTOMAKE([foreign])
+
+ dnl Check for tools
+ AC_PROG_LIBTOOL
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch
new file mode 100644
index 0000000000..8a11f66495
--- /dev/null
+++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch
@@ -0,0 +1,57 @@
+freetype-config was removed from oe-core in
+
+commit 5870bd272b0b077d0826fb900b251884c1c05061
+Author: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu May 22 10:59:33 2014 +0100
+
+ binconfig-disabled: Add class and use
+
+diff --git a/configure.in b/configure.in
+index 408e8d6..5f9e730 100644
+--- a/configure.in
++++ b/configure.in
+@@ -86,39 +86,11 @@ case "$host" in
+ esac
+ AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
+
+-dnl Check for the FreeType 2 library
+-dnl
+-dnl Get the cflags and libraries from the freetype-config script
+-dnl
+-AC_ARG_WITH(freetype-prefix,[ --with-freetype-prefix=PFX Prefix where FREETYPE is
+-installed (optional)],
+- freetype_prefix="$withval", freetype_prefix="")
+-AC_ARG_WITH(freetype-exec-prefix,[ --with-freetype-exec-prefix=PFX Exec prefix
+-where FREETYPE is installed (optional)],
+- freetype_exec_prefix="$withval", freetype_exec_prefix="")
+-
+-if test x$freetype_exec_prefix != x ; then
+- freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix"
+- if test x${FREETYPE_CONFIG+set} != xset ; then
+- FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config
+- fi
+-fi
+-if test x$freetype_prefix != x ; then
+- freetype_args="$freetype_args --prefix=$freetype_prefix"
+- if test x${FREETYPE_CONFIG+set} != xset ; then
+- FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config
+- fi
+-fi
+-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+-no_freetype=""
+-if test "$FREETYPE_CONFIG" = "no" ; then
+- AC_MSG_ERROR([
+-*** Unable to find FreeType2 library (http://www.freetype.org/)
+-])
+-else
+- CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`"
+- LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`"
+-fi
++PKG_CHECK_MODULES(FREETYPE2, freetype2,
++ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
++ LIBS="$LIBS $FREETYPE2_LIBS",
++ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
++)
+
+ dnl Check for SDL
+ SDL_VERSION=2.0.0
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb
index c6e5a15ff7..ad3792e22e 100644
--- a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb
+++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb
@@ -4,10 +4,11 @@ DEPENDS = "virtual/libsdl freetype"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4"
-PR = "r1"
+PR = "r2"
SRC_URI = "http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-${PV}.tar.gz \
file://configure.patch \
+ file://use.pkg-config.for.freetype2.patch \
"
S = "${WORKDIR}/SDL_ttf-${PV}"
@@ -18,11 +19,12 @@ inherit autotools
TARGET_CC_ARCH += "${LDFLAGS}"
do_configure_prepend() {
-
+
+ # Removing these files fixes a libtool version mismatch.
MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
-
+
for i in ${MACROS}; do
- rm acinclude/$i
+ rm -f ${S}/acinclude/$i
done
}
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 b21d9db023..2b036f9016 100644
--- a/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb
+++ b/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb
@@ -3,7 +3,7 @@ SUMMARY = "A Library to Access SMI MIB Information"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=3ad3076f9332343a21636cfd351f05b7"
-SRC_URI = "ftp://ftp.ibr.cs.tu-bs.de/pub/local/libsmi/${P}.tar.gz"
+SRC_URI = "ftp://ftp.ibr.cs.tu-bs.de/pub/local/libsmi/${BP}.tar.gz"
SRC_URI[md5sum] = "760b6b1070738158708649ed2c63425e"
SRC_URI[sha256sum] = "f048a5270f41bc88b0c3b0a8fe70ca4d716a46b531a0ecaaa87c462f49d74849"
diff --git a/meta-oe/recipes-support/libssh/libssh_0.6.3.bb b/meta-oe/recipes-support/libssh/libssh_git.bb
index 771a47a6c0..47fb39a5b6 100644
--- a/meta-oe/recipes-support/libssh/libssh_0.6.3.bb
+++ b/meta-oe/recipes-support/libssh/libssh_git.bb
@@ -8,9 +8,11 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=388a4fb1dea8ceae0be78ba9b01fc139"
SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=v0-6"
-SRCREV = "87145387aa12b720b52d6bc75b4dd6cd058c868a"
+SRCREV = "3880a8ed80a4b1e2c052bd62f328bba2f869d5ae"
S = "${WORKDIR}/git"
+PV = "0.6.4+git${SRCPV}"
+
EXTRA_OECMAKE = " \
-DWITH_GCRYPT=1 \
-DWITH_PCAP=1 \
@@ -18,6 +20,9 @@ EXTRA_OECMAKE = " \
-DWITH_ZLIB=1 \
"
+PACKAGECONFIG ??=""
+PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, "
+
inherit cmake
do_configure_prepend () {
diff --git a/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb b/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb
new file mode 100644
index 0000000000..b53766333b
--- /dev/null
+++ b/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb
@@ -0,0 +1,18 @@
+SUMMARY = "A client-side C library implementing the SSH2 protocol"
+HOMEPAGE = "http://www.libssh2.org/"
+SECTION = "libs"
+
+DEPENDS = "zlib openssl"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d00afe44f336a79a2ca7e1681ce14509"
+
+SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz"
+SRC_URI[md5sum] = "071004c60c5d6f90354ad1b701013a0b"
+SRC_URI[sha256sum] = "eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--with-openssl \
+ --with-libz \
+ "
diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb
new file mode 100644
index 0000000000..1d3cffd778
--- /dev/null
+++ b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb
@@ -0,0 +1,38 @@
+SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs."
+HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://readme.md;md5=0033b2f8a25283414b21354670bb1334"
+SECTION = "libs"
+
+SRCREV = "d211bb13512cf4edb408e2c4badbcf4100ce0fd0"
+
+PV = "2.2.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/leethomason/tinyxml2.git"
+
+S = "${WORKDIR}/git"
+
+EXTRA_CXXFLAGS = "-I. -fPIC"
+
+do_compile() {
+ ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxml2.o tinyxml2.cpp
+ ${CXX} ${CXXFLAGS} \
+ -shared \
+ -Wl,-soname,libtinyxml2.so.${PV} \
+ -o libtinyxml2.so.${PV} \
+ ${LDFLAGS} \
+ tinyxml2.o \
+
+}
+
+do_install() {
+ install -d ${D}${libdir}
+ install -m 0755 ${S}/libtinyxml2.so.${PV} ${D}${libdir}
+ ln -sf libtinyxml2.so.${PV} ${D}${libdir}/libtinyxml2.so
+
+ install -d ${D}${includedir}
+ install -m 0644 ${S}/tinyxml2.h ${D}${includedir}
+}
+
+BBCLASSEXTEND += "native"
+
diff --git a/meta-oe/recipes-support/libunwind/libunwind.inc b/meta-oe/recipes-support/libunwind/libunwind.inc
deleted file mode 100644
index b27b9e5994..0000000000
--- a/meta-oe/recipes-support/libunwind/libunwind.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program"
-HOMEPAGE = "http://www.nongnu.org/libunwind"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5"
-
-SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
-
-inherit autotools
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lzma] = "--enable-minidebuginfo,--disable-minidebuginfo,lzma"
-
-EXTRA_OECONF_arm = "--enable-debug-frame"
-
-CFLAGS += "${ATOMICOPS}"
-ATOMICOPS_armv5 = "-DAO_USE_PTHREAD_DEFS=1"
-ATOMICOPS_armv4 = "-DAO_USE_PTHREAD_DEFS=1"
-ATOMICOPS ?= ""
-
-LDFLAGS += "${LIBATOMICS}"
-LIBATOMICS_armv5 = "-latomic_ops"
-LIBATOMICS_armv4 = "-latomic_ops"
-LIBATOMICS ?= ""
-
-DEPENDS += "${DEPLIBATOMICS}"
-DEPLIBATOMICS_armv5 = "libatomics-ops"
-DEPLIBATOMICS_armv4 = "libatomics-ops"
-DEPLIBATOMICS ?= ""
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/libunwind/libunwind_1.1.bb b/meta-oe/recipes-support/libunwind/libunwind_1.1.bb
deleted file mode 100644
index bc38e36440..0000000000
--- a/meta-oe/recipes-support/libunwind/libunwind_1.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require libunwind.inc
-
-SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce"
-SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a"
diff --git a/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch
new file mode 100644
index 0000000000..6be49fbca4
--- /dev/null
+++ b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch
@@ -0,0 +1,39 @@
+From 6118c6ec1291a5c731aa8d4f0c1eb8cce43d47ad Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 4 Aug 2014 09:04:08 +0200
+Subject: [PATCH] Fix out-of-tree builds
+
+The include flag should point to the source directory, not the build
+directory.
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+Upstream-status: Submitted [https://github.com/libusbg/libusbg/pull/9]
+---
+ examples/Makefile.am | 2 +-
+ src/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/examples/Makefile.am b/examples/Makefile.am
+index f9f9407..ef4f81e 100644
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -1,5 +1,5 @@
+ bin_PROGRAMS = show-gadgets gadget-acm-ecm
+ gadget_acm_ecm_SOURCES = gadget-acm-ecm.c
+ show_gadgets_SOURCES = show-gadgets.c
+-AM_CPPFLAGS=-I../include/
++AM_CPPFLAGS=-I$(top_srcdir)/include/
+ AM_LDFLAGS=-L../src/ -lusbg
+diff --git a/src/Makefile.am b/src/Makefile.am
+index d955a4c..2f71366 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,4 +1,4 @@
+ lib_LTLIBRARIES = libusbg.la
+ libusbg_la_SOURCES = usbg.c
+ libusbg_la_LDFLAGS = -version-info 0:1:0
+-AM_CPPFLAGS=-I../include/
++AM_CPPFLAGS=-I$(top_srcdir)/include/
+--
+1.9.0
+
diff --git a/meta-oe/recipes-support/libusbg/libusbg_git.bb b/meta-oe/recipes-support/libusbg/libusbg_git.bb
index ed5ac65500..97d60a6a8a 100644
--- a/meta-oe/recipes-support/libusbg/libusbg_git.bb
+++ b/meta-oe/recipes-support/libusbg/libusbg_git.bb
@@ -7,8 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
inherit autotools
PV = "0.1.0"
-SRCREV = "7e2b04363f319e8936a606bdb122dbde249a2f58"
-SRC_URI = "git://github.com/libusbg/libusbg.git"
+SRCREV = "a826d136e0e8fa53815f1ba05893e6dd74208c15"
+SRC_URI = "git://github.com/libusbg/libusbg.git \
+ file://0001-Fix-out-of-tree-builds.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch b/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch
new file mode 100644
index 0000000000..8140ea3438
--- /dev/null
+++ b/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch
@@ -0,0 +1,36 @@
+From fc2bd592ad17d1c2a2a989750e69dfaedc28c633 Mon Sep 17 00:00:00 2001
+From: Qian Lei <qianl.fnst@cn.fujitsu.com>
+Date: Fri, 9 Jan 2015 10:40:29 +0800
+Subject: [PATCH] Fix macro error
+
+compile error when build on almost all architectures.
+
+Upstream-Status: Pending
+Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
+---
+ iface.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/iface.c b/iface.c
+index 5951d81..27793f0 100644
+--- a/iface.c
++++ b/iface.c
+@@ -43,7 +43,14 @@
+ __result; }))
+ #endif
+
+-#define UTEMPTER_DEFAULT_PATHNAME LIBEXECDIR "/utempter/utempter"
++#ifdef LIBEXECDIR
++# define CAT_PATH(DIR1,DIR2) DIR1##DIR2
++# define RAW_UTEMPTER_PATH CAT_PATH(LIBEXECDIR,/utempter/utempter)
++#else
++# define RAW_UTEMPTER_PATH /usr/lib/libtempter/utempter/utempter
++#endif
++#define STR_PATH(RAW_STR) #RAW_STR
++#define UTEMPTER_DEFAULT_PATHNAME STR_PATH(RAW_UTEMPTER_PATH)
+
+ static const char *utempter_pathname;
+ static int saved_fd = -1;
+--
+1.8.3.1
+
diff --git a/meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb b/meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb
new file mode 100644
index 0000000000..f84e6493c7
--- /dev/null
+++ b/meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb
@@ -0,0 +1,36 @@
+SUMMARY = "A privileged helper for utmp/wtmp updates"
+DESCRIPTION = "\
+This library provides interface for terminal emulators such as \
+screen and xterm to record user sessions to utmp and wtmp files."
+HOMEPAGE = "ftp://ftp.altlinux.org/pub/people/ldv/utempter"
+SECTION = "System Environment/Libraries"
+LICENSE = "GPLv2 & GPLv2+ & LGPLv2 & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+SRC_URI = "ftp://ftp.altlinux.org/pub/people/ldv/utempter/${BP}.tar.bz2 \
+ file://0001-Fix-macro-error.patch"
+SRC_URI[md5sum] = "b43827806923903aba2bc7cd3a2d45b7"
+SRC_URI[sha256sum] = "b898565f31ced7e5c1fa0a2eaa0f6ff0ed862b5fe375d26375b64bfbdfeac397"
+
+CFLAGS += "-DLIBEXECDIR=${libexecdir}"
+
+do_compile() {
+ oe_runmake \
+ libdir=${libdir} \
+ libexecdir=${libexecdir}
+}
+
+do_install() {
+ oe_runmake install \
+ DESTDIR=${D} \
+ libdir="${libdir}" \
+ libexecdir="${libexecdir}" \
+ includedir=${includedir} \
+ mandir=${mandir}
+
+ rm -f ${D}${libdir}/*.a
+}
+
+FILES_${PN} = "${libdir}/*.so.*"
+FILES_${PN} += "${libexecdir}/utempter/utempter"
+FILES_${PN}-dbg += "${libexecdir}/utempter/.debug/utempter"
diff --git a/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch
new file mode 100644
index 0000000000..2fdcba3eca
--- /dev/null
+++ b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch
@@ -0,0 +1,42 @@
+Heap-based buffer overflow in the yaml_parser_scan_uri_escapes function
+in LibYAML before 0.1.6 allows context-dependent attackers to execute
+arbitrary code via a long sequence of percent-encoded characters in a
+URI in a YAML file.
+
+Upstream-Status: Backport
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/src/scanner.c.old b/src/scanner.c
+index a2e8619..c6cde3b 100644
+--- a/src/scanner.c.old
++++ b/src/scanner.c
+@@ -2619,6 +2619,9 @@ yaml_parser_scan_tag_uri(yaml_parser_t *parser, int directive,
+ /* Check if it is a URI-escape sequence. */
+
+ if (CHECK(parser->buffer, '%')) {
++ if (!STRING_EXTEND(parser, string))
++ goto error;
++
+ if (!yaml_parser_scan_uri_escapes(parser,
+ directive, start_mark, &string)) goto error;
+ }
+diff --git a/src/yaml_private.h.old b/src/yaml_private.h
+index ed5ea66..d72acb4 100644
+--- a/src/yaml_private.h.old
++++ b/src/yaml_private.h
+@@ -132,9 +132,12 @@ yaml_string_join(
+ (string).start = (string).pointer = (string).end = 0)
+
+ #define STRING_EXTEND(context,string) \
+- (((string).pointer+5 < (string).end) \
++ ((((string).pointer+5 < (string).end) \
+ || yaml_string_extend(&(string).start, \
+- &(string).pointer, &(string).end))
++ &(string).pointer, &(string).end)) ? \
++ 1 : \
++ ((context)->error = YAML_MEMORY_ERROR, \
++ 0))
+
+ #define CLEAR(context,string) \
+ ((string).pointer = (string).start, \
diff --git a/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb
index c44eda4ee1..1279541966 100644
--- a/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb
+++ b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb
@@ -7,7 +7,9 @@ SECTION = "libs/devel"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
-SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz"
+SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz \
+ file://libyaml-CVE-2014-2525.patch \
+ "
SRC_URI[md5sum] = "24f6093c1e840ca5df2eb09291a1dbf1"
SRC_URI[sha256sum] = "fa87ee8fb7b936ec04457bc044cd561155e1000a4d25029867752e543c2d3bef"
diff --git a/meta-oe/recipes-support/links/links-x11_2.7.bb b/meta-oe/recipes-support/links/links-x11_2.7.bb
index 601742f9f6..2ae11ac97e 100644
--- a/meta-oe/recipes-support/links/links-x11_2.7.bb
+++ b/meta-oe/recipes-support/links/links-x11_2.7.bb
@@ -3,16 +3,20 @@ require links.inc
DEPENDS += "virtual/libx11"
RCONFLICTS_${PN} = "links"
+inherit distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
SRC_URI += " file://links2.desktop \
http://www.xora.org.uk/oe/links2.png;name=icon"
S = "${WORKDIR}/links-${PV}"
-EXTRA_OECONF = "--enable-javascript --with-libfl --enable-graphics \
+EXTRA_OECONF = "--enable-graphics \
--with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
--without-libtiff --without-svgalib --without-fb \
--without-directfb --without-pmshell --without-atheos \
- --with-x --without-gpm --without-sdl"
+ --with-x --without-gpm"
do_install_append() {
install -d ${D}/${datadir}/applications
diff --git a/meta-oe/recipes-support/links/links.inc b/meta-oe/recipes-support/links/links.inc
index 78d7ec78df..e072408206 100644
--- a/meta-oe/recipes-support/links/links.inc
+++ b/meta-oe/recipes-support/links/links.inc
@@ -12,6 +12,6 @@ SRC_URI = "http://links.twibright.com/download/links-${PV}.tar.bz2 \
PACKAGECONFIG ??= ""
PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
-PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,lzma"
+PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
-inherit autotools
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-support/links/links_2.7.bb b/meta-oe/recipes-support/links/links_2.7.bb
index 24c1985573..e80dd7bca3 100644
--- a/meta-oe/recipes-support/links/links_2.7.bb
+++ b/meta-oe/recipes-support/links/links_2.7.bb
@@ -3,11 +3,11 @@ require links.inc
DEPENDS += "gpm"
RCONFLICTS_${PN} = "links-x11"
-EXTRA_OECONF = "--enable-javascript --with-libfl --enable-graphics \
+EXTRA_OECONF = "--enable-graphics \
--with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
--without-libtiff --without-svgalib --with-fb \
--without-directfb --without-pmshell --without-atheos \
- --without-x --without-sdl"
+ --without-x"
SRC_URI[md5sum] = "d06aa6e14b2172d73188871a5357185a"
SRC_URI[sha256sum] = "0c182b1cbcdfd5cdcd2f75a6032d1a4b660d07c1225c1e07757cec81d3302130"
diff --git a/meta-oe/recipes-support/lockdev/lockdev_git.bb b/meta-oe/recipes-support/lockdev/lockdev_git.bb
index 919487f819..023b9a7ddc 100644
--- a/meta-oe/recipes-support/lockdev/lockdev_git.bb
+++ b/meta-oe/recipes-support/lockdev/lockdev_git.bb
@@ -10,7 +10,7 @@ SRC_URI = "git://anonscm.debian.org/lockdev/lockdev.git"
S = "${WORKDIR}/git"
-inherit lib_package autotools
+inherit lib_package autotools-brokensep
do_configure_prepend () {
./scripts/git-version > VERSION
diff --git a/meta-oe/recipes-support/log4c/log4c_1.2.4.bb b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb
new file mode 100644
index 0000000000..43e074699b
--- /dev/null
+++ b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Logging Framework for C"
+HOMEPAGE = "http://log4c.sourceforge.net"
+LICENSE = "LGPLv2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "http://cznic.dl.sourceforge.net/project/log4c/log4c/${PV}/log4c-${PV}.tar.gz"
+SRC_URI[md5sum] = "0d94919136e1d16b68427562e74cb3dd"
+SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea"
+
+S = "${WORKDIR}/${PN}-${PV}"
+
+EXTRA_OECONF = "--prefix=/usr"
+
+inherit autotools
+
diff --git a/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb
new file mode 100644
index 0000000000..dba4fa07aa
--- /dev/null
+++ b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations."
+HOMEPAGE = "http://sourceforge.net/projects/log4cpp/"
+PRIORITY = "optional"
+LICENSE = "LGPLv2.1"
+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"
+
+S="${WORKDIR}/${BPN}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "\
+ --enable-doxygen=no \
+ --enable-dot=no \
+ --enable-html-docs=no \
+ --enable-latex-docs=no \
+ LDFLAGS=-lpthread \
+"
diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc
index c6a9ec0f76..42f6e3a43e 100644
--- a/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -28,13 +28,14 @@ EXTRA_OECONF = "--with-user= \
--enable-pkgconfig \
--enable-dmeventd \
--with-udev-prefix= \
+ --with-usrlibdir=${libdir} \
"
PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
-inherit autotools
+inherit autotools pkgconfig
do_install_append() {
# Install machine specific configuration file
@@ -47,4 +48,5 @@ FILES_${PN} += "${libdir}/device-mapper/*.so ${base_libdir}/udev"
FILES_${PN}-dbg += "${libdir}/device-mapper/.debug"
RDEPENDS_${PN} = "bash"
-EXTRA_OECONF = "--with-usrlibdir=${libdir}"
+
+CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"
diff --git a/meta-oe/recipes-support/lzip/lzip_1.15.bb b/meta-oe/recipes-support/lzip/lzip_1.16.bb
index 3d646953bd..af0b6ae8e6 100644
--- a/meta-oe/recipes-support/lzip/lzip_1.15.bb
+++ b/meta-oe/recipes-support/lzip/lzip_1.16.bb
@@ -1,16 +1,14 @@
-SUMMARY = "Lzip is a lossless data compressor based on the LZMA algorithm"
+SUMMARY = "Lossless data compressor based on the LZMA algorithm"
HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
SECTION = "console/utils"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
+ file://decoder.cc;endline=16;md5=0809128ac32163252846e09a70c8b80b"
SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
-# Only the latest version is available in .tar.gz format from savannah.gnu.org,
-# FreeBSD distfiles is known to have version 1.13.
-
-SRC_URI[md5sum] = "e83a364c8544fc66cccb552369d93220"
-SRC_URI[sha256sum] = "7cd3fcda68fc9900efcf7784313e3bdd1303fef1a0546db9723f5e5564dd05b6"
+SRC_URI[md5sum] = "716a9876dc595ec52d4f3bda81e42471"
+SRC_URI[sha256sum] = "128cc25baf92c8b69700831e6f984d954016318cc78edca87870d0c033112751"
CONFIGUREOPTS = "\
'--srcdir=${S}' \
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch b/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch
deleted file mode 100644
index b95fe9e90f..0000000000
--- a/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc
-===================================================================
---- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-05-15 23:33:51.000000000 +0200
-+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200
-@@ -3,7 +3,7 @@
- CXX_C = gcc -O2 -Wall
- LIB = -lm
- RM = rm -f
--CFLAGS = -c
-+CFLAGS = -c -D_FILE_OFFSET_BITS=64
-
- ifdef SystemDrive
- IS_MINGW = 1
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch b/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch
deleted file mode 100644
index 72d881cdb2..0000000000
--- a/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch
+++ /dev/null
@@ -1,1059 +0,0 @@
-Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp 2009-06-01 22:01:10.000000000 +0200
-@@ -0,0 +1,895 @@
-+/*
-+ * LZMA command line tool similar to gzip to encode and decode LZMA files.
-+ *
-+ * Copyright (C) 2005 Ville Koskinen
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2
-+ * of the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-+ * USA.
-+ */
-+
-+#include "../../../Common/MyInitGuid.h"
-+
-+#include <iostream>
-+using std::cout;
-+using std::cerr;
-+using std::endl;
-+
-+#include <cstdio>
-+#include <cstdlib>
-+#include <cstring>
-+
-+#include <string>
-+using std::string;
-+#include <vector>
-+using std::vector;
-+typedef vector<string> stringVector;
-+
-+#include <unistd.h>
-+#include <getopt.h>
-+#include <signal.h>
-+
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <utime.h>
-+#include <sys/time.h> // futimes()
-+
-+// For Solaris
-+#ifndef HAVE_FUTIMES
-+//#define futimes(fd, tv) futimesat(fd, NULL, tv)
-+#endif
-+
-+#if defined(_WIN32) || defined(OS2) || defined(MSDOS)
-+#include <fcntl.h>
-+#include <io.h>
-+#define MY_SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY)
-+#else
-+#define MY_SET_BINARY_MODE(file)
-+#endif
-+
-+#include "../../../7zip/Common/FileStreams.h"
-+
-+#include "../../../Common/Types.h"
-+
-+#include "../../../7zip/Compress/LzmaDecoder.h"
-+#include "../../../7zip/Compress/LzmaEncoder.h"
-+
-+#include "Exception.h"
-+
-+#include "lzma_version.h"
-+
-+namespace lzma {
-+
-+const char *PROGRAM_VERSION = PACKAGE_VERSION;
-+const char *PROGRAM_COPYRIGHT = "Copyright (C) 2006 Ville Koskinen";
-+
-+/* LZMA_Alone switches:
-+ -a{N}: set compression mode - [0, 2], default: 2 (max)
-+ -d{N}: set dictionary - [0,28], default: 23 (8MB)
-+ -fb{N}: set number of fast bytes - [5, 255], default: 128
-+ -lc{N}: set number of literal context bits - [0, 8], default: 3
-+ -lp{N}: set number of literal pos bits - [0, 4], default: 0
-+ -pb{N}: set number of pos bits - [0, 4], default: 2
-+ -mf{MF_ID}: set Match Finder: [bt2, bt3, bt4, bt4b, pat2r, pat2,
-+ pat2h, pat3h, pat4h, hc3, hc4], default: bt4
-+*/
-+
-+struct lzma_option {
-+ short compression_mode; // -a
-+ short dictionary; // -d
-+ short fast_bytes; // -fb
-+ wchar_t *match_finder; // -mf
-+ short literal_context_bits; // -lc
-+ short literal_pos_bits; // -lp
-+ short pos_bits; // -pb
-+};
-+
-+/* The following is a mapping from gzip/bzip2 style -1 .. -9 compression modes
-+ * to the corresponding LZMA compression modes. Thanks, Larhzu, for coining
-+ * these. */
-+const lzma_option option_mapping[] = {
-+ { 0, 0, 0, NULL, 0, 0, 0}, // -0 (needed for indexing)
-+ { 0, 16, 64, L"hc4", 3, 0, 2}, // -1
-+ { 0, 20, 64, L"hc4", 3, 0, 2}, // -2
-+ { 1, 19, 64, L"bt4", 3, 0, 2}, // -3
-+ { 2, 20, 64, L"bt4", 3, 0, 2}, // -4
-+ { 2, 21, 128, L"bt4", 3, 0, 2}, // -5
-+ { 2, 22, 128, L"bt4", 3, 0, 2}, // -6
-+ { 2, 23, 128, L"bt4", 3, 0, 2}, // -7
-+ { 2, 24, 255, L"bt4", 3, 0, 2}, // -8
-+ { 2, 25, 255, L"bt4", 3, 0, 2}, // -9
-+};
-+
-+struct extension_pair {
-+ char *from;
-+ char *to;
-+};
-+
-+const extension_pair known_extensions[] = {
-+ { ".lzma", "" },
-+ { ".tlz", ".tar" },
-+ { NULL, NULL }
-+};
-+
-+/* Sorry, I just happen to like enumerations. */
-+enum PROGRAM_MODE {
-+ PM_COMPRESS = 0,
-+ PM_DECOMPRESS,
-+ PM_TEST,
-+ PM_HELP,
-+ PM_LICENSE,
-+ PM_VERSION
-+};
-+
-+enum {
-+ STATUS_OK = 0,
-+ STATUS_ERROR = 1,
-+ STATUS_WARNING = 2
-+};
-+
-+/* getopt options. */
-+/* struct option { name, has_arg, flag, val } */
-+const struct option long_options[] = {
-+ { "stdout", 0, 0, 'c' },
-+ { "decompress", 0, 0, 'd' },
-+ { "compress", 0, 0, 'z' },
-+ { "keep", 0, 0, 'k' },
-+ { "force", 0, 0, 'f' },
-+ { "test", 0, 0, 't' },
-+ { "suffix", 1, 0, 'S' },
-+ { "quiet", 0, 0, 'q' },
-+ { "verbose", 0, 0, 'v' },
-+ { "help", 0, 0, 'h' },
-+ { "license", 0, 0, 'L' },
-+ { "version", 0, 0, 'V' },
-+ { "fast", 0, 0, '1' },
-+ { "best", 0, 0, '9' },
-+ { 0, 0, 0, 0 }
-+};
-+
-+/* getopt option string (for the above options). */
-+const char option_string[] = "cdzkftS:qvhLV123456789A:D:F:";
-+
-+/* Defaults. */
-+PROGRAM_MODE program_mode = PM_COMPRESS;
-+int verbosity = 0;
-+bool stdinput = false;
-+bool stdoutput = false;
-+bool keep = false;
-+bool force = false;
-+int compression_mode = 7;
-+//char *suffix = strdup(".lzma");
-+char *suffix = strdup(known_extensions[0].from);
-+lzma_option advanced_options = { -1, -1, -1, NULL, -1, -1, -1 };
-+
-+void print_help(const char *const argv0)
-+{
-+ // Help goes to stdout while other messages go to stderr.
-+ cout << "\nlzma " << PROGRAM_VERSION
-+ << " " << PROGRAM_COPYRIGHT << "\n"
-+ "Based on LZMA SDK " << LZMA_SDK_VERSION_STRING << " "
-+ << LZMA_SDK_COPYRIGHT_STRING
-+ << "\n\nUsage: " << argv0
-+ << " [flags and input files in any order]\n"
-+" -c --stdout output to standard output\n"
-+" -d --decompress force decompression\n"
-+" -z --compress force compression\n"
-+" -k --keep keep (don't delete) input files\n"
-+" -f --force force overwrite of output file and compress links\n"
-+" -t --test test compressed file integrity\n"
-+" -S .suf --suffix .suf use suffix .suf on compressed files\n"
-+" -q --quiet suppress error messages\n"
-+" -v --verbose be verbose\n"
-+" -h --help print this message\n"
-+" -L --license display the license information\n"
-+" -V --version display version numbers of LZMA SDK and lzma\n"
-+" -1 .. -2 fast compression\n"
-+" -3 .. -9 good to excellent compression. -7 is the default.\n"
-+" --fast alias for -1\n"
-+" --best alias for -9 (usually *not* what you want)\n\n"
-+" Memory usage depends a lot on the chosen compression mode -1 .. -9.\n"
-+" See the man page lzma(1) for details.\n\n";
-+}
-+
-+void print_license(void)
-+{
-+ cout << "\n LZMA command line tool " << PROGRAM_VERSION << " - "
-+ << PROGRAM_COPYRIGHT
-+ << "\n LZMA SDK " << LZMA_SDK_VERSION_STRING << " - "
-+ << LZMA_SDK_COPYRIGHT_STRING
-+ << "\n This program is a part of the LZMA utils package.\n"
-+ " http://tukaani.org/lzma/\n\n"
-+" This program is free software; you can redistribute it and/or\n"
-+" modify it under the terms of the GNU General Public License\n"
-+" as published by the Free Software Foundation; either version 2\n"
-+" of the License, or (at your option) any later version.\n"
-+"\n"
-+" This program is distributed in the hope that it will be useful,\n"
-+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-+" GNU General Public License for more details.\n"
-+"\n";
-+}
-+
-+void print_version(void)
-+{
-+ cout << "LZMA command line tool " << PROGRAM_VERSION << "\n"
-+ << "LZMA SDK " << LZMA_SDK_VERSION_STRING << "\n";
-+}
-+
-+short str2int (const char *str, const int &min, const int &max)
-+{
-+ int value = -1;
-+ char *endptr = NULL;
-+ if (str == NULL || str[0] == '\0')
-+ throw ArgumentException("Invalid integer option");
-+ value = strtol (str, &endptr, 10);
-+ if (*endptr != '\0' || value < min || value > max)
-+ throw ArgumentException("Invalid integer option");
-+ return value;
-+}
-+
-+void parse_options(int argc, char **argv, stringVector &filenames)
-+{
-+ /* Snatched from getopt(3). */
-+ int c;
-+
-+ /* Check how we were called */
-+ {
-+ char *p = strrchr (argv[0], '/'); // Remove path prefix, if any
-+ if (p++ == NULL)
-+ p = argv[0];
-+ if (strstr (p, "un") != NULL) {
-+ program_mode = PM_DECOMPRESS;
-+ } else if (strstr (p, "cat") != NULL) {
-+ program_mode = PM_DECOMPRESS;
-+ stdoutput = true;
-+ }
-+ }
-+
-+ while (-1 != (c = getopt_long(argc, argv, option_string,
-+ long_options, NULL))) {
-+ switch (c) {
-+ // stdout
-+ case 'c':
-+ stdoutput = true;
-+ break;
-+
-+ // decompress
-+ case 'd':
-+ program_mode = PM_DECOMPRESS;
-+ break;
-+
-+ // compress
-+ case 'z':
-+ program_mode = PM_COMPRESS;
-+ break;
-+
-+ // keep
-+ case 'k':
-+ keep = true;
-+ break;
-+
-+ // force
-+ case 'f':
-+ force = true;
-+ break;
-+
-+ // test
-+ case 't':
-+ program_mode = PM_TEST;
-+ break;
-+
-+ // suffix
-+ case 'S':
-+ if (optarg) {
-+ free(suffix);
-+ suffix = strdup(optarg);
-+ }
-+ break;
-+
-+ // quiet
-+ case 'q':
-+ verbosity = 0;
-+ break;
-+
-+ // verbose
-+ case 'v':
-+ verbosity++;
-+ break;
-+
-+ // help
-+ case 'h':
-+ program_mode = PM_HELP;
-+ break;
-+
-+ // license
-+ case 'L':
-+ program_mode = PM_LICENSE;
-+ break;
-+
-+ // version
-+ case 'V':
-+ program_mode = PM_VERSION;
-+ break;
-+
-+ case '1': case '2': case '3': case '4': case '5':
-+ case '6': case '7': case '8': case '9':
-+ compression_mode = c - '0';
-+ break;
-+
-+ // Advanced options //
-+ // Compression mode
-+ case 'A':
-+ advanced_options.compression_mode =
-+ str2int (optarg, 0, 2);
-+ break;
-+
-+ // Dictionary size
-+ case 'D':
-+ advanced_options.dictionary =
-+ str2int (optarg, 0, 28);
-+ break;
-+
-+ // Fast bytes
-+ case 'F':
-+ advanced_options.fast_bytes =
-+ str2int (optarg, 0, 273);
-+ break;
-+
-+ default:
-+ throw ArgumentException("");
-+ break;
-+ } // switch(c)
-+ } // while(1)
-+
-+ for (int i = optind; i < argc; i++) {
-+ if (strcmp("-", argv[i]) == 0)
-+ continue;
-+ filenames.push_back(argv[i]);
-+ }
-+} // parse_options
-+
-+void set_encoder_properties(NCompress::NLzma::CEncoder *encoder,
-+ lzma_option &opt)
-+{
-+ /* Almost verbatim from LzmaAlone.cpp. */
-+ PROPID propIDs[] =
-+ {
-+ NCoderPropID::kDictionarySize,
-+ NCoderPropID::kPosStateBits,
-+ NCoderPropID::kLitContextBits,
-+ NCoderPropID::kLitPosBits,
-+ NCoderPropID::kAlgorithm,
-+ NCoderPropID::kNumFastBytes,
-+ NCoderPropID::kMatchFinder,
-+ NCoderPropID::kEndMarker
-+ };
-+ const int kNumProps = sizeof(propIDs) / sizeof(propIDs[0]);
-+#define VALUE(x) (advanced_options.x >= 0 ? advanced_options.x : opt.x)
-+ PROPVARIANT properties[kNumProps];
-+ for (int p = 0; p < 6; p++)
-+ properties[p].vt = VT_UI4;
-+ properties[0].ulVal = UInt32(1 << VALUE (dictionary));
-+ properties[1].ulVal = UInt32(VALUE (pos_bits));
-+ properties[2].ulVal = UInt32(VALUE (literal_context_bits));
-+ properties[3].ulVal = UInt32(VALUE (literal_pos_bits));
-+ properties[4].ulVal = UInt32(VALUE (compression_mode));
-+ properties[5].ulVal = UInt32(VALUE (fast_bytes));
-+#undef VALUE
-+
-+ properties[6].vt = VT_BSTR;
-+ properties[6].bstrVal = (BSTR)opt.match_finder;
-+
-+ properties[7].vt = VT_BOOL;
-+ properties[7].boolVal = stdinput ? VARIANT_TRUE : VARIANT_FALSE;
-+
-+ if (encoder->SetCoderProperties(propIDs, properties, kNumProps) != S_OK)
-+ throw Exception("SetCoderProperties() error");
-+}
-+
-+void encode(NCompress::NLzma::CEncoder *encoderSpec,
-+ CMyComPtr<ISequentialInStream> inStream,
-+ CMyComPtr<ISequentialOutStream> outStream,
-+ lzma_option encoder_options,
-+ UInt64 fileSize)
-+{
-+ set_encoder_properties(encoderSpec, encoder_options);
-+
-+ encoderSpec->WriteCoderProperties(outStream);
-+
-+ for (int i = 0; i < 8; i++)
-+ {
-+ Byte b = Byte(fileSize >> (8 * i));
-+ if (outStream->Write(&b, sizeof(b), 0) != S_OK)
-+ throw Exception("Write error while encoding");
-+ }
-+
-+ HRESULT result = encoderSpec->Code(inStream, outStream, 0, 0, 0);
-+
-+ if (result == E_OUTOFMEMORY)
-+ throw Exception("Cannot allocate memory");
-+ else if (result != S_OK) {
-+ char buffer[33];
-+ snprintf(buffer, 33, "%d", (unsigned int)result);
-+ throw Exception(string("Encoder error: ") + buffer);
-+ }
-+}
-+
-+void decode(NCompress::NLzma::CDecoder *decoderSpec,
-+ CMyComPtr<ISequentialInStream> inStream,
-+ CMyComPtr<ISequentialOutStream> outStream)
-+{
-+ const UInt32 kPropertiesSize = 5;
-+ Byte properties[kPropertiesSize];
-+ UInt32 processedSize;
-+ UInt64 fileSize = 0;
-+
-+ if (inStream->Read(properties, kPropertiesSize, &processedSize) != S_OK)
-+ throw Exception("Read error");
-+ if (processedSize != kPropertiesSize)
-+ throw Exception("Read error");
-+ if (decoderSpec->SetDecoderProperties2(properties, kPropertiesSize) != S_OK)
-+ throw Exception("SetDecoderProperties() error");
-+
-+ for (int i = 0; i < 8; i++)
-+ {
-+ Byte b;
-+
-+ if (inStream->Read(&b, sizeof(b), &processedSize) != S_OK)
-+ throw Exception("Read error");
-+ if (processedSize != 1)
-+ throw Exception("Read error");
-+
-+ fileSize |= ((UInt64)b) << (8 * i);
-+ }
-+
-+ if (decoderSpec->Code(inStream, outStream, 0, &fileSize, 0) != S_OK)
-+ throw Exception("Decoder error");
-+}
-+
-+int open_instream(const string infile,
-+ CMyComPtr<ISequentialInStream> &inStream,
-+ UInt64 &fileSize)
-+{
-+ CInFileStream *inStreamSpec = new CInFileStream;
-+ inStream = inStreamSpec;
-+ if (!inStreamSpec->Open(infile.c_str()))
-+ throw Exception("Cannot open input file " + infile);
-+
-+ inStreamSpec->File.GetLength(fileSize);
-+
-+ return inStreamSpec->File.GetHandle();
-+}
-+
-+int open_outstream(const string outfile,
-+ CMyComPtr<ISequentialOutStream> &outStream)
-+{
-+ COutFileStream *outStreamSpec = new COutFileStream;
-+ outStream = outStreamSpec;
-+
-+ bool open_by_force = (program_mode == PM_TEST) | force;
-+
-+ if (!outStreamSpec->Create(outfile.c_str(), open_by_force))
-+ throw Exception("Cannot open output file " + outfile);
-+
-+ return outStreamSpec->File.GetHandle();
-+}
-+
-+double get_ratio(int inhandle, int outhandle)
-+{
-+ struct stat in_stats, out_stats;
-+ fstat(inhandle, &in_stats);
-+ fstat(outhandle, &out_stats);
-+
-+ return (double)out_stats.st_size / (double)in_stats.st_size;
-+}
-+
-+mode_t get_file_mode(string filename)
-+{
-+ struct stat in_stat;
-+ lstat(filename.c_str(), &in_stat);
-+
-+ return in_stat.st_mode;
-+}
-+
-+bool string_ends_with(string str, string ending)
-+{
-+ return equal(ending.rbegin(), ending.rend(), str.rbegin());
-+}
-+
-+bool extension_is_known(string filename)
-+{
-+ bool known_format = false;
-+ extension_pair extension; int i = 1;
-+
-+ extension = known_extensions[0];
-+ while (extension.from != NULL) {
-+ if (string_ends_with(filename, extension.from)) {
-+ known_format = true;
-+ break;
-+ }
-+ extension = known_extensions[i];
-+ i++;
-+ }
-+
-+ if (!known_format) {
-+ if (!string_ends_with(filename, suffix)) {
-+ return false;
-+ }
-+ }
-+
-+ return true;
-+}
-+
-+string replace_extension(string filename)
-+{
-+ int suffix_starts_at = filename.length() - strlen (suffix);
-+ string from_suffix = filename.substr(suffix_starts_at, strlen (suffix));
-+ string ret = filename.substr(0, suffix_starts_at);
-+ extension_pair extension; int i = 1;
-+
-+ bool found_replacement = false;
-+ extension = known_extensions[0];
-+ while (extension.from != NULL) {
-+ if (from_suffix.compare(extension.from) == 0) {
-+ ret += extension.to;
-+ found_replacement = true;
-+ break;
-+ }
-+
-+ extension = known_extensions[i];
-+ i++;
-+ }
-+
-+ return ret;
-+}
-+
-+string pretty_print_status(string filename, string output_filename,
-+ string ratio)
-+{
-+ string ret = "";
-+
-+ ret += filename;
-+ ret += ":\t ";
-+
-+ if (program_mode == PM_TEST) {
-+ ret += "decoded succesfully";
-+
-+ return ret;
-+ }
-+
-+ if (!stdinput && !stdoutput) {
-+ ret += ratio;
-+ ret += " -- ";
-+ }
-+
-+ if (program_mode == PM_COMPRESS) {
-+ if (keep) {
-+ ret += "encoded succesfully";
-+
-+ return ret;
-+ }
-+
-+ ret += "replaced with ";
-+ ret += output_filename;
-+
-+ return ret;
-+ }
-+
-+ if (program_mode == PM_DECOMPRESS) {
-+ if (keep) {
-+ ret += "decoded succesfully";
-+
-+ return ret;
-+ }
-+
-+ ret += "replaced with ";
-+ ret += output_filename;
-+
-+ return ret;
-+ }
-+
-+ return ret;
-+}
-+
-+static string archive_name; // I know, it is crude, but I haven't found any other
-+ // way then making a global variable to transfer filename to handler
-+
-+void signal_handler (int signum)
-+{
-+ unlink (archive_name.c_str()); // deleting
-+ signal (signum, SIG_DFL); // we return the default function to used signal
-+ kill (getpid(), signum); // and then send this signal to the process again
-+}
-+
-+} // namespace lzma
-+
-+
-+int main(int argc, char **argv)
-+{
-+ using namespace lzma;
-+ using std::cerr;
-+
-+ stringVector filenames;
-+
-+ signal (SIGTERM,signal_handler);
-+ signal (SIGHUP,signal_handler);
-+ signal (SIGINT,signal_handler);
-+
-+ try {
-+ parse_options(argc, argv, filenames);
-+ }
-+ catch (...) {
-+ return STATUS_ERROR;
-+ }
-+
-+ if (program_mode == PM_HELP) {
-+ print_help(argv[0]);
-+ return STATUS_OK;
-+ }
-+ else if (program_mode == PM_LICENSE) {
-+ print_license();
-+ return STATUS_OK;
-+ }
-+ else if (program_mode == PM_VERSION) {
-+ print_version();
-+ return STATUS_OK;
-+ }
-+
-+ if (filenames.empty()) {
-+ stdinput = true;
-+ stdoutput = true;
-+
-+ /* FIXME: get rid of this */
-+ filenames.push_back("-");
-+ }
-+
-+ /* Protection: always create new files with 0600 in order to prevent
-+ * outsiders from reading incomplete data. */
-+ umask(0077);
-+
-+ bool warning = false;
-+
-+ for (int i = 0; i < filenames.size(); i++) {
-+ CMyComPtr<ISequentialInStream> inStream;
-+ CMyComPtr<ISequentialOutStream> outStream;
-+ UInt64 fileSize = 0;
-+ int inhandle = 0, outhandle = 0;
-+ string output_filename;
-+
-+ if (stdinput) {
-+ inStream = new CStdInFileStream;
-+ MY_SET_BINARY_MODE(stdin);
-+ fileSize = (UInt64)(Int64)-1;
-+
-+ inhandle = STDIN_FILENO;
-+
-+ outStream = new CStdOutFileStream;
-+ MY_SET_BINARY_MODE(stdout);
-+
-+ outhandle = STDOUT_FILENO;
-+ }
-+ else {
-+ mode_t infile_mode = get_file_mode(filenames[i]);
-+ if (!S_ISREG(infile_mode)) {
-+ if (S_ISDIR(infile_mode)) {
-+ warning = true;
-+ cerr << argv[0] << ": " << filenames[i] << ": "
-+ << "cowardly refusing to work on directory"
-+ << endl;
-+
-+ continue;
-+ }
-+ else if (S_ISLNK(infile_mode)) {
-+ if (!stdoutput && !force) {
-+ warning = true;
-+
-+ cerr << argv[0] << ": " << filenames[i] << ": "
-+ << "cowardly refusing to work on symbolic link "
-+ << "(use --force to force encoding or decoding)"
-+ << endl;
-+
-+ continue;
-+ }
-+ }
-+ else {
-+ warning = true;
-+
-+ cerr << argv[0] << ": " << filenames[i] << ": "
-+ << "doesn't exist or is not a regular file"
-+ << endl;
-+
-+ continue;
-+ }
-+ }
-+
-+ // Test if the file already ends with *suffix.
-+ if (program_mode == PM_COMPRESS && !force
-+ && string_ends_with(filenames[i],
-+ suffix)) {
-+ warning = true;
-+
-+ cerr << filenames[i] << " already has "
-+ << suffix << " suffix -- unchanged\n";
-+
-+ continue;
-+ }
-+
-+ // Test if the file extension is known.
-+ if (program_mode == PM_DECOMPRESS
-+ && !extension_is_known(filenames[i])) {
-+ warning = true;
-+
-+ cerr << filenames[i] << ": "
-+ << " unknown suffix -- unchanged"
-+ << endl;
-+
-+ continue;
-+ }
-+
-+ try {
-+ inhandle = open_instream(filenames[i], inStream, fileSize);
-+ }
-+ catch (Exception e) {
-+ cerr << argv[0] << ": " << e.what() << endl;
-+ return STATUS_ERROR;
-+ }
-+
-+ if (stdoutput) {
-+ outStream = new CStdOutFileStream;
-+ MY_SET_BINARY_MODE(stdout);
-+
-+ outhandle = STDOUT_FILENO;
-+ }
-+ else {
-+ /* Testing mode is nothing else but decoding
-+ * and throwing away the result. */
-+ if (program_mode == PM_TEST)
-+ output_filename = "/dev/null";
-+ else if (program_mode == PM_DECOMPRESS)
-+ output_filename = replace_extension(filenames[i]);
-+ else
-+ output_filename = filenames[i]
-+ + suffix;
-+ archive_name = output_filename;
-+
-+ try {
-+ outhandle = open_outstream(output_filename, outStream);
-+ }
-+ catch (Exception e) {
-+ cerr << argv[0] << ": " << e.what() << endl;
-+ return STATUS_ERROR;
-+ }
-+ }
-+
-+ }
-+
-+ // Unless --force is specified, do not read/write compressed
-+ // data from/to a terminal.
-+ if (!force) {
-+ if (program_mode == PM_COMPRESS && isatty(outhandle)) {
-+ cerr << argv[0] << ": compressed data not "
-+ "written to a terminal. Use "
-+ "-f to force compression.\n"
-+ << argv[0] << ": For help, type: "
-+ << argv[0] << " -h\n";
-+ return STATUS_ERROR;
-+ } else if (program_mode == PM_DECOMPRESS
-+ && isatty(inhandle)) {
-+ cerr << argv[0] << ": compressed data not "
-+ "read from a terminal. Use "
-+ "-f to force decompression.\n"
-+ << argv[0] << ": For help, type: "
-+ << argv[0] << " -h\n";
-+ return STATUS_ERROR;
-+ }
-+ }
-+
-+ if (program_mode == PM_COMPRESS) {
-+ NCompress::NLzma::CEncoder *encoderSpec =
-+ new NCompress::NLzma::CEncoder;
-+
-+ lzma_option options = option_mapping[compression_mode];
-+
-+ try {
-+ encode(encoderSpec, inStream, outStream, options, fileSize);
-+ }
-+ catch (Exception e) {
-+ cerr << argv[0] << ": " << e.what() << endl;
-+ unlink(output_filename.c_str());
-+ delete(encoderSpec);
-+
-+ return STATUS_ERROR;
-+ }
-+
-+ delete(encoderSpec);
-+ }
-+ else { // PM_DECOMPRESS | PM_TEST
-+ NCompress::NLzma::CDecoder *decoderSpec =
-+ new NCompress::NLzma::CDecoder;
-+
-+ try {
-+ decode(decoderSpec, inStream, outStream);
-+ }
-+ catch (Exception e) {
-+ cerr << argv[0] << ": " << e.what() << endl;
-+ unlink(output_filename.c_str());
-+ delete(decoderSpec);
-+
-+ return STATUS_ERROR;
-+ }
-+
-+ delete(decoderSpec);
-+ }
-+
-+ /* Set permissions and owners. */
-+ if ( (program_mode == PM_COMPRESS || program_mode == PM_DECOMPRESS )
-+ && (!stdinput && !stdoutput) ) {
-+
-+ int ret = 0;
-+ struct stat file_stats;
-+ ret = fstat(inhandle, &file_stats);
-+
-+ ret = fchmod(outhandle, file_stats.st_mode);
-+ ret = fchown(outhandle, file_stats.st_uid, file_stats.st_gid);
-+ // We need to call fchmod() again, since otherwise the SUID bits
-+ // are lost.
-+ ret = fchmod(outhandle, file_stats.st_mode);
-+
-+ struct timeval file_times[2];
-+ // Access time
-+ file_times[0].tv_sec = file_stats.st_atime;
-+ file_times[0].tv_usec = 0;
-+ // Modification time
-+ file_times[1].tv_sec = file_stats.st_mtime;
-+ file_times[1].tv_usec = 0;
-+
-+ ret = futimes(outhandle, file_times);
-+
-+ if (!keep)
-+ unlink(filenames[i].c_str());
-+ }
-+
-+ if (verbosity > 0) {
-+ if (stdoutput) {
-+ cerr << filenames[i] << ":\t ";
-+ cerr << "decoded succesfully"
-+ << endl;
-+ }
-+
-+ else {
-+ char buf[10] = { 0 };
-+
-+ if (program_mode == PM_DECOMPRESS)
-+ snprintf(buf, 10, "%.2f%%",
-+ (1 - get_ratio(outhandle, inhandle)) * 100);
-+ if (program_mode == PM_COMPRESS)
-+ snprintf(buf, 10, "%.2f%%",
-+ (1 - get_ratio(inhandle, outhandle)) * 100);
-+
-+ string ratio = buf;
-+ cerr << pretty_print_status(filenames[i], output_filename,
-+ ratio)
-+ << endl;
-+ }
-+ }
-+ }
-+
-+ if (warning)
-+ return STATUS_WARNING;
-+
-+ return STATUS_OK;
-+}
-+
-Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h 2009-06-01 22:01:10.000000000 +0200
-@@ -0,0 +1,45 @@
-+/* A couple of exceptions for lzmp.
-+ *
-+ * Copyright (C) 2005 Ville Koskinen
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2
-+ * of the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ */
-+
-+#ifndef _EXCEPTION_H_
-+#define _EXCEPTION_H_
-+
-+#include <string>
-+using std::string;
-+
-+class Exception
-+{
-+private:
-+ string message;
-+public:
-+ Exception(char *what): message(what) { }
-+ Exception(string what): message(what) { }
-+
-+ ~Exception() { }
-+
-+ string what(void) { return message; }
-+};
-+
-+class ArgumentException: public Exception
-+{
-+public:
-+ ArgumentException(char *what): Exception(what) { }
-+ ArgumentException(string what): Exception(what) { }
-+
-+ ~ArgumentException() { }
-+};
-+
-+#endif
-+
-Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc
-===================================================================
---- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200
-+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:06:13.000000000 +0200
-@@ -1,9 +1,10 @@
--PROG = lzma
-+PROG = lzma_alone
-+PROG2 = lzma
- CXX = g++ -O2 -Wall
- CXX_C = gcc -O2 -Wall
- LIB = -lm
- RM = rm -f
--CFLAGS = -c -D_FILE_OFFSET_BITS=64
-+CFLAGS = -c -I ../../../ -D_FILE_OFFSET_BITS=64 -DPACKAGE_VERSION="\"4.32.0beta3\""
-
- ifdef SystemDrive
- IS_MINGW = 1
-@@ -45,12 +46,35 @@
- Lzma86Dec.o \
- Lzma86Enc.o \
-
-+OBJS2 = \
-+ C_FileIO.o \
-+ CRC.o \
-+ Alloc.o \
-+ FileStreams.o \
-+ StreamUtils.o \
-+ InBuffer.o \
-+ OutBuffer.o \
-+ LzmaDecoder.o \
-+ StringConvert.o \
-+ StringToInt.o \
-+ LzmaEncoder.o \
-+ LzmaDec.o \
-+ LzmaEnc.o \
-+ LzFind.o \
-+ 7zCrc.o \
-+ lzmp.o
-
--all: $(PROG)
-+all: $(PROG) $(PROG2)
-
- $(PROG): $(OBJS)
- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2)
-
-+$(PROG2): $(OBJS2)
-+ $(CXX) -o $(PROG2) $(LDFLAGS) $(OBJS2) $(LIB)
-+
-+lzmp.o: lzmp.cpp
-+ $(CXX) $(CFLAGS) lzmp.cpp
-+
- LzmaAlone.o: LzmaAlone.cpp
- $(CXX) $(CFLAGS) LzmaAlone.cpp
-
-@@ -131,5 +153,5 @@
- $(CXX_C) $(CFLAGS) ../../../../C/LzmaUtil/Lzma86Enc.c
-
- clean:
-- -$(RM) $(PROG) $(OBJS)
-+ -$(RM) $(PROG) $(PROG2) $(OBJS)
-
-Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h 2009-06-01 22:01:10.000000000 +0200
-@@ -0,0 +1,31 @@
-+#ifndef LZMA_VERSION_H
-+#define LZMA_VERSION_H
-+
-+/*
-+ Version and copyright information used by LZMA utils.
-+*/
-+
-+static const char *LZMA_SDK_VERSION_STRING = "4.43";
-+
-+static const char *LZMA_SDK_COPYRIGHT_STRING =
-+ "Copyright (C) 1999-2006 Igor Pavlov";
-+
-+static const char *LZMA_SDK_COPYRIGHT_INFO =
-+ " See http://7-zip.org/sdk.html or the documentation of LZMA SDK for\n"
-+ " the license. For reference, the version 4.43 is free software\n"
-+ " licensed under the GNU LGPL.";
-+
-+
-+static const char *LZMA_UTILS_VERSION_STRING = PACKAGE_VERSION;
-+
-+static const char *LZMA_UTILS_COPYRIGHT_STRING =
-+ "Copyright (C) 2006 Lasse Collin";
-+
-+static const char *LZMA_UTILS_COPYRIGHT_INFO =
-+ "This program comes with ABSOLUTELY NO WARRANTY.\n"
-+ "You may redistribute copies of this program\n"
-+ "under the terms of the GNU General Public License.\n"
-+ "For more information about these matters, see the file "
-+ "named COPYING.\n";
-+
-+#endif /* ifndef LZMA_VERSION_H */
-Index: lzma-4.65/CPP/Common/C_FileIO.h
-===================================================================
---- lzma-4.65.orig/CPP/Common/C_FileIO.h 2009-05-15 23:33:51.000000000 +0200
-+++ lzma-4.65/CPP/Common/C_FileIO.h 2009-06-01 22:06:56.000000000 +0200
-@@ -24,6 +24,7 @@
- bool Close();
- bool GetLength(UInt64 &length) const;
- off_t Seek(off_t distanceToMove, int moveMethod) const;
-+ int GetHandle() const { return _handle; }
- };
-
- class CInFile: public CFileBase
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch b/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch
deleted file mode 100644
index 49ae66b9c4..0000000000
--- a/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -urN lzma-4.65/CPP/7zip/Common/FileStreams.h lzma-4.65.new/CPP/7zip/Common/FileStreams.h
---- lzma-4.65/CPP/7zip/Common/FileStreams.h 2009-05-15 23:33:51.000000000 +0200
-+++ lzma-4.65.new/CPP/7zip/Common/FileStreams.h 2009-06-01 22:30:01.000000000 +0200
-@@ -72,6 +72,7 @@
- public IOutStream,
- public CMyUnknownImp
- {
-+public:
- #ifdef USE_WIN_FILE
- NWindows::NFile::NIO::COutFile File;
- #else
-diff -urN lzma-4.65/CPP/Common/MyWindows.h lzma-4.65.new/CPP/Common/MyWindows.h
---- lzma-4.65/CPP/Common/MyWindows.h 2009-05-15 23:33:51.000000000 +0200
-+++ lzma-4.65.new/CPP/Common/MyWindows.h 2009-06-01 22:29:26.000000000 +0200
-@@ -101,8 +101,11 @@
-
- #ifdef __cplusplus
-
-+#ifndef INITGUID
-+#define INITGUID
- DEFINE_GUID(IID_IUnknown,
- 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
-+#endif
- struct IUnknown
- {
- STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE;
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch b/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch
deleted file mode 100644
index 15ab4e0552..0000000000
--- a/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch
+++ /dev/null
@@ -1,70 +0,0 @@
---- a/C/LzmaUtil/makefile.gcc
-+++ b/C/LzmaUtil/makefile.gcc
-@@ -1,44 +1,53 @@
- PROG = lzma
--CXX = g++
--LIB =
-+CC = gcc
-+LIB = liblzma.a
- RM = rm -f
- CFLAGS = -c -O2 -Wall
-+AR = ar
-+RANLIB = ranlib
-
- OBJS = \
-- LzmaUtil.o \
- Alloc.o \
- LzFind.o \
- LzmaDec.o \
- LzmaEnc.o \
-+ LzmaLib.o \
- 7zFile.o \
- 7zStream.o \
-
--
- all: $(PROG)
-
--$(PROG): $(OBJS)
-- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2)
-+$(PROG): LzmaUtil.o $(LIB)
-+ $(CC) -o $(PROG) $(LDFLAGS) $< $(LIB)
-
- LzmaUtil.o: LzmaUtil.c
-- $(CXX) $(CFLAGS) LzmaUtil.c
-+ $(CC) $(CFLAGS) LzmaUtil.c
-+
-+$(LIB): $(OBJS)
-+ rm -f $@
-+ $(AR) rcu $@ $(OBJS)
-+ $(RANLIB) $@
-
- Alloc.o: ../Alloc.c
-- $(CXX) $(CFLAGS) ../Alloc.c
-+ $(CC) $(CFLAGS) ../Alloc.c
-
- LzFind.o: ../LzFind.c
-- $(CXX) $(CFLAGS) ../LzFind.c
-+ $(CC) $(CFLAGS) ../LzFind.c
-
- LzmaDec.o: ../LzmaDec.c
-- $(CXX) $(CFLAGS) ../LzmaDec.c
-+ $(CC) $(CFLAGS) ../LzmaDec.c
-
- LzmaEnc.o: ../LzmaEnc.c
-- $(CXX) $(CFLAGS) ../LzmaEnc.c
-+ $(CC) $(CFLAGS) ../LzmaEnc.c
-+
-+LzmaLib.o: ../LzmaLib.c
-+ $(CC) $(CFLAGS) ../LzmaLib.c
-
- 7zFile.o: ../7zFile.c
-- $(CXX) $(CFLAGS) ../7zFile.c
-+ $(CC) $(CFLAGS) ../7zFile.c
-
- 7zStream.o: ../7zStream.c
-- $(CXX) $(CFLAGS) ../7zStream.c
-+ $(CC) $(CFLAGS) ../7zStream.c
-
- clean:
-- -$(RM) $(PROG) $(OBJS)
-+ -$(RM) $(PROG) *.o *.a
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch b/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch
deleted file mode 100644
index ccca4d9e83..0000000000
--- a/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Index: lzma-4.65/C/LzmaUtil/makefile.gcc
-===================================================================
---- lzma-4.65.orig/C/LzmaUtil/makefile.gcc
-+++ lzma-4.65/C/LzmaUtil/makefile.gcc
-@@ -1,10 +1,10 @@
- PROG = lzma
--CC = gcc
-+CC ?= gcc
- LIB = liblzma.a
- RM = rm -f
- CFLAGS = -c -O2 -Wall
--AR = ar
--RANLIB = ranlib
-+AR ?= ar
-+RANLIB ?= ranlib
-
- OBJS = \
- Alloc.o \
diff --git a/meta-oe/recipes-support/lzma/lzma.inc b/meta-oe/recipes-support/lzma/lzma.inc
deleted file mode 100644
index 912d281187..0000000000
--- a/meta-oe/recipes-support/lzma/lzma.inc
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "LZMA is a general compression method. LZMA provides high compression ratio and very fast decompression."
-HOMEPAGE = "http://www.7-zip.org/"
-LICENSE = "LGPL"
-LIC_FILES_CHKSUM = "file://lzma.txt;md5=20251cdc2e3793cceab11878d0aa11b1"
-INC_PR = "r7"
-
-SRC_URI = "http://downloads.sourceforge.net/sevenzip/lzma${@d.getVar('PV',1).replace('.','')}.tar.bz2;subdir=${BPN}-${PV} \
- file://001-large_files.patch \
- file://002-lzmp.patch \
- file://003-compile_fixes.patch \
- file://100-static_library.patch \
- file://makefile-cleanup.patch"
-
-EXTRA_OEMAKE = "-f makefile.gcc"
-
-do_unpack_append() {
- import subprocess
- # Replace MS-DOS line-endings with Unix style line-endings
- subprocess.call("find . -type f -print0 | xargs -0 sed 's/\r$//' -i",
- cwd=d.getVar("S", True), shell=True)
-}
-
-do_compile() {
- oe_runmake CFLAGS='${CFLAGS} -c' -C C/LzmaUtil
- oe_runmake CXX_C='${CC} ${CFLAGS}' CXX='${CXX} ${CXXFLAGS}' \
- -C CPP/7zip/Compress/LZMA_Alone
-}
-
-do_install() {
- install -d ${D}${bindir} ${D}${libdir}
- install -m 0755 CPP/7zip/Compress/LZMA_Alone/lzma ${D}${bindir}
- oe_libinstall -a -C C/LzmaUtil liblzma ${D}${libdir}
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/lzma/lzma_4.65.bb b/meta-oe/recipes-support/lzma/lzma_4.65.bb
deleted file mode 100644
index 5295cd9a92..0000000000
--- a/meta-oe/recipes-support/lzma/lzma_4.65.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require lzma.inc
-PR = "${INC_PR}.1"
-
-SRC_URI[md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759"
-SRC_URI[sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e"
diff --git a/meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb b/meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb
new file mode 100644
index 0000000000..95d7d1107e
--- /dev/null
+++ b/meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Helper application and MIME type associations for file types"
+DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \
+mailcap file to determine how it should display non-text or multimedia \
+material. Basically, mailcap associates a particular type of file \
+with a particular program that a mail agent or other program can call \
+in order to handle the file. Mailcap should be installed to allow \
+certain programs to be able to handle non-text files. \
+\
+Also included in this package is the mime.types file which contains a \
+list of MIME types and their filename extension associations, used \
+by several applications e.g. to determine MIME types for filenames."
+
+SECTION = "System Environment/Base"
+
+SRC_URI = "https://git.fedorahosted.org/cgit/${PN}.git/snapshot/r2-1-43.tar.gz"
+SRC_URI[md5sum] = "8fd185ffae710301de3bc297877a404b"
+SRC_URI[sha256sum] = "a630892b5fe59eb9e3bef30c597de1c2b7f35243dea4b0c995fd482aa20c2d6b"
+LICENSE = "PD & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=100fcfb84512ccc03ffc7d89ac391305"
+S = "${WORKDIR}/r2-1-43"
+do_install() {
+ oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir}
+}
diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bb b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
index b165e9f1ad..3eb7f30dfc 100644
--- a/meta-oe/recipes-support/maliit/maliit-framework_git.bb
+++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
@@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad"
inherit autotools qt4x11 gtk-immodules-cache
+PNBLACKLIST[maliit-framework] ?= "BROKEN: Wasn't updated to work with B!=S, maybe incorrectly inherits autotools"
+
DEPENDS = "libxcomposite dbus gtk+3 gtk+"
SRC_URI = "git://github.com/maliit/framework.git;branch=master \
diff --git a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
index 903825adfd..3c040d87a7 100644
--- a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
+++ b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
@@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621"
inherit autotools qt4x11
+PNBLACKLIST[maliit-plugins] ?= "BROKEN: depends on broken maliit-framework"
+
DEPENDS = "maliit-framework"
RDEPENDS_${PN} += "qt4-plugin-iconengine-svgicon qt4-plugin-imageformat-svg"
diff --git a/meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb
index bd80c845ba..3467d28988 100644
--- a/meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb
+++ b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb
@@ -3,11 +3,13 @@ HOMEPAGE = "http://www.maier-komor.de/mbuffer.html"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
SECTION = "console/network"
-PR = "r1"
-SRC_URI = "http://www.maier-komor.de/software/mbuffer/mbuffer-20091227.tgz"
-SRC_URI[md5sum] = "191663396b4b1752d7104803631b9e54"
-SRC_URI[sha256sum] = "e708b66f6cec9ba090877e8eb38e5627ac69aea9ebd9bca1360a29c7398a88ce"
+SRC_URI = " \
+ http://www.maier-komor.de/software/mbuffer/mbuffer-20140310.tgz \
+"
+
+SRC_URI[md5sum] = "9937d7f666c19a2e6b2499b04dbecc44"
+SRC_URI[sha256sum] = "ab90b6fdce16db2bf08bcda0bc5d2bfb053a9a163d2a24f95fbf246460549b99"
inherit autotools
@@ -15,7 +17,7 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG[md5] = "--enable-md5,--disable-md5,openssl"
do_configure() {
- gnu-configize
+ ( cd ${S}; gnu-configize )
oe_runconf
}
diff --git a/meta-oe/recipes-support/mcelog/mcelog_1.04.bb b/meta-oe/recipes-support/mcelog/mcelog_1.04.bb
new file mode 100644
index 0000000000..ceadf7a0a7
--- /dev/null
+++ b/meta-oe/recipes-support/mcelog/mcelog_1.04.bb
@@ -0,0 +1,28 @@
+SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
+DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
+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[md5sum] = "a06761ad5fed8596238b5a5ea76ed662"
+SRC_URI[sha256sum] = "519390825ec5a0545a7ed48717ef7c7480bb8b9bce68d63a58a52f4e4e275e0f"
+SRCREV = "9de4924e751346df6e2d40ae1007b40ea1915e2b"
+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/
+}
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
+
+RDEPENDS_${PN} = "bash"
diff --git a/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch b/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch
new file mode 100644
index 0000000000..16137da2b1
--- /dev/null
+++ b/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch
@@ -0,0 +1,36 @@
+diff -uwr mg-20110905/configure mg-20110905-changed/configure
+--- mg-20110905/configure 2011-09-05 13:36:16.000000000 -0500
++++ mg-20110905-changed/configure 2014-08-14 10:46:14.168715425 -0500
+@@ -163,32 +163,6 @@
+ echo 'Fails.'
+ fi
+
+-
+-if [ ! -r /usr/include/term.h ]; then
+- note 'term.h'
+- if [ -r /usr/include/ncurses/term.h ]; then
+- echo "Found in /usr/include/ncurses"
+- extraflags="$extraflags -I/usr/include/ncurses"
+- else
+- for i in pkg local; do
+- if [ -r /usr/$i/include/term.h ]; then
+- echo "Found in /usr/$i/include"
+- extralibs="$extralibs -L/usr/$i/lib"
+- extraflags="$extraflags -I/usr/$i/include"
+- break
+- else
+- false
+- fi
+- done ||
+- {
+- echo 'Not found!' >&2
+- echo 'Do you have the ncurses devel package installed?' >&2
+- echo 'If you know where term.h is, please email the author!' >&2
+- exit 1
+- }
+- fi
+-fi
+-
+ note 'base and dirname'
+ if gcc_defines "__GLIBC__" || gcc_defines "__CYGWIN__" ; then
+ echo 'Not present, adding.'
diff --git a/meta-oe/recipes-support/mg/mg_20110905.bb b/meta-oe/recipes-support/mg/mg_20110905.bb
index 33cc0384b8..b9a4d33922 100644
--- a/meta-oe/recipes-support/mg/mg_20110905.bb
+++ b/meta-oe/recipes-support/mg/mg_20110905.bb
@@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://version.c;md5=811e1b67a5cd60c12b218a2b7c1adbf2"
DEPENDS = "ncurses"
SECTION = "console/editors"
-SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz"
+SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz \
+ file://remove_ncurses_check.patch"
SRC_URI[md5sum] = "2de35316fa8ebafe6003efaae70b723e"
SRC_URI[sha256sum] = "1cd37d7e6a3eecc890a5718c38b8f38495057ba93856762a756ccee2f9618229"
diff --git a/meta-oe/recipes-support/mime-support/mime-support_3.48.bb b/meta-oe/recipes-support/mime-support/mime-support_3.48.bb
index a4628c1f6c..7f8b40a48b 100644
--- a/meta-oe/recipes-support/mime-support/mime-support_3.48.bb
+++ b/meta-oe/recipes-support/mime-support/mime-support_3.48.bb
@@ -4,6 +4,7 @@ LICENSE = "PD"
LIC_FILES_CHKSUM = "file://debian/README;md5=36bbe2ace0a05c3fb684b73208fbf30b"
DEPENDS = "file"
+RDEPENDS_${PN} = "perl"
RRECOMMENDS_${PN} = "file"
SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}-1.tar.gz"
diff --git a/meta-oe/recipes-support/mongodb/mongodb_git.bb b/meta-oe/recipes-support/mongodb/mongodb_git.bb
index 2701c4cfca..879fc7c9ed 100644
--- a/meta-oe/recipes-support/mongodb/mongodb_git.bb
+++ b/meta-oe/recipes-support/mongodb/mongodb_git.bb
@@ -9,6 +9,13 @@ DEPENDS_append_x86-64 = " gperftools"
inherit scons
+# Target 'build/linux2/disable-scripting/ld_arm-oe-linux-gnueabi-g++/ssl/use-system-boost/use-system-pcre/use-system-tcmalloc/mongo/mongod' depends on the availability of a system provided library for 'boost_program_options', but no suitable library was found during configuration.
+# | Target 'build/linux2/disable-scripting/ld_arm-oe-linux-gnueabi-g++/ssl/use-system-boost/use-system-pcre/use-system-tcmalloc/mongo/mongod' depends on the availability of a system provided library for 'boost_program_options', but no suitable library was found during configuration.
+# | scons: *** [build/linux2/disable-scripting/ld_arm-oe-linux-gnueabi-g++/ssl/use-system-boost/use-system-pcre/use-system-tcmalloc/mongo/mongod] Error 1
+# | scons: building terminated because of errors.
+# | ERROR: scons build execution failed.
+PNBLACKLIST[mongodb] ?= "Fails to build with system boost"
+
PV = "2.6.0+git${SRCPV}"
SRCREV = "be1905c24c7e5ea258e537fbf0d2c502c4fc6de2"
SRC_URI = "git://github.com/mongodb/mongo.git;branch=v2.6 \
diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch
new file mode 100644
index 0000000000..a16a854052
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch
@@ -0,0 +1,29 @@
+Always use devmapper for kpartx
+
+Do not try to compute the LIBDM_API_COOKIE make variable
+from host information when cross-compiling.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+diff --git a/kpartx/Makefile b/kpartx/Makefile
+index 2a07334..24bdabc 100644
+--- a/kpartx/Makefile
++++ b/kpartx/Makefile
+@@ -4,13 +4,7 @@
+ #
+ include ../Makefile.inc
+
+-CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+-
+-LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h)
+-
+-ifneq ($(strip $(LIBDM_API_COOKIE)),0)
+- CFLAGS += -DLIBDM_API_COOKIE
+-endif
++CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE
+
+ LDFLAGS = -ldevmapper
+ OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \
diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch
new file mode 100644
index 0000000000..89d2352dab
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch
@@ -0,0 +1,44 @@
+Always use devmapper
+
+Do not try to compute several _API_ make variables
+from host information when cross-compiling.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+diff --git a/libmultipath/Makefile b/libmultipath/Makefile
+index e5b06b3..efd6cf6 100644
+--- a/libmultipath/Makefile
++++ b/libmultipath/Makefile
+@@ -17,23 +17,18 @@ OBJS = memory.o parser.o vector.o devmapper.o \
+ log.o configure.o structs_vec.o sysfs.o prio.o checkers.o \
+ lock.o waiter.o file.o wwids.o
+
+-LIBDM_API_FLUSH = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_no_flush' /usr/include/libdevmapper.h)
+
+-ifneq ($(strip $(LIBDM_API_FLUSH)),0)
++#ifneq ($(strip $(LIBDM_API_FLUSH)),0)
+ CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
+-endif
++#endif
+
+-LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h)
+-
+-ifneq ($(strip $(LIBDM_API_COOKIE)),0)
++#ifneq ($(strip $(LIBDM_API_COOKIE)),0)
+ CFLAGS += -DLIBDM_API_COOKIE
+-endif
+-
+-LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_resolve_buffer_size' /usr/include/libudev.h)
++#endif
+
+-ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0)
++#ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0)
+ CFLAGS += -DLIBUDEV_API_RECVBUF
+-endif
++#endif
+
+
+ all: $(LIBS)
diff --git a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch
new file mode 100644
index 0000000000..ff71f39675
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch
@@ -0,0 +1,36 @@
+multipath-tools: modify Makefile.inc for cross-compilation
+
+Do not look for systemd info on the host, and allow us to pass in CFLAGS
+using the OPTFLAGS variable.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -21,12 +21,6 @@ ifndef LIB
+ endif
+ endif
+
+-ifndef SYSTEMD
+- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1)
+- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p')
+- endif
+-endif
+-
+ prefix =
+ exec_prefix = $(prefix)
+ bindir = $(exec_prefix)/sbin
+@@ -49,7 +43,10 @@ ifndef RPM_OPT_FLAGS
+ RPM_OPT_FLAGS = -O2 -g -pipe -Wformat-security -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4
+ endif
+
++ifndef OPTFLAGS
+ OPTFLAGS = $(RPM_OPT_FLAGS) -Wunused -Wstrict-prototypes
++endif
++
+ CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\"
+ SHARED_FLAGS = -shared
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/multipathd.oe b/meta-oe/recipes-support/multipath-tools/files/multipathd.oe
new file mode 100755
index 0000000000..3bdf875e3c
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/multipathd.oe
@@ -0,0 +1,146 @@
+#!/bin/bash
+#
+# multipathd Starts the multipath daemon
+#
+# chkconfig: - 06 87
+# description: Manages device-mapper multipath devices
+
+### BEGIN INIT INFO
+# Provides: multipathd
+# Required-Start:
+# Required-Stop:
+# Default-Start:
+# Default-Stop:
+# Short-Description: Control multipathd
+# Description: This service monitors and manages
+# device-mapper multipath devices
+### END INIT INFO
+
+DAEMON=/sbin/multipathd
+prog=`basename $DAEMON`
+initdir=/etc/init.d
+lockdir=/var/lock/subsys
+sysconfig=/etc/sysconfig
+syspath=/sys/block
+
+RETVAL=0
+
+teardown_slaves()
+{
+pushd $1 > /dev/null
+if [ -d "slaves" ]; then
+for slave in slaves/*;
+do
+ if [ "$slave" = "slaves/*" ]; then
+ read dev < $1/dev
+ tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"`
+ if ! [ -z $tablename ]; then
+ echo "Root is on a multipathed device, multipathd can not be stopped"
+ exit 1
+ fi
+ else
+ local_slave=`readlink -f $slave`;
+ teardown_slaves $local_slave;
+ fi
+ done
+
+else
+ read dev < $1/dev
+ tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"`
+ if ! [ -z $tablename ]; then
+ echo "Root is on a multipathed device, multipathd can not be stopped"
+ exit 1
+ fi
+fi
+popd > /dev/null
+}
+
+#
+# See how we were called.
+#
+
+start() {
+ test -x $DAEMON || exit 5
+ echo -n $"Starting $prog daemon: "
+ start-stop-daemon --start --quiet --exec $DAEMON
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch $lockdir/$prog
+ echo
+}
+
+force_stop() {
+ echo -n $"Stopping $prog daemon: "
+ killall $DAEMON
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && rm -f $lockdir/$prog
+ echo
+}
+
+stop() {
+ root_dev=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $1; }}' /etc/mtab)
+ dm_num=`dmsetup info -c --noheadings -o minor $root_dev 2> /dev/null`
+ if [ $? -eq 0 ]; then
+ root_dm_device="dm-$dm_num"
+ [ -d $syspath/$root_dm_device ] && teardown_slaves $syspath/$root_dm_device
+ fi
+
+ force_stop
+}
+
+restart() {
+ stop
+ start
+}
+
+force_restart() {
+ force_stop
+ start
+}
+
+reload() {
+ echo -n "Reloading $prog: "
+ trap "" SIGHUP
+ killall $DAEMON -s SIGHUP -v
+ RETVAL=$?
+ echo
+}
+
+case "$1" in
+start)
+ start
+ ;;
+stop)
+ stop
+ ;;
+force-stop)
+ force_stop
+ ;;
+force-reload|reload)
+ reload
+ ;;
+restart)
+ restart
+ ;;
+force-restart)
+ force_restart
+ ;;
+condrestart|try-restart)
+ if [ -f $lockdir/$prog ]; then
+ restart
+ fi
+ ;;
+status)
+ if pidof -o %PPID $DAEMON > /dev/null; then
+ echo "Running"
+ RETVAL=0
+ else
+ echo "Not running"
+ RETVAL=1
+ fi
+ ;;
+*)
+ echo $"Usage: $0 {start|stop|force-stop|status|restart|force-restart|condrestart|reload}"
+ RETVAL=2
+esac
+
+exit $RETVAL
diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
index 038f4e26df..055cfe64c9 100644
--- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
+++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
@@ -1,30 +1,70 @@
SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver"
-DEPENDS = "lvm2 libaio readline"
+DEPENDS = "lvm2 libaio readline udev"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7be2873b6270e45abacc503abbe2aa3d"
+LICENSE = "LGPLv2"
+SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \
+ file://multipathd.oe \
+ file://makefile_inc.patch \
+ file://always-use-libdevmapper.patch \
+ file://always-use-libdevmapper-kpartx.patch \
+ "
+# 0.5.0
+#
+#SRCREV = "82f391e787dc02e9d9294aa391137ab424bb83c4"
+#LIC_FILES_CHKSUM = "file://COPYING;md5=7be2873b6270e45abacc503abbe2aa3d"
+
+# 0.5.0 + commits thru 7/18/2014
+#
+#SRCREV = "0d72f46c12207a6b7b89f5ef4f5ab5f87ed8bc90"
+#LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1"
+
+# 0.5.0 + commits thru 9/12/2014
+#
+# includes important systemd related structure size fix
+#
+SRCREV = "aec68ab217fd2956443b27ceeb97dd6475267789"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1"
+
+inherit systemd
-SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http"
-SRCREV = "15fc23ffb2bd1bac6990eda3e23c3e8980e6cfa5"
S = "${WORKDIR}/git"
-PV = "0.4.9+git"
+PV = "0.5.0+git${@'${SRCPV}'.split('+')[-1]}"
-EXTRA_OEMAKE = "MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} libdir=${base_libdir}/multipath"
+# The exact version of SYSTEMD does not matter but should be greater than 209.
+#
+EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
+ OPTFLAGS="${CFLAGS}" \
+ LIB=${base_libdir} libdir=${base_libdir}/multipath \
+ unitdir=/lib/systemd/system \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \
+ '
do_install() {
oe_runmake install
+
+ # Copy a sample conf file, but do not rename it multipath.conf.
+ #
+ cp multipath.conf.defaults ${D}${sysconfdir}
+
+ # We copy an initscript, but do not start multipathd at init time.
+ #
+ cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd
+
}
FILES_${PN}-dbg += "${base_libdir}/multipath/.debug"
+
+# systemd and udev stuff always goes under /lib!
+#
FILES_${PN} += "${base_libdir}/multipath \
- ${base_libdir}/systemd"
+ /lib/systemd"
PACKAGES =+ "kpartx"
FILES_kpartx = "${base_sbindir}/kpartx \
- ${base_libdir}/udev/kpartx_id"
+ /lib/udev/kpartx_id"
RDEPENDS_${PN} += "kpartx"
diff --git a/meta-oe/recipes-support/mysql/mariadb-native_5.1.67.bb b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb
index 942afcc55d..4ce960d7da 100644
--- a/meta-oe/recipes-support/mysql/mariadb-native_5.1.67.bb
+++ b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb
@@ -1,20 +1,19 @@
-require mariadb_${PV}.inc
+require mariadb.inc
inherit native
PROVIDES += "mysql5-native"
-DEPENDS = "ncurses-native zlib-native"
+DEPENDS = "ncurses-native zlib-native bison-native"
RDEPENDS_${PN} = ""
PACKAGES = ""
EXTRA_OEMAKE = ""
-EXTRA_OECONF = " --with-embedded-server "
do_install() {
oe_runmake 'DESTDIR=${D}' install
- mv -f ${D}${libdir}/mysql/* ${D}${libdir}
- rmdir ${D}${libdir}/mysql
install -d ${D}${bindir}
install -m 0755 sql/gen_lex_hash ${D}${bindir}/
+ install -m 0755 extra/comp_err ${D}${bindir}/
+ install -m 0755 scripts/comp_sql ${D}${bindir}/
}
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc b/meta-oe/recipes-support/mysql/mariadb.inc
index 0c83c71038..cacb0d5e0f 100644
--- a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
+++ b/meta-oe/recipes-support/mysql/mariadb.inc
@@ -4,63 +4,66 @@ SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "http://mirrors.coreix.net/mariadb/mariadb-${PV}/kvm-tarbake-jaunty-x86/mariadb-${PV}.tar.gz \
- file://configure.in.patch \
- file://plug.in.patch \
- file://misc.m4.patch \
- file://Makefile.am.patch \
- file://fix_host_path.patch \
- file://configure-ps-cache-check.patch \
- file://fix-cve-2013-1861-1.patch \
- file://fix-cve-2013-1861-2.patch \
- file://zlib-let-libdir-configurable.patch \
- file://storage-forbids-absolute-addresses-on-IA-32.patch \
+SRC_URI = "http://mirror.stshosting.co.uk/mariadb/mariadb-${PV}/source/mariadb-${PV}.tar.gz \
+ file://fix-cmake-module-path.patch \
+ file://remove-bad-path.patch \
+ file://fix-mysqlclient-r-version.patch \
file://my.cnf \
- file://mysqld.sh \
- file://avoid-plugin-options-warnings.patch \
- file://fix-link-error-ub1310.patch \
+ file://mysqld.service \
+ file://configure.cmake-fix-valgrind.patch \
"
-SRC_URI[md5sum] = "44c331fa91943155e4796f89e17a0612"
-SRC_URI[sha256sum] = "33471e9275c9b03919cabc38eb39f807d645adabf6a1a18f2e41ed73f47677c8"
+SRC_URI[md5sum] = "d2415efc6a6d73d7a58f3c79bb42f2e8"
+SRC_URI[sha256sum] = "a16dc62e4bcabecd5c483f2f8b657483a8c51934e7be5ad4ab21b8baea1f5332"
S = "${WORKDIR}/mariadb-${PV}"
BINCONFIG_GLOB = "mysql_config"
-inherit autotools-brokensep binconfig update-rc.d useradd
+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 ."
USERADD_PACKAGES = "${PN}-server"
-USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g nogroup --shell /bin/false mysql"
+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"
+SYSTEMD_SERVICE_${PN}-server = "mysqld.service"
+SYSTEMD_AUTO_ENABLE_${PN}-server = "disable"
-export ac_cv_path_PS="/bin/ps"
-export ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null"
-PARALLEL_MAKE = " "
EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
-EXTRA_OECONF = "--with-atomic-ops=up \
- --with-embedded-server \
- --sysconfdir=/etc/mysql \
- --localstatedir=/var/mysql \
- --disable-dependency-tracking \
- --without-debug \
- --with-low-memory \
- --without-query-cache \
- --without-plugin-maria \
- --without-man \
- --without-docs \
- --with-zlib-dir=${STAGING_EXECPREFIXDIR} \
- --with-baselib-dir=${base_libdir} \
- --with-pic \
- "
-do_configure_append() {
- sed -i /comp_err/d ${B}/sql/share/Makefile
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG_class-native = ""
+PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
+PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITHOUT_VALGRIND=TRUE,valgrind"
+PACKAGECONFIG[libedit] = "-DLIBEDIT_INTERFACE=TRUE,-DLIBEDIT_INTERFACE=FALSE,libedit"
+
+# MariaDB doesn't link properly with gold
+# https://mariadb.atlassian.net/browse/MDEV-5982
+TARGET_CFLAGS += "-fuse-ld=bfd"
+EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
+ -DWITH_JEMALLOC=no \
+ -DWITHOUT_TOKUDB=TRUE \
+ -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \
+ -DGROFF=FALSE \
+ -DNROFF=FALSE \
+ -DENABLE_DTRACE=FALSE \
+ -DWITH_PIC=ON \
+ -DINSTALL_LAYOUT=RPM \
+ -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \
+ -DINSTALL_LIBDIR:PATH=${baselib} \
+ -DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \
+ -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \
+ -DMYSQL_DATADIR:PATH=/var/mysql \
+ -DCAT_EXECUTABLE=`which cat` \
+ -DCMAKE_AR:FILEPATH=${AR}"
+
+do_configure_append() {
# handle distros with different values of ${libexecdir}
libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'`
sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh
@@ -68,6 +71,20 @@ do_configure_append() {
sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh
}
+do_generate_toolchain_file_append_class-native () {
+ # If these are set cmake will assume we're cross-compiling, which will
+ # result in certain things we want being disabled
+ sed -i "/set( CMAKE_SYSTEM_NAME/d" ${WORKDIR}/toolchain.cmake
+ sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake
+}
+
+do_compile_prepend_class-target () {
+ # These need to be in-tree or make will think they need to be built,
+ # and since we're cross-compiling that is disabled
+ cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra
+ cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts
+}
+
SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
# We need to append this so it runs *after* binconfig's preprocess function
@@ -82,13 +99,20 @@ mariadb_sysroot_preprocess () {
do_install() {
oe_runmake 'DESTDIR=${D}' install
- mv -f ${D}${libdir}/mysql/* ${D}${libdir}
- rmdir ${D}${libdir}/mysql
- find ${D}${libdir} -name '*.la'|xargs sed -i 's#${libdir}/mysql#${libdir}#'
- install -d ${D}/etc/init.d
- install -m 0644 ${WORKDIR}/my.cnf ${D}/etc/
- install -m 0755 ${WORKDIR}/mysqld.sh ${D}/etc/init.d/mysqld
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/
+ 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
+
+ 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 () {
@@ -100,9 +124,9 @@ pkg_postinst_${PN}-server () {
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.nogroup /var/lib/mysql
+ chown mysql.mysql /var/lib/mysql
- mysql_install_db
+ mysql_install_db --basedir=${prefix} --user=mysql
}
@@ -110,7 +134,9 @@ 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"
-CONFFILES_${PN}-server += "${sysconfdir}/my.cnf"
+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"
FILES_${PN} = " "
RDEPENDS_${PN} = "${PN}-client ${PN}-server"
@@ -131,20 +157,16 @@ RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-modu
FILES_libmysqlclient = "\
${libdir}/libmysqlclient.so.* \
- ${libdir}/plugin/*.so.*"
+ ${sysconfdir}/my.cnf.d/client.cnf"
FILES_libmysqlclient-dev = " \
${includedir}/mysql/ \
${libdir}/libmysqlclient.so \
- ${libdir}/libmysqlclient.la \
- ${libdir}/plugin/*.so \
- ${libdir}/plugin/*.la \
${sysconfdir}/aclocal \
${bindir}/mysql_config"
FILES_libmysqlclient-staticdev = "\
- ${libdir}/*.a \
- ${libdir}/plugin/*.a"
+ ${libdir}/*.a"
FILES_libmysqlclient-dbg = "${libdir}/plugin/.debug/ \
- /usr/mysql-test/lib/My/SafeProcess/.debug/my_safe_process"
+ ${datadir}/mysql-test/lib/My/SafeProcess/.debug/my_safe_process"
# Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0
# which are intentionally non-PIC on 32-bit x86 (see e.g.
@@ -153,8 +175,7 @@ INSANE_SKIP_libmysqlclient_append_i586 = " textrel"
FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*"
FILES_libmysqlclient-r-dev = "\
- ${libdir}/libmysqlclient_r.so \
- ${libdir}/libmysqlclient_r.la"
+ ${libdir}/libmysqlclient_r.so"
FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
FILES_libmysqlclient-r-dbg = "${libdir}/plugin/.debuglibmysqlclient_r.so.*"
@@ -181,7 +202,8 @@ FILES_${PN}-client = "\
${bindir}/mysqlshow \
${bindir}/mysqlslap \
${bindir}/mysqltest_embedded \
- ${libexecdir}/mysqlmanager"
+ ${libexecdir}/mysqlmanager \
+ ${sysconfdir}/my.cnf.d/mysql-clients.cnf"
FILES_${PN}-server = "\
${bindir}/comp_err \
@@ -199,6 +221,7 @@ FILES_${PN}-server = "\
${bindir}/mysql_setpermission \
${bindir}/mysql_tzinfo_to_sql \
${bindir}/mysql_upgrade \
+ ${bindir}/mysql_plugin \
${bindir}/mysql_zap \
${bindir}/mysqlbinlog \
${bindir}/mysqld_multi \
@@ -225,10 +248,13 @@ FILES_${PN}-server = "\
${sbindir}/ndb_cpcd \
${sbindir}/ndbd \
${sbindir}/ndb_mgmd \
+ ${libdir}/plugin/*.so \
${datadir}/mysql/ \
${localstatedir}/mysql/ \
${sysconfdir}/init.d \
- ${sysconfdir}/my.cnf"
+ ${sysconfdir}/my.cnf \
+ ${sysconfdir}/my.cnf.d/server.cnf \
+ ${sysconfdir}/tmpfiles.d"
DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
FILES_${PN}-leftovers = "/"
diff --git a/meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch b/meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch
deleted file mode 100644
index 33fd17acd4..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: mysql-5.1.40/sql/Makefile.am
-===================================================================
---- mysql-5.1.40.orig/sql/Makefile.am
-+++ mysql-5.1.40/sql/Makefile.am
-@@ -174,10 +174,10 @@ link_sources:
- # This generates lex_hash.h
- # NOTE Built sources should depend on their sources not the tool
- # this avoid the rebuild of the built files in a source dist
--lex_hash.h: gen_lex_hash.cc lex.h
-- $(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT)
-- ./gen_lex_hash$(EXEEXT) > $@-t
-- $(MV) $@-t $@
-+GEN_LEX_HASH = ./gen_lex_hash$(EXEEXT)
-+
-+lex_hash.h: gen_lex_hash$(EXEEXT)
-+ $(GEN_LEX_HASH) > $@
-
- # For testing of udf_example.so
- udf_example_la_SOURCES= udf_example.c
diff --git a/meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch b/meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch
deleted file mode 100644
index 84ff6f023d..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Tell autoconf about with-plugin option to avoid warnings like:
-configure: WARNING: unrecognized options: --with-plugin-maria
-
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Index: mariadb-5.1.67/config/ac-macros/plugins.m4
-===================================================================
---- mariadb-5.1.67.orig/config/ac-macros/plugins.m4
-+++ mariadb-5.1.67/config/ac-macros/plugins.m4
-@@ -38,6 +38,7 @@ AC_DEFUN([_MYSQL_PLUGIN],[
- _MYSQL_PLUGAPPEND([__mysql_plugin_list__],[$1])
- m4_define([MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]), [$3])
- m4_define([MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]), [$4])
-+ m4_ifdef([_AC_ENABLE_IF], [_AC_ENABLE_IF([with],[plugin-$1])])
- _MYSQL_PLUGAPPEND_META([$1], $5)
- ifelse(m4_bregexp(__mysql_include__,[/plug\.in$]),-1,[],[
- MYSQL_PLUGIN_DIRECTORY([$1],
diff --git a/meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch b/meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch
deleted file mode 100644
index 3b5b3fd063..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Index: mysql-4.1.22/configure.in
-===================================================================
---- mysql-4.1.22.orig/configure.in 2009-01-28 16:33:28.000000000 +0000
-+++ mysql-4.1.22/configure.in 2009-01-28 16:43:26.000000000 +0000
-@@ -471,8 +471,8 @@
-
- # Lock for PS
- AC_PATH_PROG(PS, ps, ps)
--AC_MSG_CHECKING("how to check if pid exists")
--PS=$ac_cv_path_PS
-+AC_CACHE_CHECK([how to check if pid exists], [ac_cv_FIND_PROC],
-+[
- # Linux style
- if $PS p $$ 2> /dev/null | grep $0 > /dev/null
- then
-@@ -511,8 +511,9 @@
- AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.])
- esac
- fi
--AC_SUBST(FIND_PROC)
--AC_MSG_RESULT("$FIND_PROC")
-+ac_cv_FIND_PROC="$FIND_PROC"
-+])
-+AC_SUBST([FIND_PROC], [$ac_cv_FIND_PROC])
-
- # Check if a pid is valid
- AC_PATH_PROG(KILL, kill, kill)
diff --git a/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch b/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch
new file mode 100644
index 0000000000..e97def6021
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch
@@ -0,0 +1,41 @@
+From 5effba0d7d47071a3f1bca56823190d5a95bb1a6 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 12 Nov 2014 03:09:10 -0500
+Subject: [PATCH] configure.cmake: fix valgrind
+
+Check valgrind headers only if WITH_VALGRIND is set.
+
+mariadb uses two macros for valgrind compilations:
+HAVE_valgrind - valgrind is installed and can be set by configure option -DWITH_VALGRIND
+HAVE_VALGRIND - valgrind debug libraries is installed, set by auto check
+
+We would like to set them both by the configure option so that we can use
+PACKAGECONFIG to decide if valgrind is needed or not.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ configure.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.cmake b/configure.cmake
+index 0bd7bbe..51a098f 100644
+--- a/configure.cmake
++++ b/configure.cmake
+@@ -1047,10 +1047,10 @@ MARK_AS_ADVANCED(WITH_ATOMIC_LOCKS MY_ATOMIC_MODE_RWLOCK MY_ATOMIC_MODE_DUMMY)
+
+ IF(WITH_VALGRIND)
+ SET(HAVE_valgrind 1)
++ CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h"
++ HAVE_VALGRIND)
+ ENDIF()
+
+-CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h"
+- HAVE_VALGRIND)
+
+ #--------------------------------------------------------------------
+ # Check for IPv6 support
+--
+2.0.0
+
diff --git a/meta-oe/recipes-support/mysql/mariadb/configure.in.patch b/meta-oe/recipes-support/mysql/mariadb/configure.in.patch
deleted file mode 100644
index 6fe2dfaa1a..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/configure.in.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: mysql-5.1.40/configure.in
-===================================================================
---- mysql-5.1.40.orig/configure.in
-+++ mysql-5.1.40/configure.in
-@@ -226,8 +226,6 @@ else
- AC_PATH_PROG(AS, as, as)
- fi
-
--# Still need ranlib for readline; local static use only so no libtool.
--AC_PROG_RANLIB
- # We use libtool
- #AC_LIBTOOL_WIN32_DLL
- AC_PROG_LIBTOOL
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch
new file mode 100644
index 0000000000..8d9f558d05
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch
@@ -0,0 +1,29 @@
+Avoid CMAKE_MODULE_PATH being overwritten
+
+OE-Core's setting of CMAKE_MODULE_PATH stomps on MariaDB's value unless
+we set it after setting the project name.
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+Upstream-Status: Inappropriate [working around OE-Core bug]
+
+--- mariadb/CMakeLists.txt 2014-07-17 11:01:07.676353047 +0100
++++ mariadb/CMakeLists.txt 2014-07-17 11:01:31.299353107 +0100
+@@ -28,8 +28,6 @@
+
+ MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}")
+
+-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
+-
+ # Distinguish between community and non-community builds, with the
+ # default being a community build. This does not impact the feature
+ # set that will be compiled in; it's merely provided as a hint to
+@@ -77,6 +75,8 @@
+ ENDIF()
+ PROJECT(${MYSQL_PROJECT_NAME})
+
++SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
++
+ IF(BUILD_CONFIG)
+ INCLUDE(
+ ${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake)
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch
deleted file mode 100644
index df2e7086c4..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From 24404044ad4c28026e400e1fcd85358f2060aa96 Mon Sep 17 00:00:00 2001
-From: Alexey Botchkov <holyfoot@askmonty.org>
-Date: Sun, 10 Mar 2013 23:08:05 +0400
-Subject: [PATCH] MDEV-4252 geometry query crashes server. The bug was
- found by Alyssa Milburn. If the number of points of a geometry feature
- read from binary representation is greater than 0x10000000, then
- the (uint32) (num_points * 16) will cut the higher byte, which leads to
- various errors. Fixed by additional check if (num_points >
- max_n_points).
-
-Upstream-Status: Backport
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
----
- mysql-test/r/gis.result | 3 +++
- mysql-test/t/gis.test | 1 +
- sql/spatial.cc | 27 ++++++++++++++++++---------
- sql/spatial.h | 9 +++++----
- 4 files changed, 27 insertions(+), 13 deletions(-)
-
-diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result
-index 8dad72f..69e73d0 100644
---- a/mysql-test/r/gis.result
-+++ b/mysql-test/r/gis.result
-@@ -1087,4 +1087,7 @@ NULL
- #
- SELECT GEOMETRYCOLLECTION((SELECT @@OLD));
- ERROR 22007: Illegal non geometric '' value found during parsing
-+select astext(0x0100000000030000000100000000000010);
-+astext(0x0100000000030000000100000000000010)
-+NULL
- End of 5.1 tests
-diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test
-index abda3e9..cc5d158 100644
---- a/mysql-test/t/gis.test
-+++ b/mysql-test/t/gis.test
-@@ -826,5 +826,6 @@ SELECT ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20)));
- --error ER_ILLEGAL_VALUE_FOR_TYPE
- SELECT GEOMETRYCOLLECTION((SELECT @@OLD));
-
-+select astext(0x0100000000030000000100000000000010);
-
- --echo End of 5.1 tests
-diff --git a/sql/spatial.cc b/sql/spatial.cc
-index eec028e..94d0238 100644
---- a/sql/spatial.cc
-+++ b/sql/spatial.cc
-@@ -556,7 +556,7 @@ bool Gis_line_string::get_data_as_wkt(String *txt, const char **end) const
- n_points= uint4korr(data);
- data += 4;
-
-- if (n_points < 1 ||
-+ if (n_points < 1 || n_points > max_n_points ||
- no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points) ||
- txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points))
- return 1;
-@@ -594,7 +594,8 @@ int Gis_line_string::geom_length(double *len) const
- return 1;
- n_points= uint4korr(data);
- data+= 4;
-- if (n_points < 1 || no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points))
-+ if (n_points < 1 || n_points > max_n_points ||
-+ no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points))
- return 1;
-
- get_point(&prev_x, &prev_y, data);
-@@ -628,7 +629,7 @@ int Gis_line_string::is_closed(int *closed) const
- return 0;
- }
- data+= 4;
-- if (n_points == 0 ||
-+ if (n_points == 0 || n_points > max_n_points ||
- no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points))
- return 1;
-
-@@ -798,7 +799,8 @@ bool Gis_polygon::get_data_as_wkt(String *txt, const char **end) const
- return 1;
- n_points= uint4korr(data);
- data+= 4;
-- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) ||
-+ if (n_points > max_n_points ||
-+ no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) ||
- txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points))
- return 1;
- txt->qs_append('(');
-@@ -852,7 +854,8 @@ int Gis_polygon::area(double *ar, const char **end_of_data) const
- if (no_data(data, 4))
- return 1;
- n_points= uint4korr(data);
-- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points))
-+ if (n_points > max_n_points ||
-+ no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points))
- return 1;
- get_point(&prev_x, &prev_y, data+4);
- data+= (4+SIZEOF_STORED_DOUBLE*2);
-@@ -888,7 +891,8 @@ int Gis_polygon::exterior_ring(String *result) const
- n_points= uint4korr(data);
- data+= 4;
- length= n_points * POINT_DATA_SIZE;
-- if (no_data(data, length) || result->reserve(1+4+4+ length))
-+ if (n_points > max_n_points ||
-+ no_data(data, length) || result->reserve(1+4+4+ length))
- return 1;
-
- result->q_append((char) wkb_ndr);
-@@ -973,7 +977,8 @@ int Gis_polygon::centroid_xy(double *x, double *y) const
- return 1;
- org_n_points= n_points= uint4korr(data);
- data+= 4;
-- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points))
-+ if (n_points > max_n_points ||
-+ no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points))
- return 1;
- get_point(&prev_x, &prev_y, data);
- data+= (SIZEOF_STORED_DOUBLE*2);
-@@ -1260,7 +1265,8 @@ bool Gis_multi_line_string::get_data_as_wkt(String *txt,
- return 1;
- n_points= uint4korr(data + WKB_HEADER_SIZE);
- data+= WKB_HEADER_SIZE + 4;
-- if (no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) ||
-+ if (n_points > max_n_points ||
-+ no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) ||
- txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points))
- return 1;
- txt->qs_append('(');
-@@ -1521,7 +1527,8 @@ bool Gis_multi_polygon::get_data_as_wkt(String *txt, const char **end) const
- return 1;
- uint32 n_points= uint4korr(data);
- data+= 4;
-- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) ||
-+ if (n_points > max_n_points ||
-+ no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) ||
- txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points,
- 512))
- return 1;
-@@ -1604,6 +1611,8 @@ int Gis_multi_polygon::geometry_n(uint32 num, String *result) const
- if (no_data(data, 4))
- return 1;
- n_points= uint4korr(data);
-+ if (n_points > max_n_points)
-+ return 1;
- data+= 4 + POINT_DATA_SIZE * n_points;
- }
- } while (--num);
-diff --git a/sql/spatial.h b/sql/spatial.h
-index 20b3856..7d25425 100644
---- a/sql/spatial.h
-+++ b/sql/spatial.h
-@@ -197,6 +197,11 @@ struct MBR
- class Geometry
- {
- public:
-+ // Maximum number of points in feature that can fit into String
-+ static const uint32 max_n_points=
-+ (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) /
-+ POINT_DATA_SIZE;
-+public:
- Geometry() {} /* Remove gcc warning */
- virtual ~Geometry() {} /* Remove gcc warning */
- static void *operator new(size_t size, void *buffer)
-@@ -379,10 +384,6 @@ class Gis_point: public Geometry
-
- class Gis_line_string: public Geometry
- {
-- // Maximum number of points in LineString that can fit into String
-- static const uint32 max_n_points=
-- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) /
-- POINT_DATA_SIZE;
- public:
- Gis_line_string() {} /* Remove gcc warning */
- virtual ~Gis_line_string() {} /* Remove gcc warning */
---
-1.8.1.6
-
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch
deleted file mode 100644
index c35cdfb641..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch
+++ /dev/null
@@ -1,257 +0,0 @@
-From 9f714cdd3bf4bd8ee06cd38dcd2c6e8990a4ec48 Mon Sep 17 00:00:00 2001
-From: Alexey Botchkov <holyfoot@askmonty.org>
-Date: Mon, 18 Mar 2013 17:58:00 +0400
-Subject: [PATCH] MDEV-4252 geometry query crashes server. Additional fixes
- for possible overflows in length-related calculations in 'spatial'
- implementations. Checks added to the ::get_data_size() methods.
- max_n_points decreased to occupy less 2G size. An object of that size is
- practically inoperable anyway.
-
-Upstream-Status: Backport
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
----
- mysql-test/r/gis.result | 12 +++++++++
- mysql-test/t/gis.test | 6 +++++
- sql/spatial.cc | 67 ++++++++++++++++++++++++++++++++++---------------
- sql/spatial.h | 2 +-
- 4 files changed, 66 insertions(+), 21 deletions(-)
-
-diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result
-index 69e73d0..7566f0b 100644
---- a/mysql-test/r/gis.result
-+++ b/mysql-test/r/gis.result
-@@ -1087,7 +1087,19 @@ NULL
- #
- SELECT GEOMETRYCOLLECTION((SELECT @@OLD));
- ERROR 22007: Illegal non geometric '' value found during parsing
-+#
-+# MDEV-4252 geometry query crashes server
-+#
- select astext(0x0100000000030000000100000000000010);
- astext(0x0100000000030000000100000000000010)
- NULL
-+select envelope(0x0100000000030000000100000000000010);
-+envelope(0x0100000000030000000100000000000010)
-+NULL
-+select geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1);
-+geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1)
-+NULL
-+select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1);
-+geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1)
-+NULL
- End of 5.1 tests
-diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test
-index cc5d158..c42541e 100644
---- a/mysql-test/t/gis.test
-+++ b/mysql-test/t/gis.test
-@@ -826,6 +826,12 @@ SELECT ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20)));
- --error ER_ILLEGAL_VALUE_FOR_TYPE
- SELECT GEOMETRYCOLLECTION((SELECT @@OLD));
-
-+--echo #
-+--echo # MDEV-4252 geometry query crashes server
-+--echo #
- select astext(0x0100000000030000000100000000000010);
-+select envelope(0x0100000000030000000100000000000010);
-+select geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1);
-+select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1);
-
- --echo End of 5.1 tests
-diff --git a/sql/spatial.cc b/sql/spatial.cc
-index 94d0238..5a4b768 100644
---- a/sql/spatial.cc
-+++ b/sql/spatial.cc
-@@ -394,18 +394,19 @@ const char *Geometry::append_points(String *txt, uint32 n_points,
- const char *Geometry::get_mbr_for_points(MBR *mbr, const char *data,
- uint offset) const
- {
-- uint32 points;
-+ uint32 n_points;
- /* read number of points */
- if (no_data(data, 4))
- return 0;
-- points= uint4korr(data);
-+ n_points= uint4korr(data);
- data+= 4;
-
-- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2 + offset) * points))
-+ if (n_points > max_n_points ||
-+ no_data(data, (POINT_DATA_SIZE + offset) * n_points))
- return 0;
-
- /* Calculate MBR for points */
-- while (points--)
-+ while (n_points--)
- {
- data+= offset;
- mbr->add_xy(data, data + SIZEOF_STORED_DOUBLE);
-@@ -484,9 +485,12 @@ const Geometry::Class_info *Gis_point::get_class_info() const
-
- uint32 Gis_line_string::get_data_size() const
- {
-- if (no_data(m_data, 4))
-+ uint32 n_points, size;
-+ if (no_data(m_data, 4) ||
-+ (n_points= uint4korr(m_data)) > max_n_points ||
-+ no_data(m_data, (size= 4 + n_points * POINT_DATA_SIZE)))
- return GET_SIZE_ERROR;
-- return 4 + uint4korr(m_data) * POINT_DATA_SIZE;
-+ return size;
- }
-
-
-@@ -665,6 +669,9 @@ int Gis_line_string::end_point(String *result) const
- if (no_data(m_data, 4))
- return 1;
- n_points= uint4korr(m_data);
-+ if (n_points == 0 || n_points > max_n_points ||
-+ no_data(m_data, POINT_DATA_SIZE * n_points))
-+ return 1;
- return create_point(result, m_data + 4 + (n_points - 1) * POINT_DATA_SIZE);
- }
-
-@@ -674,11 +681,14 @@ int Gis_line_string::point_n(uint32 num, String *result) const
- uint32 n_points;
- if (no_data(m_data, 4))
- return 1;
-+ num--;
- n_points= uint4korr(m_data);
-- if ((uint32) (num - 1) >= n_points) // means (num > n_points || num < 1)
-+ if (num >= n_points ||
-+ num > max_n_points || // means (num > n_points || num < 1)
-+ no_data(m_data, num * POINT_DATA_SIZE))
- return 1;
-
-- return create_point(result, m_data + 4 + (num - 1) * POINT_DATA_SIZE);
-+ return create_point(result, m_data + 4 + num*POINT_DATA_SIZE);
- }
-
- const Geometry::Class_info *Gis_line_string::get_class_info() const
-@@ -692,6 +702,7 @@ const Geometry::Class_info *Gis_line_string::get_class_info() const
- uint32 Gis_polygon::get_data_size() const
- {
- uint32 n_linear_rings;
-+ uint32 n_points;
- const char *data= m_data;
-
- if (no_data(data, 4))
-@@ -701,10 +712,13 @@ uint32 Gis_polygon::get_data_size() const
-
- while (n_linear_rings--)
- {
-- if (no_data(data, 4))
-+ if (no_data(data, 4) ||
-+ (n_points= uint4korr(data)) > max_n_points)
- return GET_SIZE_ERROR;
-- data+= 4 + uint4korr(data)*POINT_DATA_SIZE;
-+ data+= 4 + n_points*POINT_DATA_SIZE;
- }
-+ if (no_data(data, 0))
-+ return GET_SIZE_ERROR;
- return (uint32) (data - m_data);
- }
-
-@@ -1037,9 +1051,14 @@ const Geometry::Class_info *Gis_polygon::get_class_info() const
-
- uint32 Gis_multi_point::get_data_size() const
- {
-- if (no_data(m_data, 4))
-- return GET_SIZE_ERROR;
-- return 4 + uint4korr(m_data)*(POINT_DATA_SIZE + WKB_HEADER_SIZE);
-+ uint32 n_points;
-+ uint32 size;
-+
-+ if (no_data(m_data, 4) ||
-+ (n_points= uint4korr(m_data)) > max_n_points ||
-+ no_data(m_data, (size= 4 + n_points*(POINT_DATA_SIZE + WKB_HEADER_SIZE))))
-+ return GET_SIZE_ERROR;
-+ return size;
- }
-
-
-@@ -1107,7 +1126,8 @@ bool Gis_multi_point::get_data_as_wkt(String *txt, const char **end) const
- return 1;
-
- n_points= uint4korr(m_data);
-- if (no_data(m_data+4,
-+ if (n_points > max_n_points ||
-+ no_data(m_data+4,
- n_points * (SIZEOF_STORED_DOUBLE * 2 + WKB_HEADER_SIZE)) ||
- txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points))
- return 1;
-@@ -1160,6 +1180,7 @@ const Geometry::Class_info *Gis_multi_point::get_class_info() const
- uint32 Gis_multi_line_string::get_data_size() const
- {
- uint32 n_line_strings;
-+ uint32 n_points;
- const char *data= m_data;
-
- if (no_data(data, 4))
-@@ -1169,11 +1190,13 @@ uint32 Gis_multi_line_string::get_data_size() const
-
- while (n_line_strings--)
- {
-- if (no_data(data, WKB_HEADER_SIZE + 4))
-+ if (no_data(data, WKB_HEADER_SIZE + 4) ||
-+ (n_points= uint4korr(data + WKB_HEADER_SIZE)) > max_n_points)
- return GET_SIZE_ERROR;
-- data+= (WKB_HEADER_SIZE + 4 + uint4korr(data + WKB_HEADER_SIZE) *
-- POINT_DATA_SIZE);
-+ data+= (WKB_HEADER_SIZE + 4 + n_points*POINT_DATA_SIZE);
- }
-+ if (no_data(data, 0))
-+ return GET_SIZE_ERROR;
- return (uint32) (data - m_data);
- }
-
-@@ -1327,7 +1350,7 @@ int Gis_multi_line_string::geometry_n(uint32 num, String *result) const
- return 1;
- n_points= uint4korr(data + WKB_HEADER_SIZE);
- length= WKB_HEADER_SIZE + 4+ POINT_DATA_SIZE * n_points;
-- if (no_data(data, length))
-+ if (n_points > max_n_points || no_data(data, length))
- return 1;
- if (!--num)
- break;
-@@ -1407,6 +1430,7 @@ const Geometry::Class_info *Gis_multi_line_string::get_class_info() const
- uint32 Gis_multi_polygon::get_data_size() const
- {
- uint32 n_polygons;
-+ uint32 n_points;
- const char *data= m_data;
-
- if (no_data(data, 4))
-@@ -1425,11 +1449,14 @@ uint32 Gis_multi_polygon::get_data_size() const
-
- while (n_linear_rings--)
- {
-- if (no_data(data, 4))
-+ if (no_data(data, 4) ||
-+ (n_points= uint4korr(data)) > max_n_points)
- return GET_SIZE_ERROR;
-- data+= 4 + uint4korr(data) * POINT_DATA_SIZE;
-+ data+= 4 + n_points * POINT_DATA_SIZE;
- }
- }
-+ if (no_data(data, 0))
-+ return GET_SIZE_ERROR;
- return (uint32) (data - m_data);
- }
-
-diff --git a/sql/spatial.h b/sql/spatial.h
-index 7d25425..d7632c1 100644
---- a/sql/spatial.h
-+++ b/sql/spatial.h
-@@ -199,7 +199,7 @@ class Geometry
- public:
- // Maximum number of points in feature that can fit into String
- static const uint32 max_n_points=
-- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) /
-+ (uint32) (INT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) /
- POINT_DATA_SIZE;
- public:
- Geometry() {} /* Remove gcc warning */
---
-1.8.1.6
-
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch b/meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch
deleted file mode 100644
index a528ea700a..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-mariadb-native: fix link error on Ubuntu 13.10
-
-Below errors only occurs on Ubuntu 13.10:
-
-$arch-linux-libtool: link: g++ ... -o .libs/mysqltest_embedded \
- ../../libmysqld/.libs/libmysqld.so -ldl
-
- ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlopen'
- ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlclose'
- ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlerror'
- ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlsym'
-
-GCC/ld verion on the host:
- gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
- GNU ld (GNU Binutils for Ubuntu) 2.23.52.20130913
-
-This is a strange behavior on Ub13.10, it fails even '-ldl' in the
-link command line. Below fix will append '-ldl' to dependency_libs
-in libmysqld.la.
-
-Upstream-Status: Submitted [https://mariadb.atlassian.net/browse/MDEV-5362]
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-================================================
-diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am
-index 7a2c92e..eee501e 100644
---- a/libmysqld/Makefile.am
-+++ b/libmysqld/Makefile.am
-@@ -92,7 +92,7 @@ INC_LIB= $(top_builddir)/regex/libregex.la \
- @ndbcluster_libs@ @NDB_SCI_LIBS@ \
- @mysql_embedded_plugin_libs@ \
- $(libevent_inc_libs) \
-- $(yassl_inc_libs)
-+ $(yassl_inc_libs) @LIBDL@
-
- if HAVE_YASSL
- yassl_inc_libs= $(top_builddir)/extra/yassl/src/libyassl.la \
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch
new file mode 100644
index 0000000000..7516619ebb
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch
@@ -0,0 +1,161 @@
+From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001
+From: Tor Didriksen <tor.didriksen@oracle.com>
+Date: Mon, 24 Jun 2013 17:15:35 +0200
+Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18
+
+With this patch, the libmysql/ directory contains:
+libmysqlclient.a
+libmysqlclient_r.a -> libmysqlclient.a
+libmysqlclient_r.so -> libmysqlclient.so*
+libmysqlclient_r.so.18 -> libmysqlclient.so.18*
+libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0*
+libmysqlclient.so -> libmysqlclient.so.18*
+libmysqlclient.so.18 -> libmysqlclient.so.18.1.0*
+libmysqlclient.so.18.1.0*
+
+This fixes libmysqlclient_r symlinks pointing to the unversioned
+libmysqlclient.so symlink (leading to package QA errors since the
+libmysqlclient-r package ends up depending on libmysqlclient-dev).
+
+Borrowed from MySQL 5.6 tree at https://github.com/percona/mysql/
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+---
+ cmake/install_macros.cmake | 25 +++++++++++++++----------
+ cmake/mysql_version.cmake | 3 ++-
+ libmysql/CMakeLists.txt | 36 ++++++++++++++++++++++++++++--------
+ 3 files changed, 45 insertions(+), 19 deletions(-)
+
+diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
+index b8efdf8..a0d0e68 100644
+--- a/cmake/install_macros.cmake
++++ b/cmake/install_macros.cmake
+@@ -1,4 +1,4 @@
+-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -111,28 +111,33 @@ FUNCTION(INSTALL_SCRIPT)
+ ENDFUNCTION()
+
+ # Install symbolic link to CMake target.
+-# the link is created in the same directory as target
+-# and extension will be the same as for target file.
+-MACRO(INSTALL_SYMLINK linkname target destination component)
++# We do 'cd path; ln -s target_name link_name'
++# We also add an INSTALL target for "${path}/${link_name}"
++MACRO(INSTALL_SYMLINK target target_name link_name destination component)
+ IF(UNIX)
+ GET_TARGET_PROPERTY(location ${target} LOCATION)
+ GET_FILENAME_COMPONENT(path ${location} PATH)
+- GET_FILENAME_COMPONENT(name ${location} NAME)
+- SET(output ${path}/${linkname})
++ MESSAGE(STATUS "target ${target}")
++ MESSAGE(STATUS "link_name ${link_name}")
++ MESSAGE(STATUS "target_name ${target_name}")
++ MESSAGE(STATUS "path ${path}")
++ MESSAGE(STATUS "")
++
++ SET(output ${path}/${link_name})
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${output}
+ COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}
+ COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink
+- ${name}
+- ${linkname}
++ ${target_name}
++ ${link_name}
+ WORKING_DIRECTORY ${path}
+ DEPENDS ${target}
+ )
+
+- ADD_CUSTOM_TARGET(symlink_${linkname}
++ ADD_CUSTOM_TARGET(symlink_${link_name}
+ ALL
+ DEPENDS ${output})
+- SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
++ SET_TARGET_PROPERTIES(symlink_${link_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+ IF(CMAKE_GENERATOR MATCHES "Xcode")
+ # For Xcode, replace project config with install config
+ STRING(REPLACE "${CMAKE_CFG_INTDIR}"
+diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
+index be5760f..96286ff 100644
+--- a/libmysql/CMakeLists.txt
++++ b/libmysql/CMakeLists.txt
+@@ -180,6 +180,12 @@ IF(MSVC)
+ INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug)
+ ENDIF()
+
++MACRO(GET_TARGET_NAME target out_name)
++ GET_TARGET_PROPERTY(location ${target} LOCATION)
++ GET_FILENAME_COMPONENT(name ${location} NAME)
++ SET(${out_name} ${name})
++ENDMACRO()
++
+ IF(UNIX)
+ MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)
+ SET(DOT_VERSION ".${VERSION}")
+@@ -192,7 +198,13 @@ IF(UNIX)
+ SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
+ ENDIF()
+ ENDMACRO()
+- INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development)
++ENDIF()
++
++IF(UNIX)
++ GET_TARGET_NAME(mysqlclient lib_name)
++ INSTALL_SYMLINK(mysqlclient
++ ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a
++ ${INSTALL_LIBDIR} Development)
+ ENDIF()
+
+ IF(NOT DISABLE_SHARED)
+@@ -205,10 +217,9 @@ IF(NOT DISABLE_SHARED)
+ # libtool compatability
+ IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
+ SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
+- ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
+- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0")
+ ELSE()
+- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0")
++ SET(OS_SHARED_LIB_VERSION
++ "${SHARED_LIB_MAJOR_VERSION}.${SHARED_LIB_MINOR_VERSION}.0")
+ ENDIF()
+ # Name of shared library is mysqlclient on Unix
+ SET_TARGET_PROPERTIES(libmysql PROPERTIES
+@@ -239,8 +250,13 @@ IF(NOT DISABLE_SHARED)
+ "${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ ""
+ linkname)
+- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
+- SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
++ GET_TARGET_NAME(libmysql lib_name)
++ GET_FILENAME_COMPONENT(lib_name_we ${lib_name} NAME_WE)
++ INSTALL_SYMLINK(libmysql
++ ${lib_name} ${linkname}
++ ${INSTALL_LIBDIR} SharedLibraries)
++ SET(OS_SHARED_LIB_SYMLINKS
++ "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
+ LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
+ FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
+ GET_VERSIONED_LIBNAME(
+@@ -248,7 +264,11 @@ IF(NOT DISABLE_SHARED)
+ "${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ "${ver}"
+ linkname)
+- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
++ GET_VERSIONED_LIBNAME(
++ ${lib_name_we} "${CMAKE_SHARED_LIBRARY_SUFFIX}" "${ver}" lib_name_ver)
++ INSTALL_SYMLINK(libmysql
++ ${lib_name_ver} ${linkname}
++ ${INSTALL_LIBDIR} SharedLibraries)
+ ENDFOREACH()
+ ENDIF()
+ ENDIF()
+--
+2.0.3
+
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch b/meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch
deleted file mode 100644
index 4f69cd5198..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- mysql-4.1.22/configure.in.old 2008-09-18 20:11:15.000000000 -0500
-+++ mysql-4.1.22/configure.in 2008-09-18 20:12:28.000000000 -0500
-@@ -456,9 +456,9 @@ else
- fi
- fi
-
--AC_SUBST(HOSTNAME)
--AC_SUBST(PERL)
--AC_SUBST(PERL5)
-+AC_SUBST(HOSTNAME,/bin/hostname)
-+AC_SUBST(PERL,$(bindir)/perl)
-+AC_SUBST(PERL5,$(bindir)/perl)
-
- # for build ndb docs
-
-@@ -516,16 +516,17 @@ AC_MSG_RESULT("$FIND_PROC")
-
- # Check if a pid is valid
- AC_PATH_PROG(KILL, kill, kill)
-+AC_SUBST(KILL,/bin/kill)
- AC_MSG_CHECKING("for kill switches")
--if $ac_cv_path_KILL -0 $$
-+if $KILL -0 $$
- then
-- CHECK_PID="$ac_cv_path_KILL -0 \$\$PID > /dev/null 2> /dev/null"
-+ CHECK_PID="$KILL -0 \$\$PID > /dev/null 2> /dev/null"
- elif kill -s 0 $$
- then
-- CHECK_PID="$ac_cv_path_KILL -s 0 \$\$PID > /dev/null 2> /dev/null"
-+ CHECK_PID="$KILL -s 0 \$\$PID > /dev/null 2> /dev/null"
- else
- AC_MSG_WARN([kill -0 to check for pid seems to fail])
-- CHECK_PID="$ac_cv_path_KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null"
-+ CHECK_PID="$KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null"
- fi
- AC_SUBST(CHECK_PID)
- AC_MSG_RESULT("$CHECK_PID")
diff --git a/meta-oe/recipes-support/mysql/mariadb/misc.m4.patch b/meta-oe/recipes-support/mysql/mariadb/misc.m4.patch
deleted file mode 100644
index 7b0acff21c..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/misc.m4.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: mysql-5.1.40/config/ac-macros/misc.m4
-===================================================================
---- mysql-5.1.40.orig/config/ac-macros/misc.m4
-+++ mysql-5.1.40/config/ac-macros/misc.m4
-@@ -476,7 +476,7 @@ AC_DEFUN([MYSQL_STACK_DIRECTION],
- {
- exit (find_stack_direction() < 0);
- }], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1,
-- ac_cv_c_stack_direction=)])
-+ ac_cv_c_stack_direction=0)])
- AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
- ])dnl
-
diff --git a/meta-oe/recipes-support/mysql/mariadb/my.cnf b/meta-oe/recipes-support/mysql/mariadb/my.cnf
index d17438122d..876ce366a6 100644
--- a/meta-oe/recipes-support/mysql/mariadb/my.cnf
+++ b/meta-oe/recipes-support/mysql/mariadb/my.cnf
@@ -1,7 +1,7 @@
[client]
#password = password
port = 3306
-socket = /tmp/mysql.sock
+socket = /var/lib/mysql/mysql.sock
[mysqld_safe]
err-log = /var/log/mysql.err
@@ -9,7 +9,7 @@ err-log = /var/log/mysql.err
[mysqld]
user = mysql
port = 3306
-socket = /tmp/mysql.sock
+socket = /var/lib/mysql/mysql.sock
pid-file = /var/lib/mysql/mysqld.pid
log-error = /var/log/mysqld.err
basedir = /usr
@@ -17,5 +17,10 @@ datadir = /var/mysql
skip-external-locking
skip-networking
ignore-builtin-innodb
+default-storage-engine = myisam
bind-address = localhost
+#
+# include all files from the config directory
+#
+!includedir /etc/my.cnf.d
diff --git a/meta-oe/recipes-support/mysql/mariadb/mysqld.service b/meta-oe/recipes-support/mysql/mariadb/mysqld.service
new file mode 100644
index 0000000000..18ad8d54d7
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/mysqld.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=MariaDB database server
+After=syslog.target
+After=network.target
+
+[Service]
+Type=simple
+User=mysql
+Group=mysql
+ExecStart=@BINDIR@/mysqld_safe --basedir=@PREFIX@
+TimeoutSec=300
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-support/mysql/mariadb/mysqld.sh b/meta-oe/recipes-support/mysql/mariadb/mysqld.sh
deleted file mode 100644
index 479ebdb257..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/mysqld.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-# MySQL init script
-
-. /etc/default/rcS
-
-case "$1" in
- start)
- /usr/bin/mysqld_safe &
- ;;
- stop)
- if test -f /var/lib/mysql/mysqld.pid ; then
- PID=`cat /var/lib/mysql/mysqld.pid`
- kill $PID
- fi
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "Usage: /etc/init.d/mysqld {start|stop|restart}"
- ;;
-esac
-
-exit 0
diff --git a/meta-oe/recipes-support/mysql/mariadb/plug.in.patch b/meta-oe/recipes-support/mysql/mariadb/plug.in.patch
deleted file mode 100644
index 156fd10823..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/plug.in.patch
+++ /dev/null
@@ -1,405 +0,0 @@
-diff --git a/storage/innodb_plugin/plug.in b/storage/innodb_plugin/plug.in
-index 7650251..3cc22c5 100644
---- a/storage/innodb_plugin/plug.in
-+++ b/storage/innodb_plugin/plug.in
-@@ -56,180 +56,10 @@ MYSQL_PLUGIN_ACTIONS(innodb_plugin, [
- esac
- AC_SUBST(INNODB_DYNAMIC_CFLAGS)
-
-- AC_MSG_CHECKING(whether GCC atomic builtins are available)
-- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
-- AC_TRY_RUN(
-- [
-- int main()
-- {
-- long x;
-- long y;
-- long res;
-- char c;
--
-- x = 10;
-- y = 123;
-- res = __sync_bool_compare_and_swap(&x, x, y);
-- if (!res || x != y) {
-- return(1);
-- }
--
-- x = 10;
-- y = 123;
-- res = __sync_bool_compare_and_swap(&x, x + 1, y);
-- if (res || x != 10) {
-- return(1);
-- }
--
-- x = 10;
-- y = 123;
-- res = __sync_add_and_fetch(&x, y);
-- if (res != 123 + 10 || x != 123 + 10) {
-- return(1);
-- }
--
-- c = 10;
-- res = __sync_lock_test_and_set(&c, 123);
-- if (res != 10 || c != 123) {
-- return(1);
-- }
--
-- return(0);
-- }
-- ],
-- [
-- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
-- [GCC atomic builtins are available])
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ]
-- )
--
-- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins)
-- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
-- AC_TRY_RUN(
-- [
-- #include <pthread.h>
-- #include <string.h>
--
-- int main(int argc, char** argv) {
-- pthread_t x1;
-- pthread_t x2;
-- pthread_t x3;
--
-- memset(&x1, 0x0, sizeof(x1));
-- memset(&x2, 0x0, sizeof(x2));
-- memset(&x3, 0x0, sizeof(x3));
--
-- __sync_bool_compare_and_swap(&x1, x2, x3);
--
-- return(0);
-- }
-- ],
-- [
-- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
-- [pthread_t can be used by GCC atomic builtins])
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ]
-- )
--
-- AC_MSG_CHECKING(whether Solaris libc atomic functions are available)
-- # Define HAVE_IB_SOLARIS_ATOMICS if _all_ of the following
-- # functions are present.
-- AC_CHECK_FUNCS(atomic_add_long_nv \
-- atomic_cas_32 \
-- atomic_cas_64 \
-- atomic_cas_ulong \
-- atomic_swap_uchar)
--
-- if test "${ac_cv_func_atomic_add_long_nv}" = "yes" -a \
-- "${ac_cv_func_atomic_cas_32}" = "yes" -a \
-- "${ac_cv_func_atomic_cas_64}" = "yes" -a \
-- "${ac_cv_func_atomic_cas_ulong}" = "yes" -a \
-- "${ac_cv_func_atomic_swap_uchar}" = "yes" ; then
--
-- AC_DEFINE([HAVE_IB_SOLARIS_ATOMICS], [1],
-- [Define to 1 if Solaris libc atomic functions are available]
-- )
-- fi
--
-- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions)
-- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
-- AC_TRY_RUN(
-- [
-- #include <pthread.h>
-- #include <string.h>
--
-- int main(int argc, char** argv) {
-- pthread_t x1;
-- pthread_t x2;
-- pthread_t x3;
--
-- memset(&x1, 0x0, sizeof(x1));
-- memset(&x2, 0x0, sizeof(x2));
-- memset(&x3, 0x0, sizeof(x3));
--
-- if (sizeof(pthread_t) == 4) {
--
-- atomic_cas_32(&x1, x2, x3);
--
-- } else if (sizeof(pthread_t) == 8) {
--
-- atomic_cas_64(&x1, x2, x3);
--
-- } else {
--
-- return(1);
-- }
--
-- return(0);
-- }
-- ],
-- [
-- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
-- [pthread_t can be used by solaris atomics])
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ]
-- )
--
- # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
- # to use in the source
- AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>])
-
-- # Check for x86 PAUSE instruction
-- AC_MSG_CHECKING(for x86 PAUSE instruction)
-- # We have to actually try running the test program, because of a bug
-- # in Solaris on x86_64, where it wrongly reports that PAUSE is not
-- # supported when trying to run an application. See
-- # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684
-- # We use ib_ prefix to avoid collisoins if this code is added to
-- # mysql's configure.in.
-- AC_TRY_RUN(
-- [
-- int main() {
-- __asm__ __volatile__ ("pause");
-- return(0);
-- }
-- ],
-- [
-- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ]
-- )
- ])
-
- # vim: set ft=config:
-diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in
-index 3fadacc..a33f4dc 100644
---- a/storage/xtradb/plug.in
-+++ b/storage/xtradb/plug.in
-@@ -56,215 +56,10 @@ MYSQL_PLUGIN_ACTIONS(xtradb, [
- esac
- AC_SUBST(INNODB_DYNAMIC_CFLAGS)
-
-- AC_MSG_CHECKING(whether GCC atomic builtins are available)
-- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
-- AC_TRY_RUN(
-- [
-- int main()
-- {
-- long x;
-- long y;
-- long res;
-- char c;
--
-- x = 10;
-- y = 123;
-- res = __sync_bool_compare_and_swap(&x, x, y);
-- if (!res || x != y) {
-- return(1);
-- }
--
-- x = 10;
-- y = 123;
-- res = __sync_bool_compare_and_swap(&x, x + 1, y);
-- if (res || x != 10) {
-- return(1);
-- }
--
-- x = 10;
-- y = 123;
-- res = __sync_add_and_fetch(&x, y);
-- if (res != 123 + 10 || x != 123 + 10) {
-- return(1);
-- }
--
-- c = 10;
-- res = __sync_lock_test_and_set(&c, 123);
-- if (res != 10 || c != 123) {
-- return(1);
-- }
-- return(0);
-- }
-- ],
-- [
-- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
-- [GCC atomic builtins are available])
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ]
-- )
--
-- AC_MSG_CHECKING(whether GCC 64-bit atomic builtins are available)
-- # either define HAVE_IB_GCC_ATOMIC_BUILTINS_64 or not
-- AC_TRY_RUN(
-- [
-- #include <stdint.h>
-- int main()
-- {
-- int64_t x, y, res;
--
-- x = 10;
-- y = 123;
-- res = __sync_bool_compare_and_swap(&x, x, y);
-- if (!res || x != y) {
-- return(1);
-- }
--
-- x = 10;
-- y = 123;
-- res = __sync_add_and_fetch(&x, y);
-- if (res != 123 + 10 || x != 123 + 10) {
-- return(1);
-- }
--
-- return(0);
-- }
-- ],
-- [
-- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS_64], [1],
-- [GCC 64-bit atomic builtins are available])
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ]
-- )
--
-- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins)
-- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
-- AC_TRY_RUN(
-- [
-- #include <pthread.h>
-- #include <string.h>
--
-- int main(int argc, char** argv) {
-- pthread_t x1;
-- pthread_t x2;
-- pthread_t x3;
--
-- memset(&x1, 0x0, sizeof(x1));
-- memset(&x2, 0x0, sizeof(x2));
-- memset(&x3, 0x0, sizeof(x3));
--
-- __sync_bool_compare_and_swap(&x1, x2, x3);
--
-- return(0);
-- }
-- ],
-- [
-- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
-- [pthread_t can be used by GCC atomic builtins])
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ]
-- )
--
-- AC_MSG_CHECKING(whether Solaris libc atomic functions are available)
-- # Define HAVE_IB_SOLARIS_ATOMICS if _all_ of the following
-- # functions are present.
-- AC_CHECK_FUNCS(atomic_add_long_nv \
-- atomic_cas_32 \
-- atomic_cas_64 \
-- atomic_cas_ulong \
-- atomic_swap_uchar)
--
-- if test "${ac_cv_func_atomic_add_long_nv}" = "yes" -a \
-- "${ac_cv_func_atomic_cas_32}" = "yes" -a \
-- "${ac_cv_func_atomic_cas_64}" = "yes" -a \
-- "${ac_cv_func_atomic_cas_ulong}" = "yes" -a \
-- "${ac_cv_func_atomic_swap_uchar}" = "yes" ; then
--
-- AC_DEFINE([HAVE_IB_SOLARIS_ATOMICS], [1],
-- [Define to 1 if Solaris libc atomic functions are available]
-- )
-- fi
--
-- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions)
-- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
-- AC_TRY_RUN(
-- [
-- #include <pthread.h>
-- #include <string.h>
--
-- int main(int argc, char** argv) {
-- pthread_t x1;
-- pthread_t x2;
-- pthread_t x3;
--
-- memset(&x1, 0x0, sizeof(x1));
-- memset(&x2, 0x0, sizeof(x2));
-- memset(&x3, 0x0, sizeof(x3));
--
-- if (sizeof(pthread_t) == 4) {
--
-- atomic_cas_32(&x1, x2, x3);
--
-- } else if (sizeof(pthread_t) == 8) {
--
-- atomic_cas_64(&x1, x2, x3);
--
-- } else {
--
-- return(1);
-- }
--
-- return(0);
-- }
-- ],
-- [
-- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
-- [pthread_t can be used by solaris atomics])
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ]
-- )
--
- # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
- # to use in the source
- AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>])
-
-- # Check for x86 PAUSE instruction
-- AC_MSG_CHECKING(for x86 PAUSE instruction)
-- # We have to actually try running the test program, because of a bug
-- # in Solaris on x86_64, where it wrongly reports that PAUSE is not
-- # supported when trying to run an application. See
-- # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684
-- # We use ib_ prefix to avoid collisoins if this code is added to
-- # mysql's configure.in.
-- AC_TRY_RUN(
-- [
-- int main() {
-- __asm__ __volatile__ ("pause");
-- return(0);
-- }
-- ],
-- [
-- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- ]
-- )
- ])
-
- # vim: set ft=config:
diff --git a/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch
new file mode 100644
index 0000000000..ff26b0b86c
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch
@@ -0,0 +1,18 @@
+Remove host path from include directories
+
+Naturally this breaks cross-compilation if present.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+--- mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:37:04.529327998 +0100
++++ mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:43:56.991337895 +0100
+@@ -39,7 +39,6 @@
+
+ ## default includes and libraries
+ include_directories(SYSTEM
+- /usr/local/include
+ ${ZLIB_INCLUDE_DIRS}
+ )
+
diff --git a/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch b/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch
deleted file mode 100644
index 0530cd92ff..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-storage: forbids absolute addresses on IA-32
-
-The shared lib has relocations in .text
-...
-WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_xtradb.so.0.0.0' has relocations in .text
-WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_innodb_plugin.so.0.0.0' has relocations in .text
-...
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- storage/innodb_plugin/plug.in | 2 +-
- storage/xtradb/plug.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/storage/innodb_plugin/plug.in b/storage/innodb_plugin/plug.in
---- a/storage/innodb_plugin/plug.in
-+++ b/storage/innodb_plugin/plug.in
-@@ -50,7 +50,7 @@ MYSQL_PLUGIN_ACTIONS(innodb_plugin, [
- ;;
- *86)
- # Use absolute addresses on IA-32
-- INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
-+ # INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
- ;;
- esac
- AC_SUBST(INNODB_DYNAMIC_CFLAGS)
-diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in
-index a33f4dc..4c186fd 100644
---- a/storage/xtradb/plug.in
-+++ b/storage/xtradb/plug.in
-@@ -51,7 +51,7 @@ MYSQL_PLUGIN_ACTIONS(xtradb, [
- ;;
- *86)
- # Use absolute addresses on IA-32
-- INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
-+ # INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
- ;;
- esac
- AC_SUBST(INNODB_DYNAMIC_CFLAGS)
---
-1.7.9.5
-
diff --git a/meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch b/meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch
deleted file mode 100644
index 880c2a717a..0000000000
--- a/meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-zlib: let lib dir configurable
-
-The zlib were found in $mysql_zlib_dir/lib, and the
-search will fail if zlib in $mysql_zlib_dir/lib64.
-
-Let lib dir configurable rather than hardcode.
-
-Upstream-Status: Pending
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- config/ac-macros/zlib.m4 | 12 ++++++------
- configure.in | 8 ++++++++
- 2 files changed, 14 insertions(+), 6 deletions(-)
-
-diff --git a/config/ac-macros/zlib.m4 b/config/ac-macros/zlib.m4
---- a/config/ac-macros/zlib.m4
-+++ b/config/ac-macros/zlib.m4
-@@ -106,17 +106,17 @@ case $SYSTEM_TYPE in
- ;;
- *)
- # Test for libz using all known library file endings
-- if test \( -f "$mysql_zlib_dir/lib/libz.a" -o \
-- -f "$mysql_zlib_dir/lib/libz.so" -o \
-- -f "$mysql_zlib_dir/lib/libz.sl" -o \
-- -f "$mysql_zlib_dir/lib/libz.dylib" \) \
-+ if test \( -f "$mysql_zlib_dir/$base_libdir/libz.a" -o \
-+ -f "$mysql_zlib_dir/$base_libdir/libz.so" -o \
-+ -f "$mysql_zlib_dir/$base_libdir/libz.sl" -o \
-+ -f "$mysql_zlib_dir/$base_libdir/libz.dylib" \) \
- -a -f "$mysql_zlib_dir/include/zlib.h"; then
- ZLIB_INCLUDES="-I$mysql_zlib_dir/include"
-- ZLIB_LIBS="-L$mysql_zlib_dir/lib -lz"
-+ ZLIB_LIBS="-L$mysql_zlib_dir/$base_libdir -lz"
- MYSQL_CHECK_ZLIB_DIR
- fi
- if test "x$mysql_cv_compress" != "xyes"; then
-- AC_MSG_ERROR([headers or binaries were not found in $mysql_zlib_dir/{include,lib}])
-+ AC_MSG_ERROR([headers or binaries were not found in $mysql_zlib_dir/{include,$base_libdir}])
- fi
- ;;
- esac
-diff --git a/configure.in b/configure.in
-index 2c6c08e..193b59a 100644
---- a/configure.in
-+++ b/configure.in
-@@ -104,6 +104,14 @@ AC_SUBST(SHARED_LIB_MAJOR_VERSION)
- AC_SUBST(SHARED_LIB_VERSION)
- AC_SUBST(AVAILABLE_LANGUAGES)
-
-+AC_ARG_WITH([baselib-dir],
-+ AC_HELP_STRING([--baselib-dir=DIR],
-+ [Provide MySQL with a custom location of
-+ baselib dir. Given DIR, such as zlib binary is
-+ assumed to be in $zlib-dir/$DIR.]),
-+ [base_libdir=${withval}],
-+ [base_libdir="lib"])
-+
- # Check whether a debug mode should be enabled.
- AC_ARG_WITH([debug],
- AS_HELP_STRING([--with-debug@<:@=full@:>@],
---
-1.8.1.2
-
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.1.67.bb b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb
index 6ad1fe68aa..8f998a3a56 100644
--- a/meta-oe/recipes-support/mysql/mariadb_5.1.67.bb
+++ b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb
@@ -1,6 +1,8 @@
-require ${PN}_${PV}.inc
+require mariadb.inc
-DEPENDS += "mariadb-native ncurses zlib"
+EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
+
+DEPENDS += "mariadb-native ncurses zlib readline libaio libevent"
PROVIDES += "mysql5"
@@ -23,4 +25,3 @@ RCONFLICTS_${PN}-client += "mysql5-client"
RPROVIDES_${PN}-server += "mysql5-server"
RREPLACES_${PN}-server += "mysql5-server"
RCONFLICTS_${PN}-server += "mysql5-server"
-
diff --git a/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb b/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb
index 5da4561680..feb3c3c25d 100644
--- a/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb
+++ b/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb
@@ -3,7 +3,7 @@ SECTION = "libs"
LICENSE = "GPLv2"
# single precision fftw is called fftwf
-DEPENDS = "fftwf"
+DEPENDS = "virtual/fftw"
SRC_URI = "http://www.fftw.org/benchfft/benchfft-${PV}.tar.gz"
diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/files/initscript b/meta-oe/recipes-support/nonworking/syslog-ng/files/initscript
deleted file mode 100644
index b95e8adc20..0000000000
--- a/meta-oe/recipes-support/nonworking/syslog-ng/files/initscript
+++ /dev/null
@@ -1,45 +0,0 @@
-#! /bin/sh
-#
-# This is an init script for openembedded
-# Copy it to /etc/init.d/syslog-ng and type
-# > update-rc.d syslog-ng defaults 5
-#
-
-
-syslog_ng=/usr/sbin/syslog-ng
-test -x "$syslog_ng" || exit 0
-
-case "$1" in
- start)
- echo -n "Starting syslog-ng:"
- start-stop-daemon --start --quiet --exec $syslog_ng
- echo "."
- ;;
- stop)
- echo -n "Stopping syslog-ng:"
- start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid
- echo "."
- ;;
- reload|force-reload)
- start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng
- ;;
- restart)
- echo "Stopping syslog-ng:"
- start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid
- echo -n "Waiting for syslog-ng to die off"
- for i in 1 2 3 ;
- do
- sleep 1
- echo -n "."
- done
- echo ""
- echo -n "Starting syslog-ng:"
- start-stop-daemon --start --quiet --exec $syslog_ng
- echo "."
- ;;
- *)
- echo "Usage: /etc/init.d/syslog-ng {start|stop|reload|restart|force-reload}"
- exit 1
-esac
-
-exit 0
diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc
deleted file mode 100644
index 84846587b0..0000000000
--- a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc
+++ /dev/null
@@ -1,98 +0,0 @@
-DESCRIPTION = "Alternative system logger daemon"
-DEPENDS = "libol flex eventlog glib-2.0"
-LICENSE = "GPL LGPL"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7ec1bcc46f28b11f4722e20d9b7dd4d5"
-
-# syslog initscript is handled explicitly because order of
-# update-rc.d and update-alternatives is important
-RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}"
-
-INC_PR = "r12"
-
-inherit autotools systemd
-
-SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source/${PN}_${PV}.tar.gz"
-
-noipv6 = "${@base_contains('DISTRO_FEATURES', 'ipv6', '', '--disable-ipv6', d)}"
-
-EXTRA_OECONF = " \
- --with-libnet=${STAGING_BINDIR_CROSS} \
- --enable-dynamic-linking \
- ${noipv6} \
- --enable-ssl \
- --disable-sub-streams \
- --disable-pacct \
- --disable-linux-caps \
- --disable-pcre \
- --disable-sql \
-"
-
-EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--enable-systemd', '--disable-systemd', d)}"
-
-do_configure_prepend() {
- eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "s/-D_LARGEFILE_SOURCE//" -e "s/-D_FILE_OFFSET_BITS=64//" ${S}/configure.in', d)}"
-}
-
-# rename modules.conf because it breaks update-modules
-# see http://lists.linuxtogo.org/pipermail/openembedded-devel/2011-October/035537.html
-do_install_append() {
- mv ${D}/${sysconfdir}/modules.conf ${D}/${sysconfdir}/scl-modules.conf
- sed -i "s#@include 'modules.conf'#@include 'scl-modules.conf'#g" ${D}/${sysconfdir}/scl.conf
- install -d ${D}/${sysconfdir}/${PN}
- install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${PN}.conf
- install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog.${PN}
-}
-
-FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
- ${sysconfdir} ${sharedstatedir} ${localstatedir} \
- ${base_bindir}/* ${base_sbindir}/* \
- ${base_libdir}/*${SOLIBS} \
- ${datadir}/${BPN} ${libdir}/${BPN}/*${SOLIBS} \
- ${datadir}/include/scl/ ${datadir}/xsd"
-FILES_${PN}-dev += "${libdir}/${BPN}/lib*.la ${libdir}/${BPN}/*${SOLIBSDEV}"
-CONFFILES_${PN} = "${sysconfdir}/${PN}.conf ${sysconfdir}/scl.conf ${sysconfdir}/scl-modules.conf"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${PN}.service"
-
-pkg_postinst_${PN} () {
- /etc/init.d/syslog stop
- update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 200
-
- if test "x$D" != "x"; then
- OPT="-r $D"
- else
- OPT="-s"
- fi
- # remove all rc.d-links potentially created from alternative
- # syslog packages before creating new ones
- update-rc.d $OPT -f syslog remove
- update-rc.d $OPT syslog start 20 2 3 4 5 . stop 90 0 1 6 .
-}
-
-pkg_prerm_${PN} () {
- if test "x$D" = "x"; then
- if test "$1" = "upgrade" -o "$1" = "remove"; then
- /etc/init.d/syslog stop
- fi
- fi
-
- update-alternatives --remove syslog-init syslog.${PN}
-}
-
-pkg_postrm_${PN} () {
- if test "x$D" != "x"; then
- OPT="-r $D"
- else
- OPT=""
- fi
- if test "$1" = "remove" -o "$1" = "purge"; then
- if ! test -e "/etc/init.d/syslog"; then
- update-rc.d $OPT syslog remove
- fi
- fi
-}
diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb b/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb
deleted file mode 100644
index 6d1fee7ae2..0000000000
--- a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require syslog-ng.inc
-PR = "${INC_PR}.1"
-
-SRC_URI += " \
- file://syslog-ng.conf \
- file://initscript \
-"
-
-SRC_URI[md5sum] = "60737452ce898f9dc7170dfdc9bfd732"
-SRC_URI[sha256sum] = "ffc9f3a0ebea836c1c737b1ff49efe731d885af1d8aacf9eca79d9144eeefa89"
diff --git a/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch b/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch
new file mode 100644
index 0000000000..8c309a4b5c
--- /dev/null
+++ b/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch
@@ -0,0 +1,59 @@
+[PATCH] Fix the test output format
+
+Upstream-Status: Pending
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ test/regress | 6 +++---
+ test/regress2 | 9 ++++-----
+ 2 files changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/test/regress b/test/regress
+index 05eff5b..10d72f7 100755
+--- a/test/regress
++++ b/test/regress
+@@ -73,6 +73,7 @@ probe_hardware()
+ if [ $numnodes -lt 2 ] ; then
+ echo "need at least two nodes with at least $NEEDPAGES each of"
+ echo "free memory for mempolicy regression tests"
++ echo "FAIL: numa regress"
+ exit 1
+ fi
+ }
+@@ -206,10 +207,9 @@ main()
+ rm A B
+
+ if [ "$EXIT" = 0 ] ; then
+- echo '========SUCCESS'
++ echo 'PASS: numactl regress'
+ else
+- echo '========FAILURE'
+- exit 1
++ echo 'FAIL: numactl regress'
+ fi
+ }
+
+diff --git a/test/regress2 b/test/regress2
+index 6a254fa..9c97943 100755
+--- a/test/regress2
++++ b/test/regress2
+@@ -6,12 +6,11 @@ VALGRIND=${VALGRIND:-}
+ export LD_LIBRARY_PATH=`pwd`/..
+
+ T() {
+- echo "$@"
+- if ! $VALGRIND "$@" ; then
+- echo $1 FAILED!!!!
+- exit 1
++ if ! $VALGRIND "$@" 2>&1 1>/dev/null; then
++ echo "FAIL: $1"
++ else
++ echo "PASS: $1"
+ fi
+- echo
+ }
+
+ # various tests
+--
+1.7.10.4
+
diff --git a/meta-oe/recipes-support/numactl/numactl/Makefile b/meta-oe/recipes-support/numactl/numactl/Makefile
new file mode 100644
index 0000000000..9a5134c3f2
--- /dev/null
+++ b/meta-oe/recipes-support/numactl/numactl/Makefile
@@ -0,0 +1,7 @@
+.PHONY: regress1 regress2
+
+regress1:
+ cd test ; ./regress
+
+regress2:
+ cd test ; ./regress2
diff --git a/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch b/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch
new file mode 100644
index 0000000000..53952aef95
--- /dev/null
+++ b/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch
@@ -0,0 +1,28 @@
+[PATCH] return 0 if distance_table is NULL
+
+Upstream-Status: Pending
+
+read_distance_table() maybe return 0, but distance_table is not set,
+if distance_table is used, and will lead to SEGFAULT
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ distance.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/distance.c b/distance.c
+index 4a26972..c6ca021 100755
+--- a/distance.c
++++ b/distance.c
+@@ -113,6 +113,8 @@ int numa_distance(int a, int b)
+ int err = read_distance_table();
+ if (err < 0)
+ return 0;
++ if (!distance_table)
++ return 0;
+ }
+ return distance_table[a * distance_numnodes + b];
+ }
+--
+1.7.10.4
+
diff --git a/meta-oe/recipes-support/numactl/numactl/run-ptest b/meta-oe/recipes-support/numactl/numactl/run-ptest
new file mode 100755
index 0000000000..215f7c25b9
--- /dev/null
+++ b/meta-oe/recipes-support/numactl/numactl/run-ptest
@@ -0,0 +1,9 @@
+#!/bin/sh
+make regress1
+make regress2
+if numademo -t -e 10M; then
+ echo "PASS: numademo"
+else
+ echo "FAIL: numademo"
+fi
+
diff --git a/meta-oe/recipes-support/numactl/numactl_2.0.9.bb b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb
new file mode 100644
index 0000000000..651277dab4
--- /dev/null
+++ b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Development package for building Applications that use numa"
+DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \
+to run other programs with a specific NUMA policy and a libnuma to do \
+allocations with NUMA policy in applications."
+LICENSE = "GPL-2.0 & LGPL-2.1"
+SECTION = "apps"
+RDEPENDS_${PN} = "perl"
+
+inherit autotools-brokensep ptest
+
+LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9"
+SRC_URI[md5sum] = "136685c8eaf9d6569c351fe1d453b30c"
+SRC_URI[sha256sum] = "9ca033e6c14c0f26c20379b0cf9299429fd5a354a79c3c7880fd41ef69f7751c"
+
+SRC_URI = "ftp://oss.sgi.com/www/projects/libnuma/download/${BPN}-${PV}.tar.gz \
+ file://fix-null-pointer.patch \
+ file://Fix-the-test-output-format.patch \
+ file://Makefile \
+ file://run-ptest \
+ "
+
+# ARM does not currently support NUMA
+COMPATIBLE_HOST = "^((?!arm).*)$"
+
+do_install() {
+ oe_runmake DESTDIR=${D} prefix=${D}/usr libdir=${D}/${libdir} install
+ #remove the empty man2 directory
+ rm -r ${D}${mandir}/man2
+}
+
+do_install_ptest() {
+ #install tests binaries
+ local test_binaries="checkaffinity checktopology distance \
+ ftok mbind_mig_pages migrate_pages move_pages mynode \
+ nodemap pagesize prefered printcpu randmap realloc_test \
+ regress regress2 runltp shmtest tbitmap tshared bind_range"
+
+ [ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test
+ for i in $test_binaries; do
+ install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test
+ done
+ install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/
+ install -m 0755 ${B}/numactl ${D}${PTEST_PATH}/
+}
diff --git a/meta-oe/recipes-support/ode/ode/configure.patch b/meta-oe/recipes-support/ode/ode/configure.patch
new file mode 100644
index 0000000000..246b2e2c27
--- /dev/null
+++ b/meta-oe/recipes-support/ode/ode/configure.patch
@@ -0,0 +1,13 @@
+Index: ode-0.13/libccd/configure.ac
+===================================================================
+--- ode-0.13.orig/libccd/configure.ac 2013-08-19 17:48:03.000000000 +0000
++++ ode-0.13/libccd/configure.ac 2014-07-17 22:04:16.580595690 +0000
+@@ -5,7 +5,7 @@
+ AC_INIT([libccd], [1.0], [danfis@danfis.cz])
+ AC_CONFIG_SRCDIR([src/ccd.c])
+ AC_CONFIG_HEADERS([src/config.h])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+
+ # Checks for programs.
+ AC_PROG_CXX
diff --git a/meta-oe/recipes-support/ode/ode_0.13.bb b/meta-oe/recipes-support/ode/ode_0.13.bb
index 8e9eb153c2..2dc82a8e1b 100644
--- a/meta-oe/recipes-support/ode/ode_0.13.bb
+++ b/meta-oe/recipes-support/ode/ode_0.13.bb
@@ -11,7 +11,8 @@ LIC_FILES_CHKSUM = " \
# file://LICENSE-BSD.TXT;md5=c74e6304a772117e059458fb9763a928
-SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2"
+SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2 \
+ file://configure.patch"
SRC_URI[md5sum] = "04b32c9645c147e18caff7a597a19f84"
SRC_URI[sha256sum] = "34ce3e236e313bf109a0cb5546d2fca462aed99f29a42e62bc1463b803c31ef9"
diff --git a/meta-oe/recipes-support/onig/files/configure.patch b/meta-oe/recipes-support/onig/files/configure.patch
new file mode 100644
index 0000000000..5fa700f190
--- /dev/null
+++ b/meta-oe/recipes-support/onig/files/configure.patch
@@ -0,0 +1,13 @@
+Index: onig-5.9.3/configure.in
+===================================================================
+--- onig-5.9.3.orig/configure.in 2012-10-26 07:06:14.000000000 +0000
++++ onig-5.9.3/configure.in 2014-07-18 08:02:52.701574484 +0000
+@@ -3,7 +3,7 @@
+
+ AC_CONFIG_MACRO_DIR([m4])
+
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_HEADER(config.h)
+
+
diff --git a/meta-oe/recipes-support/onig/onig_5.9.3.bb b/meta-oe/recipes-support/onig/onig_5.9.3.bb
index f67ceede67..22db78afe7 100644
--- a/meta-oe/recipes-support/onig/onig_5.9.3.bb
+++ b/meta-oe/recipes-support/onig/onig_5.9.3.bb
@@ -6,7 +6,8 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=0d4861b5bc0c392a5aa90d9d76ebd86f"
SRC_URI = "http://www.geocities.jp/kosako3/oniguruma/archive/onig-${PV}.tar.gz \
- file://do-not-use-system-headers.patch"
+ file://do-not-use-system-headers.patch \
+ file://configure.patch"
SRC_URI[md5sum] = "0d4eda2066d3c92970842a6790ce897a"
SRC_URI[sha256sum] = "c3bba66b2a84760e6582c40881db97c839d94f327870009724bb8b4d0c051f2a"
diff --git a/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch b/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch
new file mode 100644
index 0000000000..745f923af1
--- /dev/null
+++ b/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch
@@ -0,0 +1,31 @@
+From e0d3e0bb1e38ff851696a7d8826e651d364ad8ce Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Fri, 5 Dec 2014 02:00:57 +0900
+Subject: [PATCH 1/2] etc/openct.udev.in: disablePROGRAM
+
+Bug fix: https://bugzilla.redhat.com/show_bug.cgi?id=287871
+
+Upstream-status: Pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ etc/openct.udev.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/etc/openct.udev.in b/etc/openct.udev.in
+index d11d0e1..48083c9 100644
+--- a/etc/openct.udev.in
++++ b/etc/openct.udev.in
+@@ -22,7 +22,8 @@ ACTION!="add", GOTO="openct_usb_rules_end"
+ # 2010-01-06 removed, as latest udev doesn't know WAIT_FOR_ATTR any more.
+
+ # sleep for 100ms - the wait_for_sysfs might not be enough
+-PROGRAM="/bin/sleep 0.1"
++# Disabled in this package - see https://bugzilla.redhat.com/287871
++# PROGRAM="/bin/sleep 0.1"
+
+ # ccid
+ ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*" RUN+="@udevdir@/openct_usb /dev/$parent"
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch b/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch
new file mode 100644
index 0000000000..d5e3fe5753
--- /dev/null
+++ b/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch
@@ -0,0 +1,35 @@
+From d93985a137b553b2723235d03bda341dab14064f Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Fri, 5 Dec 2014 02:04:03 +0900
+Subject: [PATCH 2/2] etc/openct_usb.in: modify UDEVINFO
+
+this patch is from Fedora
+
+Upstream-status: Pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ etc/openct_usb.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/etc/openct_usb.in b/etc/openct_usb.in
+index 32f91aa..917467d 100644
+--- a/etc/openct_usb.in
++++ b/etc/openct_usb.in
+@@ -15,10 +15,10 @@ if [ -z "$DEVNAME" ]; then
+ # Guess udev info interface.
+ # Newer udev uses udevadm
+ #
+- if which udevinfo > /dev/null 2>&1; then
+- UDEVINFO="udevinfo"
+- else
++ if which udevadm > /dev/null 2>&1; then
+ UDEVINFO="udevadm info"
++ else
++ UDEVINFO="udevinfo"
+ fi
+ DEVNAME=/dev/$($UDEVINFO --query=name --path=$(dirname $DEVPATH))
+ fi
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/openct/openct/openct.init b/meta-oe/recipes-support/openct/openct/openct.init
new file mode 100644
index 0000000000..c6896095e3
--- /dev/null
+++ b/meta-oe/recipes-support/openct/openct/openct.init
@@ -0,0 +1,89 @@
+#!/bin/sh
+#
+# openct This shell script takes care of starting and stopping OpenCT.
+#
+# chkconfig: 2345 24 89
+# description: OpenCT is a middleware framework for smart card terminals.
+#
+# processname: ifdhandler
+# config: /etc/openct.conf
+
+### BEGIN INIT INFO
+# Provides: openct
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Should-Start: $syslog $network
+# Should-Stop: $syslog $network
+# Short-Description: Middleware framework for smart card terminals
+# Description: This starts/stops the OpenCT middleware framework support
+# for smart card terminals.
+### END INIT INFO
+
+. /etc/init.d/functions
+
+exec="/usr/sbin/openct-control"
+prog=openct
+proc=ifdhandler
+
+OPENCT_OPTIONS=
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog
+
+start() {
+ retval=0
+ if ! status $proc >/dev/null 2>&1 ; then
+ action $"Initializing OpenCT smart card terminals: " \
+ $exec $OPENCT_OPTIONS init
+ retval=$?
+ [ $retval -eq 0 ] && touch $lockfile
+ fi
+ return $retval
+}
+
+stop() {
+ if status $proc >/dev/null 2>&1 ; then
+ action $"Stopping OpenCT smart card terminals: " \
+ $exec $OPENCT_OPTIONS shutdown
+ fi
+ retval=$?
+ if [ $retval -eq 0 ] ; then
+ rm -f /var/run/openct/status
+ rm -f $lockfile
+ fi
+ return $retval
+}
+
+restart() {
+ stop
+ start
+}
+
+oct_status() {
+ status $proc
+ retval=$?
+ if [ -e /var/run/openct/status ] ; then
+ $exec $OPENCT_OPTIONS status
+ [ -e /var/run/openct/status ] && \
+ echo $"Waiting for reader attach/detach events..."
+ fi
+ return $retval
+}
+
+case "$1" in
+ start|stop|restart)
+ $1
+ ;;
+ reload|force-reload)
+ restart
+ ;;
+ status)
+ oct_status
+ ;;
+ try-restart|condrestart)
+ [ ! -f $lockfile ] || restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}"
+ exit 2
+esac
diff --git a/meta-oe/recipes-support/openct/openct/openct.service b/meta-oe/recipes-support/openct/openct/openct.service
new file mode 100644
index 0000000000..c9ec497fa5
--- /dev/null
+++ b/meta-oe/recipes-support/openct/openct/openct.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Openct Middleware framework for smart card terminals
+After=syslog.target network.target
+
+[Service]
+EnvironmentFile=-/etc/sysconfig/openct
+ExecStart=/usr/sbin/openct-control $OPENCT_OPTIONS init
+ExecStop=/usr/sbin/openct-control $OPENCT_OPTIONS shutdown
+RemainAfterExit=yes
+KillMode=none
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-support/openct/openct/openct.sysconfig b/meta-oe/recipes-support/openct/openct/openct.sysconfig
new file mode 100644
index 0000000000..ffc270790f
--- /dev/null
+++ b/meta-oe/recipes-support/openct/openct/openct.sysconfig
@@ -0,0 +1,5 @@
+# -*- sh -*-
+# Extra options to pass to openct-control.
+# Consult "/usr/sbin/openct-control -h" for available options.
+#
+OPENCT_OPTIONS=""
diff --git a/meta-oe/recipes-support/openct/openct_0.6.20.bb b/meta-oe/recipes-support/openct/openct_0.6.20.bb
new file mode 100644
index 0000000000..70c73fd6e6
--- /dev/null
+++ b/meta-oe/recipes-support/openct/openct_0.6.20.bb
@@ -0,0 +1,92 @@
+Summanry = "Middleware framework for smart card terminals"
+DESCRIPTION = " \
+OpenCT implements drivers for several smart card readers. \
+It comes as driver in ifdhandler format for PC/SC-Lite, \
+as CT-API driver, or as a small and lean middleware, \
+so applications can use it with minimal overhead. \
+OpenCT also has a primitive mechanism to export smart card \
+readers to remote machines via TCP/IP."
+
+DEPENDS += "libtool pcsc-lite libusb-compat"
+
+SRC_URI = " \
+ ${DEBIAN_MIRROR}/main/o/${PN}/${PN}_${PV}.orig.tar.gz \
+ file://etc-openct.udev.in-disablePROGRAM.patch \
+ file://etc-openct_usb.in-modify-UDEVINFO.patch \
+ file://openct.init \
+ file://openct.sysconfig \
+ file://openct.service \
+"
+
+SRC_URI[md5sum] = "a1da3358ab798f1cb9232f1dbababc21"
+SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d181a68"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+SYSTEMD_SERVICE_${PN} += "openct.service "
+SYSTEMD_AUTO_ENABLE = "enable"
+
+EXTRA_OECONF=" \
+ --disable-static \
+ --enable-usb \
+ --enable-pcsc \
+ --enable-doc \
+ --enable-api-doc \
+ --with-udev=/lib/udev \
+ --with-bundle=${libdir}/pcsc/drivers \
+"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += " \
+ ${libdir}/ctapi \
+ /lib/udev \
+ ${libdir}/openct-ifd.so \
+ ${libdir}/pcsc \
+ /run/openct/status \
+"
+
+FILES_${PN}-dbg += " \
+ ${libdir}/ctapi/.debug \
+ ${libdir}/pcsc/drivers/openct-ifd.bundle/Contents/Linux/.debug \
+"
+
+INSANE_SKIP_${PN} += "dev-deps"
+
+
+do_install () {
+ rm -rf ${D}
+ install -d ${D}/etc
+ install -dm 755 ${D}/lib/udev
+ # fix up hardcoded paths
+ sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \
+ ${WORKDIR}/openct.service ${WORKDIR}/openct.init
+
+ oe_runmake install DESTDIR=${D}
+ install -dm 755 ${D}${libdir}/ctapi/
+ mv ${D}${libdir}/libopenctapi.so ${D}${libdir}/ctapi/
+ install -Dpm 644 etc/openct.udev ${D}/etc/udev/rules.d/60-openct.rules
+ install -pm 644 etc/openct.conf ${D}/etc/openct.conf
+
+ install -Dpm 755 ${WORKDIR}/openct.init ${D}/etc/init.d/openct
+ install -Dpm 644 ${WORKDIR}/openct.sysconfig ${D}/etc/sysconfig/openct
+
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openct.service ${D}/${systemd_unitdir}/system
+ fi
+
+ so=$(find ${D} -name \*.so | sed "s|^${D}||")
+ sed -i -e 's|\\(LIBPATH\\s*\\).*|\\1$so|' etc/reader.conf
+ install -Dpm 644 etc/reader.conf ${D}/etc/reader.conf.d/openct.conf
+
+ install -dm 755 ${D}${localstatedir}/run/openct
+ touch ${D}${localstatedir}/run/openct/status
+ chmod 644 ${D}${localstatedir}/run/openct/status
+}
+
+pkg_postinst_${PN} () {
+ ln -sf ctapi/libopenctapi.so ${libdir}/libopenctapi.so
+}
diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb
index df512f6f6d..63d7c8b25b 100644
--- a/meta-oe/recipes-support/opencv/opencv_2.4.bb
+++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb
@@ -9,12 +9,12 @@ ARM_INSTRUCTION_SET = "arm"
DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0"
-SRCREV = "a4b34e7ae10351fc4d30dc55995679340efc488e"
+SRCREV = "df8e28283f09825cca0c2902160b7abebcfe1b64"
SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \
file://opencv-fix-pkgconfig-generation.patch \
"
-PV = "2.4.8+git${SRCPV}"
+PV = "2.4.9+git${SRCPV}"
S = "${WORKDIR}/git"
@@ -31,7 +31,8 @@ EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}
${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
"
-PACKAGECONFIG ??= "eigen gtk jpeg libav png tiff v4l"
+PACKAGECONFIG ??= "eigen jpeg libav png tiff v4l \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}"
PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+,"
PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch
new file mode 100644
index 0000000000..9a0f4cb142
--- /dev/null
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch
@@ -0,0 +1,38 @@
+From 59688044386dfeee0c837a15133f4e878f1bb661 Mon Sep 17 00:00:00 2001
+From: Jan Synacek <jsynacek@redhat.com>
+Date: Wed, 13 Nov 2013 09:06:54 +0100
+Subject: [PATCH] ITS#7723 fix reference counting
+
+Upstream-Status: Backport
+
+Commit 59688044386dfeee0c837a15133f4e878f1bb661 upstream
+
+Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ libraries/librewrite/session.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/libraries/librewrite/session.c b/libraries/librewrite/session.c
+index fcc7698..02fc054 100644
+--- a/libraries/librewrite/session.c
++++ b/libraries/librewrite/session.c
+@@ -161,6 +161,7 @@ rewrite_session_find(
+ #ifdef USE_REWRITE_LDAP_PVT_THREADS
+ if ( session ) {
+ ldap_pvt_thread_mutex_lock( &session->ls_mutex );
++ session->ls_count++;
+ }
+ ldap_pvt_thread_rdwr_runlock( &info->li_cookies_mutex );
+ #endif /* USE_REWRITE_LDAP_PVT_THREADS */
+@@ -178,6 +179,7 @@ rewrite_session_return(
+ )
+ {
+ assert( session != NULL );
++ session->ls_count--;
+ ldap_pvt_thread_mutex_unlock( &session->ls_mutex );
+ }
+
+--
+1.7.5.4
+
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch
index dffd3ca512..dffd3ca512 100644
--- a/meta-oe/recipes-support/openldap/openldap-2.4.23/0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/initscript b/meta-oe/recipes-support/openldap/openldap-2.4.39/initscript
index 40881cd6d7..08d1067a7e 100644
--- a/meta-oe/recipes-support/openldap/openldap-2.4.23/initscript
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/initscript
@@ -5,8 +5,10 @@
# > update-rc.d openldap defaults 60
#
+# Source function library.
+. /etc/init.d/functions
-slapd=/usr/libexec/slapd
+slapd=/usr/sbin/slapd
test -x "$slapd" || exit 0
@@ -21,9 +23,13 @@ case "$1" in
start-stop-daemon --stop --quiet --pidfile /var/run/slapd.pid
echo "."
;;
+ status)
+ status $slapd;
+ exit $?
+ ;;
*)
- echo "Usage: /etc/init.d/openldap {start|stop}"
+ echo "Usage: /etc/init.d/openldap {start|stop|status}"
exit 1
esac
-exit 0 \ No newline at end of file
+exit 0
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/install-strip.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch
index 2992b7030d..2992b7030d 100644
--- a/meta-oe/recipes-support/openldap/openldap-2.4.23/install-strip.patch
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/kill-icu.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch
index dcf5411372..dcf5411372 100644
--- a/meta-oe/recipes-support/openldap/openldap-2.4.23/kill-icu.patch
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-2.4.28-gnutls-gcrypt.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch
index c7b1552c1c..c7b1552c1c 100644
--- a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-2.4.28-gnutls-gcrypt.patch
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-m4-pthread.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch
index b669b7254d..b669b7254d 100644
--- a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-m4-pthread.patch
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch
new file mode 100644
index 0000000000..e7b988fafd
--- /dev/null
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch
@@ -0,0 +1,38 @@
+openldap: assume /dev/urandom exists
+
+When we are cross-compiling, we want to assume
+that /dev/urandom exists. We could change the source
+code to look for it, but this is the easy way out.
+
+Upstream-Status: pending
+
+Signed-off-by: Joe Slater <jslater@windriver.com>
+
+
+--- a/configure.in
++++ b/configure.in
+@@ -2142,8 +2142,8 @@ fi
+
+ dnl ----------------------------------------------------------------
+ dnl Check for entropy sources
++dev=no
+ if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
+- dev=no
+ if test -r /dev/urandom ; then
+ dev="/dev/urandom";
+ elif test -r /idev/urandom ; then
+@@ -2156,9 +2156,11 @@ if test $cross_compiling != yes && test
+ dev="/idev/random";
+ fi
+
+- if test $dev != no ; then
+- AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
+- fi
++elif test $cross_compiling == yes ; then
++ dev="/dev/urandom";
++fi
++if test $dev != no ; then
++ AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
+ fi
+
+ dnl ----------------------------------------------------------------
diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.23.bb b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb
index 306a78647d..8752395fab 100644
--- a/meta-oe/recipes-support/openldap/openldap_2.4.23.bb
+++ b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb
@@ -1,5 +1,6 @@
# OpenLDAP, a license free (see http://www.OpenLDAP.org/license.html)
#
+SUMMARY = "OpenLDAP Directory Service"
DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
HOMEPAGE = "http://www.OpenLDAP.org/license.html"
# The OpenLDAP Public License - see the HOMEPAGE - defines
@@ -8,30 +9,33 @@ HOMEPAGE = "http://www.OpenLDAP.org/license.html"
# basically BSD. opensource.org does not record this license
# at present (so it is apparently not OSI certified).
LICENSE = "OpenLDAP"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3d82d3085f228af211a6502c7ea7c3c7"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f2bdbaa4f50199a00b6de2ca7ec1db05 \
+ file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
+"
SECTION = "libs"
LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}"
-SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${P}.tgz \
+SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${BP}.tgz \
file://openldap-m4-pthread.patch \
file://kill-icu.patch \
- file://0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch \
+ file://gnutls-Avoid-use-of-deprecated-function.patch \
file://openldap-2.4.28-gnutls-gcrypt.patch \
+ file://ITS-7723-fix-reference-counting.patch \
+ file://use-urandom.patch \
file://initscript \
"
-SRC_URI[md5sum] = "90150b8c0d0192e10b30157e68844ddf"
-SRC_URI[sha256sum] = "5a5ede91d5e8ab3c7f637620aa29a3b96eb34318a8b26c8eef2d2c789fc055e3"
+SRC_URI[md5sum] = "b0d5ee4b252c841dec6b332d679cf943"
+SRC_URI[sha256sum] = "8267c87347103fef56b783b24877c0feda1063d3cb85d070e503d076584bf8a7"
DEPENDS = "util-linux groff-native"
-PR = "r1"
# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when
# installing .so and executables, this fails in cross compilation
# environments
SRC_URI += "file://install-strip.patch"
-inherit autotools-brokensep
+inherit autotools-brokensep update-rc.d
# CV SETTINGS
# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
@@ -47,7 +51,7 @@ EXTRA_OECONF += "--with-yielding-select=yes"
EXTRA_OECONF += "--enable-dynamic"
PACKAGECONFIG ??= "gnutls modules \
- ldap meta monitor null passwd shell proxycache dnssrv \
+ bdb hdb ldap meta monitor null passwd shell proxycache dnssrv \
"
#--with-tls with TLS/SSL support auto|openssl|gnutls [auto]
PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
@@ -64,14 +68,9 @@ EXTRA_OECONF += "--enable-crypt"
# SLAPD BACKEND
#
# The backend must be set by the configuration. This controls the
-# required database, the default database, bdb, is turned off but
-# can be turned back on again and it *is* below! The monitor backend
-# is also disabled. If you try to change the backends but fail to
-# enable a single one the build will fail in an obvious way.
-#
-EXTRA_OECONF += "--disable-bdb --disable-hdb --disable-monitor"
+# required database.
#
-# Backends="bdb dnssrv hdb ldap ldbm meta monitor null passwd perl shell sql"
+# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql"
#
# Note that multiple backends can be built. The ldbm backend requires a
# build-time choice of database API. The bdb backend forces this to be
@@ -82,27 +81,19 @@ md = "${libexecdir}/openldap"
#--enable-bdb enable Berkeley DB backend no|yes|mod yes
# The Berkely DB is the standard choice. This version of OpenLDAP requires
# the version 4 implementation or better.
-PACKAGECONFIG[bdb] = "--enable-bdb=mod,--enable-bdb=no,db"
+PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db"
#--enable-dnssrv enable dnssrv backend no|yes|mod no
PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
#--enable-hdb enable Hierarchical DB backend no|yes|mod no
-# This forces ldbm to use Berkeley too, remove to use gdbm
-PACKAGECONFIG[hdb] = "--enable-hdb=mod,--enable-hdb=no,db"
+PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db"
#--enable-ldap enable ldap backend no|yes|mod no
PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
-#--enable-ldbm enable ldbm backend no|yes|mod no
-# ldbm requires further specification of the underlying database API, because
-# bdb is enabled above this must be set to berkeley, however the config
-# defaults this correctly so --with-ldbm-api is *not* set. The build will
-# fail if bdb is removed, but no database is built to provide the
-# support for ldbm
-# guide.html:<P>back-ldbm was both slow and unreliable. Its byzantine indexing code was prone to spontaneous corruption, as were the underlying database libraries that were commonly used (e.g. GDBM or NDBM). back-bdb and back-hdb are superior in every aspect, with simplified indexing to avoid index corruption, fine-grained locking for greater concurrency, hierarchical caching for greater performance, streamlined on-disk format for greater efficiency and portability, and full transaction support for greater reliability.</P>
-# configure: WARNING: unrecognized options: --disable-silent-rules, --enable-ldbm, --with-ldbm-api
-#PACKAGECONFIG[ldbm] = "--enable-ldbm=mod --with-ldbm-api=gdbm,--enable-ldbm-no,gdbm"
+#--enable-mdb enable mdb database backend no|yes|mod [yes]
+PACKAGECONFIG[mdb] = "--enable-mdb=mod,--enable-mdb=no,"
#--enable-meta enable metadirectory backend no|yes|mod no
PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
@@ -110,6 +101,9 @@ PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
#--enable-monitor enable monitor backend no|yes|mod yes
PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no,"
+#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no]
+PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
+
#--enable-null enable null backend no|yes|mod no
PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
@@ -122,10 +116,16 @@ PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no,"
# up the build machine perl - not good (inherit perlnative?)
PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
+#--enable-relay enable relay backend no|yes|mod [yes]
+PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no,"
+
#--enable-shell enable shell backend no|yes|mod no
# configure: WARNING: Use of --without-threads is recommended with back-shell
PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no,"
+#--enable-sock enable sock backend no|yes|mod [no]
+PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no,"
+
#--enable-sql enable sql backend no|yes|mod no
# sql requires some sql backend which provides sql.h, sqlite* provides
# sqlite.h (which may be compatible but hasn't been tried.)
@@ -141,7 +141,10 @@ PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
PACKAGES += "${PN}-overlay-proxycache"
-CPPFLAGS_append = " -D_GNU_SOURCE"
+# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
+# This allows tls to obtain random bits from /dev/urandom, by default
+# it was disabled for cross-compiling.
+CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\'"
do_configure() {
cp ${STAGING_DATADIR_NATIVE}/libtool/config/ltmain.sh ${S}/build
@@ -176,31 +179,29 @@ do_install_append() {
chmod 755 ${D}${sysconfdir}/init.d/openldap
# This is duplicated in /etc/openldap and is for slapd
rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example
+
+ # Installing slapd under ${sbin} is more FHS and LSB compliance
+ mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
+ SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema"
+ cd ${D}/${sbindir}/
+ rm -f ${SLAPTOOLS}
+ for i in ${SLAPTOOLS}; do ln -sf slapd $i; done
+
rmdir "${D}${localstatedir}/run"
rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
}
-pkg_postinst_${PN}-slapd () {
- if test -n "${D}"; then
- D="-r $D"
- fi
- update-rc.d $D openldap defaults
-}
-
-pkg_prerm_${PN}-slapd () {
- if test -n "${D}"; then
- D="-r $D"
- fi
- update-rc.d $D openldap remove
-}
+INITSCRIPT_PACKAGES = "${PN}-slapd"
+INITSCRIPT_NAME_${PN}-slapd = "openldap"
+INITSCRIPT_PARAMS_${PN}-slapd = "defaults"
-PACKAGES_DYNAMIC += "^openldap-backends.* ^openldap-backend-.*"
+PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
python populate_packages_prepend () {
backend_dir = d.expand('${libexecdir}/openldap')
do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
- metapkg = "openldap-backends"
+ metapkg = "${PN}-backends"
d.setVar('ALLOW_EMPTY_' + metapkg, "1")
d.setVar('FILES_' + metapkg, "")
metapkg_rdepends = []
diff --git a/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb b/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb
index 2e41524509..2baeda0251 100644
--- a/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb
+++ b/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb
@@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343"
PR = "r3"
+PNBLACKLIST[openmotif] ?= "BROKEN: doesn't build with B!=S"
+
SRC_URI = "http://motif.ics.com/sites/default/files/openmotif-2.3.3.tar.gz \
file://configure.patch;patch=1"
diff --git a/meta-oe/recipes-support/openwbem/openwbem/checkserverkey b/meta-oe/recipes-support/openwbem/openwbem/checkserverkey
new file mode 100644
index 0000000000..bcfa361010
--- /dev/null
+++ b/meta-oe/recipes-support/openwbem/openwbem/checkserverkey
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+if [ ! -f "/etc/openwbem/serverkey.pem" ]; then
+ if [ -f "/etc/ssl/servercerts/servercert.pem" \
+ -a -f "/etc/ssl/servercerts/serverkey.pem" ]; then
+ echo "Using common server certificate /etc/ssl/servercerts/servercert.pem"
+ ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwbem/
+ else
+ echo "FAILED: Starting OpenWBEM server"
+ echo "There is no ssl server key available for OpenWBEM server to use."
+ echo -e "Please generate one with the following script and start the OpenWBEM service again:\n"
+ echo "##################################"
+ echo "/etc/openwbem/owgencert"
+ echo "================================="
+
+ echo "NOTE: The script uses /dev/random device for generating some random bits while generating the server key."
+ echo " If this takes too long, you can replace the value of \"RANDFILE\" in /etc/openwsman/ssleay.cnf with /dev/urandom. Please understand the implications"
+ exit 1
+ fi
+fi
diff --git a/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh b/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh
new file mode 100644
index 0000000000..dd87811a37
--- /dev/null
+++ b/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh
@@ -0,0 +1,118 @@
+#!/bin/sh
+#
+# options:
+# loadmof.sh <MOF_PATH> <NAMESPACE> <FILES>
+#
+# - or -
+#
+# options:
+# loadmof.sh -n <NAMESPACE> <FILES> [...]
+#
+# The former is preserved for compatibility with Pegasus and
+# sblim providers. The latter is preferred. If $1 is "-n",
+# the latter code path is executed. Otherwise the former is
+# executed.
+
+if [ "x$1" != "x-n" -a "x$1" != "x-v" ]; then
+# OLD STYLE
+if [ -f "/etc/init.d/owcimomd" ]; then
+ /etc/init.d/owcimomd status 1>&2 > /dev/null
+ if [ $? = "0" ]; then
+ CIMOM_RUNNING="true"
+ else
+ CIMOM_RUNNING="false"
+ fi
+else
+ exit 1
+fi
+if [ "$YAST_IS_RUNNING" = "instsys" ]; then
+ CIMOM_RUNNING="false"
+fi
+
+CIMOM=$1
+shift
+case "$CIMOM" in
+ pegasus)
+ exit 0
+ ;;
+esac
+MOF_PATH=$1
+shift
+NS=$1
+shift
+
+REPOSITORY="/var/lib/openwbem"
+#tmp_dir=`mktemp -d -p /tmp openwbem.XXXXXX`
+case "$CIMOM_RUNNING" in
+ true|false)
+ while [ "$#" -gt 0 ]
+ do
+ echo "Loading $MOF_PATH/$1"
+ #sed "s/cmpi:/cmpi::/g" $MOF_PATH/$1 > $tmp_dir/$1
+ /usr/bin/owmofc -c -n $NS -d $REPOSITORY $MOF_PATH/$1 > /dev/null 2>&1
+ shift
+ done
+ ;;
+esac
+#rm -rf $tmp_dir
+# END OLD STYLE
+
+else
+# NEW STYLE
+if [ "x$3" = "x" ]; then
+ echo "Usage: $0 -n <NAMESPACE> <FILES> [...]"
+ exit 1
+fi
+
+if [ "x$1" = "x-v" ]; then
+ VERBOSE=1
+ shift
+fi
+
+# get rid of "-n" arg
+shift
+
+NS="$1"
+
+shift
+
+DBDIR=/var/lib/openwbem
+LOGFILE=$DBDIR/loadmof.log
+CIMOM_INIT=/etc/init.d/owcimomd
+if [ "$YAST_IS_RUNNING" != "instsys" ] ; then
+ $CIMOM_INIT status > /dev/null 2>&1
+ CIMOM_RUNNING=$?
+fi
+if [ "x$CIMOM_RUNNING" = "x0" ]; then
+ $CIMOM_INIT stop > /dev/null 2>&1
+fi
+bkpdir=$DBDIR/backup-$$
+mkdir $bkpdir
+cp -a $DBDIR/*.{dat,ndx,lock} $bkpdir/
+rm -f $LOGFILE.9
+for i in 8 7 6 5 4 3 2 1 0; do
+ let newI=$i+1
+ if [ -f $LOGFILE.$i ]; then
+ mv $LOGFILE.$i $LOGFILE.$newI
+ fi
+done
+if [ -f $LOGFILE ]; then
+ mv $LOGFILE $LOGFILE.0
+fi
+if [ "x$VERBOSE" = "x1" ]; then
+ /usr/bin/owmofc -c -n $NS -d $DBDIR -s /usr/share/mof/cim-current "$@" 2>&1 | tee $LOGFILE
+else
+ /usr/bin/owmofc -c -n $NS -d $DBDIR -s /usr/share/mof/cim-current "$@" > $LOGFILE 2>&1
+fi
+RVAL=$?
+if [ "x$RVAL" != "x0" ]; then
+ echo "MOF import failed! Check $LOGFILE for details."
+ mv $bkpdir/* $DBDIR/
+fi
+rm -rf $bkpdir
+if [ "x$CIMOM_RUNNING" = "x0" ]; then
+ $CIMOM_INIT start > /dev/null 2>&1
+fi
+exit $RVAL
+fi
+
diff --git a/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof b/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof
new file mode 100644
index 0000000000..c9970c79e9
--- /dev/null
+++ b/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof
@@ -0,0 +1,21 @@
+#pragma namespace("root/security")
+
+instance of OpenWBEM_NamespaceACL
+{
+ nspace = "root";
+ capability = "";
+};
+
+instance of OpenWBEM_NamespaceACL
+{
+ nspace = "root/cimv2";
+ capability = "";
+};
+
+instance of OpenWBEM_UserACL
+{
+ nspace = "root/cimv2";
+ username = "root";
+ capability = "rw";
+};
+
diff --git a/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem b/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem
new file mode 100644
index 0000000000..b3785aa49d
--- /dev/null
+++ b/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth required pam_unix2.so nullok
+auth required pam_nologin.so
+account required pam_unix2.so
+password required pam_pwcheck.so nullok
+password required pam_unix2.so nullok use_first_pass use_authtok
+session required pam_unix2.so none
diff --git a/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init b/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init
new file mode 100644
index 0000000000..47fa8a7c67
--- /dev/null
+++ b/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init
@@ -0,0 +1,131 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides: owcimomd
+# Required-Start: $network
+# Required-Stop: $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: OpenWBEM CIMOM Daemon
+# Description: owcimomd
+# Start/Stop the OpenWBEM CIMOM Daemon
+### END INIT INFO
+#
+#
+# chkconfig: 2345 36 64
+# description: OpenWBEM CIMOM Daemon
+# processname: owcimomd
+
+NAME=owcimomd
+DAEMON=/usr/sbin/$NAME
+OPTIONS=
+PIDFILE=/var/run/$NAME.pid
+
+if [ $EUID != 0 ]; then
+ echo "This script must be run as root."
+ exit 1;
+fi
+
+if [ "$DESCRIPTIVE" = "" ]; then
+ DESCRIPTIVE="OpenWBEM CIMOM Daemon"
+fi
+
+lockfile=${SVIlock:-/var/lock/subsys/$NAME}
+
+[ -x $DAEMON ] || exit 0
+
+# See how we were called.
+. /etc/init.d/functions
+
+start() {
+ if [ ! -f "/etc/openwbem/serverkey.pem" ]; then
+ if [ -f "/etc/ssl/servercerts/servercert.pem" \
+ -a -f "/etc/ssl/servercerts/serverkey.pem" ]; then
+ echo "Using common server certificate /etc/ssl/servercerts/servercert.pem"
+ ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwbem/
+ else
+ echo "Generating OpenWBEM server public certificate and private key"
+ FQDN=`hostname --fqdn`
+ if [ "x${FQDN}" = "x" ]; then
+ FQDN=localhost.localdomain
+ fi
+cat << EOF | sh /etc/openwbem/owgencert > /dev/null 2>&1
+--
+SomeState
+SomeCity
+SomeOrganization
+SomeOrganizationalUnit
+${FQDN}
+root@${FQDN}
+EOF
+ fi
+ fi
+
+ # Start daemons.
+ echo -n "Starting the $DESCRIPTIVE"
+ daemon $DAEMON $OPTIONS > /dev/null 2>&1
+ RETVAL=$?
+
+ if [ $RETVAL -eq 0 ]; then
+ touch $lockfile
+ success
+ fi
+
+ echo
+ return $RETVAL
+}
+
+stop() {
+ # Stop daemons.
+ echo -n "Shutting down $DESCRIPTIVE"
+ killproc $DAEMON
+ RETVAL=$?
+
+ if [ $RETVAL -eq 0 ]; then
+ rm -f $lockfile
+ success
+ else
+ failure
+ fi
+ echo
+ return $RETVAL
+}
+
+restart() {
+ stop
+ start
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+
+ stop)
+ stop
+ ;;
+
+ restart|force-reload)
+ restart
+ ;;
+
+ reload)
+ echo -n "Reload service $DESCRIPTIVE"
+ killproc -p $PIDFILE -HUP $DAEMON
+ RETVAL=$?
+ echo
+ exit $RETVAL
+ ;;
+
+ status)
+ echo -n "Checking for service $DESCRIPTIVE"
+ status $DAEMON
+ RETVAL=$?
+ exit $RETVAL
+ ;;
+
+ *)
+ echo "Usage: $0 {restart|start|stop|reload|force-reload|status}"
+esac
+
+exit $RETVAL
diff --git a/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc b/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc
new file mode 100644
index 0000000000..785e32aaa6
--- /dev/null
+++ b/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc
@@ -0,0 +1,2 @@
+addFilter("devel-file-in-non-devel-package .*/lib.*\.so")
+
diff --git a/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service b/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service
new file mode 100644
index 0000000000..c6694b7196
--- /dev/null
+++ b/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Web Based Enterprise Management (WBEM) Implementation
+After=syslog.target
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/owcimomd
+ExecStartPre=/etc/openwbem/checkserverkey
+PIDFile=/var/run/owcimomd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh b/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh
new file mode 100644
index 0000000000..a495415be5
--- /dev/null
+++ b/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# options:
+# rmmof.sh <MOF_PATH> <NAMESPACE> <FILES>
+#
+# - or -
+#
+# options:
+# loadmof.sh -n <NAMESPACE> <FILES> [...]
+#
+# The former is preserved for compatibility with Pegasus and
+# sblim providers. The latter is preferred. If $1 is "-n",
+# the latter code path is executed. Otherwise the former is
+# executed.
+
+if [ "x$3" = "x" ]; then
+ echo "Usage: $0 -n <NAMESPACE> <FILES> [...]"
+ exit 1
+fi
+
+# get rid of "-n" arg
+shift
+
+NS="$1"
+
+shift
+
+DBDIR=/var/lib/openwbem
+CIMOM_INIT=/etc/init.d/owcimomd
+if [ "$YAST_IS_RUNNING" != "instsys" ] ; then
+ $CIMOM_INIT status
+ CIMOM_RUNNING=$?
+fi
+if [ "x$CIMOM_RUNNING" = "x0" ]; then
+ $CIMOM_INIT stop
+fi
+bkpdir=/tmp/owrep.bkp-$$
+mkdir $bkpdir
+cp -a $DBDIR $bkpdir/
+echo "Compiling MOF files"
+/usr/bin/owmofc -r -n $NS -d $DBDIR "$@" > /dev/null 2>&1
+RVAL=$?
+if [ "x$RVAL" != "x0" ]; then
+ echo "MOF import failed!"
+ rm -rf $DBDIR
+ mv $bkpdir/openwbem $DBDIR
+fi
+rm -rf $bkpdir
+if [ "x$CIMOM_RUNNING" = "x0" ]; then
+ $CIMOM_INIT start
+fi
+exit $RVAL
+
diff --git a/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb b/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb
new file mode 100644
index 0000000000..1b186329ce
--- /dev/null
+++ b/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb
@@ -0,0 +1,112 @@
+SUMMARY = "Web Based Enterprise Management (WBEM) Implementation"
+DESCRIPTION = "OpenWBEM is a set of software components that help facilitate \
+deployment of the Common Information Model (CIM) and Web-Based \
+Enterprise Management (WBEM) technologies of the Distributed Management \
+Task Force (DMTF). \
+ \
+Web-Based Enterprise Management (WBEM) is a set of management and \
+Internet standard technologies developed to unify the management of \
+distributed computing environments. WBEM provides the ability for the \
+industry to deliver a well-integrated set of standards-based management \
+tools, facilitating the exchange of data across otherwise disparate \
+technologies and platforms. \
+ \
+For more information about DMTF and its technologies, visit \
+http://www.dmtf.org/standards. "
+SECTION = "System/Management"
+HOMEPAGE = "http://openwbem.sourceforge.net/"
+
+inherit autotools-brokensep pkgconfig
+
+SOURCE1="novell-openwbem-root-acl.mof"
+SOURCE2="loadmof.sh"
+SOURCE3="rmmof.sh"
+SOURCE4="openwbem-owcimomd.init"
+SOURCE5="openwbem-etc_pam.d_openwbem"
+SOURCE6="openwbem-rpmlintrc"
+
+SRC_URI = " \
+ git://github.com/kkaempf/openwbem.git \
+ file://${SOURCE1} \
+ file://${SOURCE2} \
+ file://${SOURCE3} \
+ file://${SOURCE4} \
+ file://${SOURCE5} \
+ file://${SOURCE6} \
+ file://checkserverkey \
+ file://owcimomd.service \
+"
+SRCREV = "5c688eefc1f8e35a4b1c58529aae5f114c25c2a8"
+S = "${WORKDIR}/git"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM += "file://COPYING;md5=0504a2eb85e01aa92c9efd4125a34660"
+INSANE_SKIP_${PN} = "dev-so"
+DEPENDS += "openssl libpam bash"
+RDEPENDS_${PN} += "bash"
+EXTRA_OECONF = " \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=${libdir} \
+ --localstatedir=/var/lib \
+ --libexecdir=${libdir}/openwbem/bin \
+ --mandir=/usr/share/man \
+ --enable-threads-run-as-user \
+"
+do_configure_prepend() {
+ autoreconf --force --install
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+ install -d ${D}/etc/openwbem/openwbem.conf.d
+ install -d ${D}/var/adm/fillup-templates
+ install -m 644 etc/sysconfig/daemons/owcimomd ${D}/var/adm/fillup-templates/sysconfig.owcimomd
+
+ # fix up hardcoded paths
+ sed -i -e 's,/usr/sbin/,${sbindir}/,' ${WORKDIR}/owcimomd.service
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/owcimomd.service ${D}/${systemd_unitdir}/system
+ install -m 755 ${WORKDIR}/checkserverkey ${D}${sysconfdir}/openwbem/
+ fi
+
+ install -d ${D}/etc/init.d
+ ln -sf ../../etc/init.d/owcimomd ${D}/usr/sbin/rcowcimomd
+ install -m 755 ${WORKDIR}/${SOURCE4} ${D}/etc/init.d/owcimomd
+ install -d ${D}${sbindir}
+ install -d ${D}/usr/bin
+ install -d ${D}/etc/pam.d
+ install -d ${D}/${libdir}/openwbem/cmpiproviders
+ install -m 644 etc/pam.d/openwbem ${D}/etc/pam.d
+ install -d ${D}/${libdir}/openwbem/c++providers
+ install -d ${D}/var/lib/openwbem
+ install -m 755 ${WORKDIR}/${SOURCE2} ${D}/usr/bin/ow-loadmof.sh
+ install -m 755 ${WORKDIR}/${SOURCE3} ${D}/usr/bin/ow-rmmof.sh
+ install -m 644 ${WORKDIR}/${SOURCE5} ${D}/etc/pam.d/openwbem
+
+ MOFPATH=${D}/usr/share/mof/openwbem
+ install -d $MOFPATH
+ mv ${D}/usr/share/openwbem/* $MOFPATH/
+ rmdir ${D}/usr/share/openwbem
+ install -m 644 ${WORKDIR}/${SOURCE1} $MOFPATH/
+
+ touch ${D}/var/lib/openwbem/{classassociation,instances,instassociation,namespaces,schema}.{dat,ndx,lock}
+}
+
+inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+SYSTEMD_SERVICE_${PN} = "owcimomd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+FILES_${PN} += " \
+ ${libdir} \
+ ${datadir}/mof \
+ ${systemd_unitdir} \
+"
+FILES_${PN}-dbg += " \
+ ${libdir}/openwbem/c++providers/.debug \
+ ${libdir}/openwbem/provifcs/.debug \
+ ${libdir}/openwbem/bin/openwbem/.debug \
+"
+FILES_${PN}-dev = " \
+ ${includedir} \
+ ${datadir}/aclocal/openwbem.m4 \
+"
diff --git a/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb b/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb
index 67c2c00cef..e0ebe7da9c 100644
--- a/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb
+++ b/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb
@@ -6,7 +6,7 @@ inherit autotools gettext pkgconfig
DEPENDS = "libtasn1 libffi"
-SRC_URI = "http://p11-glue.freedesktop.org/releases/${PN}-${PV}.tar.gz"
+SRC_URI = "http://p11-glue.freedesktop.org/releases/${BP}.tar.gz"
SRC_URI[md5sum] = "d96046ab6ac00d005342caf416ed76ab"
SRC_URI[sha256sum] = "94fbed372c11d0a404762aad966e54eb4f44c1d5b871a1b79a1a3b4cf36ed256"
diff --git a/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch b/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch
new file mode 100644
index 0000000000..366d461eb8
--- /dev/null
+++ b/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch
@@ -0,0 +1,156 @@
+diff -urNp pam_passwdqc-1.0.5-orig/pam_passwdqc.c pam_passwdqc-1.0.5/pam_passwdqc.c
+--- pam_passwdqc-1.0.5-orig/pam_passwdqc.c 2008-02-12 15:11:13.000000000 -0500
++++ pam_passwdqc-1.0.5/pam_passwdqc.c 2009-09-28 12:10:32.171696694 -0400
+@@ -70,6 +70,8 @@ typedef struct {
+ passwdqc_params_t qc;
+ int flags;
+ int retry;
++ char oldpass_prompt_file[FILE_LEN+1];
++ char newpass_prompt_file[FILE_LEN+1];
+ } params_t;
+
+ static params_t defaults = {
+@@ -79,10 +81,13 @@ static params_t defaults = {
+ 3, /* passphrase_words */
+ 4, /* match_length */
+ 1, /* similar_deny */
+- 42 /* random_bits */
++ 42, /* random_bits */
++ 1 /* firstupper_lastdigit_check */
+ },
+ F_ENFORCE_EVERYONE, /* flags */
+- 3 /* retry */
++ 3, /* retry */
++ "", /* oldpass_prompt_file */
++ "" /* newpass_prompt_file */
+ };
+
+ #define PROMPT_OLDPASS \
+@@ -361,6 +366,37 @@ static int parse(params_t *params, pam_h
+ if (!strcmp(*argv, "use_authtok")) {
+ params->flags |= F_USE_AUTHTOK;
+ } else
++ if (!strcmp(*argv, "disable_firstupper_lastdigit_check")) {
++ params->qc.firstupper_lastdigit_check = 0;
++ } else
++ if (!strncmp(*argv, "oldpass_prompt_file=", 20)) {
++ int n;
++ FILE *fp = fopen(*argv + 20, "r");
++ if (fp) {
++ n=fread(params->oldpass_prompt_file, sizeof(char), FILE_LEN, fp);
++ if (0==n || ferror(fp)!=0 ) {
++ memset(params->oldpass_prompt_file, '\0', FILE_LEN+1);
++ }
++ else {
++ feof(fp)? (params->oldpass_prompt_file[n-1]='\0'): (params->oldpass_prompt_file[n]='\0');
++ }
++ fclose(fp);
++ }
++ } else
++ if (!strncmp(*argv, "newpass_prompt_file=", 20)) {
++ int n;
++ FILE *fp = fopen(*argv + 20, "r");
++ if (fp) {
++ n=fread(params->newpass_prompt_file, sizeof(char), FILE_LEN, fp);
++ if (0==n || ferror(fp)!=0 ) {
++ memset(params->newpass_prompt_file, '\0', FILE_LEN+1);
++ }
++ else {
++ feof(fp)? (params->newpass_prompt_file[n-1]='\0'): (params->newpass_prompt_file[n]='\0');
++ }
++ fclose(fp);
++ }
++ } else
+ break;
+ argc--; argv++;
+ }
+@@ -406,7 +442,7 @@ PAM_EXTERN int pam_sm_chauthtok(pam_hand
+
+ if (ask_oldauthtok && !am_root(pamh)) {
+ status = converse(pamh, PAM_PROMPT_ECHO_OFF,
+- PROMPT_OLDPASS, &resp);
++ strlen(params.oldpass_prompt_file) ? params.oldpass_prompt_file : PROMPT_OLDPASS, &resp);
+
+ if (status == PAM_SUCCESS) {
+ if (resp && resp->resp) {
+@@ -540,8 +576,7 @@ retry:
+ MESSAGE_RANDOMFAILED : MESSAGE_MISCONFIGURED);
+ return PAM_AUTHTOK_ERR;
+ }
+-
+- status = converse(pamh, PAM_PROMPT_ECHO_OFF, PROMPT_NEWPASS1, &resp);
++ status = converse(pamh, PAM_PROMPT_ECHO_OFF, strlen(params.newpass_prompt_file) ? params.newpass_prompt_file : PROMPT_NEWPASS1, &resp);
+ if (status == PAM_SUCCESS && (!resp || !resp->resp))
+ status = PAM_AUTHTOK_ERR;
+
+diff -urNp pam_passwdqc-1.0.5-orig/passwdqc_check.c pam_passwdqc-1.0.5/passwdqc_check.c
+--- pam_passwdqc-1.0.5-orig/passwdqc_check.c 2008-02-12 14:31:52.000000000 -0500
++++ pam_passwdqc-1.0.5/passwdqc_check.c 2009-09-25 22:45:16.080842425 -0400
+@@ -90,10 +90,12 @@ static int is_simple(passwdqc_params_t *
+
+ /* Upper case characters and digits used in common ways don't increase the
+ * strength of a password */
+- c = (unsigned char)newpass[0];
+- if (uppers && isascii(c) && isupper(c)) uppers--;
+- c = (unsigned char)newpass[length - 1];
+- if (digits && isascii(c) && isdigit(c)) digits--;
++ if (params->firstupper_lastdigit_check) {
++ c = (unsigned char)newpass[0];
++ if (uppers && isascii(c) && isupper(c)) uppers--;
++ c = (unsigned char)newpass[length - 1];
++ if (digits && isascii(c) && isdigit(c)) digits--;
++ }
+
+ /* Count the number of different character classes we've seen. We assume
+ * that there are no non-ASCII characters for digits. */
+diff -urNp pam_passwdqc-1.0.5-orig/passwdqc.h pam_passwdqc-1.0.5/passwdqc.h
+--- pam_passwdqc-1.0.5-orig/passwdqc.h 2008-02-12 14:30:00.000000000 -0500
++++ pam_passwdqc-1.0.5/passwdqc.h 2009-09-25 14:08:56.214695858 -0400
+@@ -7,12 +7,15 @@
+
+ #include <pwd.h>
+
++#define FILE_LEN 4096 /* Max file len = 4096 */
++
+ typedef struct {
+ int min[5], max;
+ int passphrase_words;
+ int match_length;
+ int similar_deny;
+ int random_bits;
++ int firstupper_lastdigit_check;
+ } passwdqc_params_t;
+
+ extern char _passwdqc_wordset_4k[0x1000][6];
+diff -urNp pam_passwdqc-1.0.5-orig/README pam_passwdqc-1.0.5/README
+--- pam_passwdqc-1.0.5-orig/README 2008-02-12 14:43:33.000000000 -0500
++++ pam_passwdqc-1.0.5/README 2009-09-28 12:12:40.251016423 -0400
+@@ -41,9 +41,12 @@ words (see the "passphrase" option below
+ N3 and N4 are used for passwords consisting of characters from three
+ and four character classes, respectively.
+
++ disable_firstupper_lastdigit_check []
++
+ When calculating the number of character classes, upper-case letters
+ used as the first character and digits used as the last character of a
+-password are not counted.
++password are not counted. To disable this, you can specify
++"disable_firstupper_lastdigit_check".
+
+ In addition to being sufficiently long, passwords are required to
+ contain enough different characters for the character classes and
+@@ -142,6 +145,14 @@ This disables user interaction within pa
+ the only difference between "use_first_pass" and "use_authtok" is that
+ the former is incompatible with "ask_oldauthtok".
+
++ oldpass_prompt_file=absolute-file-path []
++ newpass_prompt_file=abosulte-file-path []
++
++The options "oldpass_prompt_file" and "newpass_prompt_file" can be used
++to override prompts while requesting old password and new password,
++respectively. The maximum size of the prompt files can be 4096
++characters at present. If the file size is more than 4096 characters, the
++output will be truncated to 4096 characters.
+ --
+ Solar Designer <solar at openwall.com>
+
diff --git a/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch b/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch
new file mode 100644
index 0000000000..536fba1329
--- /dev/null
+++ b/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch
@@ -0,0 +1,11 @@
+--- pam_passwdqc-1.0.5/Makefile.orig 2012-10-02 20:53:55.443592886 +0900
++++ pam_passwdqc-1.0.5/Makefile 2012-10-02 20:54:19.076108001 +0900
+@@ -2,7 +2,7 @@
+ # Copyright (c) 2000-2003,2005 by Solar Designer. See LICENSE.
+ #
+
+-CC = gcc
++#CC = gcc
+ LD = $(CC)
+ RM = rm -f
+ MKDIR = mkdir -p
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
new file mode 100644
index 0000000000..4add367d5c
--- /dev/null
+++ b/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Pluggable password quality-control module."
+DESCRIPTION = "pam_passwdqc is a simple password strength checking module for \
+PAM-aware password changing programs, such as passwd(1). In addition \
+to checking regular passwords, it offers support for passphrases and \
+can provide randomly generated passwords. All features are optional \
+and can be (re-)configured without rebuilding."
+
+HOMEPAGE = "http://www.openwall.com/passwdqc/"
+SECTION = "System Environment/Base"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e284d013ef08e66d4737f446c5890550"
+
+SRC_URI = "http://www.openwall.com/pam/modules/pam_passwdqc/pam_passwdqc-1.0.5.tar.gz \
+ file://1000patch-219201.patch \
+ file://7000Makefile-fix-CC.patch \
+ "
+SRC_URI[md5sum] = "cd9c014f736158b1a60384a8e2bdc28a"
+SRC_URI[sha256sum] = "32528ddf7d8219c788b6e7702361611ff16c6340b6dc0f418ff164aadc4a4a88"
+
+
+S = "${WORKDIR}/pam_passwdqc-${PV}"
+
+DEPENDS = "libpam"
+
+EXTRA_OEMAKE = "CFLAGS="${CFLAGS} -Wall -fPIC -DHAVE_SHADOW""
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+FILES_${PN} += "/lib/security/pam_passwdqc.so"
+FILES_${PN}-dbg += "/lib/security/.debug"
+
diff --git a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb
index 00a9635c39..5a58389ab7 100644
--- a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb
+++ b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb
@@ -10,7 +10,7 @@ SRC_URI[sha256sum] = "1e44049168d1ce55fd56c175f61206955254df0f385455f2a20ec7e8a0
PR = "r3"
-inherit autotools systemd
+inherit autotools systemd pkgconfig
EXTRA_OECONF = " \
--disable-libusb \
diff --git a/meta-oe/recipes-support/picocom/picocom_1.6.bb b/meta-oe/recipes-support/picocom/picocom_1.7.bb
index 6b5200cdda..8141106bf0 100644
--- a/meta-oe/recipes-support/picocom/picocom_1.6.bb
+++ b/meta-oe/recipes-support/picocom/picocom_1.7.bb
@@ -4,7 +4,10 @@ LICENSE = "GPLv2+"
HOMEPAGE = "http://code.google.com/p/picocom/"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=393a5ca445f6965873eca0259a17f833"
-SRC_URI = "http://picocom.googlecode.com/files/picocom-1.6.tar.gz"
+SRC_URI = "http://picocom.googlecode.com/files/picocom-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "8eaba1d31407e8408674d6e57af447ef"
+SRC_URI[sha256sum] = "d0f31c8f7a215a76922d30c81a52b9a2348c89e02a84935517002b3bc2c1129e"
CPPFLAGS_append = '-DVERSION_STR=\\"${PV}\\" -DUUCP_LOCK_DIR=\\"/var/lock\\" -DHIGH_BAUD'
@@ -13,5 +16,3 @@ do_install () {
install -m 0755 ${PN} pcasc pcxm pcym pczm ${D}${bindir}/
}
-SRC_URI[md5sum] = "426c3d30b82cbc80b0dafdccd6020c6c"
-SRC_URI[sha256sum] = "df5774072de805ff06c6b1420dbcc932b1b00e919b49e22a7be14bcad5a0b3a1"
diff --git a/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch b/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch
new file mode 100644
index 0000000000..f66e52881c
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch
@@ -0,0 +1,16 @@
+Fix builds with ${B} != ${S}
+
+Upstream-Status: Pending
+
+RP 2014/7/17
+
+Index: libotr-4.0.0/toolkit/Makefile.am
+===================================================================
+--- libotr-4.0.0.orig/toolkit/Makefile.am 2014-07-16 18:09:59.777858022 +0000
++++ libotr-4.0.0/toolkit/Makefile.am 2014-07-17 06:28:51.359066155 +0000
+@@ -1,4 +1,4 @@
+-INCLUDES = -I../src @LIBGCRYPT_CFLAGS@
++INCLUDES = -I$(top_srcdir)/src @LIBGCRYPT_CFLAGS@
+
+ noinst_HEADERS = aes.h ctrmode.h parse.h sesskeys.h readotr.h sha1hmac.h
+
diff --git a/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb b/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb
index 7396efd2d4..dd9eeab7a9 100644
--- a/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb
+++ b/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb
@@ -4,8 +4,9 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
DEPENDS = "libgcrypt libgpg-error"
-SRC_URI = "http://www.cypherpunks.ca/otr/${P}.tar.gz \
+SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \
file://fix_qa-issue_include.patch \
+ file://sepbuild.patch \
"
SRC_URI[md5sum] = "00979dca82d70383fcd1b01f3974363c"
diff --git a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb
index cf3c680d2e..18dbe0959f 100644
--- a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb
+++ b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb
@@ -2,9 +2,9 @@ SUMMARY = "(OTR) Messaging allows you to have private conversations over instant
HOMEPAGE = "http://www.cypherpunks.ca/otr/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
-DEPENDS = "libgcrypt libotr pidgin"
+DEPENDS = "libgcrypt libotr pidgin intltool-native"
-SRC_URI = "http://www.cypherpunks.ca/otr/${P}.tar.gz \
+SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \
file://ignore_extra-portability_warnings.patch \
"
diff --git a/meta-oe/recipes-support/pidgin/pidgin.inc b/meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb
index 0973b21ac8..b635352374 100644
--- a/meta-oe/recipes-support/pidgin/pidgin.inc
+++ b/meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb
@@ -2,23 +2,38 @@ DESCRIPTION = "multi-protocol instant messaging client"
SECTION = "x11/network"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus"
-INC_PR = "r3"
+DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus intltool-native farsight2 libidn"
inherit autotools gettext pkgconfig gconf perlnative
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
+ file://sanitize-configure.ac.patch \
+ file://pidgin.desktop-set-icon.patch \
+ file://purple-OE-branding-25.patch \
+ file://pidgin-cross-python-265.patch \
+"
+
+SRC_URI[md5sum] = "10a4a69d077893f6dd3438cd8af94e81"
+SRC_URI[sha256sum] = "dc362ed8577f623eea4554a79e917073aa726825074fea402f2e515f0f51f319"
+
EXTRA_OECONF = " \
- --enable-vv \
- --disable-perl \
- --disable-tcl \
- --disable-gevolution \
- --disable-schemas-install \
- --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
- --enable-gnutls=yes \
- --with-ncurses-headers=${STAGING_INCDIR} \
- --with-gnutls-includes=${STAGING_INCDIR} \
- --with-gnutls-libs=${STAGING_LIBDIR} \
+ --enable-vv \
+ --disable-perl \
+ --disable-tcl \
+ --disable-gevolution \
+ --disable-schemas-install \
+ --x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR} \
+ --enable-gnutls=yes \
+ --with-ncurses-headers=${STAGING_INCDIR} \
+ --with-gnutls-includes=${STAGING_INCDIR} \
+ --with-gnutls-libs=${STAGING_LIBDIR} \
+ --disable-gtkspell \
+ --disable-meanwhile \
+ --disable-nm \
+ --disable-screensaver \
+ --enable-nss=no \
"
do_configure_prepend() {
diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb b/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb
deleted file mode 100644
index 3ce3cc39a2..0000000000
--- a/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-require pidgin.inc
-PR = "${INC_PR}.3"
-
-DEPENDS += "farsight2 libidn"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
- file://sanitize-configure.ac.patch \
- file://pidgin.desktop-set-icon.patch \
- file://purple-OE-branding-25.patch \
- file://pidgin-cross-python-265.patch \
-"
-
-SRC_URI[md5sum] = "9bc6cf953ed7d383b215fa8487bf8829"
-SRC_URI[sha256sum] = "9722d7f199a6704e29900c80f270d9409d5c28caab77f495b68108d81ba3e19e"
-
-EXTRA_OECONF += "\
- --disable-gtkspell \
- --disable-meanwhile \
- --disable-nm \
- --disable-screensaver \
- --enable-nss=no \
-"
diff --git a/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb b/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb
new file mode 100644
index 0000000000..a833297500
--- /dev/null
+++ b/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb
@@ -0,0 +1,29 @@
+SUMMARY = "A library for using PKCS"
+DESCRIPTION = "pkcs11-helper is a library that simplifies the interaction with PKCS \
+providers for end-user applications using a simple API and optional OpenSSL \
+engine. The library allows using multiple PKCS enumerating available token \
+certificates, or selecting a certificate directly by serialized id, handling \
+card removal and card insert events, handling card ie-insert to a different \
+slot, supporting session expiration and much more all using a simple API."
+
+HOMEPAGE = "http://www.opensc-project.org/pkcs11-helper/"
+SECTION = "Development/Libraries"
+
+LICENSE = "GPLv2 & BSD"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=4948810631bcac142af53d32df5b6ee1 \
+ file://COPYING.GPL;md5=8a71d0475d08eee76d8b6d0c6dbec543 \
+ file://COPYING.BSD;md5=f79f90ea7a106796af80b5d05f1f8da1 \
+"
+SRC_URI = "git://github.com/OpenSC/${BPN}.git"
+SRC_URI[md5sum] = "9f62af9f475901b89355266141306673"
+SRC_URI[sha256sum] = "494ec59c93e7c56c528f335d9353849e2e7c94a6b1b41c89604694e738113386"
+
+S = "${WORKDIR}/git"
+SRCREV = "e7adf8f35be232a4f04c53b4ac409be52792093e"
+
+DEPENDS = "zlib nettle gnutls gmp openssl"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-static"
diff --git a/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb
index 644e318014..014ba7cdda 100644
--- a/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb
+++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \
inherit allarch
-SRC_URI = "http://poppler.freedesktop.org/${PN}-${PV}.tar.gz"
+SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz"
SRC_URI[md5sum] = "a8a7ca808827dd674faba6e4fc73b471"
SRC_URI[sha256sum] = "f306901dfa5bda90cd6663d4eedb1c773c3c709de78018c79f1282b2c8f90afa"
diff --git a/meta-oe/recipes-support/poppler/poppler_0.22.4.bb b/meta-oe/recipes-support/poppler/poppler_0.26.5.bb
index 7aa0dfc909..d11963961c 100644
--- a/meta-oe/recipes-support/poppler/poppler_0.22.4.bb
+++ b/meta-oe/recipes-support/poppler/poppler_0.26.5.bb
@@ -3,14 +3,19 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = " \
- http://poppler.freedesktop.org/${PN}-${PV}.tar.gz \
+ http://poppler.freedesktop.org/${BP}.tar.xz \
"
-SRC_URI[md5sum] = "49d55921ce795778c7231fe9f2fe923b"
-SRC_URI[sha256sum] = "4f438f34e63265e2da8427f3423f940ff41c26088922a9f5d976f795c1dce13b"
+SRC_URI[md5sum] = "786c943eee550e3a977c181e7778b1c8"
+SRC_URI[sha256sum] = "de7de5fa337431e5d1f372e8577b3707322f1dbc1dc28a70f2927476f134d1ee"
-DEPENDS = "fontconfig jpeg zlib gtk+ cairo tiff lcms"
+DEPENDS = "fontconfig zlib cairo lcms"
-inherit autotools pkgconfig
+inherit autotools pkgconfig gtk-doc
+
+PACKAGECONFIG ??= "jpeg png tiff"
+PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg"
+PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng"
+PACKAGECONFIG[tiff] = "--enable-libtiff,--disable-libtiff,tiff"
EXTRA_OECONF = "\
--enable-xpdf-headers \
diff --git a/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch b/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
new file mode 100644
index 0000000000..d08ec6af1d
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
@@ -0,0 +1,43 @@
+From d52e330be895bb8c5f0fb3e2884766acbd942a85 Mon Sep 17 00:00:00 2001
+From: Philip Balister <philip@balister.org>
+Date: Tue, 1 Jul 2014 09:40:44 -0400
+Subject: [PATCH] Use pkg-config for libxml2 detection.
+
+Upstream-Status: Inappropriate [configuration]
+
+xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS.
+
+Signed-off-by: Philip Balister <philip@balister.org>
+---
+ configure.in | 15 ++-------------
+ 1 file changed, 2 insertions(+), 13 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index f8bf466..1f4fabf 100644
+--- a/configure.in
++++ b/configure.in
+@@ -734,19 +734,8 @@ PGAC_ARG_BOOL(with, libxml, no, [build with XML support],
+ [AC_DEFINE([USE_LIBXML], 1, [Define to 1 to build with XML support. (--with-libxml)])])
+
+ if test "$with_libxml" = yes ; then
+- AC_CHECK_PROGS(XML2_CONFIG, xml2-config)
+- if test -n "$XML2_CONFIG"; then
+- for pgac_option in `$XML2_CONFIG --cflags`; do
+- case $pgac_option in
+- -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";;
+- esac
+- done
+- for pgac_option in `$XML2_CONFIG --libs`; do
+- case $pgac_option in
+- -L*) LDFLAGS="$LDFLAGS $pgac_option";;
+- esac
+- done
+- fi
++ CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "libxml-2.0" 2>&1`"
++ LIBS="`pkg-config --short-errors --print-errors --libs "libxml-2.0" 2>&1` $LIBS"
+ fi
+
+ AC_SUBST(with_libxml)
+--
+1.8.3.1
+
diff --git a/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch b/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch
new file mode 100644
index 0000000000..c8b4c80aa3
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch
@@ -0,0 +1,605 @@
+From 12bbce15d93d7692ddff1405aa04b67f8a327f57 Mon Sep 17 00:00:00 2001
+From: Noah Misch <noah@leadboat.com>
+Date: Mon, 17 Feb 2014 09:33:31 -0500
+Subject: [PATCH] Predict integer overflow to avoid buffer overruns.
+
+commit 12bbce15d93d7692ddff1405aa04b67f8a327f57 REL9_2_STABLE
+
+Several functions, mostly type input functions, calculated an allocation
+size such that the calculation wrapped to a small positive value when
+arguments implied a sufficiently-large requirement. Writes past the end
+of the inadvertent small allocation followed shortly thereafter.
+Coverity identified the path_in() vulnerability; code inspection led to
+the rest. In passing, add check_stack_depth() to prevent stack overflow
+in related functions.
+
+Back-patch to 8.4 (all supported versions). The non-comment hstore
+changes touch code that did not exist in 8.4, so that part stops at 9.0.
+
+Noah Misch and Heikki Linnakangas, reviewed by Tom Lane.
+
+Security: CVE-2014-0064
+
+Upstream-Status: Backport
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ contrib/hstore/hstore.h | 15 ++++++++++++---
+ contrib/hstore/hstore_io.c | 21 +++++++++++++++++++++
+ contrib/hstore/hstore_op.c | 15 +++++++++++++++
+ contrib/intarray/_int.h | 2 ++
+ contrib/intarray/_int_bool.c | 9 +++++++++
+ contrib/ltree/ltree.h | 3 +++
+ contrib/ltree/ltree_io.c | 11 +++++++++++
+ contrib/ltree/ltxtquery_io.c | 13 ++++++++++++-
+ src/backend/utils/adt/geo_ops.c | 30 ++++++++++++++++++++++++++++--
+ src/backend/utils/adt/tsquery.c | 7 ++++++-
+ src/backend/utils/adt/tsquery_util.c | 5 +++++
+ src/backend/utils/adt/txid.c | 15 +++++----------
+ src/backend/utils/adt/varbit.c | 32 ++++++++++++++++++++++++++++++--
+ src/include/tsearch/ts_type.h | 3 +++
+ src/include/utils/varbit.h | 7 +++++++
+ 15 files changed, 169 insertions(+), 19 deletions(-)
+
+diff --git a/contrib/hstore/hstore.h b/contrib/hstore/hstore.h
+index 8906397..4e55f6e 100644
+--- a/contrib/hstore/hstore.h
++++ b/contrib/hstore/hstore.h
+@@ -49,9 +49,12 @@ typedef struct
+ } HStore;
+
+ /*
+- * it's not possible to get more than 2^28 items into an hstore,
+- * so we reserve the top few bits of the size field. See hstore_compat.c
+- * for one reason why. Some bits are left for future use here.
++ * It's not possible to get more than 2^28 items into an hstore, so we reserve
++ * the top few bits of the size field. See hstore_compat.c for one reason
++ * why. Some bits are left for future use here. MaxAllocSize makes the
++ * practical count limit slightly more than 2^28 / 3, or INT_MAX / 24, the
++ * limit for an hstore full of 4-byte keys and null values. Therefore, we
++ * don't explicitly check the format-imposed limit.
+ */
+ #define HS_FLAG_NEWVERSION 0x80000000
+
+@@ -59,6 +62,12 @@ typedef struct
+ #define HS_SETCOUNT(hsp_,c_) ((hsp_)->size_ = (c_) | HS_FLAG_NEWVERSION)
+
+
++/*
++ * "x" comes from an existing HS_COUNT() (as discussed, <= INT_MAX/24) or a
++ * Pairs array length (due to MaxAllocSize, <= INT_MAX/40). "lenstr" is no
++ * more than INT_MAX, that extreme case arising in hstore_from_arrays().
++ * Therefore, this calculation is limited to about INT_MAX / 5 + INT_MAX.
++ */
+ #define HSHRDSIZE (sizeof(HStore))
+ #define CALCDATASIZE(x, lenstr) ( (x) * 2 * sizeof(HEntry) + HSHRDSIZE + (lenstr) )
+
+diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c
+index dde6c4b..5bcdc95 100644
+--- a/contrib/hstore/hstore_io.c
++++ b/contrib/hstore/hstore_io.c
+@@ -9,6 +9,7 @@
+ #include "funcapi.h"
+ #include "libpq/pqformat.h"
+ #include "utils/lsyscache.h"
++#include "utils/memutils.h"
+ #include "utils/typcache.h"
+
+ #include "hstore.h"
+@@ -437,6 +438,11 @@ hstore_recv(PG_FUNCTION_ARGS)
+ PG_RETURN_POINTER(out);
+ }
+
++ if (pcount < 0 || pcount > MaxAllocSize / sizeof(Pairs))
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)",
++ pcount, (int) (MaxAllocSize / sizeof(Pairs)))));
+ pairs = palloc(pcount * sizeof(Pairs));
+
+ for (i = 0; i < pcount; ++i)
+@@ -552,6 +558,13 @@ hstore_from_arrays(PG_FUNCTION_ARGS)
+ TEXTOID, -1, false, 'i',
+ &key_datums, &key_nulls, &key_count);
+
++ /* see discussion in hstoreArrayToPairs() */
++ if (key_count > MaxAllocSize / sizeof(Pairs))
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)",
++ key_count, (int) (MaxAllocSize / sizeof(Pairs)))));
++
+ /* value_array might be NULL */
+
+ if (PG_ARGISNULL(1))
+@@ -674,6 +687,13 @@ hstore_from_array(PG_FUNCTION_ARGS)
+
+ count = in_count / 2;
+
++ /* see discussion in hstoreArrayToPairs() */
++ if (count > MaxAllocSize / sizeof(Pairs))
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)",
++ count, (int) (MaxAllocSize / sizeof(Pairs)))));
++
+ pairs = palloc(count * sizeof(Pairs));
+
+ for (i = 0; i < count; ++i)
+@@ -805,6 +825,7 @@ hstore_from_record(PG_FUNCTION_ARGS)
+ my_extra->ncolumns = ncolumns;
+ }
+
++ Assert(ncolumns <= MaxTupleAttributeNumber); /* thus, no overflow */
+ pairs = palloc(ncolumns * sizeof(Pairs));
+
+ if (rec)
+diff --git a/contrib/hstore/hstore_op.c b/contrib/hstore/hstore_op.c
+index fee2c3c..8de175a 100644
+--- a/contrib/hstore/hstore_op.c
++++ b/contrib/hstore/hstore_op.c
+@@ -7,6 +7,7 @@
+ #include "catalog/pg_type.h"
+ #include "funcapi.h"
+ #include "utils/builtins.h"
++#include "utils/memutils.h"
+
+ #include "hstore.h"
+
+@@ -89,6 +90,19 @@ hstoreArrayToPairs(ArrayType *a, int *npairs)
+ return NULL;
+ }
+
++ /*
++ * A text array uses at least eight bytes per element, so any overflow in
++ * "key_count * sizeof(Pairs)" is small enough for palloc() to catch.
++ * However, credible improvements to the array format could invalidate
++ * that assumption. Therefore, use an explicit check rather than relying
++ * on palloc() to complain.
++ */
++ if (key_count > MaxAllocSize / sizeof(Pairs))
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)",
++ key_count, (int) (MaxAllocSize / sizeof(Pairs)))));
++
+ key_pairs = palloc(sizeof(Pairs) * key_count);
+
+ for (i = 0, j = 0; i < key_count; i++)
+@@ -647,6 +661,7 @@ hstore_slice_to_hstore(PG_FUNCTION_ARGS)
+ PG_RETURN_POINTER(out);
+ }
+
++ /* hstoreArrayToPairs() checked overflow */
+ out_pairs = palloc(sizeof(Pairs) * nkeys);
+ bufsiz = 0;
+
+diff --git a/contrib/intarray/_int.h b/contrib/intarray/_int.h
+index 11c0698..755cd9e 100644
+--- a/contrib/intarray/_int.h
++++ b/contrib/intarray/_int.h
+@@ -5,6 +5,7 @@
+ #define ___INT_H__
+
+ #include "utils/array.h"
++#include "utils/memutils.h"
+
+ /* number ranges for compression */
+ #define MAXNUMRANGE 100
+@@ -137,6 +138,7 @@ typedef struct QUERYTYPE
+
+ #define HDRSIZEQT offsetof(QUERYTYPE, items)
+ #define COMPUTESIZE(size) ( HDRSIZEQT + (size) * sizeof(ITEM) )
++#define QUERYTYPEMAXITEMS ((MaxAllocSize - HDRSIZEQT) / sizeof(ITEM))
+ #define GETQUERY(x) ( (x)->items )
+
+ /* "type" codes for ITEM */
+diff --git a/contrib/intarray/_int_bool.c b/contrib/intarray/_int_bool.c
+index 4e63f6d..62294d1 100644
+--- a/contrib/intarray/_int_bool.c
++++ b/contrib/intarray/_int_bool.c
+@@ -451,6 +451,9 @@ boolop(PG_FUNCTION_ARGS)
+ static void
+ findoprnd(ITEM *ptr, int4 *pos)
+ {
++ /* since this function recurses, it could be driven to stack overflow. */
++ check_stack_depth();
++
+ #ifdef BS_DEBUG
+ elog(DEBUG3, (ptr[*pos].type == OPR) ?
+ "%d %c" : "%d %d", *pos, ptr[*pos].val);
+@@ -511,7 +514,13 @@ bqarr_in(PG_FUNCTION_ARGS)
+ (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+ errmsg("empty query")));
+
++ if (state.num > QUERYTYPEMAXITEMS)
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("number of query items (%d) exceeds the maximum allowed (%d)",
++ state.num, (int) QUERYTYPEMAXITEMS)));
+ commonlen = COMPUTESIZE(state.num);
++
+ query = (QUERYTYPE *) palloc(commonlen);
+ SET_VARSIZE(query, commonlen);
+ query->size = state.num;
+diff --git a/contrib/ltree/ltree.h b/contrib/ltree/ltree.h
+index aec4458..49e9907 100644
+--- a/contrib/ltree/ltree.h
++++ b/contrib/ltree/ltree.h
+@@ -5,6 +5,7 @@
+
+ #include "fmgr.h"
+ #include "tsearch/ts_locale.h"
++#include "utils/memutils.h"
+
+ typedef struct
+ {
+@@ -111,6 +112,8 @@ typedef struct
+
+ #define HDRSIZEQT MAXALIGN(VARHDRSZ + sizeof(int4))
+ #define COMPUTESIZE(size,lenofoperand) ( HDRSIZEQT + (size) * sizeof(ITEM) + (lenofoperand) )
++#define LTXTQUERY_TOO_BIG(size,lenofoperand) \
++ ((size) > (MaxAllocSize - HDRSIZEQT - (lenofoperand)) / sizeof(ITEM))
+ #define GETQUERY(x) (ITEM*)( (char*)(x)+HDRSIZEQT )
+ #define GETOPERAND(x) ( (char*)GETQUERY(x) + ((ltxtquery*)x)->size * sizeof(ITEM) )
+
+diff --git a/contrib/ltree/ltree_io.c b/contrib/ltree/ltree_io.c
+index 3e88b81..d64debb 100644
+--- a/contrib/ltree/ltree_io.c
++++ b/contrib/ltree/ltree_io.c
+@@ -8,6 +8,7 @@
+ #include <ctype.h>
+
+ #include "ltree.h"
++#include "utils/memutils.h"
+ #include "crc32.h"
+
+ PG_FUNCTION_INFO_V1(ltree_in);
+@@ -64,6 +65,11 @@ ltree_in(PG_FUNCTION_ARGS)
+ ptr += charlen;
+ }
+
++ if (num + 1 > MaxAllocSize / sizeof(nodeitem))
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("number of levels (%d) exceeds the maximum allowed (%d)",
++ num + 1, (int) (MaxAllocSize / sizeof(nodeitem)))));
+ list = lptr = (nodeitem *) palloc(sizeof(nodeitem) * (num + 1));
+ ptr = buf;
+ while (*ptr)
+@@ -228,6 +234,11 @@ lquery_in(PG_FUNCTION_ARGS)
+ }
+
+ num++;
++ if (num > MaxAllocSize / ITEMSIZE)
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("number of levels (%d) exceeds the maximum allowed (%d)",
++ num, (int) (MaxAllocSize / ITEMSIZE))));
+ curqlevel = tmpql = (lquery_level *) palloc0(ITEMSIZE * num);
+ ptr = buf;
+ while (*ptr)
+diff --git a/contrib/ltree/ltxtquery_io.c b/contrib/ltree/ltxtquery_io.c
+index 826f4e1..13ea58d 100644
+--- a/contrib/ltree/ltxtquery_io.c
++++ b/contrib/ltree/ltxtquery_io.c
+@@ -9,6 +9,7 @@
+
+ #include "crc32.h"
+ #include "ltree.h"
++#include "miscadmin.h"
+
+ PG_FUNCTION_INFO_V1(ltxtq_in);
+ Datum ltxtq_in(PG_FUNCTION_ARGS);
+@@ -213,6 +214,9 @@ makepol(QPRS_STATE *state)
+ int4 lenstack = 0;
+ uint16 flag = 0;
+
++ /* since this function recurses, it could be driven to stack overflow */
++ check_stack_depth();
++
+ while ((type = gettoken_query(state, &val, &lenval, &strval, &flag)) != END)
+ {
+ switch (type)
+@@ -277,6 +281,9 @@ makepol(QPRS_STATE *state)
+ static void
+ findoprnd(ITEM *ptr, int4 *pos)
+ {
++ /* since this function recurses, it could be driven to stack overflow. */
++ check_stack_depth();
++
+ if (ptr[*pos].type == VAL || ptr[*pos].type == VALTRUE)
+ {
+ ptr[*pos].left = 0;
+@@ -341,8 +348,12 @@ queryin(char *buf)
+ errmsg("syntax error"),
+ errdetail("Empty query.")));
+
+- /* make finish struct */
++ if (LTXTQUERY_TOO_BIG(state.num, state.sumlen))
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("ltxtquery is too large")));
+ commonlen = COMPUTESIZE(state.num, state.sumlen);
++
+ query = (ltxtquery *) palloc(commonlen);
+ SET_VARSIZE(query, commonlen);
+ query->size = state.num;
+diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c
+index ac7b4b8..7ebcaaa 100644
+--- a/src/backend/utils/adt/geo_ops.c
++++ b/src/backend/utils/adt/geo_ops.c
+@@ -1403,6 +1403,7 @@ path_in(PG_FUNCTION_ARGS)
+ char *s;
+ int npts;
+ int size;
++ int base_size;
+ int depth = 0;
+
+ if ((npts = pair_count(str, ',')) <= 0)
+@@ -1421,7 +1422,15 @@ path_in(PG_FUNCTION_ARGS)
+ depth++;
+ }
+
+- size = offsetof(PATH, p[0]) +sizeof(path->p[0]) * npts;
++ base_size = sizeof(path->p[0]) * npts;
++ size = offsetof(PATH, p[0]) + base_size;
++
++ /* Check for integer overflow */
++ if (base_size / npts != sizeof(path->p[0]) || size <= base_size)
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("too many points requested")));
++
+ path = (PATH *) palloc(size);
+
+ SET_VARSIZE(path, size);
+@@ -3465,6 +3474,7 @@ poly_in(PG_FUNCTION_ARGS)
+ POLYGON *poly;
+ int npts;
+ int size;
++ int base_size;
+ int isopen;
+ char *s;
+
+@@ -3473,7 +3483,15 @@ poly_in(PG_FUNCTION_ARGS)
+ (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
+ errmsg("invalid input syntax for type polygon: \"%s\"", str)));
+
+- size = offsetof(POLYGON, p[0]) +sizeof(poly->p[0]) * npts;
++ base_size = sizeof(poly->p[0]) * npts;
++ size = offsetof(POLYGON, p[0]) + base_size;
++
++ /* Check for integer overflow */
++ if (base_size / npts != sizeof(poly->p[0]) || size <= base_size)
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("too many points requested")));
++
+ poly = (POLYGON *) palloc0(size); /* zero any holes */
+
+ SET_VARSIZE(poly, size);
+@@ -4379,6 +4397,10 @@ path_poly(PG_FUNCTION_ARGS)
+ (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+ errmsg("open path cannot be converted to polygon")));
+
++ /*
++ * Never overflows: the old size fit in MaxAllocSize, and the new size is
++ * just a small constant larger.
++ */
+ size = offsetof(POLYGON, p[0]) +sizeof(poly->p[0]) * path->npts;
+ poly = (POLYGON *) palloc(size);
+
+@@ -4484,6 +4506,10 @@ poly_path(PG_FUNCTION_ARGS)
+ int size;
+ int i;
+
++ /*
++ * Never overflows: the old size fit in MaxAllocSize, and the new size is
++ * smaller by a small constant.
++ */
+ size = offsetof(PATH, p[0]) +sizeof(path->p[0]) * poly->npts;
+ path = (PATH *) palloc(size);
+
+diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c
+index 6e1f8cf..1322b5e 100644
+--- a/src/backend/utils/adt/tsquery.c
++++ b/src/backend/utils/adt/tsquery.c
+@@ -515,8 +515,13 @@ parse_tsquery(char *buf,
+ return query;
+ }
+
+- /* Pack the QueryItems in the final TSQuery struct to return to caller */
++ if (TSQUERY_TOO_BIG(list_length(state.polstr), state.sumlen))
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("tsquery is too large")));
+ commonlen = COMPUTESIZE(list_length(state.polstr), state.sumlen);
++
++ /* Pack the QueryItems in the final TSQuery struct to return to caller */
+ query = (TSQuery) palloc0(commonlen);
+ SET_VARSIZE(query, commonlen);
+ query->size = list_length(state.polstr);
+diff --git a/src/backend/utils/adt/tsquery_util.c b/src/backend/utils/adt/tsquery_util.c
+index 0724d33..9003702 100644
+--- a/src/backend/utils/adt/tsquery_util.c
++++ b/src/backend/utils/adt/tsquery_util.c
+@@ -333,6 +333,11 @@ QTN2QT(QTNode *in)
+ QTN2QTState state;
+
+ cntsize(in, &sumlen, &nnode);
++
++ if (TSQUERY_TOO_BIG(nnode, sumlen))
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("tsquery is too large")));
+ len = COMPUTESIZE(nnode, sumlen);
+
+ out = (TSQuery) palloc0(len);
+diff --git a/src/backend/utils/adt/txid.c b/src/backend/utils/adt/txid.c
+index 08a8c89..c71daaf 100644
+--- a/src/backend/utils/adt/txid.c
++++ b/src/backend/utils/adt/txid.c
+@@ -27,6 +27,7 @@
+ #include "miscadmin.h"
+ #include "libpq/pqformat.h"
+ #include "utils/builtins.h"
++#include "utils/memutils.h"
+ #include "utils/snapmgr.h"
+
+
+@@ -66,6 +67,8 @@ typedef struct
+
+ #define TXID_SNAPSHOT_SIZE(nxip) \
+ (offsetof(TxidSnapshot, xip) + sizeof(txid) * (nxip))
++#define TXID_SNAPSHOT_MAX_NXIP \
++ ((MaxAllocSize - offsetof(TxidSnapshot, xip)) / sizeof(txid))
+
+ /*
+ * Epoch values from xact.c
+@@ -445,20 +448,12 @@ txid_snapshot_recv(PG_FUNCTION_ARGS)
+ txid last = 0;
+ int nxip;
+ int i;
+- int avail;
+- int expect;
+ txid xmin,
+ xmax;
+
+- /*
+- * load nxip and check for nonsense.
+- *
+- * (nxip > avail) check is against int overflows in 'expect'.
+- */
++ /* load and validate nxip */
+ nxip = pq_getmsgint(buf, 4);
+- avail = buf->len - buf->cursor;
+- expect = 8 + 8 + nxip * 8;
+- if (nxip < 0 || nxip > avail || expect > avail)
++ if (nxip < 0 || nxip > TXID_SNAPSHOT_MAX_NXIP)
+ goto bad_format;
+
+ xmin = pq_getmsgint64(buf);
+diff --git a/src/backend/utils/adt/varbit.c b/src/backend/utils/adt/varbit.c
+index 2bcf5b8..0deefda 100644
+--- a/src/backend/utils/adt/varbit.c
++++ b/src/backend/utils/adt/varbit.c
+@@ -148,12 +148,22 @@ bit_in(PG_FUNCTION_ARGS)
+ sp = input_string;
+ }
+
++ /*
++ * Determine bitlength from input string. MaxAllocSize ensures a regular
++ * input is small enough, but we must check hex input.
++ */
+ slen = strlen(sp);
+- /* Determine bitlength from input string */
+ if (bit_not_hex)
+ bitlen = slen;
+ else
++ {
++ if (slen > VARBITMAXLEN / 4)
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("bit string length exceeds the maximum allowed (%d)",
++ VARBITMAXLEN)));
+ bitlen = slen * 4;
++ }
+
+ /*
+ * Sometimes atttypmod is not supplied. If it is supplied we need to make
+@@ -450,12 +460,22 @@ varbit_in(PG_FUNCTION_ARGS)
+ sp = input_string;
+ }
+
++ /*
++ * Determine bitlength from input string. MaxAllocSize ensures a regular
++ * input is small enough, but we must check hex input.
++ */
+ slen = strlen(sp);
+- /* Determine bitlength from input string */
+ if (bit_not_hex)
+ bitlen = slen;
+ else
++ {
++ if (slen > VARBITMAXLEN / 4)
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("bit string length exceeds the maximum allowed (%d)",
++ VARBITMAXLEN)));
+ bitlen = slen * 4;
++ }
+
+ /*
+ * Sometimes atttypmod is not supplied. If it is supplied we need to make
+@@ -535,6 +555,9 @@ varbit_in(PG_FUNCTION_ARGS)
+ /*
+ * varbit_out -
+ * Prints the string as bits to preserve length accurately
++ *
++ * XXX varbit_recv() and hex input to varbit_in() can load a value that this
++ * cannot emit. Consider using hex output for such values.
+ */
+ Datum
+ varbit_out(PG_FUNCTION_ARGS)
+@@ -944,6 +967,11 @@ bit_catenate(VarBit *arg1, VarBit *arg2)
+ bitlen1 = VARBITLEN(arg1);
+ bitlen2 = VARBITLEN(arg2);
+
++ if (bitlen1 > VARBITMAXLEN - bitlen2)
++ ereport(ERROR,
++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
++ errmsg("bit string length exceeds the maximum allowed (%d)",
++ VARBITMAXLEN)));
+ bytelen = VARBITTOTALLEN(bitlen1 + bitlen2);
+
+ result = (VarBit *) palloc(bytelen);
+diff --git a/src/include/tsearch/ts_type.h b/src/include/tsearch/ts_type.h
+index 3adc336..9ee5610 100644
+--- a/src/include/tsearch/ts_type.h
++++ b/src/include/tsearch/ts_type.h
+@@ -13,6 +13,7 @@
+ #define _PG_TSTYPE_H_
+
+ #include "fmgr.h"
++#include "utils/memutils.h"
+ #include "utils/pg_crc.h"
+
+
+@@ -244,6 +245,8 @@ typedef TSQueryData *TSQuery;
+ * QueryItems, and lenofoperand is the total length of all operands
+ */
+ #define COMPUTESIZE(size, lenofoperand) ( HDRSIZETQ + (size) * sizeof(QueryItem) + (lenofoperand) )
++#define TSQUERY_TOO_BIG(size, lenofoperand) \
++ ((size) > (MaxAllocSize - HDRSIZETQ - (lenofoperand)) / sizeof(QueryItem))
+
+ /* Returns a pointer to the first QueryItem in a TSQuery */
+ #define GETQUERY(x) ((QueryItem*)( (char*)(x)+HDRSIZETQ ))
+diff --git a/src/include/utils/varbit.h b/src/include/utils/varbit.h
+index 52dca8b..61531a8 100644
+--- a/src/include/utils/varbit.h
++++ b/src/include/utils/varbit.h
+@@ -15,6 +15,8 @@
+ #ifndef VARBIT_H
+ #define VARBIT_H
+
++#include <limits.h>
++
+ #include "fmgr.h"
+
+ /*
+@@ -53,6 +55,11 @@ typedef struct
+ /* Number of bytes needed to store a bit string of a given length */
+ #define VARBITTOTALLEN(BITLEN) (((BITLEN) + BITS_PER_BYTE-1)/BITS_PER_BYTE + \
+ VARHDRSZ + VARBITHDRSZ)
++/*
++ * Maximum number of bits. Several code sites assume no overflow from
++ * computing bitlen + X; VARBITTOTALLEN() has the largest such X.
++ */
++#define VARBITMAXLEN (INT_MAX - BITS_PER_BYTE + 1)
+ /* pointer beyond the end of the bit string (like end() in STL containers) */
+ #define VARBITEND(PTR) (((bits8 *) (PTR)) + VARSIZE(PTR))
+ /* Mask that will cover exactly one byte, i.e. BITS_PER_BYTE bits */
+--
+1.7.5.4
+
diff --git a/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch b/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch
new file mode 100644
index 0000000000..abbe142495
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch
@@ -0,0 +1,273 @@
+From 15a8f97b9d16aaf659f58c981242b9da591cf24c Mon Sep 17 00:00:00 2001
+From: Noah Misch <noah@leadboat.com>
+Date: Mon, 17 Feb 2014 09:33:31 -0500
+Subject: [PATCH] Shore up ADMIN OPTION restrictions.
+
+commit 15a8f97b9d16aaf659f58c981242b9da591cf24c REL9_2_STABLE
+
+Granting a role without ADMIN OPTION is supposed to prevent the grantee
+from adding or removing members from the granted role. Issuing SET ROLE
+before the GRANT bypassed that, because the role itself had an implicit
+right to add or remove members. Plug that hole by recognizing that
+implicit right only when the session user matches the current role.
+Additionally, do not recognize it during a security-restricted operation
+or during execution of a SECURITY DEFINER function. The restriction on
+SECURITY DEFINER is not security-critical. However, it seems best for a
+user testing his own SECURITY DEFINER function to see the same behavior
+others will see. Back-patch to 8.4 (all supported versions).
+
+The SQL standards do not conflate roles and users as PostgreSQL does;
+only SQL roles have members, and only SQL users initiate sessions. An
+application using PostgreSQL users and roles as SQL users and roles will
+never attempt to grant membership in the role that is the session user,
+so the implicit right to add or remove members will never arise.
+
+The security impact was mostly that a role member could revoke access
+from others, contrary to the wishes of his own grantor. Unapproved role
+member additions are less notable, because the member can still largely
+achieve that by creating a view or a SECURITY DEFINER function.
+
+Reviewed by Andres Freund and Tom Lane. Reported, independently, by
+Jonas Sundman and Noah Misch.
+
+Security: CVE-2014-0060
+
+
+Upstream-Status: Backport
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ doc/src/sgml/ref/grant.sgml | 12 ++++---
+ src/backend/commands/user.c | 11 ++++++-
+ src/backend/utils/adt/acl.c | 50 ++++++++++++++++++++++++------
+ src/test/regress/expected/privileges.out | 36 +++++++++++++++++++++-
+ src/test/regress/sql/privileges.sql | 29 ++++++++++++++++-
+ 5 files changed, 120 insertions(+), 18 deletions(-)
+
+diff --git a/doc/src/sgml/ref/grant.sgml b/doc/src/sgml/ref/grant.sgml
+index fb81af4..2b5a843 100644
+--- a/doc/src/sgml/ref/grant.sgml
++++ b/doc/src/sgml/ref/grant.sgml
+@@ -396,11 +396,13 @@ GRANT <replaceable class="PARAMETER">role_name</replaceable> [, ...] TO <replace
+ <para>
+ If <literal>WITH ADMIN OPTION</literal> is specified, the member can
+ in turn grant membership in the role to others, and revoke membership
+- in the role as well. Without the admin option, ordinary users cannot do
+- that. However,
+- database superusers can grant or revoke membership in any role to anyone.
+- Roles having <literal>CREATEROLE</> privilege can grant or revoke
+- membership in any role that is not a superuser.
++ in the role as well. Without the admin option, ordinary users cannot
++ do that. A role is not considered to hold <literal>WITH ADMIN
++ OPTION</literal> on itself, but it may grant or revoke membership in
++ itself from a database session where the session user matches the
++ role. Database superusers can grant or revoke membership in any role
++ to anyone. Roles having <literal>CREATEROLE</> privilege can grant
++ or revoke membership in any role that is not a superuser.
+ </para>
+
+ <para>
+diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c
+index a22092c..39bf172 100644
+--- a/src/backend/commands/user.c
++++ b/src/backend/commands/user.c
+@@ -1334,7 +1334,16 @@ AddRoleMems(const char *rolename, Oid roleid,
+ rolename)));
+ }
+
+- /* XXX not sure about this check */
++ /*
++ * The role membership grantor of record has little significance at
++ * present. Nonetheless, inasmuch as users might look to it for a crude
++ * audit trail, let only superusers impute the grant to a third party.
++ *
++ * Before lifting this restriction, give the member == role case of
++ * is_admin_of_role() a fresh look. Ensure that the current role cannot
++ * use an explicit grantor specification to take advantage of the session
++ * user's self-admin right.
++ */
+ if (grantorId != GetUserId() && !superuser())
+ ereport(ERROR,
+ (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
+diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c
+index 1d6ae8b..9a52edb 100644
+--- a/src/backend/utils/adt/acl.c
++++ b/src/backend/utils/adt/acl.c
+@@ -4580,6 +4580,11 @@ pg_role_aclcheck(Oid role_oid, Oid roleid, AclMode mode)
+ {
+ if (mode & ACL_GRANT_OPTION_FOR(ACL_CREATE))
+ {
++ /*
++ * XXX For roleid == role_oid, is_admin_of_role() also examines the
++ * session and call stack. That suits two-argument pg_has_role(), but
++ * it gives the three-argument version a lamentable whimsy.
++ */
+ if (is_admin_of_role(roleid, role_oid))
+ return ACLCHECK_OK;
+ }
+@@ -4897,11 +4902,9 @@ is_member_of_role_nosuper(Oid member, Oid role)
+
+
+ /*
+- * Is member an admin of role (directly or indirectly)? That is, is it
+- * a member WITH ADMIN OPTION?
+- *
+- * We could cache the result as for is_member_of_role, but currently this
+- * is not used in any performance-critical paths, so we don't.
++ * Is member an admin of role? That is, is member the role itself (subject to
++ * restrictions below), a member (directly or indirectly) WITH ADMIN OPTION,
++ * or a superuser?
+ */
+ bool
+ is_admin_of_role(Oid member, Oid role)
+@@ -4910,14 +4913,41 @@ is_admin_of_role(Oid member, Oid role)
+ List *roles_list;
+ ListCell *l;
+
+- /* Fast path for simple case */
+- if (member == role)
+- return true;
+-
+- /* Superusers have every privilege, so are part of every role */
+ if (superuser_arg(member))
+ return true;
+
++ if (member == role)
++ /*
++ * A role can admin itself when it matches the session user and we're
++ * outside any security-restricted operation, SECURITY DEFINER or
++ * similar context. SQL-standard roles cannot self-admin. However,
++ * SQL-standard users are distinct from roles, and they are not
++ * grantable like roles: PostgreSQL's role-user duality extends the
++ * standard. Checking for a session user match has the effect of
++ * letting a role self-admin only when it's conspicuously behaving
++ * like a user. Note that allowing self-admin under a mere SET ROLE
++ * would make WITH ADMIN OPTION largely irrelevant; any member could
++ * SET ROLE to issue the otherwise-forbidden command.
++ *
++ * Withholding self-admin in a security-restricted operation prevents
++ * object owners from harnessing the session user identity during
++ * administrative maintenance. Suppose Alice owns a database, has
++ * issued "GRANT alice TO bob", and runs a daily ANALYZE. Bob creates
++ * an alice-owned SECURITY DEFINER function that issues "REVOKE alice
++ * FROM carol". If he creates an expression index calling that
++ * function, Alice will attempt the REVOKE during each ANALYZE.
++ * Checking InSecurityRestrictedOperation() thwarts that attack.
++ *
++ * Withholding self-admin in SECURITY DEFINER functions makes their
++ * behavior independent of the calling user. There's no security or
++ * SQL-standard-conformance need for that restriction, though.
++ *
++ * A role cannot have actual WITH ADMIN OPTION on itself, because that
++ * would imply a membership loop. Therefore, we're done either way.
++ */
++ return member == GetSessionUserId() &&
++ !InLocalUserIdChange() && !InSecurityRestrictedOperation();
++
+ /*
+ * Find all the roles that member is a member of, including multi-level
+ * recursion. We build a list in the same way that is_member_of_role does
+diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out
+index e8930cb..bc6d731 100644
+--- a/src/test/regress/expected/privileges.out
++++ b/src/test/regress/expected/privileges.out
+@@ -32,7 +32,7 @@ ALTER GROUP regressgroup1 ADD USER regressuser4;
+ ALTER GROUP regressgroup2 ADD USER regressuser2; -- duplicate
+ NOTICE: role "regressuser2" is already a member of role "regressgroup2"
+ ALTER GROUP regressgroup2 DROP USER regressuser2;
+-ALTER GROUP regressgroup2 ADD USER regressuser4;
++GRANT regressgroup2 TO regressuser4 WITH ADMIN OPTION;
+ -- test owner privileges
+ SET SESSION AUTHORIZATION regressuser1;
+ SELECT session_user, current_user;
+@@ -929,6 +929,40 @@ SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION')
+ t
+ (1 row)
+
++-- Admin options
++SET SESSION AUTHORIZATION regressuser4;
++CREATE FUNCTION dogrant_ok() RETURNS void LANGUAGE sql SECURITY DEFINER AS
++ 'GRANT regressgroup2 TO regressuser5';
++GRANT regressgroup2 TO regressuser5; -- ok: had ADMIN OPTION
++SET ROLE regressgroup2;
++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE suspended privilege
++ERROR: must have admin option on role "regressgroup2"
++SET SESSION AUTHORIZATION regressuser1;
++GRANT regressgroup2 TO regressuser5; -- fails: no ADMIN OPTION
++ERROR: must have admin option on role "regressgroup2"
++SELECT dogrant_ok(); -- ok: SECURITY DEFINER conveys ADMIN
++NOTICE: role "regressuser5" is already a member of role "regressgroup2"
++CONTEXT: SQL function "dogrant_ok" statement 1
++ dogrant_ok
++------------
++
++(1 row)
++
++SET ROLE regressgroup2;
++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE did not help
++ERROR: must have admin option on role "regressgroup2"
++SET SESSION AUTHORIZATION regressgroup2;
++GRANT regressgroup2 TO regressuser5; -- ok: a role can self-admin
++NOTICE: role "regressuser5" is already a member of role "regressgroup2"
++CREATE FUNCTION dogrant_fails() RETURNS void LANGUAGE sql SECURITY DEFINER AS
++ 'GRANT regressgroup2 TO regressuser5';
++SELECT dogrant_fails(); -- fails: no self-admin in SECURITY DEFINER
++ERROR: must have admin option on role "regressgroup2"
++CONTEXT: SQL function "dogrant_fails" statement 1
++DROP FUNCTION dogrant_fails();
++SET SESSION AUTHORIZATION regressuser4;
++DROP FUNCTION dogrant_ok();
++REVOKE regressgroup2 FROM regressuser5;
+ -- has_sequence_privilege tests
+ \c -
+ CREATE SEQUENCE x_seq;
+diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql
+index d4d328e..5f1018a 100644
+--- a/src/test/regress/sql/privileges.sql
++++ b/src/test/regress/sql/privileges.sql
+@@ -37,7 +37,7 @@ ALTER GROUP regressgroup1 ADD USER regressuser4;
+
+ ALTER GROUP regressgroup2 ADD USER regressuser2; -- duplicate
+ ALTER GROUP regressgroup2 DROP USER regressuser2;
+-ALTER GROUP regressgroup2 ADD USER regressuser4;
++GRANT regressgroup2 TO regressuser4 WITH ADMIN OPTION;
+
+ -- test owner privileges
+
+@@ -581,6 +581,33 @@ SELECT has_table_privilege('regressuser3', 'atest4', 'SELECT'); -- false
+ SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION'); -- true
+
+
++-- Admin options
++
++SET SESSION AUTHORIZATION regressuser4;
++CREATE FUNCTION dogrant_ok() RETURNS void LANGUAGE sql SECURITY DEFINER AS
++ 'GRANT regressgroup2 TO regressuser5';
++GRANT regressgroup2 TO regressuser5; -- ok: had ADMIN OPTION
++SET ROLE regressgroup2;
++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE suspended privilege
++
++SET SESSION AUTHORIZATION regressuser1;
++GRANT regressgroup2 TO regressuser5; -- fails: no ADMIN OPTION
++SELECT dogrant_ok(); -- ok: SECURITY DEFINER conveys ADMIN
++SET ROLE regressgroup2;
++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE did not help
++
++SET SESSION AUTHORIZATION regressgroup2;
++GRANT regressgroup2 TO regressuser5; -- ok: a role can self-admin
++CREATE FUNCTION dogrant_fails() RETURNS void LANGUAGE sql SECURITY DEFINER AS
++ 'GRANT regressgroup2 TO regressuser5';
++SELECT dogrant_fails(); -- fails: no self-admin in SECURITY DEFINER
++DROP FUNCTION dogrant_fails();
++
++SET SESSION AUTHORIZATION regressuser4;
++DROP FUNCTION dogrant_ok();
++REVOKE regressgroup2 FROM regressuser5;
++
++
+ -- has_sequence_privilege tests
+ \c -
+
+--
+1.7.5.4
+
diff --git a/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch b/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch
new file mode 100644
index 0000000000..cc2183a2ab
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch
@@ -0,0 +1,267 @@
+From 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 Mon Sep 17 00:00:00 2001
+From: Noah Misch <noah@leadboat.com>
+Date: Mon, 17 Feb 2014 09:33:31 -0500
+Subject: [PATCH] Prevent privilege escalation in explicit calls to PL
+ validators.
+
+commit 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 REL9_2_STABLE
+
+The primary role of PL validators is to be called implicitly during
+CREATE FUNCTION, but they are also normal functions that a user can call
+explicitly. Add a permissions check to each validator to ensure that a
+user cannot use explicit validator calls to achieve things he could not
+otherwise achieve. Back-patch to 8.4 (all supported versions).
+Non-core procedural language extensions ought to make the same two-line
+change to their own validators.
+
+Andres Freund, reviewed by Tom Lane and Noah Misch.
+
+Security: CVE-2014-0061
+
+Upstream-Status: Backport
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ doc/src/sgml/plhandler.sgml | 5 ++-
+ src/backend/catalog/pg_proc.c | 9 ++++
+ src/backend/commands/functioncmds.c | 1 -
+ src/backend/utils/fmgr/fmgr.c | 84 +++++++++++++++++++++++++++++++++++
+ src/include/fmgr.h | 1 +
+ src/pl/plperl/plperl.c | 4 ++
+ src/pl/plpgsql/src/pl_handler.c | 3 +
+ src/pl/plpython/plpy_main.c | 4 ++
+ 8 files changed, 109 insertions(+), 2 deletions(-)
+
+diff --git a/doc/src/sgml/plhandler.sgml b/doc/src/sgml/plhandler.sgml
+index 024ef9d..aa4bba3 100644
+--- a/doc/src/sgml/plhandler.sgml
++++ b/doc/src/sgml/plhandler.sgml
+@@ -178,7 +178,10 @@ CREATE LANGUAGE plsample
+ or updated a function written in the procedural language.
+ The passed-in OID is the OID of the function's <classname>pg_proc</>
+ row. The validator must fetch this row in the usual way, and do
+- whatever checking is appropriate. Typical checks include verifying
++ whatever checking is appropriate.
++ First, call <function>CheckFunctionValidatorAccess()</> to diagnose
++ explicit calls to the validator that the user could not achieve through
++ <command>CREATE FUNCTION</>. Typical checks then include verifying
+ that the function's argument and result types are supported by the
+ language, and that the function's body is syntactically correct
+ in the language. If the validator finds the function to be okay,
+diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c
+index 3812408..3124868 100644
+--- a/src/backend/catalog/pg_proc.c
++++ b/src/backend/catalog/pg_proc.c
+@@ -718,6 +718,9 @@ fmgr_internal_validator(PG_FUNCTION_ARGS)
+ Datum tmp;
+ char *prosrc;
+
++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid))
++ PG_RETURN_VOID();
++
+ /*
+ * We do not honor check_function_bodies since it's unlikely the function
+ * name will be found later if it isn't there now.
+@@ -763,6 +766,9 @@ fmgr_c_validator(PG_FUNCTION_ARGS)
+ char *prosrc;
+ char *probin;
+
++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid))
++ PG_RETURN_VOID();
++
+ /*
+ * It'd be most consistent to skip the check if !check_function_bodies,
+ * but the purpose of that switch is to be helpful for pg_dump loading,
+@@ -814,6 +820,9 @@ fmgr_sql_validator(PG_FUNCTION_ARGS)
+ bool haspolyarg;
+ int i;
+
++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid))
++ PG_RETURN_VOID();
++
+ tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid));
+ if (!HeapTupleIsValid(tuple))
+ elog(ERROR, "cache lookup failed for function %u", funcoid);
+diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c
+index 9ba6dd8..ea74b5e 100644
+--- a/src/backend/commands/functioncmds.c
++++ b/src/backend/commands/functioncmds.c
+@@ -997,7 +997,6 @@ CreateFunction(CreateFunctionStmt *stmt, const char *queryString)
+ prorows);
+ }
+
+-
+ /*
+ * Guts of function deletion.
+ *
+diff --git a/src/backend/utils/fmgr/fmgr.c b/src/backend/utils/fmgr/fmgr.c
+index 2ec63fa..8d6f183 100644
+--- a/src/backend/utils/fmgr/fmgr.c
++++ b/src/backend/utils/fmgr/fmgr.c
+@@ -24,6 +24,7 @@
+ #include "miscadmin.h"
+ #include "nodes/nodeFuncs.h"
+ #include "pgstat.h"
++#include "utils/acl.h"
+ #include "utils/builtins.h"
+ #include "utils/fmgrtab.h"
+ #include "utils/guc.h"
+@@ -2445,3 +2446,86 @@ get_call_expr_arg_stable(Node *expr, int argnum)
+
+ return false;
+ }
++
++/*-------------------------------------------------------------------------
++ * Support routines for procedural language implementations
++ *-------------------------------------------------------------------------
++ */
++
++/*
++ * Verify that a validator is actually associated with the language of a
++ * particular function and that the user has access to both the language and
++ * the function. All validators should call this before doing anything
++ * substantial. Doing so ensures a user cannot achieve anything with explicit
++ * calls to validators that he could not achieve with CREATE FUNCTION or by
++ * simply calling an existing function.
++ *
++ * When this function returns false, callers should skip all validation work
++ * and call PG_RETURN_VOID(). This never happens at present; it is reserved
++ * for future expansion.
++ *
++ * In particular, checking that the validator corresponds to the function's
++ * language allows untrusted language validators to assume they process only
++ * superuser-chosen source code. (Untrusted language call handlers, by
++ * definition, do assume that.) A user lacking the USAGE language privilege
++ * would be unable to reach the validator through CREATE FUNCTION, so we check
++ * that to block explicit calls as well. Checking the EXECUTE privilege on
++ * the function is often superfluous, because most users can clone the
++ * function to get an executable copy. It is meaningful against users with no
++ * database TEMP right and no permanent schema CREATE right, thereby unable to
++ * create any function. Also, if the function tracks persistent state by
++ * function OID or name, validating the original function might permit more
++ * mischief than creating and validating a clone thereof.
++ */
++bool
++CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid)
++{
++ HeapTuple procTup;
++ HeapTuple langTup;
++ Form_pg_proc procStruct;
++ Form_pg_language langStruct;
++ AclResult aclresult;
++
++ /* Get the function's pg_proc entry */
++ procTup = SearchSysCache1(PROCOID, ObjectIdGetDatum(functionOid));
++ if (!HeapTupleIsValid(procTup))
++ elog(ERROR, "cache lookup failed for function %u", functionOid);
++ procStruct = (Form_pg_proc) GETSTRUCT(procTup);
++
++ /*
++ * Fetch pg_language entry to know if this is the correct validation
++ * function for that pg_proc entry.
++ */
++ langTup = SearchSysCache1(LANGOID, ObjectIdGetDatum(procStruct->prolang));
++ if (!HeapTupleIsValid(langTup))
++ elog(ERROR, "cache lookup failed for language %u", procStruct->prolang);
++ langStruct = (Form_pg_language) GETSTRUCT(langTup);
++
++ if (langStruct->lanvalidator != validatorOid)
++ ereport(ERROR,
++ (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
++ errmsg("language validation function %u called for language %u instead of %u",
++ validatorOid, procStruct->prolang,
++ langStruct->lanvalidator)));
++
++ /* first validate that we have permissions to use the language */
++ aclresult = pg_language_aclcheck(procStruct->prolang, GetUserId(),
++ ACL_USAGE);
++ if (aclresult != ACLCHECK_OK)
++ aclcheck_error(aclresult, ACL_KIND_LANGUAGE,
++ NameStr(langStruct->lanname));
++
++ /*
++ * Check whether we are allowed to execute the function itself. If we can
++ * execute it, there should be no possible side-effect of
++ * compiling/validation that execution can't have.
++ */
++ aclresult = pg_proc_aclcheck(functionOid, GetUserId(), ACL_EXECUTE);
++ if (aclresult != ACLCHECK_OK)
++ aclcheck_error(aclresult, ACL_KIND_PROC, NameStr(procStruct->proname));
++
++ ReleaseSysCache(procTup);
++ ReleaseSysCache(langTup);
++
++ return true;
++}
+diff --git a/src/include/fmgr.h b/src/include/fmgr.h
+index 0a25776..f944cc6 100644
+--- a/src/include/fmgr.h
++++ b/src/include/fmgr.h
+@@ -624,6 +624,7 @@ extern Oid get_fn_expr_argtype(FmgrInfo *flinfo, int argnum);
+ extern Oid get_call_expr_argtype(fmNodePtr expr, int argnum);
+ extern bool get_fn_expr_arg_stable(FmgrInfo *flinfo, int argnum);
+ extern bool get_call_expr_arg_stable(fmNodePtr expr, int argnum);
++extern bool CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid);
+
+ /*
+ * Routines in dfmgr.c
+diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
+index 7c2aee9..49d50c4 100644
+--- a/src/pl/plperl/plperl.c
++++ b/src/pl/plperl/plperl.c
+@@ -1847,6 +1847,9 @@ plperl_validator(PG_FUNCTION_ARGS)
+ bool istrigger = false;
+ int i;
+
++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid))
++ PG_RETURN_VOID();
++
+ /* Get the new function's pg_proc entry */
+ tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid));
+ if (!HeapTupleIsValid(tuple))
+@@ -1926,6 +1929,7 @@ PG_FUNCTION_INFO_V1(plperlu_validator);
+ Datum
+ plperlu_validator(PG_FUNCTION_ARGS)
+ {
++ /* call plperl validator with our fcinfo so it gets our oid */
+ return plperl_validator(fcinfo);
+ }
+
+diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c
+index 022ec3f..00b1a6f 100644
+--- a/src/pl/plpgsql/src/pl_handler.c
++++ b/src/pl/plpgsql/src/pl_handler.c
+@@ -227,6 +227,9 @@ plpgsql_validator(PG_FUNCTION_ARGS)
+ bool istrigger = false;
+ int i;
+
++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid))
++ PG_RETURN_VOID();
++
+ /* Get the new function's pg_proc entry */
+ tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid));
+ if (!HeapTupleIsValid(tuple))
+diff --git a/src/pl/plpython/plpy_main.c b/src/pl/plpython/plpy_main.c
+index c4de762..3847847 100644
+--- a/src/pl/plpython/plpy_main.c
++++ b/src/pl/plpython/plpy_main.c
+@@ -159,6 +159,9 @@ plpython_validator(PG_FUNCTION_ARGS)
+ Form_pg_proc procStruct;
+ bool is_trigger;
+
++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid))
++ PG_RETURN_VOID();
++
+ if (!check_function_bodies)
+ {
+ PG_RETURN_VOID();
+@@ -184,6 +187,7 @@ plpython_validator(PG_FUNCTION_ARGS)
+ Datum
+ plpython2_validator(PG_FUNCTION_ARGS)
+ {
++ /* call plpython validator with our fcinfo so it gets our oid */
+ return plpython_validator(fcinfo);
+ }
+ #endif /* PY_MAJOR_VERSION < 3 */
+--
+1.7.5.4
+
diff --git a/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch b/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch
new file mode 100644
index 0000000000..f1aa212502
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch
@@ -0,0 +1,1082 @@
+From 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b Mon Sep 17 00:00:00 2001
+From: Robert Haas <rhaas@postgresql.org>
+Date: Mon, 17 Feb 2014 09:33:31 -0500
+Subject: [PATCH] Avoid repeated name lookups during table and index DDL.
+
+commit 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b REL9_2_STABLE
+
+If the name lookups come to different conclusions due to concurrent
+activity, we might perform some parts of the DDL on a different table
+than other parts. At least in the case of CREATE INDEX, this can be
+used to cause the permissions checks to be performed against a
+different table than the index creation, allowing for a privilege
+escalation attack.
+
+This changes the calling convention for DefineIndex, CreateTrigger,
+transformIndexStmt, transformAlterTableStmt, CheckIndexCompatible
+(in 9.2 and newer), and AlterTable (in 9.1 and older). In addition,
+CheckRelationOwnership is removed in 9.2 and newer and the calling
+convention is changed in older branches. A field has also been added
+to the Constraint node (FkConstraint in 8.4). Third-party code calling
+these functions or using the Constraint node will require updating.
+
+Report by Andres Freund. Patch by Robert Haas and Andres Freund,
+reviewed by Tom Lane.
+
+Security: CVE-2014-0062
+
+Upstream-Status: Backport
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/backend/bootstrap/bootparse.y | 17 ++++-
+ src/backend/catalog/index.c | 10 +--
+ src/backend/catalog/pg_constraint.c | 19 +++++
+ src/backend/commands/indexcmds.c | 22 ++++--
+ src/backend/commands/tablecmds.c | 137 +++++++++++++++++++++++++----------
+ src/backend/commands/trigger.c | 28 ++++++--
+ src/backend/nodes/copyfuncs.c | 1 +
+ src/backend/nodes/equalfuncs.c | 1 +
+ src/backend/nodes/outfuncs.c | 1 +
+ src/backend/parser/parse_utilcmd.c | 64 ++++++-----------
+ src/backend/tcop/utility.c | 73 +++++++------------
+ src/include/catalog/pg_constraint.h | 1 +
+ src/include/commands/defrem.h | 4 +-
+ src/include/commands/tablecmds.h | 2 +
+ src/include/commands/trigger.h | 2 +-
+ src/include/nodes/parsenodes.h | 2 +
+ src/include/parser/parse_utilcmd.h | 5 +-
+ src/include/tcop/utility.h | 2 -
+ 18 files changed, 234 insertions(+), 157 deletions(-)
+
+diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y
+index f4a1b8f..eeffb0f 100644
+--- a/src/backend/bootstrap/bootparse.y
++++ b/src/backend/bootstrap/bootparse.y
+@@ -27,6 +27,7 @@
+ #include "bootstrap/bootstrap.h"
+ #include "catalog/catalog.h"
+ #include "catalog/heap.h"
++#include "catalog/namespace.h"
+ #include "catalog/pg_am.h"
+ #include "catalog/pg_attribute.h"
+ #include "catalog/pg_authid.h"
+@@ -281,6 +282,7 @@ Boot_DeclareIndexStmt:
+ XDECLARE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN
+ {
+ IndexStmt *stmt = makeNode(IndexStmt);
++ Oid relationId;
+
+ do_start();
+
+@@ -302,7 +304,12 @@ Boot_DeclareIndexStmt:
+ stmt->initdeferred = false;
+ stmt->concurrent = false;
+
+- DefineIndex(stmt,
++ /* locks and races need not concern us in bootstrap mode */
++ relationId = RangeVarGetRelid(stmt->relation, NoLock,
++ false);
++
++ DefineIndex(relationId,
++ stmt,
+ $4,
+ false,
+ false,
+@@ -316,6 +323,7 @@ Boot_DeclareUniqueIndexStmt:
+ XDECLARE UNIQUE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN
+ {
+ IndexStmt *stmt = makeNode(IndexStmt);
++ Oid relationId;
+
+ do_start();
+
+@@ -337,7 +345,12 @@ Boot_DeclareUniqueIndexStmt:
+ stmt->initdeferred = false;
+ stmt->concurrent = false;
+
+- DefineIndex(stmt,
++ /* locks and races need not concern us in bootstrap mode */
++ relationId = RangeVarGetRelid(stmt->relation, NoLock,
++ false);
++
++ DefineIndex(relationId,
++ stmt,
+ $5,
+ false,
+ false,
+diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c
+index 7d6346a..ca8acf3 100644
+--- a/src/backend/catalog/index.c
++++ b/src/backend/catalog/index.c
+@@ -1202,18 +1202,13 @@ index_constraint_create(Relation heapRelation,
+ */
+ if (deferrable)
+ {
+- RangeVar *heapRel;
+ CreateTrigStmt *trigger;
+
+- heapRel = makeRangeVar(get_namespace_name(namespaceId),
+- pstrdup(RelationGetRelationName(heapRelation)),
+- -1);
+-
+ trigger = makeNode(CreateTrigStmt);
+ trigger->trigname = (constraintType == CONSTRAINT_PRIMARY) ?
+ "PK_ConstraintTrigger" :
+ "Unique_ConstraintTrigger";
+- trigger->relation = heapRel;
++ trigger->relation = NULL;
+ trigger->funcname = SystemFuncName("unique_key_recheck");
+ trigger->args = NIL;
+ trigger->row = true;
+@@ -1226,7 +1221,8 @@ index_constraint_create(Relation heapRelation,
+ trigger->initdeferred = initdeferred;
+ trigger->constrrel = NULL;
+
+- (void) CreateTrigger(trigger, NULL, conOid, indexRelationId, true);
++ (void) CreateTrigger(trigger, NULL, RelationGetRelid(heapRelation),
++ InvalidOid, conOid, indexRelationId, true);
+ }
+
+ /*
+diff --git a/src/backend/catalog/pg_constraint.c b/src/backend/catalog/pg_constraint.c
+index 107a780..08a94cf 100644
+--- a/src/backend/catalog/pg_constraint.c
++++ b/src/backend/catalog/pg_constraint.c
+@@ -746,6 +746,25 @@ AlterConstraintNamespaces(Oid ownerId, Oid oldNspId,
+ }
+
+ /*
++ * get_constraint_relation_oids
++ * Find the IDs of the relations to which a constraint refers.
++ */
++void
++get_constraint_relation_oids(Oid constraint_oid, Oid *conrelid, Oid *confrelid)
++{
++ HeapTuple tup;
++ Form_pg_constraint con;
++
++ tup = SearchSysCache1(CONSTROID, ObjectIdGetDatum(constraint_oid));
++ if (!HeapTupleIsValid(tup)) /* should not happen */
++ elog(ERROR, "cache lookup failed for constraint %u", constraint_oid);
++ con = (Form_pg_constraint) GETSTRUCT(tup);
++ *conrelid = con->conrelid;
++ *confrelid = con->confrelid;
++ ReleaseSysCache(tup);
++}
++
++/*
+ * get_relation_constraint_oid
+ * Find a constraint on the specified relation with the specified name.
+ * Returns constraint's OID.
+diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c
+index f3ee278..ec5fb0d 100644
+--- a/src/backend/commands/indexcmds.c
++++ b/src/backend/commands/indexcmds.c
+@@ -111,7 +111,6 @@ static void RangeVarCallbackForReindexIndex(const RangeVar *relation,
+ */
+ bool
+ CheckIndexCompatible(Oid oldId,
+- RangeVar *heapRelation,
+ char *accessMethodName,
+ List *attributeList,
+ List *exclusionOpNames)
+@@ -139,7 +138,7 @@ CheckIndexCompatible(Oid oldId,
+ Datum d;
+
+ /* Caller should already have the relation locked in some way. */
+- relationId = RangeVarGetRelid(heapRelation, NoLock, false);
++ relationId = IndexGetRelation(oldId, false);
+
+ /*
+ * We can pretend isconstraint = false unconditionally. It only serves to
+@@ -279,6 +278,8 @@ CheckIndexCompatible(Oid oldId,
+ * DefineIndex
+ * Creates a new index.
+ *
++ * 'relationId': the OID of the heap relation on which the index is to be
++ * created
+ * 'stmt': IndexStmt describing the properties of the new index.
+ * 'indexRelationId': normally InvalidOid, but during bootstrap can be
+ * nonzero to specify a preselected OID for the index.
+@@ -292,7 +293,8 @@ CheckIndexCompatible(Oid oldId,
+ * Returns the OID of the created index.
+ */
+ Oid
+-DefineIndex(IndexStmt *stmt,
++DefineIndex(Oid relationId,
++ IndexStmt *stmt,
+ Oid indexRelationId,
+ bool is_alter_table,
+ bool check_rights,
+@@ -305,7 +307,6 @@ DefineIndex(IndexStmt *stmt,
+ Oid *collationObjectId;
+ Oid *classObjectId;
+ Oid accessMethodId;
+- Oid relationId;
+ Oid namespaceId;
+ Oid tablespaceId;
+ List *indexColNames;
+@@ -325,6 +326,7 @@ DefineIndex(IndexStmt *stmt,
+ int n_old_snapshots;
+ LockRelId heaprelid;
+ LOCKTAG heaplocktag;
++ LOCKMODE lockmode;
+ Snapshot snapshot;
+ int i;
+
+@@ -343,14 +345,18 @@ DefineIndex(IndexStmt *stmt,
+ INDEX_MAX_KEYS)));
+
+ /*
+- * Open heap relation, acquire a suitable lock on it, remember its OID
+- *
+ * Only SELECT ... FOR UPDATE/SHARE are allowed while doing a standard
+ * index build; but for concurrent builds we allow INSERT/UPDATE/DELETE
+ * (but not VACUUM).
++ *
++ * NB: Caller is responsible for making sure that relationId refers
++ * to the relation on which the index should be built; except in bootstrap
++ * mode, this will typically require the caller to have already locked
++ * the relation. To avoid lock upgrade hazards, that lock should be at
++ * least as strong as the one we take here.
+ */
+- rel = heap_openrv(stmt->relation,
+- (stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock));
++ lockmode = stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock;
++ rel = heap_open(relationId, lockmode);
+
+ relationId = RelationGetRelid(rel);
+ namespaceId = RelationGetNamespace(rel);
+diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
+index 7c1f779..bcb81ea 100644
+--- a/src/backend/commands/tablecmds.c
++++ b/src/backend/commands/tablecmds.c
+@@ -283,7 +283,8 @@ static void validateCheckConstraint(Relation rel, HeapTuple constrtup);
+ static void validateForeignKeyConstraint(char *conname,
+ Relation rel, Relation pkrel,
+ Oid pkindOid, Oid constraintOid);
+-static void createForeignKeyTriggers(Relation rel, Constraint *fkconstraint,
++static void createForeignKeyTriggers(Relation rel, Oid refRelOid,
++ Constraint *fkconstraint,
+ Oid constraintOid, Oid indexOid);
+ static void ATController(Relation rel, List *cmds, bool recurse, LOCKMODE lockmode);
+ static void ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd,
+@@ -360,8 +361,9 @@ static void ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel,
+ static void ATExecAlterColumnGenericOptions(Relation rel, const char *colName,
+ List *options, LOCKMODE lockmode);
+ static void ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode);
+-static void ATPostAlterTypeParse(Oid oldId, char *cmd,
+- List **wqueue, LOCKMODE lockmode, bool rewrite);
++static void ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId,
++ char *cmd, List **wqueue, LOCKMODE lockmode,
++ bool rewrite);
+ static void TryReuseIndex(Oid oldId, IndexStmt *stmt);
+ static void TryReuseForeignKey(Oid oldId, Constraint *con);
+ static void change_owner_fix_column_acls(Oid relationOid,
+@@ -5406,7 +5408,8 @@ ATExecAddIndex(AlteredTableInfo *tab, Relation rel,
+
+ /* The IndexStmt has already been through transformIndexStmt */
+
+- new_index = DefineIndex(stmt,
++ new_index = DefineIndex(RelationGetRelid(rel),
++ stmt,
+ InvalidOid, /* no predefined OID */
+ true, /* is_alter_table */
+ check_rights,
+@@ -5728,7 +5731,10 @@ ATAddForeignKeyConstraint(AlteredTableInfo *tab, Relation rel,
+ * table; trying to start with a lesser lock will just create a risk of
+ * deadlock.)
+ */
+- pkrel = heap_openrv(fkconstraint->pktable, AccessExclusiveLock);
++ if (OidIsValid(fkconstraint->old_pktable_oid))
++ pkrel = heap_open(fkconstraint->old_pktable_oid, AccessExclusiveLock);
++ else
++ pkrel = heap_openrv(fkconstraint->pktable, AccessExclusiveLock);
+
+ /*
+ * Validity checks (permission checks wait till we have the column
+@@ -6066,7 +6072,8 @@ ATAddForeignKeyConstraint(AlteredTableInfo *tab, Relation rel,
+ /*
+ * Create the triggers that will enforce the constraint.
+ */
+- createForeignKeyTriggers(rel, fkconstraint, constrOid, indexOid);
++ createForeignKeyTriggers(rel, RelationGetRelid(pkrel), fkconstraint,
++ constrOid, indexOid);
+
+ /*
+ * Tell Phase 3 to check that the constraint is satisfied by existing
+@@ -6736,7 +6743,7 @@ validateForeignKeyConstraint(char *conname,
+ }
+
+ static void
+-CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint,
++CreateFKCheckTrigger(Oid myRelOid, Oid refRelOid, Constraint *fkconstraint,
+ Oid constraintOid, Oid indexOid, bool on_insert)
+ {
+ CreateTrigStmt *fk_trigger;
+@@ -6752,7 +6759,7 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint,
+ */
+ fk_trigger = makeNode(CreateTrigStmt);
+ fk_trigger->trigname = "RI_ConstraintTrigger_c";
+- fk_trigger->relation = myRel;
++ fk_trigger->relation = NULL;
+ fk_trigger->row = true;
+ fk_trigger->timing = TRIGGER_TYPE_AFTER;
+
+@@ -6773,10 +6780,11 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint,
+ fk_trigger->isconstraint = true;
+ fk_trigger->deferrable = fkconstraint->deferrable;
+ fk_trigger->initdeferred = fkconstraint->initdeferred;
+- fk_trigger->constrrel = fkconstraint->pktable;
++ fk_trigger->constrrel = NULL;
+ fk_trigger->args = NIL;
+
+- (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true);
++ (void) CreateTrigger(fk_trigger, NULL, myRelOid, refRelOid, constraintOid,
++ indexOid, true);
+
+ /* Make changes-so-far visible */
+ CommandCounterIncrement();
+@@ -6786,18 +6794,13 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint,
+ * Create the triggers that implement an FK constraint.
+ */
+ static void
+-createForeignKeyTriggers(Relation rel, Constraint *fkconstraint,
++createForeignKeyTriggers(Relation rel, Oid refRelOid, Constraint *fkconstraint,
+ Oid constraintOid, Oid indexOid)
+ {
+- RangeVar *myRel;
++ Oid myRelOid;
+ CreateTrigStmt *fk_trigger;
+
+- /*
+- * Reconstruct a RangeVar for my relation (not passed in, unfortunately).
+- */
+- myRel = makeRangeVar(get_namespace_name(RelationGetNamespace(rel)),
+- pstrdup(RelationGetRelationName(rel)),
+- -1);
++ myRelOid = RelationGetRelid(rel);
+
+ /* Make changes-so-far visible */
+ CommandCounterIncrement();
+@@ -6808,14 +6811,14 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint,
+ */
+ fk_trigger = makeNode(CreateTrigStmt);
+ fk_trigger->trigname = "RI_ConstraintTrigger_a";
+- fk_trigger->relation = fkconstraint->pktable;
++ fk_trigger->relation = NULL;
+ fk_trigger->row = true;
+ fk_trigger->timing = TRIGGER_TYPE_AFTER;
+ fk_trigger->events = TRIGGER_TYPE_DELETE;
+ fk_trigger->columns = NIL;
+ fk_trigger->whenClause = NULL;
+ fk_trigger->isconstraint = true;
+- fk_trigger->constrrel = myRel;
++ fk_trigger->constrrel = NULL;
+ switch (fkconstraint->fk_del_action)
+ {
+ case FKCONSTR_ACTION_NOACTION:
+@@ -6850,7 +6853,8 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint,
+ }
+ fk_trigger->args = NIL;
+
+- (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true);
++ (void) CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid,
++ indexOid, true);
+
+ /* Make changes-so-far visible */
+ CommandCounterIncrement();
+@@ -6861,14 +6865,14 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint,
+ */
+ fk_trigger = makeNode(CreateTrigStmt);
+ fk_trigger->trigname = "RI_ConstraintTrigger_a";
+- fk_trigger->relation = fkconstraint->pktable;
++ fk_trigger->relation = NULL;
+ fk_trigger->row = true;
+ fk_trigger->timing = TRIGGER_TYPE_AFTER;
+ fk_trigger->events = TRIGGER_TYPE_UPDATE;
+ fk_trigger->columns = NIL;
+ fk_trigger->whenClause = NULL;
+ fk_trigger->isconstraint = true;
+- fk_trigger->constrrel = myRel;
++ fk_trigger->constrrel = NULL;
+ switch (fkconstraint->fk_upd_action)
+ {
+ case FKCONSTR_ACTION_NOACTION:
+@@ -6903,7 +6907,8 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint,
+ }
+ fk_trigger->args = NIL;
+
+- (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true);
++ (void) CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid,
++ indexOid, true);
+
+ /* Make changes-so-far visible */
+ CommandCounterIncrement();
+@@ -6912,8 +6917,10 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint,
+ * Build and execute CREATE CONSTRAINT TRIGGER statements for the CHECK
+ * action for both INSERTs and UPDATEs on the referencing table.
+ */
+- CreateFKCheckTrigger(myRel, fkconstraint, constraintOid, indexOid, true);
+- CreateFKCheckTrigger(myRel, fkconstraint, constraintOid, indexOid, false);
++ CreateFKCheckTrigger(myRelOid, refRelOid, fkconstraint, constraintOid,
++ indexOid, true);
++ CreateFKCheckTrigger(myRelOid, refRelOid, fkconstraint, constraintOid,
++ indexOid, false);
+ }
+
+ /*
+@@ -7832,15 +7839,36 @@ ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode)
+ * lock on the table the constraint is attached to, and we need to get
+ * that before dropping. It's safe because the parser won't actually look
+ * at the catalogs to detect the existing entry.
++ *
++ * We can't rely on the output of deparsing to tell us which relation
++ * to operate on, because concurrent activity might have made the name
++ * resolve differently. Instead, we've got to use the OID of the
++ * constraint or index we're processing to figure out which relation
++ * to operate on.
+ */
+ forboth(oid_item, tab->changedConstraintOids,
+ def_item, tab->changedConstraintDefs)
+- ATPostAlterTypeParse(lfirst_oid(oid_item), (char *) lfirst(def_item),
++ {
++ Oid oldId = lfirst_oid(oid_item);
++ Oid relid;
++ Oid confrelid;
++
++ get_constraint_relation_oids(oldId, &relid, &confrelid);
++ ATPostAlterTypeParse(oldId, relid, confrelid,
++ (char *) lfirst(def_item),
+ wqueue, lockmode, tab->rewrite);
++ }
+ forboth(oid_item, tab->changedIndexOids,
+ def_item, tab->changedIndexDefs)
+- ATPostAlterTypeParse(lfirst_oid(oid_item), (char *) lfirst(def_item),
++ {
++ Oid oldId = lfirst_oid(oid_item);
++ Oid relid;
++
++ relid = IndexGetRelation(oldId, false);
++ ATPostAlterTypeParse(oldId, relid, InvalidOid,
++ (char *) lfirst(def_item),
+ wqueue, lockmode, tab->rewrite);
++ }
+
+ /*
+ * Now we can drop the existing constraints and indexes --- constraints
+@@ -7873,12 +7901,13 @@ ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode)
+ }
+
+ static void
+-ATPostAlterTypeParse(Oid oldId, char *cmd,
++ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, char *cmd,
+ List **wqueue, LOCKMODE lockmode, bool rewrite)
+ {
+ List *raw_parsetree_list;
+ List *querytree_list;
+ ListCell *list_item;
++ Relation rel;
+
+ /*
+ * We expect that we will get only ALTER TABLE and CREATE INDEX
+@@ -7894,16 +7923,21 @@ ATPostAlterTypeParse(Oid oldId, char *cmd,
+
+ if (IsA(stmt, IndexStmt))
+ querytree_list = lappend(querytree_list,
+- transformIndexStmt((IndexStmt *) stmt,
++ transformIndexStmt(oldRelId,
++ (IndexStmt *) stmt,
+ cmd));
+ else if (IsA(stmt, AlterTableStmt))
+ querytree_list = list_concat(querytree_list,
+- transformAlterTableStmt((AlterTableStmt *) stmt,
++ transformAlterTableStmt(oldRelId,
++ (AlterTableStmt *) stmt,
+ cmd));
+ else
+ querytree_list = lappend(querytree_list, stmt);
+ }
+
++ /* Caller should already have acquired whatever lock we need. */
++ rel = relation_open(oldRelId, NoLock);
++
+ /*
+ * Attach each generated command to the proper place in the work queue.
+ * Note this could result in creation of entirely new work-queue entries.
+@@ -7915,7 +7949,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd,
+ foreach(list_item, querytree_list)
+ {
+ Node *stm = (Node *) lfirst(list_item);
+- Relation rel;
+ AlteredTableInfo *tab;
+
+ switch (nodeTag(stm))
+@@ -7928,14 +7961,12 @@ ATPostAlterTypeParse(Oid oldId, char *cmd,
+ if (!rewrite)
+ TryReuseIndex(oldId, stmt);
+
+- rel = relation_openrv(stmt->relation, lockmode);
+ tab = ATGetQueueEntry(wqueue, rel);
+ newcmd = makeNode(AlterTableCmd);
+ newcmd->subtype = AT_ReAddIndex;
+ newcmd->def = (Node *) stmt;
+ tab->subcmds[AT_PASS_OLD_INDEX] =
+ lappend(tab->subcmds[AT_PASS_OLD_INDEX], newcmd);
+- relation_close(rel, NoLock);
+ break;
+ }
+ case T_AlterTableStmt:
+@@ -7943,7 +7974,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd,
+ AlterTableStmt *stmt = (AlterTableStmt *) stm;
+ ListCell *lcmd;
+
+- rel = relation_openrv(stmt->relation, lockmode);
+ tab = ATGetQueueEntry(wqueue, rel);
+ foreach(lcmd, stmt->cmds)
+ {
+@@ -7964,6 +7994,7 @@ ATPostAlterTypeParse(Oid oldId, char *cmd,
+ case AT_AddConstraint:
+ Assert(IsA(cmd->def, Constraint));
+ con = (Constraint *) cmd->def;
++ con->old_pktable_oid = refRelId;
+ /* rewriting neither side of a FK */
+ if (con->contype == CONSTR_FOREIGN &&
+ !rewrite && !tab->rewrite)
+@@ -7977,7 +8008,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd,
+ (int) cmd->subtype);
+ }
+ }
+- relation_close(rel, NoLock);
+ break;
+ }
+ default:
+@@ -7985,6 +8015,8 @@ ATPostAlterTypeParse(Oid oldId, char *cmd,
+ (int) nodeTag(stm));
+ }
+ }
++
++ relation_close(rel, NoLock);
+ }
+
+ /*
+@@ -7995,7 +8027,6 @@ static void
+ TryReuseIndex(Oid oldId, IndexStmt *stmt)
+ {
+ if (CheckIndexCompatible(oldId,
+- stmt->relation,
+ stmt->accessMethod,
+ stmt->indexParams,
+ stmt->excludeOpNames))
+@@ -10291,6 +10322,38 @@ RangeVarCallbackOwnsTable(const RangeVar *relation,
+ }
+
+ /*
++ * Callback to RangeVarGetRelidExtended(), similar to
++ * RangeVarCallbackOwnsTable() but without checks on the type of the relation.
++ */
++void
++RangeVarCallbackOwnsRelation(const RangeVar *relation,
++ Oid relId, Oid oldRelId, void *arg)
++{
++ HeapTuple tuple;
++
++ /* Nothing to do if the relation was not found. */
++ if (!OidIsValid(relId))
++ return;
++
++ tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relId));
++ if (!HeapTupleIsValid(tuple)) /* should not happen */
++ elog(ERROR, "cache lookup failed for relation %u", relId);
++
++ if (!pg_class_ownercheck(relId, GetUserId()))
++ aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS,
++ relation->relname);
++
++ if (!allowSystemTableMods &&
++ IsSystemClass((Form_pg_class) GETSTRUCT(tuple)))
++ ereport(ERROR,
++ (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
++ errmsg("permission denied: \"%s\" is a system catalog",
++ relation->relname)));
++
++ ReleaseSysCache(tuple);
++}
++
++/*
+ * Common RangeVarGetRelid callback for rename, set schema, and alter table
+ * processing.
+ */
+diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
+index f546d94..9e6c954 100644
+--- a/src/backend/commands/trigger.c
++++ b/src/backend/commands/trigger.c
+@@ -42,6 +42,7 @@
+ #include "pgstat.h"
+ #include "rewrite/rewriteManip.h"
+ #include "storage/bufmgr.h"
++#include "storage/lmgr.h"
+ #include "tcop/utility.h"
+ #include "utils/acl.h"
+ #include "utils/builtins.h"
+@@ -94,6 +95,13 @@ static void AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo,
+ * queryString is the source text of the CREATE TRIGGER command.
+ * This must be supplied if a whenClause is specified, else it can be NULL.
+ *
++ * relOid, if nonzero, is the relation on which the trigger should be
++ * created. If zero, the name provided in the statement will be looked up.
++ *
++ * refRelOid, if nonzero, is the relation to which the constraint trigger
++ * refers. If zero, the constraint relation name provided in the statement
++ * will be looked up as needed.
++ *
+ * constraintOid, if nonzero, says that this trigger is being created
+ * internally to implement that constraint. A suitable pg_depend entry will
+ * be made to link the trigger to that constraint. constraintOid is zero when
+@@ -116,7 +124,7 @@ static void AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo,
+ */
+ Oid
+ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
+- Oid constraintOid, Oid indexOid,
++ Oid relOid, Oid refRelOid, Oid constraintOid, Oid indexOid,
+ bool isInternal)
+ {
+ int16 tgtype;
+@@ -145,7 +153,10 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
+ ObjectAddress myself,
+ referenced;
+
+- rel = heap_openrv(stmt->relation, AccessExclusiveLock);
++ if (OidIsValid(relOid))
++ rel = heap_open(relOid, AccessExclusiveLock);
++ else
++ rel = heap_openrv(stmt->relation, AccessExclusiveLock);
+
+ /*
+ * Triggers must be on tables or views, and there are additional
+@@ -194,7 +205,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
+ errmsg("permission denied: \"%s\" is a system catalog",
+ RelationGetRelationName(rel))));
+
+- if (stmt->isconstraint && stmt->constrrel != NULL)
++ if (stmt->isconstraint)
+ {
+ /*
+ * We must take a lock on the target relation to protect against
+@@ -203,7 +214,14 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
+ * might end up creating a pg_constraint entry referencing a
+ * nonexistent table.
+ */
+- constrrelid = RangeVarGetRelid(stmt->constrrel, AccessShareLock, false);
++ if (OidIsValid(refRelOid))
++ {
++ LockRelationOid(refRelOid, AccessShareLock);
++ constrrelid = refRelOid;
++ }
++ else if (stmt->constrrel != NULL)
++ constrrelid = RangeVarGetRelid(stmt->constrrel, AccessShareLock,
++ false);
+ }
+
+ /* permission checks */
+@@ -513,7 +531,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
+ ereport(ERROR,
+ (errcode(ERRCODE_DUPLICATE_OBJECT),
+ errmsg("trigger \"%s\" for relation \"%s\" already exists",
+- trigname, stmt->relation->relname)));
++ trigname, RelationGetRelationName(rel))));
+ }
+ systable_endscan(tgscan);
+ }
+diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c
+index 9bac994..dbe0f6a 100644
+--- a/src/backend/nodes/copyfuncs.c
++++ b/src/backend/nodes/copyfuncs.c
+@@ -2357,6 +2357,7 @@ _copyConstraint(const Constraint *from)
+ COPY_SCALAR_FIELD(fk_upd_action);
+ COPY_SCALAR_FIELD(fk_del_action);
+ COPY_NODE_FIELD(old_conpfeqop);
++ COPY_SCALAR_FIELD(old_pktable_oid);
+ COPY_SCALAR_FIELD(skip_validation);
+ COPY_SCALAR_FIELD(initially_valid);
+
+diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c
+index d185654..f8770b0 100644
+--- a/src/backend/nodes/equalfuncs.c
++++ b/src/backend/nodes/equalfuncs.c
+@@ -2143,6 +2143,7 @@ _equalConstraint(const Constraint *a, const Constraint *b)
+ COMPARE_SCALAR_FIELD(fk_upd_action);
+ COMPARE_SCALAR_FIELD(fk_del_action);
+ COMPARE_NODE_FIELD(old_conpfeqop);
++ COMPARE_SCALAR_FIELD(old_pktable_oid);
+ COMPARE_SCALAR_FIELD(skip_validation);
+ COMPARE_SCALAR_FIELD(initially_valid);
+
+diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c
+index 1df71f6..888ffd2 100644
+--- a/src/backend/nodes/outfuncs.c
++++ b/src/backend/nodes/outfuncs.c
+@@ -2653,6 +2653,7 @@ _outConstraint(StringInfo str, const Constraint *node)
+ WRITE_CHAR_FIELD(fk_upd_action);
+ WRITE_CHAR_FIELD(fk_del_action);
+ WRITE_NODE_FIELD(old_conpfeqop);
++ WRITE_OID_FIELD(old_pktable_oid);
+ WRITE_BOOL_FIELD(skip_validation);
+ WRITE_BOOL_FIELD(initially_valid);
+ break;
+diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
+index e3f9c62..5df939a 100644
+--- a/src/backend/parser/parse_utilcmd.c
++++ b/src/backend/parser/parse_utilcmd.c
+@@ -1867,14 +1867,18 @@ transformFKConstraints(CreateStmtContext *cxt,
+ * a predicate expression. There are several code paths that create indexes
+ * without bothering to call this, because they know they don't have any
+ * such expressions to deal with.
++ *
++ * To avoid race conditions, it's important that this function rely only on
++ * the passed-in relid (and not on stmt->relation) to determine the target
++ * relation.
+ */
+ IndexStmt *
+-transformIndexStmt(IndexStmt *stmt, const char *queryString)
++transformIndexStmt(Oid relid, IndexStmt *stmt, const char *queryString)
+ {
+- Relation rel;
+ ParseState *pstate;
+ RangeTblEntry *rte;
+ ListCell *l;
++ Relation rel;
+
+ /*
+ * We must not scribble on the passed-in IndexStmt, so copy it. (This is
+@@ -1882,26 +1886,17 @@ transformIndexStmt(IndexStmt *stmt, const char *queryString)
+ */
+ stmt = (IndexStmt *) copyObject(stmt);
+
+- /*
+- * Open the parent table with appropriate locking. We must do this
+- * because addRangeTableEntry() would acquire only AccessShareLock,
+- * leaving DefineIndex() needing to do a lock upgrade with consequent risk
+- * of deadlock. Make sure this stays in sync with the type of lock
+- * DefineIndex() wants. If we are being called by ALTER TABLE, we will
+- * already hold a higher lock.
+- */
+- rel = heap_openrv(stmt->relation,
+- (stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock));
+-
+ /* Set up pstate */
+ pstate = make_parsestate(NULL);
+ pstate->p_sourcetext = queryString;
+
+ /*
+ * Put the parent table into the rtable so that the expressions can refer
+- * to its fields without qualification.
++ * to its fields without qualification. Caller is responsible for locking
++ * relation, but we still need to open it.
+ */
+- rte = addRangeTableEntry(pstate, stmt->relation, NULL, false, true);
++ rel = relation_open(relid, NoLock);
++ rte = addRangeTableEntryForRelation(pstate, rel, NULL, false, true);
+
+ /* no to join list, yes to namespaces */
+ addRTEtoQuery(pstate, rte, false, true, true);
+@@ -1955,7 +1950,7 @@ transformIndexStmt(IndexStmt *stmt, const char *queryString)
+
+ free_parsestate(pstate);
+
+- /* Close relation, but keep the lock */
++ /* Close relation */
+ heap_close(rel, NoLock);
+
+ return stmt;
+@@ -2277,9 +2272,14 @@ transformRuleStmt(RuleStmt *stmt, const char *queryString,
+ * Returns a List of utility commands to be done in sequence. One of these
+ * will be the transformed AlterTableStmt, but there may be additional actions
+ * to be done before and after the actual AlterTable() call.
++ *
++ * To avoid race conditions, it's important that this function rely only on
++ * the passed-in relid (and not on stmt->relation) to determine the target
++ * relation.
+ */
+ List *
+-transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString)
++transformAlterTableStmt(Oid relid, AlterTableStmt *stmt,
++ const char *queryString)
+ {
+ Relation rel;
+ ParseState *pstate;
+@@ -2291,7 +2291,6 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString)
+ List *newcmds = NIL;
+ bool skipValidation = true;
+ AlterTableCmd *newcmd;
+- LOCKMODE lockmode;
+
+ /*
+ * We must not scribble on the passed-in AlterTableStmt, so copy it. (This
+@@ -2299,29 +2298,8 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString)
+ */
+ stmt = (AlterTableStmt *) copyObject(stmt);
+
+- /*
+- * Determine the appropriate lock level for this list of subcommands.
+- */
+- lockmode = AlterTableGetLockLevel(stmt->cmds);
+-
+- /*
+- * Acquire appropriate lock on the target relation, which will be held
+- * until end of transaction. This ensures any decisions we make here
+- * based on the state of the relation will still be good at execution. We
+- * must get lock now because execution will later require it; taking a
+- * lower grade lock now and trying to upgrade later risks deadlock. Any
+- * new commands we add after this must not upgrade the lock level
+- * requested here.
+- */
+- rel = relation_openrv_extended(stmt->relation, lockmode, stmt->missing_ok);
+- if (rel == NULL)
+- {
+- /* this message is consistent with relation_openrv */
+- ereport(NOTICE,
+- (errmsg("relation \"%s\" does not exist, skipping",
+- stmt->relation->relname)));
+- return NIL;
+- }
++ /* Caller is responsible for locking the relation */
++ rel = relation_open(relid, NoLock);
+
+ /* Set up pstate and CreateStmtContext */
+ pstate = make_parsestate(NULL);
+@@ -2434,7 +2412,7 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString)
+ IndexStmt *idxstmt = (IndexStmt *) lfirst(l);
+
+ Assert(IsA(idxstmt, IndexStmt));
+- idxstmt = transformIndexStmt(idxstmt, queryString);
++ idxstmt = transformIndexStmt(relid, idxstmt, queryString);
+ newcmd = makeNode(AlterTableCmd);
+ newcmd->subtype = OidIsValid(idxstmt->indexOid) ? AT_AddIndexConstraint : AT_AddIndex;
+ newcmd->def = (Node *) idxstmt;
+@@ -2458,7 +2436,7 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString)
+ newcmds = lappend(newcmds, newcmd);
+ }
+
+- /* Close rel but keep lock */
++ /* Close rel */
+ relation_close(rel, NoLock);
+
+ /*
+diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
+index 509bf4d..7903e03 100644
+--- a/src/backend/tcop/utility.c
++++ b/src/backend/tcop/utility.c
+@@ -67,49 +67,6 @@ ProcessUtility_hook_type ProcessUtility_hook = NULL;
+
+
+ /*
+- * Verify user has ownership of specified relation, else ereport.
+- *
+- * If noCatalogs is true then we also deny access to system catalogs,
+- * except when allowSystemTableMods is true.
+- */
+-void
+-CheckRelationOwnership(RangeVar *rel, bool noCatalogs)
+-{
+- Oid relOid;
+- HeapTuple tuple;
+-
+- /*
+- * XXX: This is unsafe in the presence of concurrent DDL, since it is
+- * called before acquiring any lock on the target relation. However,
+- * locking the target relation (especially using something like
+- * AccessExclusiveLock) before verifying that the user has permissions is
+- * not appealing either.
+- */
+- relOid = RangeVarGetRelid(rel, NoLock, false);
+-
+- tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relOid));
+- if (!HeapTupleIsValid(tuple)) /* should not happen */
+- elog(ERROR, "cache lookup failed for relation %u", relOid);
+-
+- if (!pg_class_ownercheck(relOid, GetUserId()))
+- aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS,
+- rel->relname);
+-
+- if (noCatalogs)
+- {
+- if (!allowSystemTableMods &&
+- IsSystemClass((Form_pg_class) GETSTRUCT(tuple)))
+- ereport(ERROR,
+- (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
+- errmsg("permission denied: \"%s\" is a system catalog",
+- rel->relname)));
+- }
+-
+- ReleaseSysCache(tuple);
+-}
+-
+-
+-/*
+ * CommandIsReadOnly: is an executable query read-only?
+ *
+ * This is a much stricter test than we apply for XactReadOnly mode;
+@@ -723,7 +680,8 @@ standard_ProcessUtility(Node *parsetree,
+ if (OidIsValid(relid))
+ {
+ /* Run parse analysis ... */
+- stmts = transformAlterTableStmt(atstmt, queryString);
++ stmts = transformAlterTableStmt(relid, atstmt,
++ queryString);
+
+ /* ... and do it */
+ foreach(l, stmts)
+@@ -910,18 +868,36 @@ standard_ProcessUtility(Node *parsetree,
+ case T_IndexStmt: /* CREATE INDEX */
+ {
+ IndexStmt *stmt = (IndexStmt *) parsetree;
++ Oid relid;
++ LOCKMODE lockmode;
+
+ if (stmt->concurrent)
+ PreventTransactionChain(isTopLevel,
+ "CREATE INDEX CONCURRENTLY");
+
+- CheckRelationOwnership(stmt->relation, true);
++ /*
++ * Look up the relation OID just once, right here at the
++ * beginning, so that we don't end up repeating the name
++ * lookup later and latching onto a different relation
++ * partway through. To avoid lock upgrade hazards, it's
++ * important that we take the strongest lock that will
++ * eventually be needed here, so the lockmode calculation
++ * needs to match what DefineIndex() does.
++ */
++ lockmode = stmt->concurrent ? ShareUpdateExclusiveLock
++ : ShareLock;
++ relid =
++ RangeVarGetRelidExtended(stmt->relation, lockmode,
++ false, false,
++ RangeVarCallbackOwnsRelation,
++ NULL);
+
+ /* Run parse analysis ... */
+- stmt = transformIndexStmt(stmt, queryString);
++ stmt = transformIndexStmt(relid, stmt, queryString);
+
+ /* ... and do it */
+- DefineIndex(stmt,
++ DefineIndex(relid, /* OID of heap relation */
++ stmt,
+ InvalidOid, /* no predefined OID */
+ false, /* is_alter_table */
+ true, /* check_rights */
+@@ -1057,7 +1033,8 @@ standard_ProcessUtility(Node *parsetree,
+
+ case T_CreateTrigStmt:
+ (void) CreateTrigger((CreateTrigStmt *) parsetree, queryString,
+- InvalidOid, InvalidOid, false);
++ InvalidOid, InvalidOid, InvalidOid,
++ InvalidOid, false);
+ break;
+
+ case T_CreatePLangStmt:
+diff --git a/src/include/catalog/pg_constraint.h b/src/include/catalog/pg_constraint.h
+index d9d40b2..d8f8da4 100644
+--- a/src/include/catalog/pg_constraint.h
++++ b/src/include/catalog/pg_constraint.h
+@@ -246,6 +246,7 @@ extern char *ChooseConstraintName(const char *name1, const char *name2,
+
+ extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId,
+ Oid newNspId, bool isType, ObjectAddresses *objsMoved);
++extern void get_constraint_relation_oids(Oid constraint_oid, Oid *conrelid, Oid *confrelid);
+ extern Oid get_relation_constraint_oid(Oid relid, const char *conname, bool missing_ok);
+ extern Oid get_domain_constraint_oid(Oid typid, const char *conname, bool missing_ok);
+
+diff --git a/src/include/commands/defrem.h b/src/include/commands/defrem.h
+index 9b6d57a..a00fd37 100644
+--- a/src/include/commands/defrem.h
++++ b/src/include/commands/defrem.h
+@@ -20,7 +20,8 @@
+ extern void RemoveObjects(DropStmt *stmt);
+
+ /* commands/indexcmds.c */
+-extern Oid DefineIndex(IndexStmt *stmt,
++extern Oid DefineIndex(Oid relationId,
++ IndexStmt *stmt,
+ Oid indexRelationId,
+ bool is_alter_table,
+ bool check_rights,
+@@ -35,7 +36,6 @@ extern char *makeObjectName(const char *name1, const char *name2,
+ extern char *ChooseRelationName(const char *name1, const char *name2,
+ const char *label, Oid namespaceid);
+ extern bool CheckIndexCompatible(Oid oldId,
+- RangeVar *heapRelation,
+ char *accessMethodName,
+ List *attributeList,
+ List *exclusionOpNames);
+diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h
+index 4f32062..d41f8a1 100644
+--- a/src/include/commands/tablecmds.h
++++ b/src/include/commands/tablecmds.h
+@@ -78,4 +78,6 @@ extern void AtEOSubXact_on_commit_actions(bool isCommit,
+ extern void RangeVarCallbackOwnsTable(const RangeVar *relation,
+ Oid relId, Oid oldRelId, void *arg);
+
++extern void RangeVarCallbackOwnsRelation(const RangeVar *relation,
++ Oid relId, Oid oldRelId, void *noCatalogs);
+ #endif /* TABLECMDS_H */
+diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h
+index 9303341..0869c0b 100644
+--- a/src/include/commands/trigger.h
++++ b/src/include/commands/trigger.h
+@@ -109,7 +109,7 @@ extern PGDLLIMPORT int SessionReplicationRole;
+ #define TRIGGER_DISABLED 'D'
+
+ extern Oid CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
+- Oid constraintOid, Oid indexOid,
++ Oid relOid, Oid refRelOid, Oid constraintOid, Oid indexOid,
+ bool isInternal);
+
+ extern void RemoveTriggerById(Oid trigOid);
+diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
+index 327f7cf..31f5479 100644
+--- a/src/include/nodes/parsenodes.h
++++ b/src/include/nodes/parsenodes.h
+@@ -1566,6 +1566,8 @@ typedef struct Constraint
+ /* Fields used for constraints that allow a NOT VALID specification */
+ bool skip_validation; /* skip validation of existing rows? */
+ bool initially_valid; /* mark the new constraint as valid? */
++
++ Oid old_pktable_oid; /* pg_constraint.confrelid of my former self */
+ } Constraint;
+
+ /* ----------------------
+diff --git a/src/include/parser/parse_utilcmd.h b/src/include/parser/parse_utilcmd.h
+index 4ad793a..d8b340e 100644
+--- a/src/include/parser/parse_utilcmd.h
++++ b/src/include/parser/parse_utilcmd.h
+@@ -18,9 +18,10 @@
+
+
+ extern List *transformCreateStmt(CreateStmt *stmt, const char *queryString);
+-extern List *transformAlterTableStmt(AlterTableStmt *stmt,
++extern List *transformAlterTableStmt(Oid relid, AlterTableStmt *stmt,
+ const char *queryString);
+-extern IndexStmt *transformIndexStmt(IndexStmt *stmt, const char *queryString);
++extern IndexStmt *transformIndexStmt(Oid relid, IndexStmt *stmt,
++ const char *queryString);
+ extern void transformRuleStmt(RuleStmt *stmt, const char *queryString,
+ List **actions, Node **whereClause);
+ extern List *transformCreateSchemaStmt(CreateSchemaStmt *stmt);
+diff --git a/src/include/tcop/utility.h b/src/include/tcop/utility.h
+index 54190b2..ae871ca 100644
+--- a/src/include/tcop/utility.h
++++ b/src/include/tcop/utility.h
+@@ -42,6 +42,4 @@ extern LogStmtLevel GetCommandLogLevel(Node *parsetree);
+
+ extern bool CommandIsReadOnly(Node *parsetree);
+
+-extern void CheckRelationOwnership(RangeVar *rel, bool noCatalogs);
+-
+ #endif /* UTILITY_H */
+--
+1.7.5.4
+
diff --git a/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch b/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch
new file mode 100644
index 0000000000..fac0a7347c
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch
@@ -0,0 +1,465 @@
+From f416622be81d1320417bbc7892fd562cae0dba72 Mon Sep 17 00:00:00 2001
+From: Noah Misch <noah@leadboat.com>
+Date: Mon, 17 Feb 2014 09:33:31 -0500
+Subject: [PATCH] Fix handling of wide datetime input/output.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+commit f416622be81d1320417bbc7892fd562cae0dba72 REL9_2_STABLE
+
+Many server functions use the MAXDATELEN constant to size a buffer for
+parsing or displaying a datetime value. It was much too small for the
+longest possible interval output and slightly too small for certain
+valid timestamp input, particularly input with a long timezone name.
+The long input was rejected needlessly; the long output caused
+interval_out() to overrun its buffer. ECPG's pgtypes library has a copy
+of the vulnerable functions, which bore the same vulnerabilities along
+with some of its own. In contrast to the server, certain long inputs
+caused stack overflow rather than failing cleanly. Back-patch to 8.4
+(all supported versions).
+
+Reported by Daniel Schüssler, reviewed by Tom Lane.
+
+Security: CVE-2014-0063
+
+
+Upstream-Status: Backport
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/include/utils/datetime.h | 17 +++++---
+ src/interfaces/ecpg/pgtypeslib/datetime.c | 4 +-
+ src/interfaces/ecpg/pgtypeslib/dt.h | 17 +++++---
+ src/interfaces/ecpg/pgtypeslib/dt_common.c | 44 ++++++++++++++------
+ src/interfaces/ecpg/pgtypeslib/interval.c | 2 +-
+ src/interfaces/ecpg/pgtypeslib/timestamp.c | 2 +-
+ .../ecpg/test/expected/pgtypeslib-dt_test2.c | 22 +++++++---
+ .../ecpg/test/expected/pgtypeslib-dt_test2.stdout | 19 ++++++++
+ src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc | 10 ++++
+ src/test/regress/expected/interval.out | 7 +++
+ src/test/regress/sql/interval.sql | 2 +
+ 11 files changed, 111 insertions(+), 35 deletions(-)
+
+diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h
+index d73cc8d..4b805b6 100644
+--- a/src/include/utils/datetime.h
++++ b/src/include/utils/datetime.h
+@@ -188,12 +188,17 @@ struct tzEntry;
+ #define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY))
+ #define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_ALL_SECS_M)
+
+-#define MAXDATELEN 63 /* maximum possible length of an input date
+- * string (not counting tr. null) */
+-#define MAXDATEFIELDS 25 /* maximum possible number of fields in a date
+- * string */
+-#define TOKMAXLEN 10 /* only this many chars are stored in
+- * datetktbl */
++/*
++ * Working buffer size for input and output of interval, timestamp, etc.
++ * Inputs that need more working space will be rejected early. Longer outputs
++ * will overrun buffers, so this must suffice for all possible output. As of
++ * this writing, interval_out() needs the most space at ~90 bytes.
++ */
++#define MAXDATELEN 128
++/* maximum possible number of fields in a date string */
++#define MAXDATEFIELDS 25
++/* only this many chars are stored in datetktbl */
++#define TOKMAXLEN 10
+
+ /* keep this struct small; it gets used a lot */
+ typedef struct
+diff --git a/src/interfaces/ecpg/pgtypeslib/datetime.c b/src/interfaces/ecpg/pgtypeslib/datetime.c
+index 823626f..4adcd1e 100644
+--- a/src/interfaces/ecpg/pgtypeslib/datetime.c
++++ b/src/interfaces/ecpg/pgtypeslib/datetime.c
+@@ -61,14 +61,14 @@ PGTYPESdate_from_asc(char *str, char **endptr)
+ int nf;
+ char *field[MAXDATEFIELDS];
+ int ftype[MAXDATEFIELDS];
+- char lowstr[MAXDATELEN + 1];
++ char lowstr[MAXDATELEN + MAXDATEFIELDS];
+ char *realptr;
+ char **ptr = (endptr != NULL) ? endptr : &realptr;
+
+ bool EuroDates = FALSE;
+
+ errno = 0;
+- if (strlen(str) >= sizeof(lowstr))
++ if (strlen(str) > MAXDATELEN)
+ {
+ errno = PGTYPES_DATE_BAD_DATE;
+ return INT_MIN;
+diff --git a/src/interfaces/ecpg/pgtypeslib/dt.h b/src/interfaces/ecpg/pgtypeslib/dt.h
+index dfe6f9e..2780593 100644
+--- a/src/interfaces/ecpg/pgtypeslib/dt.h
++++ b/src/interfaces/ecpg/pgtypeslib/dt.h
+@@ -192,12 +192,17 @@ typedef double fsec_t;
+ #define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY))
+ #define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_M(SECOND))
+
+-#define MAXDATELEN 63 /* maximum possible length of an input date
+- * string (not counting tr. null) */
+-#define MAXDATEFIELDS 25 /* maximum possible number of fields in a date
+- * string */
+-#define TOKMAXLEN 10 /* only this many chars are stored in
+- * datetktbl */
++/*
++ * Working buffer size for input and output of interval, timestamp, etc.
++ * Inputs that need more working space will be rejected early. Longer outputs
++ * will overrun buffers, so this must suffice for all possible output. As of
++ * this writing, PGTYPESinterval_to_asc() needs the most space at ~90 bytes.
++ */
++#define MAXDATELEN 128
++/* maximum possible number of fields in a date string */
++#define MAXDATEFIELDS 25
++/* only this many chars are stored in datetktbl */
++#define TOKMAXLEN 10
+
+ /* keep this struct small; it gets used a lot */
+ typedef struct
+diff --git a/src/interfaces/ecpg/pgtypeslib/dt_common.c b/src/interfaces/ecpg/pgtypeslib/dt_common.c
+index 6b89e4a..18178dd 100644
+--- a/src/interfaces/ecpg/pgtypeslib/dt_common.c
++++ b/src/interfaces/ecpg/pgtypeslib/dt_common.c
+@@ -1171,15 +1171,22 @@ DecodeNumberField(int len, char *str, int fmask,
+ if ((cp = strchr(str, '.')) != NULL)
+ {
+ #ifdef HAVE_INT64_TIMESTAMP
+- char fstr[MAXDATELEN + 1];
++ char fstr[7];
++ int i;
++
++ cp++;
+
+ /*
+ * OK, we have at most six digits to care about. Let's construct a
+- * string and then do the conversion to an integer.
++ * string with those digits, zero-padded on the right, and then do
++ * the conversion to an integer.
++ *
++ * XXX This truncates the seventh digit, unlike rounding it as do
++ * the backend and the !HAVE_INT64_TIMESTAMP case.
+ */
+- strcpy(fstr, (cp + 1));
+- strcpy(fstr + strlen(fstr), "000000");
+- *(fstr + 6) = '\0';
++ for (i = 0; i < 6; i++)
++ fstr[i] = *cp != '\0' ? *cp++ : '0';
++ fstr[i] = '\0';
+ *fsec = strtol(fstr, NULL, 10);
+ #else
+ *fsec = strtod(cp, NULL);
+@@ -1531,15 +1538,22 @@ DecodeTime(char *str, int *tmask, struct tm * tm, fsec_t *fsec)
+ else if (*cp == '.')
+ {
+ #ifdef HAVE_INT64_TIMESTAMP
+- char fstr[MAXDATELEN + 1];
++ char fstr[7];
++ int i;
++
++ cp++;
+
+ /*
+- * OK, we have at most six digits to work with. Let's construct a
+- * string and then do the conversion to an integer.
++ * OK, we have at most six digits to care about. Let's construct a
++ * string with those digits, zero-padded on the right, and then do
++ * the conversion to an integer.
++ *
++ * XXX This truncates the seventh digit, unlike rounding it as do
++ * the backend and the !HAVE_INT64_TIMESTAMP case.
+ */
+- strncpy(fstr, (cp + 1), 7);
+- strcpy(fstr + strlen(fstr), "000000");
+- *(fstr + 6) = '\0';
++ for (i = 0; i < 6; i++)
++ fstr[i] = *cp != '\0' ? *cp++ : '0';
++ fstr[i] = '\0';
+ *fsec = strtol(fstr, &cp, 10);
+ #else
+ str = cp;
+@@ -1665,6 +1679,9 @@ DecodePosixTimezone(char *str, int *tzp)
+ * DTK_NUMBER can hold date fields (yy.ddd)
+ * DTK_STRING can hold months (January) and time zones (PST)
+ * DTK_DATE can hold Posix time zones (GMT-8)
++ *
++ * The "lowstr" work buffer must have at least strlen(timestr) + MAXDATEFIELDS
++ * bytes of space. On output, field[] entries will point into it.
+ */
+ int
+ ParseDateTime(char *timestr, char *lowstr,
+@@ -1677,7 +1694,10 @@ ParseDateTime(char *timestr, char *lowstr,
+ /* outer loop through fields */
+ while (*(*endstr) != '\0')
+ {
++ /* Record start of current field */
+ field[nf] = lp;
++ if (nf >= MAXDATEFIELDS)
++ return -1;
+
+ /* leading digit? then date or time */
+ if (isdigit((unsigned char) *(*endstr)))
+@@ -1818,8 +1838,6 @@ ParseDateTime(char *timestr, char *lowstr,
+ /* force in a delimiter after each field */
+ *lp++ = '\0';
+ nf++;
+- if (nf > MAXDATEFIELDS)
+- return -1;
+ }
+
+ *numfields = nf;
+diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c
+index bcc10ee..fdd8f49 100644
+--- a/src/interfaces/ecpg/pgtypeslib/interval.c
++++ b/src/interfaces/ecpg/pgtypeslib/interval.c
+@@ -1092,7 +1092,7 @@ PGTYPESinterval_from_asc(char *str, char **endptr)
+ tm->tm_sec = 0;
+ fsec = 0;
+
+- if (strlen(str) >= sizeof(lowstr))
++ if (strlen(str) > MAXDATELEN)
+ {
+ errno = PGTYPES_INTVL_BAD_INTERVAL;
+ return NULL;
+diff --git a/src/interfaces/ecpg/pgtypeslib/timestamp.c b/src/interfaces/ecpg/pgtypeslib/timestamp.c
+index 7d3f7c8..4f91e63 100644
+--- a/src/interfaces/ecpg/pgtypeslib/timestamp.c
++++ b/src/interfaces/ecpg/pgtypeslib/timestamp.c
+@@ -297,7 +297,7 @@ PGTYPEStimestamp_from_asc(char *str, char **endptr)
+ char *realptr;
+ char **ptr = (endptr != NULL) ? endptr : &realptr;
+
+- if (strlen(str) >= sizeof(lowstr))
++ if (strlen(str) > MAXDATELEN)
+ {
+ errno = PGTYPES_TS_BAD_TIMESTAMP;
+ return (noresult);
+diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c
+index d3ebb0e..0ba1936 100644
+--- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c
++++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c
+@@ -45,6 +45,15 @@ char *dates[] = { "19990108foobar",
+ "1999.008",
+ "J2451187",
+ "January 8, 99 BC",
++ /*
++ * Maximize space usage in ParseDateTime() with 25
++ * (MAXDATEFIELDS) fields and 128 (MAXDATELEN) total length.
++ */
++ "........................Xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
++ /* 26 fields */
++ ".........................aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+ NULL };
+
+ /* do not conflict with libc "times" symbol */
+@@ -52,6 +61,7 @@ static char *times[] = { "0:04",
+ "1:59 PDT",
+ "13:24:40 -8:00",
+ "13:24:40.495+3",
++ "13:24:40.123456789+3",
+ NULL };
+
+ char *intervals[] = { "1 minute",
+@@ -73,22 +83,22 @@ main(void)
+
+
+
+-#line 52 "dt_test2.pgc"
++#line 62 "dt_test2.pgc"
+ date date1 ;
+
+-#line 53 "dt_test2.pgc"
++#line 63 "dt_test2.pgc"
+ timestamp ts1 , ts2 ;
+
+-#line 54 "dt_test2.pgc"
++#line 64 "dt_test2.pgc"
+ char * text ;
+
+-#line 55 "dt_test2.pgc"
++#line 65 "dt_test2.pgc"
+ interval * i1 ;
+
+-#line 56 "dt_test2.pgc"
++#line 66 "dt_test2.pgc"
+ date * dc ;
+ /* exec sql end declare section */
+-#line 57 "dt_test2.pgc"
++#line 67 "dt_test2.pgc"
+
+
+ int i, j;
+diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout
+index 24e9d26..9a4587b 100644
+--- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout
++++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout
+@@ -8,85 +8,104 @@ TS[3,0]: 1999-01-08 00:04:00
+ TS[3,1]: 1999-01-08 01:59:00
+ TS[3,2]: 1999-01-08 13:24:40
+ TS[3,3]: 1999-01-08 13:24:40.495
++TS[3,4]: 1999-01-08 13:24:40.123456
+ Date[4]: 1999-01-08 (N - F)
+ TS[4,0]: 1999-01-08 00:04:00
+ TS[4,1]: 1999-01-08 01:59:00
+ TS[4,2]: 1999-01-08 13:24:40
+ TS[4,3]: 1999-01-08 13:24:40.495
++TS[4,4]: 1999-01-08 13:24:40.123456
+ Date[5]: 1999-01-08 (N - F)
+ TS[5,0]: 1999-01-08 00:04:00
+ TS[5,1]: 1999-01-08 01:59:00
+ TS[5,2]: 1999-01-08 13:24:40
+ TS[5,3]: 1999-01-08 13:24:40.495
++TS[5,4]: 1999-01-08 13:24:40.123456
+ Date[6]: 1999-01-18 (N - F)
+ TS[6,0]: 1999-01-18 00:04:00
+ TS[6,1]: 1999-01-18 01:59:00
+ TS[6,2]: 1999-01-18 13:24:40
+ TS[6,3]: 1999-01-18 13:24:40.495
++TS[6,4]: 1999-01-18 13:24:40.123456
+ Date[7]: 2003-01-02 (N - F)
+ TS[7,0]: 2003-01-02 00:04:00
+ TS[7,1]: 2003-01-02 01:59:00
+ TS[7,2]: 2003-01-02 13:24:40
+ TS[7,3]: 2003-01-02 13:24:40.495
++TS[7,4]: 2003-01-02 13:24:40.123456
+ Date[8]: 1999-01-08 (N - F)
+ TS[8,0]: 1999-01-08 00:04:00
+ TS[8,1]: 1999-01-08 01:59:00
+ TS[8,2]: 1999-01-08 13:24:40
+ TS[8,3]: 1999-01-08 13:24:40.495
++TS[8,4]: 1999-01-08 13:24:40.123456
+ Date[9]: 1999-01-08 (N - F)
+ TS[9,0]: 1999-01-08 00:04:00
+ TS[9,1]: 1999-01-08 01:59:00
+ TS[9,2]: 1999-01-08 13:24:40
+ TS[9,3]: 1999-01-08 13:24:40.495
++TS[9,4]: 1999-01-08 13:24:40.123456
+ Date[10]: 1999-01-08 (N - F)
+ TS[10,0]: 1999-01-08 00:04:00
+ TS[10,1]: 1999-01-08 01:59:00
+ TS[10,2]: 1999-01-08 13:24:40
+ TS[10,3]: 1999-01-08 13:24:40.495
++TS[10,4]: 1999-01-08 13:24:40.123456
+ Date[11]: 1999-01-08 (N - F)
+ TS[11,0]: 1999-01-08 00:04:00
+ TS[11,1]: 1999-01-08 01:59:00
+ TS[11,2]: 1999-01-08 13:24:40
+ TS[11,3]: 1999-01-08 13:24:40.495
++TS[11,4]: 1999-01-08 13:24:40.123456
+ Date[12]: 1999-01-08 (N - F)
+ TS[12,0]: 1999-01-08 00:04:00
+ TS[12,1]: 1999-01-08 01:59:00
+ TS[12,2]: 1999-01-08 13:24:40
+ TS[12,3]: 1999-01-08 13:24:40.495
++TS[12,4]: 1999-01-08 13:24:40.123456
+ Date[13]: 2006-01-08 (N - F)
+ TS[13,0]: 2006-01-08 00:04:00
+ TS[13,1]: 2006-01-08 01:59:00
+ TS[13,2]: 2006-01-08 13:24:40
+ TS[13,3]: 2006-01-08 13:24:40.495
++TS[13,4]: 2006-01-08 13:24:40.123456
+ Date[14]: 1999-01-08 (N - F)
+ TS[14,0]: 1999-01-08 00:04:00
+ TS[14,1]: 1999-01-08 01:59:00
+ TS[14,2]: 1999-01-08 13:24:40
+ TS[14,3]: 1999-01-08 13:24:40.495
++TS[14,4]: 1999-01-08 13:24:40.123456
+ Date[15]: 1999-01-08 (N - F)
+ TS[15,0]: 1999-01-08 00:04:00
+ TS[15,1]: 1999-01-08 01:59:00
+ TS[15,2]: 1999-01-08 13:24:40
+ TS[15,3]: 1999-01-08 13:24:40.495
++TS[15,4]: 1999-01-08 13:24:40.123456
+ Date[16]: 1999-01-08 (N - F)
+ TS[16,0]: 1999-01-08 00:04:00
+ TS[16,1]: 1999-01-08 01:59:00
+ TS[16,2]: 1999-01-08 13:24:40
+ TS[16,3]: 1999-01-08 13:24:40.495
++TS[16,4]: 1999-01-08 13:24:40.123456
+ Date[17]: 1999-01-08 (N - F)
+ TS[17,0]: 1999-01-08 00:04:00
+ TS[17,1]: 1999-01-08 01:59:00
+ TS[17,2]: 1999-01-08 13:24:40
+ TS[17,3]: 1999-01-08 13:24:40.495
++TS[17,4]: 1999-01-08 13:24:40.123456
+ Date[18]: 1999-01-08 (N - F)
+ TS[18,0]: 1999-01-08 00:04:00
+ TS[18,1]: 1999-01-08 01:59:00
+ TS[18,2]: 1999-01-08 13:24:40
+ TS[18,3]: 1999-01-08 13:24:40.495
++TS[18,4]: 1999-01-08 13:24:40.123456
+ Date[19]: 0099-01-08 BC (N - F)
+ TS[19,0]: 0099-01-08 00:04:00 BC
+ TS[19,1]: 0099-01-08 01:59:00 BC
+ TS[19,2]: 0099-01-08 13:24:40 BC
++TS[19,4]: 0099-01-08 13:24:40.123456 BC
++Date[20]: - (N - T)
++Date[21]: - (N - T)
+ interval[0]: @ 1 min
+ interval_copy[0]: @ 1 min
+ interval[1]: @ 1 day 12 hours 59 mins 10 secs
+diff --git a/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc b/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc
+index 0edf012..a127dd9 100644
+--- a/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc
++++ b/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc
+@@ -27,6 +27,15 @@ char *dates[] = { "19990108foobar",
+ "1999.008",
+ "J2451187",
+ "January 8, 99 BC",
++ /*
++ * Maximize space usage in ParseDateTime() with 25
++ * (MAXDATEFIELDS) fields and 128 (MAXDATELEN) total length.
++ */
++ "........................Xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
++ /* 26 fields */
++ ".........................aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+ NULL };
+
+ /* do not conflict with libc "times" symbol */
+@@ -34,6 +43,7 @@ static char *times[] = { "0:04",
+ "1:59 PDT",
+ "13:24:40 -8:00",
+ "13:24:40.495+3",
++ "13:24:40.123456789+3",
+ NULL };
+
+ char *intervals[] = { "1 minute",
+diff --git a/src/test/regress/expected/interval.out b/src/test/regress/expected/interval.out
+index 3bf2211..99fd0ca 100644
+--- a/src/test/regress/expected/interval.out
++++ b/src/test/regress/expected/interval.out
+@@ -306,6 +306,13 @@ select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31
+ @ 4541 years 4 mons 4 days 17 mins 31 secs
+ (1 row)
+
++-- test long interval output
++select '100000000y 10mon -1000000000d -1000000000h -10min -10.000001s ago'::interval;
++ interval
++-------------------------------------------------------------------------------------------
++ @ 100000000 years 10 mons -1000000000 days -1000000000 hours -10 mins -10.000001 secs ago
++(1 row)
++
+ -- test justify_hours() and justify_days()
+ SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds";
+ 6 mons 5 days 4 hours 3 mins 2 seconds
+diff --git a/src/test/regress/sql/interval.sql b/src/test/regress/sql/interval.sql
+index f1da4c2..7cee286 100644
+--- a/src/test/regress/sql/interval.sql
++++ b/src/test/regress/sql/interval.sql
+@@ -108,6 +108,8 @@ select avg(f1) from interval_tbl;
+ -- test long interval input
+ select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval;
+
++-- test long interval output
++select '100000000y 10mon -1000000000d -1000000000h -10min -10.000001s ago'::interval;
+
+ -- test justify_hours() and justify_days()
+
+--
+1.7.5.4
+
diff --git a/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch b/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch
new file mode 100644
index 0000000000..3cffc0a852
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch
@@ -0,0 +1,75 @@
+From 0ae841a98c21c53901d5bc9a9323a8cc800364f6 Mon Sep 17 00:00:00 2001
+From: Noah Misch <noah@leadboat.com>
+Date: Sat, 14 Jun 2014 10:52:25 -0400
+Subject: [PATCH] Make pqsignal() available to pg_regress of ECPG and
+ isolation suites.
+
+commit 0ae841a98c21c53901d5bc9a9323a8cc800364f6 REL9_2_STABLE
+
+Commit 453a5d91d49e4d35054f92785d830df4067e10c1 made it available to the
+src/test/regress build of pg_regress, but all pg_regress builds need the
+same treatment. Patch 9.2 through 8.4; in 9.3 and later, pg_regress
+gets pqsignal() via libpgport.
+
+
+Upstream-Status: Backport
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/interfaces/ecpg/test/Makefile | 4 ++--
+ src/test/isolation/Makefile | 12 +++++++-----
+ 2 files changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile
+index e9944c6..4bb9525 100644
+--- a/src/interfaces/ecpg/test/Makefile
++++ b/src/interfaces/ecpg/test/Makefile
+@@ -47,10 +47,10 @@ clean distclean maintainer-clean:
+
+ all: pg_regress$(X)
+
+-pg_regress$(X): pg_regress_ecpg.o $(top_builddir)/src/test/regress/pg_regress.o
++pg_regress$(X): pg_regress_ecpg.o $(top_builddir)/src/test/regress/pg_regress.o $(top_builddir)/src/test/regress/pqsignal.o
+ $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_EX) $^ $(LIBS) -o $@
+
+-$(top_builddir)/src/test/regress/pg_regress.o:
++$(top_builddir)/src/test/regress/pg_regress.o $(top_builddir)/src/test/regress/pqsignal.o:
+ $(MAKE) -C $(dir $@) $(notdir $@)
+
+ # dependencies ensure that path changes propagate
+diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile
+index 46ea6f0..e20ba48 100644
+--- a/src/test/isolation/Makefile
++++ b/src/test/isolation/Makefile
+@@ -15,13 +15,15 @@ OBJS = specparse.o isolationtester.o
+
+ all: isolationtester$(X) pg_isolation_regress$(X)
+
+-submake-regress:
++pg_regress.o:
+ $(MAKE) -C $(top_builddir)/src/test/regress pg_regress.o
+-
+-pg_regress.o: | submake-regress
+ rm -f $@ && $(LN_S) $(top_builddir)/src/test/regress/pg_regress.o .
+
+-pg_isolation_regress$(X): isolation_main.o pg_regress.o
++pqsignal.o:
++ $(MAKE) -C $(top_builddir)/src/test/regress pqsignal.o
++ rm -f $@ && $(LN_S) $(top_builddir)/src/test/regress/pqsignal.o .
++
++pg_isolation_regress$(X): isolation_main.o pg_regress.o pqsignal.o
+ $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@
+
+ isolationtester$(X): $(OBJS) | submake-libpq submake-libpgport
+@@ -59,7 +61,7 @@ endif
+ # so do not clean them here
+ clean distclean:
+ rm -f isolationtester$(X) pg_isolation_regress$(X) $(OBJS) isolation_main.o
+- rm -f pg_regress.o
++ rm -f pg_regress.o pqsignal.o
+ rm -rf $(pg_regress_clean_files)
+
+ maintainer-clean: distclean
+--
+1.7.5.4
+
diff --git a/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch b/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch
new file mode 100644
index 0000000000..62ec9354d4
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch
@@ -0,0 +1,393 @@
+From 655b665f745e2e07cf6936c6063b0250f5caa98f Mon Sep 17 00:00:00 2001
+From: Tom Lane <tgl@sss.pgh.pa.us>
+Date: Mon, 17 Feb 2014 11:20:27 -0500
+Subject: [PATCH] Prevent potential overruns of fixed-size buffers.
+
+commit 655b665f745e2e07cf6936c6063b0250f5caa98f REL9_2_STABLE
+
+Coverity identified a number of places in which it couldn't prove that a
+string being copied into a fixed-size buffer would fit. We believe that
+most, perhaps all of these are in fact safe, or are copying data that is
+coming from a trusted source so that any overrun is not really a security
+issue. Nonetheless it seems prudent to forestall any risk by using
+strlcpy() and similar functions.
+
+Fixes by Peter Eisentraut and Jozef Mlich based on Coverity reports.
+
+In addition, fix a potential null-pointer-dereference crash in
+contrib/chkpass. The crypt(3) function is defined to return NULL on
+failure, but chkpass.c didn't check for that before using the result.
+The main practical case in which this could be an issue is if libc is
+configured to refuse to execute unapproved hashing algorithms (e.g.,
+"FIPS mode"). This ideally should've been a separate commit, but
+since it touches code adjacent to one of the buffer overrun changes,
+I included it in this commit to avoid last-minute merge issues.
+This issue was reported by Honza Horak.
+
+Security: CVE-2014-0065 for buffer overruns, CVE-2014-0066 for crypt()
+
+Upsteam-Status: Backport
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ contrib/chkpass/chkpass.c | 29 ++++++++++++++++++++++++++---
+ contrib/pg_standby/pg_standby.c | 2 +-
+ src/backend/access/transam/xlog.c | 10 +++++-----
+ src/backend/tsearch/spell.c | 2 +-
+ src/backend/utils/adt/datetime.c | 11 ++++++-----
+ src/bin/initdb/findtimezone.c | 4 ++--
+ src/bin/pg_basebackup/pg_basebackup.c | 8 ++++----
+ src/interfaces/ecpg/preproc/pgc.l | 2 +-
+ src/interfaces/libpq/fe-protocol2.c | 2 +-
+ src/interfaces/libpq/fe-protocol3.c | 2 +-
+ src/port/exec.c | 4 ++--
+ src/test/regress/pg_regress.c | 6 +++---
+ src/timezone/pgtz.c | 2 +-
+ 13 files changed, 54 insertions(+), 30 deletions(-)
+
+diff --git a/contrib/chkpass/chkpass.c b/contrib/chkpass/chkpass.c
+index 0c9fec0..1795b8c 100644
+--- a/contrib/chkpass/chkpass.c
++++ b/contrib/chkpass/chkpass.c
+@@ -70,6 +70,7 @@ chkpass_in(PG_FUNCTION_ARGS)
+ char *str = PG_GETARG_CSTRING(0);
+ chkpass *result;
+ char mysalt[4];
++ char *crypt_output;
+ static char salt_chars[] =
+ "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
+
+@@ -92,7 +93,15 @@ chkpass_in(PG_FUNCTION_ARGS)
+ mysalt[1] = salt_chars[random() & 0x3f];
+ mysalt[2] = 0; /* technically the terminator is not necessary
+ * but I like to play safe */
+- strcpy(result->password, crypt(str, mysalt));
++
++ crypt_output = crypt(str, mysalt);
++ if (crypt_output == NULL)
++ ereport(ERROR,
++ (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
++ errmsg("crypt() failed")));
++
++ strlcpy(result->password, crypt_output, sizeof(result->password));
++
+ PG_RETURN_POINTER(result);
+ }
+
+@@ -141,9 +150,16 @@ chkpass_eq(PG_FUNCTION_ARGS)
+ chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0);
+ text *a2 = PG_GETARG_TEXT_PP(1);
+ char str[9];
++ char *crypt_output;
+
+ text_to_cstring_buffer(a2, str, sizeof(str));
+- PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) == 0);
++ crypt_output = crypt(str, a1->password);
++ if (crypt_output == NULL)
++ ereport(ERROR,
++ (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
++ errmsg("crypt() failed")));
++
++ PG_RETURN_BOOL(strcmp(a1->password, crypt_output) == 0);
+ }
+
+ PG_FUNCTION_INFO_V1(chkpass_ne);
+@@ -153,7 +169,14 @@ chkpass_ne(PG_FUNCTION_ARGS)
+ chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0);
+ text *a2 = PG_GETARG_TEXT_PP(1);
+ char str[9];
++ char *crypt_output;
+
+ text_to_cstring_buffer(a2, str, sizeof(str));
+- PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) != 0);
++ crypt_output = crypt(str, a1->password);
++ if (crypt_output == NULL)
++ ereport(ERROR,
++ (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
++ errmsg("crypt() failed")));
++
++ PG_RETURN_BOOL(strcmp(a1->password, crypt_output) != 0);
+ }
+diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c
+index 84941ed..0f1e0c1 100644
+--- a/contrib/pg_standby/pg_standby.c
++++ b/contrib/pg_standby/pg_standby.c
+@@ -338,7 +338,7 @@ SetWALFileNameForCleanup(void)
+ if (strcmp(restartWALFileName, nextWALFileName) > 0)
+ return false;
+
+- strcpy(exclusiveCleanupFileName, restartWALFileName);
++ strlcpy(exclusiveCleanupFileName, restartWALFileName, sizeof(exclusiveCleanupFileName));
+ return true;
+ }
+
+diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
+index d639c4a..49bb453 100644
+--- a/src/backend/access/transam/xlog.c
++++ b/src/backend/access/transam/xlog.c
+@@ -3017,7 +3017,7 @@ KeepFileRestoredFromArchive(char *path, char *xlogfname)
+ xlogfpath, oldpath)));
+ }
+ #else
+- strncpy(oldpath, xlogfpath, MAXPGPATH);
++ strlcpy(oldpath, xlogfpath, MAXPGPATH);
+ #endif
+ if (unlink(oldpath) != 0)
+ ereport(FATAL,
+@@ -5913,7 +5913,7 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis)
+
+ recordRestorePointData = (xl_restore_point *) XLogRecGetData(record);
+ recordXtime = recordRestorePointData->rp_time;
+- strncpy(recordRPName, recordRestorePointData->rp_name, MAXFNAMELEN);
++ strlcpy(recordRPName, recordRestorePointData->rp_name, MAXFNAMELEN);
+ }
+ else
+ return false;
+@@ -6008,7 +6008,7 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis)
+ }
+ else
+ {
+- strncpy(recoveryStopName, recordRPName, MAXFNAMELEN);
++ strlcpy(recoveryStopName, recordRPName, MAXFNAMELEN);
+
+ ereport(LOG,
+ (errmsg("recovery stopping at restore point \"%s\", time %s",
+@@ -6348,7 +6348,7 @@ StartupXLOG(void)
+ * see them
+ */
+ XLogCtl->RecoveryTargetTLI = recoveryTargetTLI;
+- strncpy(XLogCtl->archiveCleanupCommand,
++ strlcpy(XLogCtl->archiveCleanupCommand,
+ archiveCleanupCommand ? archiveCleanupCommand : "",
+ sizeof(XLogCtl->archiveCleanupCommand));
+
+@@ -8760,7 +8760,7 @@ XLogRestorePoint(const char *rpName)
+ xl_restore_point xlrec;
+
+ xlrec.rp_time = GetCurrentTimestamp();
+- strncpy(xlrec.rp_name, rpName, MAXFNAMELEN);
++ strlcpy(xlrec.rp_name, rpName, MAXFNAMELEN);
+
+ rdata.buffer = InvalidBuffer;
+ rdata.data = (char *) &xlrec;
+diff --git a/src/backend/tsearch/spell.c b/src/backend/tsearch/spell.c
+index 449aa6a..4acc33e 100644
+--- a/src/backend/tsearch/spell.c
++++ b/src/backend/tsearch/spell.c
+@@ -255,7 +255,7 @@ NIAddSpell(IspellDict *Conf, const char *word, const char *flag)
+ }
+ Conf->Spell[Conf->nspell] = (SPELL *) tmpalloc(SPELLHDRSZ + strlen(word) + 1);
+ strcpy(Conf->Spell[Conf->nspell]->word, word);
+- strncpy(Conf->Spell[Conf->nspell]->p.flag, flag, MAXFLAGLEN);
++ strlcpy(Conf->Spell[Conf->nspell]->p.flag, flag, MAXFLAGLEN);
+ Conf->nspell++;
+ }
+
+diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c
+index 4763a6f..4105f17 100644
+--- a/src/backend/utils/adt/datetime.c
++++ b/src/backend/utils/adt/datetime.c
+@@ -90,10 +90,10 @@ char *days[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
+ * Note that this table must be strictly alphabetically ordered to allow an
+ * O(ln(N)) search algorithm to be used.
+ *
+- * The text field is NOT guaranteed to be NULL-terminated.
++ * The token field is NOT guaranteed to be NULL-terminated.
+ *
+- * To keep this table reasonably small, we divide the lexval for TZ and DTZ
+- * entries by 15 (so they are on 15 minute boundaries) and truncate the text
++ * To keep this table reasonably small, we divide the value for TZ and DTZ
++ * entries by 15 (so they are on 15 minute boundaries) and truncate the token
+ * field at TOKMAXLEN characters.
+ * Formerly, we divided by 10 rather than 15 but there are a few time zones
+ * which are 30 or 45 minutes away from an even hour, most are on an hour
+@@ -108,7 +108,7 @@ static datetkn *timezonetktbl = NULL;
+ static int sztimezonetktbl = 0;
+
+ static const datetkn datetktbl[] = {
+-/* text, token, lexval */
++ /* token, type, value */
+ {EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */
+ {DA_D, ADBC, AD}, /* "ad" for years > 0 */
+ {"allballs", RESERV, DTK_ZULU}, /* 00:00:00 */
+@@ -188,7 +188,7 @@ static const datetkn datetktbl[] = {
+ static int szdatetktbl = sizeof datetktbl / sizeof datetktbl[0];
+
+ static datetkn deltatktbl[] = {
+- /* text, token, lexval */
++ /* token, type, value */
+ {"@", IGNORE_DTF, 0}, /* postgres relative prefix */
+ {DAGO, AGO, 0}, /* "ago" indicates negative time offset */
+ {"c", UNITS, DTK_CENTURY}, /* "century" relative */
+@@ -4201,6 +4201,7 @@ ConvertTimeZoneAbbrevs(TimeZoneAbbrevTable *tbl,
+ tbl->numabbrevs = n;
+ for (i = 0; i < n; i++)
+ {
++ /* do NOT use strlcpy here; token field need not be null-terminated */
+ strncpy(newtbl[i].token, abbrevs[i].abbrev, TOKMAXLEN);
+ newtbl[i].type = abbrevs[i].is_dst ? DTZ : TZ;
+ TOVAL(&newtbl[i], abbrevs[i].offset / MINS_PER_HOUR);
+diff --git a/src/bin/initdb/findtimezone.c b/src/bin/initdb/findtimezone.c
+index 6d6f96a..6d38151 100644
+--- a/src/bin/initdb/findtimezone.c
++++ b/src/bin/initdb/findtimezone.c
+@@ -68,7 +68,7 @@ pg_open_tzfile(const char *name, char *canonname)
+ if (canonname)
+ strlcpy(canonname, name, TZ_STRLEN_MAX + 1);
+
+- strcpy(fullname, pg_TZDIR());
++ strlcpy(fullname, pg_TZDIR(), sizeof(fullname));
+ if (strlen(fullname) + 1 + strlen(name) >= MAXPGPATH)
+ return -1; /* not gonna fit */
+ strcat(fullname, "/");
+@@ -375,7 +375,7 @@ identify_system_timezone(void)
+ }
+
+ /* Search for the best-matching timezone file */
+- strcpy(tmptzdir, pg_TZDIR());
++ strlcpy(tmptzdir, pg_TZDIR(), sizeof(tmptzdir));
+ bestscore = -1;
+ resultbuf[0] = '\0';
+ scan_available_timezones(tmptzdir, tmptzdir + strlen(tmptzdir) + 1,
+diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
+index 9d840a1..26cc758 100644
+--- a/src/bin/pg_basebackup/pg_basebackup.c
++++ b/src/bin/pg_basebackup/pg_basebackup.c
+@@ -735,9 +735,9 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum)
+ FILE *file = NULL;
+
+ if (PQgetisnull(res, rownum, 0))
+- strcpy(current_path, basedir);
++ strlcpy(current_path, basedir, sizeof(current_path));
+ else
+- strcpy(current_path, PQgetvalue(res, rownum, 1));
++ strlcpy(current_path, PQgetvalue(res, rownum, 1), sizeof(current_path));
+
+ /*
+ * Get the COPY data
+@@ -1053,7 +1053,7 @@ BaseBackup(void)
+ progname);
+ disconnect_and_exit(1);
+ }
+- strcpy(xlogstart, PQgetvalue(res, 0, 0));
++ strlcpy(xlogstart, PQgetvalue(res, 0, 0), sizeof(xlogstart));
+ if (verbose && includewal)
+ fprintf(stderr, "transaction log start point: %s\n", xlogstart);
+ PQclear(res);
+@@ -1153,7 +1153,7 @@ BaseBackup(void)
+ progname);
+ disconnect_and_exit(1);
+ }
+- strcpy(xlogend, PQgetvalue(res, 0, 0));
++ strlcpy(xlogend, PQgetvalue(res, 0, 0), sizeof(xlogend));
+ if (verbose && includewal)
+ fprintf(stderr, "transaction log end point: %s\n", xlogend);
+ PQclear(res);
+diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l
+index f2e7edd..7ae8556 100644
+--- a/src/interfaces/ecpg/preproc/pgc.l
++++ b/src/interfaces/ecpg/preproc/pgc.l
+@@ -1315,7 +1315,7 @@ parse_include(void)
+ yytext[i] = '\0';
+ memmove(yytext, yytext+1, strlen(yytext));
+
+- strncpy(inc_file, yytext, sizeof(inc_file));
++ strlcpy(inc_file, yytext, sizeof(inc_file));
+ yyin = fopen(inc_file, "r");
+ if (!yyin)
+ {
+diff --git a/src/interfaces/libpq/fe-protocol2.c b/src/interfaces/libpq/fe-protocol2.c
+index 1ba5885..af4c412 100644
+--- a/src/interfaces/libpq/fe-protocol2.c
++++ b/src/interfaces/libpq/fe-protocol2.c
+@@ -500,7 +500,7 @@ pqParseInput2(PGconn *conn)
+ if (!conn->result)
+ return;
+ }
+- strncpy(conn->result->cmdStatus, conn->workBuffer.data,
++ strlcpy(conn->result->cmdStatus, conn->workBuffer.data,
+ CMDSTATUS_LEN);
+ checkXactStatus(conn, conn->workBuffer.data);
+ conn->asyncStatus = PGASYNC_READY;
+diff --git a/src/interfaces/libpq/fe-protocol3.c b/src/interfaces/libpq/fe-protocol3.c
+index d289f82..6f8a470 100644
+--- a/src/interfaces/libpq/fe-protocol3.c
++++ b/src/interfaces/libpq/fe-protocol3.c
+@@ -206,7 +206,7 @@ pqParseInput3(PGconn *conn)
+ if (!conn->result)
+ return;
+ }
+- strncpy(conn->result->cmdStatus, conn->workBuffer.data,
++ strlcpy(conn->result->cmdStatus, conn->workBuffer.data,
+ CMDSTATUS_LEN);
+ conn->asyncStatus = PGASYNC_READY;
+ break;
+diff --git a/src/port/exec.c b/src/port/exec.c
+index c79e8ba..0726dbe 100644
+--- a/src/port/exec.c
++++ b/src/port/exec.c
+@@ -66,7 +66,7 @@ validate_exec(const char *path)
+ if (strlen(path) >= strlen(".exe") &&
+ pg_strcasecmp(path + strlen(path) - strlen(".exe"), ".exe") != 0)
+ {
+- strcpy(path_exe, path);
++ strlcpy(path_exe, path, sizeof(path_exe) - 4);
+ strcat(path_exe, ".exe");
+ path = path_exe;
+ }
+@@ -275,7 +275,7 @@ resolve_symlinks(char *path)
+ }
+
+ /* must copy final component out of 'path' temporarily */
+- strcpy(link_buf, fname);
++ strlcpy(link_buf, fname, sizeof(link_buf));
+
+ if (!getcwd(path, MAXPGPATH))
+ {
+diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
+index d991a5c..a6466eb 100644
+--- a/src/test/regress/pg_regress.c
++++ b/src/test/regress/pg_regress.c
+@@ -1233,7 +1233,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul
+ */
+ platform_expectfile = get_expectfile(testname, resultsfile);
+
+- strcpy(expectfile, default_expectfile);
++ strlcpy(expectfile, default_expectfile, sizeof(expectfile));
+ if (platform_expectfile)
+ {
+ /*
+@@ -1288,7 +1288,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul
+ {
+ /* This diff was a better match than the last one */
+ best_line_count = l;
+- strcpy(best_expect_file, alt_expectfile);
++ strlcpy(best_expect_file, alt_expectfile, sizeof(best_expect_file));
+ }
+ free(alt_expectfile);
+ }
+@@ -1316,7 +1316,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul
+ {
+ /* This diff was a better match than the last one */
+ best_line_count = l;
+- strcpy(best_expect_file, default_expectfile);
++ strlcpy(best_expect_file, default_expectfile, sizeof(best_expect_file));
+ }
+ }
+
+diff --git a/src/timezone/pgtz.c b/src/timezone/pgtz.c
+index d5bc83e..80c5635 100644
+--- a/src/timezone/pgtz.c
++++ b/src/timezone/pgtz.c
+@@ -83,7 +83,7 @@ pg_open_tzfile(const char *name, char *canonname)
+ * Loop to split the given name into directory levels; for each level,
+ * search using scan_directory_ci().
+ */
+- strcpy(fullname, pg_TZDIR());
++ strlcpy(fullname, pg_TZDIR(), sizeof(fullname));
+ orignamelen = fullnamelen = strlen(fullname);
+ fname = name;
+ for (;;)
+--
+1.7.5.4
+
diff --git a/meta-oe/recipes-support/postgresql/files/postgresql-setup b/meta-oe/recipes-support/postgresql/files/postgresql-setup
new file mode 100644
index 0000000000..75bb01e05f
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/postgresql-setup
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# postgresql-setup Initialization operation for PostgreSQL
+
+# For SELinux we need to use 'runuser' not 'su'
+if [ -x /sbin/runuser ]
+then
+ SU=runuser
+else
+ SU=su
+fi
+
+PGENGINE=/usr/bin
+PGDATA=/var/lib/postgresql/data
+PGLOG=/var/lib/postgresql/pgstartup.log
+script_result=0
+
+initdb(){
+ if [ -f "$PGDATA/PG_VERSION" ]
+ then
+ echo -n "Data directory is not empty!"
+ echo -n " [FAILED] "
+ echo
+ script_result=1
+ else
+ echo -n "Initializing database: "
+ if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ]
+ then
+ mkdir -p "$PGDATA" || exit 1
+ chown postgres:postgres "$PGDATA"
+ chmod go-rwx "$PGDATA"
+ fi
+ # Clean up SELinux tagging for PGDATA
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA"
+
+ # Make sure the startup-time log file is OK, too
+ if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ]
+ then
+ touch "$PGLOG" || exit 1
+ chown postgres:postgres "$PGLOG"
+ chmod go-rwx "$PGLOG"
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG"
+ fi
+
+ # Initialize the database
+ $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null
+
+ # Create directory for postmaster log
+ mkdir "$PGDATA/pg_log"
+ chown postgres:postgres "$PGDATA/pg_log"
+ chmod go-rwx "$PGDATA/pg_log"
+
+ if [ -f "$PGDATA/PG_VERSION" ]
+ then
+ echo -n " [ OK ] "
+ else
+ echo -n " [FAILED] "
+ script_result=1
+ fi
+ echo
+ fi
+}
+
+case "$1" in
+ initdb)
+ initdb
+ ;;
+ *)
+ echo "Usage: $0 initdb"
+ exit 2
+esac
+
+exit $script_result
diff --git a/meta-oe/recipes-support/postgresql/files/postgresql.init b/meta-oe/recipes-support/postgresql/files/postgresql.init
index ab46477606..4a4f0cd168 100644
--- a/meta-oe/recipes-support/postgresql/files/postgresql.init
+++ b/meta-oe/recipes-support/postgresql/files/postgresql.init
@@ -101,7 +101,7 @@ start(){
else
# No existing PGDATA! Warn the user to initdb it.
echo
- echo "$PGDATA is missing. Use \"service postgresql initdb\" to initialize the cluster first."
+ echo "$PGDATA is missing. Use \"postgresql-setup initdb\" to initialize the cluster first."
echo -n " [FAILED] "
echo
exit 1
@@ -160,51 +160,6 @@ reload(){
$SU -l postgres -c "$PGENGINE/pg_ctl reload -D '$PGDATA' -s" > /dev/null 2>&1 < /dev/null
}
-initdb(){
- if [ -f "$PGDATA/PG_VERSION" ]
- then
- echo -n "Data directory is not empty!"
- echo -n " [FAILED] "
- echo
- script_result=1
- else
- echo -n $"Initializing database: "
- if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ]
- then
- mkdir -p "$PGDATA" || exit 1
- chown postgres:postgres "$PGDATA"
- chmod go-rwx "$PGDATA"
- fi
- # Clean up SELinux tagging for PGDATA
- [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA"
-
- # Make sure the startup-time log file is OK, too
- if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ]
- then
- touch "$PGLOG" || exit 1
- chown postgres:postgres "$PGLOG"
- chmod go-rwx "$PGLOG"
- [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG"
- fi
-
- # Initialize the database
- $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null
-
- # Create directory for postmaster log
- mkdir "$PGDATA/pg_log"
- chown postgres:postgres "$PGDATA/pg_log"
- chmod go-rwx "$PGDATA/pg_log"
-
- if [ -f "$PGDATA/PG_VERSION" ]
- then
- echo -n " [ OK ] "
- else
- echo -n " [FAILED] "
- script_result=1
- fi
- echo
- fi
-}
# See how we were called.
case "$1" in
@@ -230,11 +185,8 @@ case "$1" in
force-reload)
restart
;;
- initdb)
- initdb
- ;;
*)
- echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|initdb}"
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
diff --git a/meta-oe/recipes-support/postgresql/files/postgresql.service b/meta-oe/recipes-support/postgresql/files/postgresql.service
new file mode 100644
index 0000000000..4ec959e842
--- /dev/null
+++ b/meta-oe/recipes-support/postgresql/files/postgresql.service
@@ -0,0 +1,27 @@
+[Unit]
+Description=PostgreSQL database server
+After=network.target
+
+[Service]
+Type=forking
+User=postgres
+Group=postgres
+
+# Port number for server to listen on
+Environment=PGPORT=5432
+
+# Location of database directory
+Environment=PGDATA=/var/lib/postgresql/data
+
+# Disable OOM kill on the postmaster
+OOMScoreAdjust=-17
+
+ExecStart=@BINDIR@/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300
+ExecStop=@BINDIR@/pg_ctl stop -D ${PGDATA} -s -m fast
+ExecReload=@BINDIR@/pg_ctl reload -D ${PGDATA} -s
+
+# Give a reasonable amount of time for the server to start up/shut down
+TimeoutSec=300
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-support/postgresql/postgresql.inc b/meta-oe/recipes-support/postgresql/postgresql.inc
index e1374fb75f..1397f564de 100644
--- a/meta-oe/recipes-support/postgresql/postgresql.inc
+++ b/meta-oe/recipes-support/postgresql/postgresql.inc
@@ -24,24 +24,47 @@ INC_PR = "r0"
ARM_INSTRUCTION_SET = "arm"
-SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${P}.tar.bz2 \
+SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \
file://postgresql.init \
file://postgresql-bashprofile \
file://postgresql.pam \
-"
+ file://postgresql-setup \
+ file://postgresql.service \
+ file://0001-Use-pkg-config-for-libxml2-detection.patch \
+ file://0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch \
+ file://0003-Shore-up-ADMIN-OPTION-restrictions.patch \
+ file://0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch \
+ file://0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch \
+ file://0006-Fix-handling-of-wide-datetime-input-output.patch \
+ file://0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch \
+ file://0008-Prevent-potential-overruns-of-fixed-size-buffers.patch \
+ "
LEAD_SONAME = "libpq.so"
# LDFLAGS for shared libraries
export LDFLAGS_SL = "${LDFLAGS}"
-inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d
+inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd
+
+SYSTEMD_SERVICE_${PN} = "postgresql.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}"
+pkg_postinst_${PN} () {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then
+ if [ -n "$D" ]; then
+ OPTS="--root=$D"
+ fi
+ systemctl $OPTS mask postgresql-server.service
+ fi
+}
enable_pam = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
PACKAGECONFIG ??= "${enable_pam} openssl python uuid libxml tcl nls libxml perl"
PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
-PACKAGECONFIG[python] = "--with-python,--wsithout-python,python,python"
+PACKAGECONFIG[python] = "--with-python,--without-python,python,python"
PACKAGECONFIG[uuid] = "--with-ossp-uuid,--without-ossp-uuid,ossp-uuid,"
# when tcl native package is fixed change WORKDIR to STAGING_BINDIR_CROSS
PACKAGECONFIG[tcl] = \
@@ -107,14 +130,14 @@ do_configure() {
# do_configure_append
# workaround perl package related bugs
sed -i -e "s:-L/usr/local/lib:-L=/usr/local/lib:g" \
- ${S}/src/Makefile.global
+ ${B}/src/Makefile.global
LIBPNA="\${STAGING_LIBDIR_NATIVE}/perl-native"
LIBNA="\${STAGING_LIBDIR_NATIVE}"
BLIBNA="\${STAGING_BASE_LIBDIR_NATIVE}"
sed -i -e "/^perl_archlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \
- ${S}/src/Makefile.global
+ ${B}/src/Makefile.global
sed -i -e "/^perl_privlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \
- ${S}/src/Makefile.global
+ ${B}/src/Makefile.global
# remove the rpath, replace with correct lib path
sed -i \
-e "/^perl_embed_ldflags/s:-Wl,-rpath,${LIBNA}::g" \
@@ -124,7 +147,7 @@ do_configure() {
-e "/^perl_embed_ldflags/s:${LIBPNA}:${STAGING_LIBDIR}:g" \
-e "/^perl_embed_ldflags/s:${LIBNA}:${STAGING_LIBDIR}:g" \
-e "/^perl_embed_ldflags/s:${BLIBNA}:${STAGING_BASELIBDIR}:g" \
- ${S}/src/Makefile.global
+ ${B}/src/Makefile.global
# workaround perl package's libperl.so problem
# we are using perlnative so this perl should have same version
@@ -158,11 +181,11 @@ do_install_append() {
oe_runmake DESTDIR=${D} -C contrib install
# install tutorial
install -d -m 0755 ${D}${libdir}/${BPN}/tutorial
- install ${S}/src/tutorial/* ${D}${libdir}/${BPN}/tutorial
+ install ${B}/src/tutorial/* ${D}${libdir}/${BPN}/tutorial
# install COPYRIGHT README HISTORY
install -d -m 0755 ${D}${docdir}/${BPN}
- for i in ${S}/{COPYRIGHT,README,HISTORY} ${S}/doc/{KNOWN_BUGS,MISSING_FEATURES,README*,bug.template}; do
+ for i in ${B}/{COPYRIGHT,README,HISTORY} ${B}/doc/{KNOWN_BUGS,MISSING_FEATURES,README*,bug.template}; do
[ -f $i ] && install $i ${D}${docdir}/${BPN}
done
@@ -170,6 +193,7 @@ do_install_append() {
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/${BPN}.init ${D}${sysconfdir}/init.d/${BPN}-server
sed -i -e "s/^PGVERSION=.*$/PGVERSION=${PV}/g" ${D}${sysconfdir}/init.d/${BPN}-server
+ install -m 0755 ${WORKDIR}/${BPN}-setup ${D}${bindir}/${BPN}-setup
install -d -m 700 ${D}${localstatedir}/lib/${BPN}/data
install -d -m 700 ${D}${localstatedir}/lib/${BPN}/backups
install -m 644 ${WORKDIR}/${BPN}-bashprofile ${D}${localstatedir}/lib/${BPN}/.bash_profile
@@ -181,6 +205,12 @@ do_install_append() {
install -d ${D}${sysconfdir}/pam.d
install -m 644 ${WORKDIR}/postgresql.pam ${D}${sysconfdir}/pam.d/postgresql
fi
+
+ # Install systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/postgresql.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BINDIR@,${bindir},g' \
+ ${D}${systemd_unitdir}/system/postgresql.service
}
SSTATE_SCAN_FILES += "Makefile.global"
diff --git a/meta-oe/recipes-support/pps-tools/pps-tools_git.bb b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb
new file mode 100644
index 0000000000..73c46eecde
--- /dev/null
+++ b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb
@@ -0,0 +1,16 @@
+SUMMARY = "User-space tools for LinuxPPS"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+PV = "0.0.0+git${SRCPV}"
+SRCREV = "0deb9c7e135e9380a6d09e9d2e938a146bb698c8"
+SRC_URI = "git://github.com/ago/pps-tools.git"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${bindir} ${D}${includedir} \
+ ${D}${includedir}/sys
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch
new file mode 100644
index 0000000000..8341a8ecde
--- /dev/null
+++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch
@@ -0,0 +1,606 @@
+From 898e9514bc889b4a540f667efed95a5af101c824 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 2 Dec 2014 07:00:36 +0900
+Subject: [PATCH 1/3] From debian to fix compile errors
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ src/Makefile.0 | 7 +++----
+ src/autoconf | 64 +++++++++++++-------------------------------------------
+ src/comsat.c | 65 +++++++++++++++++++--------------------------------------
+ src/fields.c | 6 +++---
+ src/foldinfo.h | 2 +-
+ src/formail.c | 6 +++---
+ src/formisc.c | 2 +-
+ src/formisc.h | 2 +-
+ src/mailfold.c | 14 ++++++++++---
+ src/manconf.c | 2 +-
+ src/memblk.c | 24 ++++++++++-----------
+ src/memblk.h | 2 +-
+ src/network.h | 10 ++-------
+ src/pipes.c | 10 ++++-----
+ src/procmail.c | 3 +--
+ src/recommend.c | 2 +-
+ 16 files changed, 81 insertions(+), 140 deletions(-)
+
+diff --git a/src/Makefile.0 b/src/Makefile.0
+index 6eb5b51..15a2039 100644
+--- a/src/Makefile.0
++++ b/src/Makefile.0
+@@ -40,7 +40,7 @@ multigram: multigram.$(O) $(MG_OBJ) setid
+ @cd ..; $(MAKE) config.check
+
+ _autotst: _autotst.$(O) sublib.c sublib.h
+- $(CC) $(CFLAGS) $@.$(O) -o $@ $(LDFLAGS)
++ gcc $@.$(O) -o $@ $(LDFLAGS)
+
+ ../autoconf.h: autoconf Makefile ../patchlevel.h
+ @echo No this was not make -n >make_n
+@@ -175,17 +175,16 @@ recommend: recommend.$(O) sublib.$(O)
+
+ ../man/man.sed: manconf.c ../autoconf.h ../config.h includes.h procmail.h
+ ../man/man.sed: ../patchlevel.h
+- @$(CC) $(CFLAGS) "-DBINDIR=\"$(VISIBLE_BINDIR)\"" -o _autotst \
++ gcc "-DBINDIR=\"$(VISIBLE_BINDIR)\"" -o _autotst \
+ manconf.c $(LDFLAGS)
+ @./_autotst $@
+ @echo Housekeeping file >$@
+- @$(RM) _autotst
+
+ clean:
+ $(RM) -r _locktest
+ $(RM) procmail.$(O) $(PM_OBJ) lockfile.$(O) $(LF_OBJ) formail.$O \
+ $(FM_OBJ) multigram.$(O) $(MG_OBJ) $(BINSS) multigram ../autoconf.h \
+- _autotst* lookfor _locktst* grepfor recommend recommend.$(O) manconf \
++ lookfor _locktst* grepfor recommend recommend.$(O) manconf \
+ _Makefile lock.log *core* targetdir.h setid setid.$(O) gethome \
+ gethome.$(O) make_n realloc.log
+
+diff --git a/src/autoconf b/src/autoconf
+index 1cb4c42..ff78048 100755
+--- a/src/autoconf
++++ b/src/autoconf
+@@ -68,8 +68,6 @@
+ # #define NOfsync
+ #Ok #define endpwent()
+ #Ok #define endgrent()
+-#Ok #define endhostent()
+-#Ok #define endservent()
+ #Ok #define endprotoent()
+ # #define h_0addr_list h_addr
+ #Ok #define NOpw_passwd
+@@ -896,7 +894,7 @@ int main(){int i=0;
+ {uid_t vuid_t;i+=vuid_t=1;}
+ {gid_t vgid_t;i+=vgid_t=1;}
+ #ifndef NO_COMSAT
+- {struct hostent vhostent;i+=!(vhostent.h_addr_list=0);}
++ {struct addrinfo res; i+=!(res.ai_socktype=0);}
+ #endif
+ #ifndef NOuname
+ {struct utsname vutsname;i+=!(*vutsname.nodename='\0');}
+@@ -917,8 +915,6 @@ do
+ test -z "$i3" && grepfor mode_t 'typedef int mode_t;' && i3=I
+ test -z "$i4" && grepfor uid_t 'typedef int uid_t;' && i4=I
+ test -z "$i5" && grepfor gid_t 'typedef int gid_t;' && i5=I
+- test -z "$i6" && grepfor h_addr_list '#define h_0addr_list h_addr' && i6=I
+- test -z "$i6" && grepfor hostent '#define h_0addr_list h_addr' && i6=I
+ test -z "$i6" && grepfor member '#define h_0addr_list h_addr' && i6=I
+ test -z "$i7" && grepfor utsname "#define NOuname \
+ /* <sys/utsname.h> is there, but empty */" && i7=I
+@@ -1048,8 +1044,12 @@ int main(){char a[2];
+ {struct utsname b;uname(&b);}
+ #endif
+ #ifndef NO_COMSAT
+- gethostbyname("0");getprotobyname(COMSATprotocol);endhostent();endservent();
+- endprotoent();
++ {
++ struct addrinfo *res, hints;
++ memset(&hints, '\0', sizeof(hints));
++ if(getaddrinfo(COMSAThost,BIFF_serviceport,&hints,&res))
++ freeaddrinfo(res);
++ }
+ #endif
+ _exit(0);
+ return 0;}
+@@ -1103,14 +1103,9 @@ grepfor uname "\
+ /* <sys/utsname.h> defines it, the libraries don't */"
+ grepfor endpwent '#define endpwent()'
+ grepfor endgrent '#define endgrent()'
+-if grepfor gethostbyname '#define NO_COMSAT'
++if grepfor getaddrinfo '#define NO_COMSAT'
+ then
+ :
+-else
+- grepfor getprotobyname '#define UDP_protocolno 17'
+- grepfor endhostent '#define endhostent()'
+- grepfor endservent '#define endservent()'
+- grepfor endprotoent '#define endprotoent()'
+ fi
+ grepfor strstr '#define SLOWstrstr' ||
+ grepfor clock '#define SLOWstrstr'
+@@ -1239,39 +1234,9 @@ int main(argc,argv)int argc;const char*argv[];
+ printf("/* Insufficient memory to perform the benchmark! */\n");
+ #endif /* SLOWstrstr */
+ #ifndef NO_COMSAT
+-#ifndef UDP_protocolno
+- ;{ const struct protoent*p;
+- if(p=getprotobyname(COMSATprotocol))
+- { printf("#define UDP_protocolno %d\n",p->p_proto);
+-#else
+- ;{ if(1)
+- {
+-#endif
+- ;{ const struct servent*serv;
+- if(serv=getservbyname(COMSATservice,COMSATprotocol))
+- printf("#define BIFF_serviceport \"%d\"\n",
+- ntohs(serv->s_port));
+- }
+-#ifdef AF_INET
+- ;{ const struct hostent*host;
+- if(!strcmp("localhost",COMSAThost)&&
+- (host=gethostbyname(COMSAThost))&&
+- host->h_0addr_list&&host->h_addrtype==AF_INET&&
+- host->h_length)
+- { int j=host->h_length;
+- const unsigned char*ad=(void*)host->h_0addr_list;
+- printf("#define IP_localhost {");
+- printf("%d",*ad++);
+- while(--j)
+- printf(",%d",*ad++);
+- puts("}");
+- }
+- }
++#ifndef AF_INET
++ puts("#define NO_COMSAT");
+ #endif /* AF_INET */
+- }
+- else
+- puts("#define NO_COMSAT");
+- }
+ #endif /* NO_COMSAT */
+ ;{ unsigned long s=(size_t)~0;int bits;
+ for(bits=1;s>>=1;bits++);
+@@ -1470,15 +1435,14 @@ cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL |
+ grep 'Mlocal.*procmail' >$DEVNULL ||
+ echo '#define CF_no_procmail_yet' >>$ACONF
+
+-cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL |
+- grep '^V' >$DEVNULL ||
+- echo '#define buggy_SENDMAIL' >>$ACONF
++# cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL |
++# grep '^V' >$DEVNULL ||
++# echo '#define buggy_SENDMAIL' >>$ACONF
+
+ lpath='/bin'
+ bins="/bin"
+
+-for newd in /usr/bin /usr/ucb /usr/5bin $BINDIR /local/bin /usr/local/bin \
+- /global/bin /usr/bin/X11 /usr/X*/bin
++for newd in /usr/bin $BINDIR /usr/bin/X11 /usr/X*/bin
+ do
+ if test -d $newd
+ then
+diff --git a/src/comsat.c b/src/comsat.c
+index 77dba34..5082b16 100644
+--- a/src/comsat.c
++++ b/src/comsat.c
+@@ -27,7 +27,8 @@ static /*const*/char rcsid[]=
+ #include "comsat.h"
+
+ static int csvalid; /* is it turned on with a good address? */
+-static struct sockaddr_in csaddr;
++static struct addrinfo cai;
++static struct sockaddr *csaddr;
+ static char*cslastf,*cslgname;
+
+ void setlfcs(folder)const char*folder; /* set lastfolder for comsat */
+@@ -62,56 +63,32 @@ void setlgcs(name)const char*name; /* set logname for comsat */
+ }
+
+ int setcomsat(chp)const char*chp;
+-{ char*chad;int newvalid; struct sockaddr_in newaddr;
++{ char*chad;int newvalid; struct addrinfo *res, hints;
+ chad=strchr(chp,SERV_ADDRsep); /* @ separator? */
+ if(!chad&&!renvint(-1L,chp))
+ return csvalid=0; /* turned off comsat */
+ newvalid=1;
+ if(chad)
+ *chad++='\0'; /* split the specifier */
++ if(!chad||!*chp) /* no service */
++ chp=BIFF_serviceport; /* new balls please! */
+ if(!chad||!*chad) /* no host */
+-#ifndef IP_localhost /* Is "localhost" preresolved? */
+ chad=COMSAThost; /* nope, use default */
+-#else /* IP_localhost */
+- { static const unsigned char ip_localhost[]=IP_localhost;
+- newaddr.sin_family=AF_INET;
+- tmemmove(&newaddr.sin_addr,ip_localhost,sizeof ip_localhost);
+- }
+- else
+-#endif /* IP_localhost */
+- { const struct hostent*host; /* what host? paranoid checks */
+- if(!(host=gethostbyname(chad))||!host->h_0addr_list)
+- { bbzero(&newaddr.sin_addr,sizeof newaddr.sin_addr);
+- newvalid=0; /* host can't be found, too bad */
+- }
+- else
+- { newaddr.sin_family=host->h_addrtype; /* address number found */
+- tmemmove(&newaddr.sin_addr,host->h_0addr_list,host->h_length);
+- }
+- endhostent();
+- }
+- if(newvalid) /* so far, so good */
+- { int s;
+- if(!*chp) /* no service */
+- chp=BIFF_serviceport; /* new balls please! */
+- s=strtol(chp,&chad,10);
+- if(chp!=chad) /* the service is not numeric */
+- newaddr.sin_port=htons((short)s); /* network order */
+- else
+- { const struct servent*serv;
+- serv=getservbyname(chp,COMSATprotocol); /* so get its no. */
+- if(serv)
+- newaddr.sin_port=serv->s_port;
+- else
+- { newaddr.sin_port=htons((short)0); /* no such service */
+- newvalid=0;
+- }
+- endservent();
+- }
+- }
++ bzero(&hints,sizeof(hints));
++ hints.ai_socktype=SOCK_DGRAM;
++ hints.ai_flags=AI_ADDRCONFIG;
++ if(getaddrinfo(chad,chp,&hints,&res))
++ newvalid=0;
++
+ onguard(); /* update the address atomically */
+ if(csvalid=newvalid)
+- tmemmove(&csaddr,&newaddr,sizeof(newaddr));
++ { if(csaddr)
++ free(csaddr);
++ csaddr=malloc(res->ai_addrlen);
++ tmemmove(csaddr,res->ai_addr,res->ai_addrlen);
++ tmemmove(&cai,res,sizeof(cai));
++ freeaddrinfo(res);
++ }
+ offguard();
+ return newvalid;
+ }
+@@ -120,7 +97,7 @@ void sendcomsat(folder)const char*folder;
+ { int s;const char*p;
+ if(!csvalid||!buf) /* is comat on and set to a valid address? */
+ return;
+- if(!*cslgname||strlen(cslgname)+2>linebuf) /* is $LOGNAME bogus? */
++ if(!cslgname||!*cslgname||strlen(cslgname)+2>linebuf)/* is $LOGNAME bogus? */
+ return;
+ if(!(p=folder?folder:cslastf)) /* do we have a folder? */
+ return;
+@@ -132,8 +109,8 @@ void sendcomsat(folder)const char*folder;
+ }
+ strlcat(buf,COMSATxtrsep,linebuf); /* custom seperator */
+ strlcat(buf,p,linebuf); /* where was it delivered? */
+- if((s=socket(AF_INET,SOCK_DGRAM,UDP_protocolno))>=0)
+- { sendto(s,buf,strlen(buf),0,(struct sockaddr*)&csaddr,sizeof(csaddr));
++ if((s=socket(cai.ai_family,cai.ai_socktype,cai.ai_protocol))>=0)
++ { sendto(s,buf,strlen(buf),0,csaddr,cai.ai_addrlen);
+ rclose(s);
+ yell("Notified comsat:",buf);
+ }
+diff --git a/src/fields.c b/src/fields.c
+index a2bd77f..37ed154 100644
+--- a/src/fields.c
++++ b/src/fields.c
+@@ -110,16 +110,16 @@ void dispfield(p)register const struct field*p;
+ /* try and append one valid field to rdheader from stdin */
+ int readhead P((void))
+ { int idlen;
+- getline();
++ get_line();
+ if((idlen=breakfield(buf,buffilled))<=0) /* not the start of a valid field */
+ return 0;
+ if(idlen==STRLEN(FROM)&&eqFrom_(buf)) /* it's a From_ line */
+ { if(rdheader)
+ return 0; /* the From_ line was a fake! */
+- for(;buflast=='>';getline()); /* gather continued >From_ lines */
++ for(;buflast=='>';get_line()); /* gather continued >From_ lines */
+ }
+ else
+- for(;;getline()) /* get the rest of the continued field */
++ for(;;get_line()) /* get the rest of the continued field */
+ { switch(buflast) /* will this line be continued? */
+ { case ' ':case '\t': /* yep, it sure is */
+ continue;
+diff --git a/src/foldinfo.h b/src/foldinfo.h
+index 9e4ebb6..797f9be 100644
+--- a/src/foldinfo.h
++++ b/src/foldinfo.h
+@@ -10,7 +10,7 @@
+
+ #define ft_lock(type) ((type)>ft_MAILDIR) /* kernel lock fd */
+ #define ft_atime(type) ((type)==ft_FILE) /* force atime < mtime */
+-#define ft_dotlock(type) ((type)==ft_FILE) /* dotlock $DEFAULT */
++#define ft_dotlock(type) ((type)>ft_MAILDIR) /* dotlock $DEFAULT */
+ #define ft_delim(type) ((type)==ft_FILE) /* add MMDF delim */
+ #define ft_checkcloser(type) ((type)>ft_MH)
+ #define ft_forceblank(type) ((type)!=ft_MAILDIR) /* force blank line at end */
+diff --git a/src/formail.c b/src/formail.c
+index fe5e6be..1f5c9dd 100644
+--- a/src/formail.c
++++ b/src/formail.c
+@@ -758,9 +758,9 @@ startover:
+ lputssn(buf,buffilled),ctlength-=buffilled,buffilled=lnl=0;
+ ;{ int tbl=buflast,lwr='\n';
+ while(--ctlength>=0&&tbl!=EOF) /* skip Content-Length: bytes */
+- lnl=lwr==tbl&&lwr=='\n',putcs(lwr=tbl),tbl=getchar();
++ lnl=lwr==tbl&&lwr=='\n',lputcs(lwr=tbl),tbl=getchar();
+ if((buflast=tbl)=='\n'&&lwr!=tbl) /* just before a line break? */
+- putcs('\n'),buflast=getchar(); /* wrap up loose end */
++ lputcs('\n'),buflast=getchar(); /* wrap up loose end */
+ }
+ if(!quiet&&ctlength>0)
+ { charNUM(num,ctlength);
+@@ -819,7 +819,7 @@ splitit: { if(!lnl) /* did the previous mail end with an empty line? */
+ { if(split) /* gobble up the next start separator */
+ { buffilled=0;
+ #ifdef sMAILBOX_SEPARATOR
+- getline();buffilled=0; /* but only if it's defined */
++ get_line();buffilled=0; /* but only if it's defined */
+ #endif
+ if(buflast!=EOF) /* if any */
+ goto splitit;
+diff --git a/src/formisc.c b/src/formisc.c
+index d6cab90..338733b 100644
+--- a/src/formisc.c
++++ b/src/formisc.c
+@@ -115,7 +115,7 @@ void loadchar(c)const int c; /* append one character to buf */
+ buf[buffilled++]=c;
+ }
+
+-int getline P((void)) /* read a newline-terminated line */
++int get_line P((void)) /* read a newline-terminated line */
+ { if(buflast==EOF) /* at the end of our Latin already? */
+ { loadchar('\n'); /* fake empty line */
+ return EOF; /* spread the word */
+diff --git a/src/formisc.h b/src/formisc.h
+index 1c4ca20..f25211c 100644
+--- a/src/formisc.h
++++ b/src/formisc.h
+@@ -17,4 +17,4 @@ void
+ char*
+ skipwords P((char*start));
+ int
+- getline P((void));
++ get_line P((void));
+diff --git a/src/mailfold.c b/src/mailfold.c
+index 917b502..6c8bcf4 100644
+--- a/src/mailfold.c
++++ b/src/mailfold.c
+@@ -30,6 +30,7 @@ static /*const*/char rcsid[]=
+
+ int logopened,rawnonl;
+ off_t lasttell;
++static int trunced;
+ static long lastdump;
+ static volatile int mailread; /* if the mail is completely read in already */
+ static struct dyna_array confield; /* escapes, concatenations */
+@@ -81,6 +82,7 @@ long dump(s,type,source,len)const int s,type;const char*source;
+ long len;
+ { int i;long part;
+ lasttell=i= -1;SETerrno(EBADF);
++ trunced=0;
+ if(s>=0)
+ { if(ft_lock(type)&&(lseek(s,(off_t)0,SEEK_END),fdlock(s)))
+ nlog("Kernel-lock failed\n");
+@@ -120,13 +122,18 @@ jin: while(part&&(i=rwrite(s,source,BLKSIZ<part?BLKSIZ:(int)part)))
+ }
+ writefin:
+ i=type!=ft_PIPE&&fsync(s)&&errno!=EINVAL; /* EINVAL => wasn't a file */
++ if ((i||len)&&lasttell>=0)
++ { int serrno=errno;
++ if(!ftruncate(s,lasttell)) trunced=1;
++ SETerrno(serrno);
++ }
+ if(ft_lock(type))
+ { int serrno=errno; /* save any error information */
+ if(fdunlock())
+ nlog("Kernel-unlock failed\n");
+ SETerrno(serrno);
+ }
+- i=rclose(s)||i;
++ i=rclose(s)||i; /* if this fails, we should truncate, but it's too late */
+ } /* return an error even if nothing was to be sent */
+ return i&&!len?-1:len;
+ }
+@@ -237,7 +244,7 @@ dumpf: { switch(errno)
+ #endif
+ default:writeerr(buf);
+ }
+- if(lasttell>=0&&!truncate(boxname,lasttell)&&(logopened||verbose))
++ if(lasttell>=0&&trunced&&(logopened||verbose))
+ nlog("Truncated file to former size\n"); /* undo garbage */
+ ret0: return 0;
+ }
+@@ -378,7 +385,8 @@ void readmail(rhead,tobesent)const long tobesent;
+ dfilled=mailread=0;
+ else if(rhead) /* only read in a new header */
+ { memblk new;
+- dfilled=mailread=0;makeblock(&new,0);readdyn(&new,&dfilled,0);
++ dfilled=mailread=0;makeblock(&new,0);
++ readdyn(&new,&dfilled,thebody-themail.p);
+ if(tobesent>dfilled&&isprivate) /* put it in place here */
+ { tmemmove(themail.p+dfilled,thebody,filled-=tobesent);
+ tmemmove(themail.p,new.p,dfilled);
+diff --git a/src/manconf.c b/src/manconf.c
+index a9e9f1c..5c8ec36 100644
+--- a/src/manconf.c
++++ b/src/manconf.c
+@@ -233,7 +233,7 @@ a security violation was found (e.g. \1.B \2-@PRESERVOPT@\1or variable\
+ \2-@PRESERVOPT@\1and\1.BR \2-@FROMWHOPT@ .\1");
+ pc("LMTPOPT",LMTPOPT);
+ #else
+- ps("LMTPOPTdesc","");ps("LMTPusage","");
++ ps("LMTPOPTdesc","");ps("LMTPusage","\1");
+ #endif
+ pname("INIT_UMASK",0);printf("0%lo/g\n",(unsigned long)INIT_UMASK);lines--;
+ pn("DEFlinebuf",DEFlinebuf);
+diff --git a/src/memblk.c b/src/memblk.c
+index e2f13f0..97e02d3 100644
+--- a/src/memblk.c
++++ b/src/memblk.c
+@@ -51,11 +51,11 @@ void lockblock(mb)memblk*const mb;
+ {
+ #ifdef USE_MMAP
+ if(mb->fd>=0)
+- { long len=mb->len+1;
+- if(munmap(mb->p,len))
+- mmapfailed(len); /* don't want to continue here */
+- if((mb->p=mmap(0,len,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED)
+- mmapfailed(len);
++ { long mlen=mb->len+1;
++ if(munmap(mb->p,mlen))
++ mmapfailed(mlen); /* don't want to continue here */
++ if((mb->p=mmap(0,mlen,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED)
++ mmapfailed(mlen);
+ close(mb->fd);
+ mb->fd=ropen(devnull,O_RDWR,0); /* XXX Perhaps -1 is better? */
+ }
+@@ -77,8 +77,8 @@ int resizeblock(mb,len,nonfatal)memblk*const mb;const long len;
+ strcpy(filename,MMAP_DIR);
+ if(unique(filename,strchr(filename,'\0'),MMAP_FILE_LEN,MMAP_PERM,0,0)&&
+ (mb->fd=ropen(filename,O_RDWR,MMAP_PERM),unlink(filename),mb->fd>=0))
+- { mb->filelen=len;
+- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1))
++ { mb->filelen=len+1;
++ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1))
+ dropf: { close(mb->fd);mb->fd= -1;
+ if(verbose)nlog("Unable to extend or use tempfile");
+ }
+@@ -98,9 +98,9 @@ dropf: { close(mb->fd);mb->fd= -1;
+ }
+ }
+ if(mb->fd>=0)
+- { if(len>mb->filelen) /* need to extend? */
+- { mb->filelen=len;
+- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1))
++ { if(len>=mb->filelen) /* need to extend? */
++ { mb->filelen=len+1;
++ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1))
+ { char*p=malloc(len+1); /* can't extend, switch to malloc */
+ tmemmove(p,mb->p,mb->len);
+ munmap(mb->p,mb->len+1);
+@@ -124,9 +124,9 @@ mmap: if((mb->p=mmap(0,len+1,P_RW,MAP_SHARED,mb->fd,(off_t)0))==MAP_FAILED)
+ }
+ else
+ mb->p=realloc(mb->p,len+1);
+- mb->len=len+1;
+- mb->p[len]='\0';
++ mb->len=len;
+ ret1:
++ mb->p[len]='\0';
+ return 1;
+ }
+
+diff --git a/src/memblk.h b/src/memblk.h
+index 6fd1d1d..b57f369 100644
+--- a/src/memblk.h
++++ b/src/memblk.h
+@@ -1,6 +1,6 @@
+ typedef struct memblk {
+ char*p; /* where it starts */
+- long len; /* currently allocated size */
++ long len; /* current size, not including trailing NUL */
+ #ifdef USE_MMAP
+ off_t filelen; /* how long is the file */
+ int fd; /* file which is mmap()ed */
+diff --git a/src/network.h b/src/network.h
+index d7d08f2..b09b6c4 100644
+--- a/src/network.h
++++ b/src/network.h
+@@ -1,19 +1,13 @@
+ /*$Id: network.h,v 1.7 1997/04/02 03:15:41 srb Exp $*/
+
+-#include <sys/socket.h> /* socket() sendto() AF_INET
++#include <sys/socket.h> /* socket() sendto() */
+ /* SOCK_DGRAM */
+-#include <netdb.h> /* gethostbyname() getservbyname()
+- /* getprotobyname() */
+-#include <netinet/in.h> /* htons() struct sockaddr_in */
++#include <netdb.h> /* getaddrinfo() */
+
+ #ifndef BIFF_serviceport
+ #define BIFF_serviceport COMSATservice
+ #endif
+
+-#ifndef h_0addr_list
+-#define h_0addr_list h_addr_list[0] /* POSIX struct member */
+-#endif
+-
+ #ifndef NO_const /* since network.h is outside the autoconf const check */
+ #ifdef const /* loop, we need this backcheck for some systems */
+ #undef const
+diff --git a/src/pipes.c b/src/pipes.c
+index 1fdb9e6..7754300 100644
+--- a/src/pipes.c
++++ b/src/pipes.c
+@@ -145,7 +145,9 @@ int pipthrough(line,source,len)char*line,*source;const long len;
+ if(Stdout)
+ { *(eq=strchr(Stdout,'\0')-1)='\0'; /* chop the '=' */
+ if(!(backblock=getenv(Stdout))) /* no current value? */
+- PRDB=PWRB= -1;
++ { PRDB=PWRB= -1;
++ backlen=0;
++ }
+ else
+ { backlen=strlen(backblock);
+ goto pip;
+@@ -155,9 +157,7 @@ int pipthrough(line,source,len)char*line,*source;const long len;
+ pip: rpipe(pbackfd);
+ rpipe(pinfd); /* main pipes setup */
+ if(!(pidchild=sfork())) /* create a sending procmail */
+- { if(Stdout&&backblock)
+- backlen=strlen(backblock);
+- else
++ { if(!Stdout)
+ backblock=source,backlen=len;
+ childsetup();rclose(PRDI);rclose(PRDB);
+ rpipe(poutfd);rclose(STDOUT);
+@@ -194,7 +194,7 @@ perr: progerr(line,excode,pwait==4); /* I'm going to tell my mommy! */
+ makeblock(&temp,Stdfilled);
+ tmemmove(temp.p,Stdout,Stdfilled);
+ readdyn(&temp,&Stdfilled,Stdfilled+backlen+1);
+- Stdout=realloc(Stdout,&Stdfilled+1);
++ Stdout=realloc(Stdout,Stdfilled+1);
+ tmemmove(Stdout,temp.p,Stdfilled+1);
+ freeblock(&temp);
+ retStdout(Stdout,pwait&&pipw,!backblock);
+diff --git a/src/procmail.c b/src/procmail.c
+index 4a232f2..2bb449b 100644
+--- a/src/procmail.c
++++ b/src/procmail.c
+@@ -652,8 +652,7 @@ commint:do skipspace(); /* skip whitespace */
+ nrcond= -1;
+ if(tolock) /* clear temporary buffer for lockfile name */
+ free(tolock);
+- for(i=maxindex(flags);i;i--) /* clear the flags */
+- flags[i]=0;
++ bbzero(flags,sizeof(flags)); /* clear the flags */
+ for(tolock=0,locknext=0;;)
+ { chp=skpspace(chp);
+ switch(i= *chp++)
+diff --git a/src/recommend.c b/src/recommend.c
+index 5d41e01..9002268 100644
+--- a/src/recommend.c
++++ b/src/recommend.c
+@@ -47,7 +47,7 @@ int main(argc,argv)const int argc;const char*const argv[];
+ printf("chmod %lo %s\n",(unsigned long)(sgid|PERMIS),argv[2]);
+ else if(chmdir==1)
+ goto nogchmod;
+- if(chmdir)
++ if(0)
+ printf("chmod %c+w %s/.\n",chmdir==1?'g':'a',mailspooldir);
+ nogchmod:
+ return EXIT_SUCCESS;
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch
new file mode 100644
index 0000000000..7b3c643b2b
--- /dev/null
+++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch
@@ -0,0 +1,83 @@
+From 3cbc5e6e624235f9ba40cfd5a2b18c11be371399 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 2 Dec 2014 07:02:01 +0900
+Subject: [PATCH 2/3] From debian to fix man file
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ man/procmail.man | 24 +++++++++++++++++-------
+ man/procmailrc.man | 2 +-
+ 2 files changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/man/procmail.man b/man/procmail.man
+index 175043a..1274ce8 100644
+--- a/man/procmail.man
++++ b/man/procmail.man
+@@ -44,11 +44,11 @@ at the end.
+ should be invoked automatically over the
+ .B @DOT_FORWARD@
+ file mechanism as soon as mail arrives. Alternatively, when installed by
+-a system administrator, it can be invoked from within the mailer immediately.
+-When invoked, it first sets some environment variables to default values,
+-reads the mail message from stdin until an EOF, separates the body from the
+-header, and then, if no command line arguments are present, it starts to look
+-for a file named
++a system administrator (and in the standard Red Hat Linux configuration), it
++can be invoked from within the mailer immediately. When invoked, it
++first sets some environment variables to default values, reads the mail message from
++stdin until an EOF, separates the body from the header, and then, if no command line
++arguments are present, it starts to look for a file named
+ .BR @PROCMAILRC@ .
+ According to the processing recipes in this file,
+ the mail message that just arrived gets distributed into the right folder
+@@ -166,7 +166,8 @@ must be specified on the command line. After the rcfile, procmail will
+ accept an unlimited number of arguments.@ETCRCS_desc@
+ For some advanced usage of this option you should look in the
+ .B EXAMPLES
+-section below.@LMTPOPTdesc@.SH ARGUMENTS
++section below.@LMTPOPTdesc@
++.SH ARGUMENTS
+ Any arguments containing an '=' are considered to be environment variable
+ assignments, they will
+ .I all
+@@ -723,6 +724,15 @@ path.@FW_comment@
+ .fi
+ .ad
+ .PP
++Some mailers (notably exim) do not currently accept the above syntax.
++In such case use this instead:
++.PP
++.na
++.nf
++|/usr/bin/procmail
++.fi
++.ad
++.PP
+ Procmail can also be invoked to postprocess an already filled system
+ mailbox. This can be useful if you don't want to or can't use a
+ $HOME/@DOT_FORWARD@ file (in which case the following script could
+@@ -754,7 +764,7 @@ exit 0
+ .SS "A sample small @PROCMAILRC@:"
+ .na
+ .nf
+-PATH=/bin:/usr/bin:@BINDIR@
++PATH=/usr/local/bin:/usr/bin:/bin
+ MAILDIR=$HOME/Mail #you'd better make sure it exists
+ DEFAULT=$MAILDIR/mbox #completely optional
+ LOGFILE=$MAILDIR/from #recommended
+diff --git a/man/procmailrc.man b/man/procmailrc.man
+index 472035f..7bf08dd 100644
+--- a/man/procmailrc.man
++++ b/man/procmailrc.man
+@@ -779,7 +779,7 @@ one trailing newline will be stripped.
+ .PP
+ Some non-optimal and non-obvious regexps set MATCH to an incorrect
+ value. The regexp can be made to work by removing one or more unneeded
+-'*', '+', or '?' operator on the left-hand side of the \e/ token.
++\&'*', '+', or '?' operator on the left-hand side of the \e/ token.
+ .SH MISCELLANEOUS
+ If the regular expression contains `\fB@TO_key@\fP' it will be substituted by
+ .na
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch
new file mode 100644
index 0000000000..a94e436703
--- /dev/null
+++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch
@@ -0,0 +1,127 @@
+From 95c742242769721f963c50702e1445fb70c6a45a Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 2 Dec 2014 07:07:33 +0900
+Subject: [PATCH 3/3] From debian to modify parameters
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ Makefile | 16 ++++++++--------
+ config.h | 13 +++++++------
+ 2 files changed, 15 insertions(+), 14 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1e9568c..9e48201 100644
+--- a/Makefile
++++ b/Makefile
+@@ -23,7 +23,7 @@ MAN5DIR = $(MANDIR)/man$(MAN5SUFFIX)
+
+ # Uncomment to install compressed man pages (possibly add extra suffix
+ # to the definitions of MAN?DIR and/or MAN?SUFFIX by hand)
+-#MANCOMPRESS = compress
++# MANCOMPRESS = compress
+
+ ############################*#
+ # Things that can be made are:
+@@ -55,7 +55,7 @@ MAN5DIR = $(MANDIR)/man$(MAN5SUFFIX)
+
+ LOCKINGTEST=__defaults__
+
+-#LOCKINGTEST=/tmp . # Uncomment and add any directories you see fit.
++LOCKINGTEST=/tmp . # Uncomment and add any directories you see fit.
+ # If LOCKINGTEST is defined, autoconf will NOT
+ # prompt you to enter additional directories.
+ # See INSTALL for more information about the
+@@ -65,7 +65,7 @@ LOCKINGTEST=__defaults__
+ # Only edit below this line if you *think* you know what you are doing #
+ ########################################################################
+
+-#LOCKINGTEST=100 # Uncomment (and change) if you think you know
++LOCKINGTEST=100 # Uncomment (and change) if you think you know
+ # it better than the autoconf lockingtests.
+ # This will cause the lockingtests to be hotwired.
+ # 100 to enable fcntl()
+@@ -74,20 +74,20 @@ LOCKINGTEST=__defaults__
+ # Or them together to get the desired combination.
+
+ # Optional system libraries we search for
+-SEARCHLIBS = -lm -ldir -lx -lsocket -lnet -linet -lnsl_s -lnsl_i -lnsl -lsun \
+- -lgen -lsockdns -ldl
++SEARCHLIBS = -lm -ldir -lx -lsocket -lnet -linet -lnsl_s -lnsl_i -lsun \
++ -lgen -lsockdns
+ # -lresolv # not really needed, is it?
+
+ # Informal list of directories where we look for the libraries in SEARCHLIBS
+-LIBPATHS=/lib /usr/lib /usr/local/lib
++LIBPATHS=/lib /usr/lib
+
+ GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \
+ -Wpointer-arith -Wconversion -Waggregate-return \
+ #-Wimplicit -Wshadow -Wid-clash-6 #-Wuninitialized
+
+ # The place to put your favourite extra cc flag
+-CFLAGS0 = -O #$(GCC_WARNINGS)
+-LDFLAGS0= -s
++CFLAGS0 = $(RPM_OPT_FLAGS) #$(GCC_WARNINGS)
++LDFLAGS0=
+ # Read my libs :-)
+ LIBS=
+
+diff --git a/config.h b/config.h
+index c4135a9..a07453f 100644
+--- a/config.h
++++ b/config.h
+@@ -35,7 +35,8 @@
+ */
+ /*#define DEFSPATH "PATH=/bin:/usr/bin" /* */
+ /*#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin" /* */
+-
++#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin" /* */
++
+ /* every environment variable appearing in PRESTENV will be set or wiped
+ * out of the environment (variables without an '=' sign will be thrown
+ * out), e.g. you could define PRESTENV as follows:
+@@ -46,13 +47,13 @@
+ */
+ #define PRESTENV {"IFS","ENV","PWD",0}
+
+-/*#define GROUP_PER_USER /* uncomment this if each
++#define GROUP_PER_USER /* uncomment this if each
+ user has his or her own
+ group and procmail can therefore trust a $HOME/.procmailrc that
+ is group writable or contained in a group writable home directory
+ if the group involved is the user's default group. */
+
+-/*#define LMTP /* uncomment this if you
++#define LMTP /* uncomment this if you
+ want to use procmail
+ as an LMTP (rfc2033) server, presumably for invocation by an MTA.
+ The file examples/local_procmail_lmtp.m4 contains info on how to
+@@ -79,7 +80,7 @@
+
+ /*#define NO_fcntl_LOCK /* uncomment any of these three if you */
+ /*#define NO_lockf_LOCK /* definitely do not want procmail to make */
+-/*#define NO_flock_LOCK /* use of those kernel-locking methods */
++#define NO_flock_LOCK /* use of those kernel-locking methods */
+ /* If you set LOCKINGTEST to a binary number
+ than there's no need to set these. These #defines are only useful
+ if you want to disable particular locking styles but are unsure which
+@@ -91,14 +92,14 @@
+ restriction does not apply to the /etc/procmailrc and
+ /etc/procmailrcs files) */
+
+-/*#define NO_NFS_ATIME_HACK /* uncomment if you're definitely not using
++#define NO_NFS_ATIME_HACK /* uncomment if you're definitely not using
+ NFS mounted filesystems and can't afford
+ procmail to sleep for 1 sec. before writing to an empty regular
+ mailbox. This lets programs correctly judge whether there is unread
+ mail present. procmail automatically suppresses this when it isn't
+ needed or under heavy load. */
+
+-/*#define DEFsendmail "/usr/sbin/sendmail" /* uncomment and/or change if
++#define DEFsendmail "/usr/sbin/sendmail" /* uncomment and/or change if
+ the autoconfigured default
+ SENDMAIL is not suitable. This program should quack like a sendmail:
+ it should accept the -oi flag (to tell it to _not_ treat a line
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch b/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch
new file mode 100644
index 0000000000..46d973e060
--- /dev/null
+++ b/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch
@@ -0,0 +1,60 @@
+From 8ac56108e5f0a72d1bec0fb4f1fa4763a2479331 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 2 Dec 2014 06:56:14 +0900
+Subject: [PATCH] man file mailstat.1 from debian
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ debian/mailstat.1 | 40 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+ create mode 100644 debian/mailstat.1
+
+diff --git a/debian/mailstat.1 b/debian/mailstat.1
+new file mode 100644
+index 0000000..f13265a
+--- /dev/null
++++ b/debian/mailstat.1
+@@ -0,0 +1,40 @@
++.TH MAILSTAT 1
++.SH NAME
++mailstat \- shows mail-arrival statistics
++.SH SYNOPSIS
++.B mailstat
++[\-klmots] [logfile]
++.SH DESCRIPTION
++.B mailstat
++parses a procmail-generated $LOGFILE and displays
++a summary about the messages delivered to all folders
++(total size, average size, nr of messages).
++The $LOGFILE is truncated to zero length, unless the
++.B -k
++option is used.
++Exit code 0 if mail arrived, 1 if no mail arrived.
++.SH OPTIONS
++.TP
++.I \-k
++keep logfile intact
++.TP
++.I \-l
++long display format
++.TP
++.I \-m
++merge any errors into one line
++.TP
++.I \-o
++use the old logfile
++.TP
++.I \-t
++terse display format
++.TP
++.I \-s
++silent in case of no mail
++.SH NOTES
++Customise to your heart's content, this program is only provided as a
++guideline.
++.SH AUTHOR
++This manual page was written by Santiago Vila <sanvila@debian.org>
++for the Debian GNU/Linux distribution (but may be used by others).
+--
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/procmail/procmail_3.22.bb b/meta-oe/recipes-support/procmail/procmail_3.22.bb
new file mode 100644
index 0000000000..1063654f5c
--- /dev/null
+++ b/meta-oe/recipes-support/procmail/procmail_3.22.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Mail processing program"
+DESCRIPTION = "Procmail can be used to create mail-servers, mailing lists, sort your\
+incoming mail into separate folders/files (real convenient when subscribing\
+to one or more mailing lists or for prioritising your mail), preprocess\
+your mail, start any programs upon mail arrival (e.g. to generate different\
+chimes on your workstation for different types of mail) or selectively\
+forward certain incoming mail automatically to someone."
+HOMEPAGE = "http://www.procmail.org/"
+SECTION = "Applications/System"
+
+SRC_URI = "http://www.ring.gr.jp/archives/net/mail/${BPN}/${BP}.tar.gz \
+ file://from-debian-to-fix-compile-errors.patch \
+ file://from-debian-to-modify-parameters.patch \
+ file://from-debian-to-fix-man-file.patch \
+ file://man-file-mailstat.1-from-debian.patch"
+SRC_URI[md5sum] = "1678ea99b973eb77eda4ecf6acae53f1"
+SRC_URI[sha256sum] = "087c75b34dd33d8b9df5afe9e42801c9395f4bf373a784d9bc97153b0062e117"
+
+LICENSE = "GPL-2.0 & Artistic-1.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a71e50e197a992c862379e576e669757 \
+ file://Artistic;md5=505e00d03c3428cde21b17b2a386590e"
+
+DEPENDS = "libnet"
+inherit autotools-brokensep
+do_configure() {
+ find examples -type f | xargs chmod 644
+ export CC="${BUILD_CC}"
+ export LD="${BUILD_LD}"
+ export CFLAGS="${BUILD_CFLAGS}"
+ export AR="${BUILD_AR}"
+ export AS="${BUILD_AS}"
+ make TARGET_CFLAGS="$TARGET_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" autoconf.h
+}
+
+do_compile() {
+ oe_runmake -i TARGET_CFLAGS="$TARGET_CFLAGS -Wno-comments -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -d ${D}${mandir}/man{1,5}
+ oe_runmake -i BASENAME=${D}/usr MANDIR=${D}${mandir} install
+ install -m 0644 debian/mailstat.1 ${D}${mandir}/man1
+}
diff --git a/meta-oe/recipes-support/pv/pv_1.4.6.bb b/meta-oe/recipes-support/pv/pv_1.4.6.bb
deleted file mode 100644
index 8aec14ccfe..0000000000
--- a/meta-oe/recipes-support/pv/pv_1.4.6.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "pv - Pipe Viewer - is a terminal-based tool for monitoring the progress of data through a pipeline."
-
-LICENSE = "Artistic-License-2.0"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02"
-
-SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.bz2"
-SRC_URI[md5sum] = "d55ff76f5caa83efc23aa527dbb0b191"
-SRC_URI[sha256sum] = "edfea0033ec6222eb60b4ec6d905dd2dccdb5900beef03f67f42ca9ed67e9fe2"
-
-inherit autotools
-
-# broken autotools
-do_configure() {
- cp ${S}/autoconf/configure.in ${S}
- gnu-configize --force
- oe_runconf
-}
diff --git a/meta-oe/recipes-support/pv/pv_1.5.3.bb b/meta-oe/recipes-support/pv/pv_1.5.3.bb
new file mode 100644
index 0000000000..5e3dd67c5b
--- /dev/null
+++ b/meta-oe/recipes-support/pv/pv_1.5.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Terminal-based tool for monitoring the progress of data through a pipeline"
+
+LICENSE = "Artistic-2.0"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02"
+
+SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.bz2"
+SRC_URI[md5sum] = "efe8e9e4cad5f3264a32258a63bf2c8e"
+SRC_URI[sha256sum] = "76f3999b1c3b3027163dce6ef667cdf8dafb75218ee25e54a03bfe590478f90e"
+
+inherit autotools
+
diff --git a/meta-oe/recipes-support/re2c/re2c/configure.patch b/meta-oe/recipes-support/re2c/re2c/configure.patch
new file mode 100644
index 0000000000..8ca0969ad6
--- /dev/null
+++ b/meta-oe/recipes-support/re2c/re2c/configure.patch
@@ -0,0 +1,18 @@
+Modernise configure to work with modern automake.
+
+RP 2014/7/14
+
+Upstream-Status: Pending
+
+Index: re2c-0.13.5/configure.in
+===================================================================
+--- re2c-0.13.5.orig/configure.in 2008-05-25 14:42:34.000000000 +0000
++++ re2c-0.13.5/configure.in 2014-07-17 14:10:40.595821292 +0000
+@@ -1,6 +1,6 @@
+ AC_PREREQ([2.57])
+ AC_INIT(re2c, 0.13.5, re2c-general@lists.sourceforge.net)
+-AM_INIT_AUTOMAKE(re2c, $PACKAGE_VERSION)
++AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_SRCDIR(actions.cc)
+ AM_CONFIG_HEADER(config.h)
+
diff --git a/meta-oe/recipes-support/re2c/re2c_0.13.5.bb b/meta-oe/recipes-support/re2c/re2c_0.13.5.bb
index fff7a782a6..dcac940f81 100644
--- a/meta-oe/recipes-support/re2c/re2c_0.13.5.bb
+++ b/meta-oe/recipes-support/re2c/re2c_0.13.5.bb
@@ -5,7 +5,8 @@ SECTION = "devel"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://README;beginline=180;md5=822830a2204aef353f2c489f62e02089"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://configure.patch"
SRC_URI[md5sum] = "4a97d8f77ed6d2c76c8bd840a43f5633"
SRC_URI[sha256sum] = "f3a995139af475e80a30207d02728b1e0065b0caade7375e974cb1b14861668c"
diff --git a/meta-oe/recipes-support/rng-tools/files/init b/meta-oe/recipes-support/rng-tools/files/init
index 5fa5959a40..7cf78393a4 100644
--- a/meta-oe/recipes-support/rng-tools/files/init
+++ b/meta-oe/recipes-support/rng-tools/files/init
@@ -46,4 +46,4 @@ case "$1" in
exit 1
esac
-exit 0 \ No newline at end of file
+exit 0
diff --git a/meta-oe/recipes-support/rng-tools/rng-tools_2.bb b/meta-oe/recipes-support/rng-tools/rng-tools_2.bb
deleted file mode 100644
index 7803b28420..0000000000
--- a/meta-oe/recipes-support/rng-tools/rng-tools_2.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Random number generator daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS_append_libc-uclibc = " argp-standalone"
-
-SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${P}.tar.gz \
- file://init \
- file://default"
-
-SRC_URI[md5sum] = "63d503191eabed630324c104cc024475"
-SRC_URI[sha256sum] = "1126f0ecc8cab3af14a562cddc5d8ffeef47df7eba34a7aadcdee35a25ec2b1e"
-
-inherit autotools update-rc.d
-
-do_install_append() {
- install -d "${D}${sysconfdir}/init.d"
- install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
- sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir},' \
- ${D}${sysconfdir}/init.d/rng-tools
-
- install -d "${D}${sysconfdir}/default"
- install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default
-}
-
-INITSCRIPT_NAME = "rng-tools"
-INITSCRIPT_PARAMS = "defaults"
diff --git a/meta-oe/recipes-support/rng-tools/rng-tools_4.bb b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb
new file mode 100644
index 0000000000..0b40fc5479
--- /dev/null
+++ b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Random number generator daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS_append_libc-uclibc = " argp-standalone"
+
+SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${BP}.tar.gz \
+ file://init \
+ file://default"
+
+SRC_URI[md5sum] = "ae89dbfcf08bdfbea19066cfbf599127"
+SRC_URI[sha256sum] = "b71bdfd4222c05e8316001556be90e1606f2a1bac3efde60153bd84e873cc195"
+
+# As the recipe doesn't inherit systemd.bbclass, we need to set this variable
+# manually to avoid unnecessary postinst/preinst generated.
+python () {
+ if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+ d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
+}
+
+inherit autotools update-rc.d
+
+do_install_append() {
+ # Only install the init script when 'sysvinit' is in DISTRO_FEATURES.
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d "${D}${sysconfdir}/init.d"
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
+ sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir},' \
+ ${D}${sysconfdir}/init.d/rng-tools
+
+ install -d "${D}${sysconfdir}/default"
+ install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default
+ fi
+}
+
+INITSCRIPT_NAME = "rng-tools"
+INITSCRIPT_PARAMS = "defaults"
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
new file mode 100644
index 0000000000..7b2361b4a2
--- /dev/null
+++ b/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch
@@ -0,0 +1,44 @@
+From 26ad431e19788898fb4ed19ff91392e8b20f1bab Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Thu, 16 Oct 2014 04:06:55 -0400
+Subject: [PATCH] fix cmd_rsync
+
+Don't break configure if rsync is not installed on host.
+
+rsync is a runtime dependency and this change is only used for
+generating rsnapshot.conf.default. It allows cmd_rsync to use
+default path if options --without-rsync is specfied.
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+---
+ configure.ac | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index bc9df9e..2a33d29 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,7 +55,7 @@ AC_ARG_WITH(rsync,
+ AC_MSG_ERROR(rsync not found)
+ fi
+ else
+- AC_MSG_ERROR(rsync is required)
++ RSYNC=no
+ fi
+ ]
+ )
+@@ -67,7 +67,8 @@ if test "$RSYNC" = ""; then
+ fi
+ dnl bail out if we can't find it
+ if test "$RSYNC" = "no"; then
+- AC_MSG_ERROR(rsync is required)
++ RSYNC=/usr/bin/rsync
++ AC_SUBST(CMD_RSYNC, "cmd_rsync $RSYNC")
+ fi
+
+
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
new file mode 100644
index 0000000000..3f919b568f
--- /dev/null
+++ b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
@@ -0,0 +1,42 @@
+SUMMARY = "A filesystem snapshot utility based on rsync"
+HOMEPAGE = "http://www.rsnapshot.org"
+BUGTRACKER = "https://sourceforge.net/projects/rsnapshot/"
+SECTION = "console/network"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
+
+RDEPENDS_${PN} = "rsync \
+ perl \
+ perl-module-dirhandle \
+ perl-module-cwd \
+ perl-module-getopt-std \
+ perl-module-file-path \
+ perl-module-file-stat \
+ perl-module-posix \
+ perl-module-fcntl \
+ perl-module-io-file \
+ perl-module-constant \
+ perl-module-overloading \
+ "
+
+SRCREV = "1047cbb57937c29233388e2fcd847fecd3babe74"
+PV = "1.3.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=git \
+ file://configure-fix-cmd_rsync.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+# Fix rsnapshot.conf.default:
+# don't inject the host path into target configs.
+EXTRA_OECONF += "--without-cp \
+ --without-rm \
+ --without-du \
+ --without-ssh \
+ --without-logger \
+ --without-rsync \
+ "
diff --git a/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch b/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch
new file mode 100644
index 0000000000..5405ed802e
--- /dev/null
+++ b/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch
@@ -0,0 +1,27 @@
+[PATCH] make sysroot work
+
+Upstream-Status: Pending
+
+Add = before the included dir to make sysroot work
+
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+---
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index c83788c..9f62115 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -32,7 +32,7 @@ sglib_SOURCES = ../lib/sg_lib.c \
+ ../lib/sg_pt_common.c
+
+ if HAVE_SGUTILS
+-INCLUDES = -I/usr/include/scsi
++INCLUDES = -I=@includedir@/scsi
+ sdparm_LDADD = @GETOPT_O_FILES@ @os_libs@ @SGUTILS_LIBS@
+ sdparm_DEPENDENCIES = @GETOPT_O_FILES@
+ else
+--
+1.9.1
+
diff --git a/meta-oe/recipes-support/sdparm/sdparm_1.08.bb b/meta-oe/recipes-support/sdparm/sdparm_1.08.bb
new file mode 100644
index 0000000000..b603a56824
--- /dev/null
+++ b/meta-oe/recipes-support/sdparm/sdparm_1.08.bb
@@ -0,0 +1,23 @@
+SUMMARY = "fetch and change SCSI mode pages"
+DESCRIPTION = "The sdparm utility accesses and optionally modifies \
+SCSI devices' mode page and inquiry data."
+HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html"
+SECTION = "console/utils"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \
+ file://lib/BSD_LICENSE;md5=1d52f4a66f1e0ed96776bf354ab7a2ed"
+DEPENDS="sg3-utils"
+SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \
+ file://make-sysroot-work.patch \
+ "
+
+PACKAGES =+ "${PN}-scripts"
+RDEPENDS_${PN}-scripts += "bash ${PN}"
+
+SRC_URI[md5sum] = "be5786f37499018ef44f409597c92d42"
+SRC_URI[sha256sum] = "376b78a414b1a9c47f3f13dbeb963e7a3ec7be126f83927d6856b5f7ac425e57"
+
+inherit autotools
+
+# Put the bash scripts to ${PN}-scripts
+FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp"
diff --git a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb
index 36c13a412c..5ce11b62da 100644
--- a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb
+++ b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb
@@ -15,3 +15,5 @@ SRC_URI[sha256sum] = "d7d3a8b4b698e2c17c8f16bb876946720260d4d659d471c5d7c12ce652
inherit autotools-brokensep
S = "${WORKDIR}/sg3_utils-${PV}"
+
+RDEPENDS_${PN} += "bash"
diff --git a/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch b/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch
new file mode 100644
index 0000000000..86a7da63c2
--- /dev/null
+++ b/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch
@@ -0,0 +1,29 @@
+From 990234af84a5399017d1c4fe03c5c756a8e51e23 Mon Sep 17 00:00:00 2001
+From: Hongjun Yang <Hongjun.Yang@windriver.com>
+Date: Tue, 20 Aug 2013 09:41:43 +0800
+Subject: [PATCH] fix cross compiling issue
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com>
+
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 6ee98e0..8067f54 100755
+--- a/configure
++++ b/configure
+@@ -26965,7 +26965,7 @@ fi
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "cannot run test program while cross compiling
++$as_echo "cannot run test program while cross compiling
+ See \`config.log' for more details" "$LINENO" 5; }
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--
+1.8.1.4
+
diff --git a/meta-oe/recipes-support/sharutils/sharutils_4.14.bb b/meta-oe/recipes-support/sharutils/sharutils_4.14.bb
new file mode 100644
index 0000000000..49981e7f7a
--- /dev/null
+++ b/meta-oe/recipes-support/sharutils/sharutils_4.14.bb
@@ -0,0 +1,18 @@
+SUMMARY = "This is the set of GNU shar utilities."
+HOMEPAGE = "http://www.gnu.org/software/sharutils/"
+SECTION = "console/utils"
+LICENSE="GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit gettext autotools-brokensep
+
+SRC_URI = "ftp://ftp.gnu.org/gnu/sharutils/sharutils-4.14.tar.gz \
+ file://fix-for-cross-compiling.patch \
+ "
+
+SRC_URI[md5sum] = "5686c11131b4c4c0841f8f3ef34d136a"
+SRC_URI[sha256sum] = "90f5107c167cfd1b299bb211828d2586471087863dbed698f53109cd5f717208"
+
+do_configure () {
+ oe_runconf
+}
diff --git a/meta-oe/recipes-support/smem/smem_1.4.bb b/meta-oe/recipes-support/smem/smem_1.4.bb
new file mode 100644
index 0000000000..8768c4896b
--- /dev/null
+++ b/meta-oe/recipes-support/smem/smem_1.4.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Report application memory usage in a meaningful way"
+DESCRIPTION = "smem is a tool that can give numerous reports on memory usage on Linux \
+systems. Unlike existing tools, smem can report proportional set size (PSS), \
+which is a more meaningful representation of the amount of memory used by \
+libraries and applications in a virtual memory system."
+HOMEPAGE = "http://www.selenic.com/smem/"
+SECTION = "Applications/System"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.selenic.com/${BPN}/download/${BP}.tar.gz"
+SRC_URI[md5sum] = "fe79435c3930389bfdb560255c802162"
+SRC_URI[sha256sum] = "2ea9f878f4cf3c276774c3f7e2a41977a1f2d64f98d2dcb6a15f1f3d84df61ec"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} smemcap.c -o smemcap
+}
+
+do_install() {
+ install -d ${D}/${bindir}/
+ install -d ${D}/${mandir}/man8
+ install -m 0755 ${S}/smem ${D}${bindir}/
+ install -m 0755 ${S}/smemcap ${D}${bindir}/
+ install -m 0644 ${S}/smem.8 ${D}/${mandir}/man8/
+}
diff --git a/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb b/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb
index 5148f356fb..e6e14c2ad5 100644
--- a/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb
+++ b/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb
@@ -26,7 +26,7 @@ do_configure() {
}
do_compile() {
- oe_runmake -f Makefile.linux-gcc \
+ oe_runmake -f ${S}/Makefile.linux-gcc \
TOP="${S}" \
BCC="${BUILD_CC}" \
TCC="${CC}" \
diff --git a/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb b/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb
index bb649a2337..c232474a05 100644
--- a/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb
+++ b/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb
@@ -10,14 +10,13 @@ SRC_URI = "http://sources.openembedded.org/dpkg_${PV}.tar.bz2"
SRC_URI[md5sum] = "d211a84f38987771a49ad1c0f144334a"
SRC_URI[sha256sum] = "2a3d4ba83c743b3f004533fdd52372cb7b22f5c1da2042d0a31bbcc2b54c0ea5"
-inherit autotools gettext
+inherit autotools gettext pkgconfig
S = "${WORKDIR}/dpkg-${PV}"
EXTRA_OECONF = " \
--with-start-stop-daemon \
--without-bz2 \
- --without-deselect \
--without-install-info \
--without-selinux \
--without-update-alternatives \
diff --git a/meta-oe/recipes-support/synergy/synergy_1.3.8.bb b/meta-oe/recipes-support/synergy/synergy_1.3.8.bb
index c73582ea9b..45c0bc2f52 100644
--- a/meta-oe/recipes-support/synergy/synergy_1.3.8.bb
+++ b/meta-oe/recipes-support/synergy/synergy_1.3.8.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9772a11e3569985855e2ce450e56f991"
LICENSE = "GPL-2.0"
SECTION = "x11/utils"
-DEPENDS = "libx11 libxtst"
+DEPENDS = "virtual/libx11 libxtst libxinerama"
SRC_URI = "http://synergy.googlecode.com/files/synergy-${PV}-Source.tar.gz"
@@ -13,7 +13,9 @@ SRC_URI[sha256sum] = "0afc83e4ed0b46ed497d4229b2b2854e8d3c581a112f4da05110943edb
S = "${WORKDIR}/${PN}-${PV}-Source"
-inherit cmake
+inherit cmake distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
do_install() {
install -d ${D}/usr/bin
diff --git a/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch
new file mode 100644
index 0000000000..89022aaf00
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch
@@ -0,0 +1,58 @@
+Fix the memory leak problem for mutex
+
+Upstream-Status: Pending
+
+Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
+---
+ lib/logqueue.c | 1 +
+ modules/affile/affile-dest.c | 2 ++
+ modules/dbparser/dbparser.c | 1 +
+ 3 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/lib/logqueue.c b/lib/logqueue.c
+index 337a3c1..10edcf0 100644
+--- a/lib/logqueue.c
++++ b/lib/logqueue.c
+@@ -188,6 +188,7 @@ log_queue_init_instance(LogQueue *self, const gchar *persist_name)
+ void
+ log_queue_free_method(LogQueue *self)
+ {
++ g_static_mutex_free(&self->lock);
+ g_free(self->persist_name);
+ g_free(self);
+ }
+diff --git a/modules/affile/affile-dest.c b/modules/affile/affile-dest.c
+index a2bcdad..ce79f6f 100644
+--- a/modules/affile/affile-dest.c
++++ b/modules/affile/affile-dest.c
+@@ -305,6 +305,7 @@ affile_dw_free(LogPipe *s)
+ {
+ AFFileDestWriter *self = (AFFileDestWriter *) s;
+
++ g_static_mutex_free(&self->lock);
+ log_pipe_unref((LogPipe *) self->writer);
+ self->writer = NULL;
+ g_free(self->filename);
+@@ -687,6 +688,7 @@ affile_dd_free(LogPipe *s)
+ /* NOTE: this must be NULL as deinit has freed it, otherwise we'd have circular references */
+ g_assert(self->single_writer == NULL && self->writer_hash == NULL);
+
++ g_static_mutex_free(&self->lock);
+ log_template_unref(self->filename_template);
+ log_writer_options_destroy(&self->writer_options);
+ log_dest_driver_free(s);
+diff --git a/modules/dbparser/dbparser.c b/modules/dbparser/dbparser.c
+index f1248b5..9775701 100644
+--- a/modules/dbparser/dbparser.c
++++ b/modules/dbparser/dbparser.c
+@@ -284,6 +284,7 @@ log_db_parser_free(LogPipe *s)
+ {
+ LogDBParser *self = (LogDBParser *) s;
+
++ g_static_mutex_free(&self->lock);
+ if (self->db)
+ pattern_db_free(self->db);
+
+--
+1.7.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch
new file mode 100644
index 0000000000..2ac9c0be0f
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch
@@ -0,0 +1,27 @@
+Fix the memory leak problem when HAVE_ENVIRON is defined
+
+Upstream-Status: Pending
+
+Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
+---
+--- a/lib/gprocess.c
++++ b/lib/gprocess.c
+@@ -1421,6 +1421,18 @@
+ void
+ g_process_finish(void)
+ {
++#ifdef HAVE_ENVIRON
++ int i = 0;
++
++ while (environ[i]) {
++ g_free(environ[i]);
++ ++i;
++ }
++ if (environ)
++ g_free(environ);
++ if (process_opts.argv_orig)
++ free(process_opts.argv_orig);
++#endif
+ g_process_remove_pidfile();
+ }
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch b/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch
new file mode 100644
index 0000000000..42e181bb1f
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch
@@ -0,0 +1,494 @@
+From 23e80b75508187baaa823a68ea019b72e0b2305c Mon Sep 17 00:00:00 2001
+From: Budai Laszlo <lbudai@balabit.hu>
+Date: Tue, 12 Nov 2013 13:19:04 +0100
+Subject: [PATCH] afsql: afsql_dd_insert_db() refactor
+
+Upstream-Status: Backport
+
+A lot of the code that was previously in afsql_dd_insert_db() have been
+extracted to smaller functions, and afsql_dd_insert_db() was rebuilt on
+top of these. At the same time, memory leaks were plugged, and in case
+of a transaction error, backlog rewinding has been fixed too, to not
+loose messages since the last BEGIN command.
+
+Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
+Signed-off-by: Laszlo Budai <lbudai@balabit.hu>
+---
+ modules/afsql/afsql.c | 301 ++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 192 insertions(+), 109 deletions(-)
+
+diff --git a/modules/afsql/afsql.c b/modules/afsql/afsql.c
+index 12f6aab..a6a8190 100644
+--- a/modules/afsql/afsql.c
++++ b/modules/afsql/afsql.c
+@@ -456,24 +456,21 @@ afsql_dd_create_index(AFSqlDestDriver *s
+ *
+ * NOTE: This function can only be called from the database thread.
+ **/
+-static GString *
+-afsql_dd_validate_table(AFSqlDestDriver *self, LogMessage *msg)
++static gboolean
++afsql_dd_validate_table(AFSqlDestDriver *self, GString *table)
+ {
+- GString *query_string, *table;
++ GString *query_string;
+ dbi_result db_res;
+ gboolean success = FALSE;
+ gint i;
+
+- table = g_string_sized_new(32);
+- log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table);
+-
+ if (self->flags & AFSQL_DDF_DONT_CREATE_TABLES)
+- return table;
++ return TRUE;
+
+ afsql_dd_check_sql_identifier(table->str, TRUE);
+
+ if (g_hash_table_lookup(self->validated_tables, table->str))
+- return table;
++ return TRUE;
+
+ query_string = g_string_sized_new(32);
+ g_string_printf(query_string, "SELECT * FROM %s WHERE 0=1", table->str);
+@@ -544,14 +541,9 @@ afsql_dd_validate_table(AFSqlDestDriver
+ /* we have successfully created/altered the destination table, record this information */
+ g_hash_table_insert(self->validated_tables, g_strdup(table->str), GUINT_TO_POINTER(TRUE));
+ }
+- else
+- {
+- g_string_free(table, TRUE);
+- table = NULL;
+- }
+ g_string_free(query_string, TRUE);
+
+- return table;
++ return success;
+ }
+
+ /**
+@@ -581,6 +573,20 @@ afsql_dd_begin_txn(AFSqlDestDriver *self
+ }
+
+ /**
++ * afsql_dd_handle_transaction_error:
++ *
++ * Handle errors inside during a SQL transaction (e.g. INSERT or COMMIT failures).
++ *
++ * NOTE: This function can only be called from the database thread.
++ **/
++static void
++afsql_dd_handle_transaction_error(AFSqlDestDriver *self)
++{
++ log_queue_rewind_backlog(self->queue);
++ self->flush_lines_queued = 0;
++}
++
++/**
+ * afsql_dd_begin_txn:
+ *
+ * Commit SQL transaction.
+@@ -596,14 +602,14 @@ afsql_dd_commit_txn(AFSqlDestDriver *sel
+ if (success)
+ {
+ log_queue_ack_backlog(self->queue, self->flush_lines_queued);
++ self->flush_lines_queued = 0;
+ }
+ else
+ {
+- msg_notice("SQL transaction commit failed, rewinding backlog and starting again",
+- NULL);
+- log_queue_rewind_backlog(self->queue);
++ msg_error("SQL transaction commit failed, rewinding backlog and starting again",
++ NULL);
++ afsql_dd_handle_transaction_error(self);
+ }
+- self->flush_lines_queued = 0;
+ return success;
+ }
+
+@@ -644,12 +650,13 @@ afsql_dd_set_dbd_opt_numeric(gpointer ke
+ }
+
+ static gboolean
+-afsql_dd_connect(AFSqlDestDriver *self)
++afsql_dd_ensure_initialized_connection(AFSqlDestDriver *self)
+ {
+ if (self->dbi_ctx)
+ return TRUE;
+
+ self->dbi_ctx = dbi_conn_new(self->type);
++
+ if (!self->dbi_ctx)
+ {
+ msg_error("No such DBI driver",
+@@ -659,10 +666,12 @@ afsql_dd_connect(AFSqlDestDriver *self)
+ }
+
+ dbi_conn_set_option(self->dbi_ctx, "host", self->host);
++
+ if (strcmp(self->type, "mysql"))
+ dbi_conn_set_option(self->dbi_ctx, "port", self->port);
+ else
+ dbi_conn_set_option_numeric(self->dbi_ctx, "port", atoi(self->port));
++
+ dbi_conn_set_option(self->dbi_ctx, "username", self->user);
+ dbi_conn_set_option(self->dbi_ctx, "password", self->password);
+ dbi_conn_set_option(self->dbi_ctx, "dbname", self->database);
+@@ -691,6 +700,7 @@ afsql_dd_connect(AFSqlDestDriver *self)
+ evt_tag_str("database", self->database),
+ evt_tag_str("error", dbi_error),
+ NULL);
++
+ return FALSE;
+ }
+
+@@ -713,104 +723,145 @@ afsql_dd_connect(AFSqlDestDriver *self)
+ return TRUE;
+ }
+
+-static gboolean
+-afsql_dd_insert_fail_handler(AFSqlDestDriver *self, LogMessage *msg,
+- LogPathOptions *path_options)
++static GString *
++afsql_dd_ensure_accessible_database_table(AFSqlDestDriver *self, LogMessage *msg)
+ {
+- if (self->failed_message_counter < self->num_retries - 1)
+- {
+- log_queue_push_head(self->queue, msg, path_options);
+-
+- /* database connection status sanity check after failed query */
+- if (dbi_conn_ping(self->dbi_ctx) != 1)
+- {
+- const gchar *dbi_error;
+-
+- dbi_conn_error(self->dbi_ctx, &dbi_error);
+- msg_error("Error, no SQL connection after failed query attempt",
+- evt_tag_str("type", self->type),
+- evt_tag_str("host", self->host),
+- evt_tag_str("port", self->port),
+- evt_tag_str("username", self->user),
+- evt_tag_str("database", self->database),
+- evt_tag_str("error", dbi_error),
+- NULL);
+- return FALSE;
+- }
++ GString *table = g_string_sized_new(32);
++ log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table);
+
+- self->failed_message_counter++;
+- return FALSE;
++ if (!afsql_dd_validate_table(self, table))
++ {
++ /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */
++ msg_error("Error checking table, disconnecting from database, trying again shortly",
++ evt_tag_int("time_reopen", self->time_reopen),
++ NULL);
++ g_string_free(table, TRUE);
++ return NULL;
+ }
+
+- msg_error("Multiple failures while inserting this record into the database, message dropped",
+- evt_tag_int("attempts", self->num_retries),
+- NULL);
+- stats_counter_inc(self->dropped_messages);
+- log_msg_drop(msg, path_options);
+- self->failed_message_counter = 0;
+- return TRUE;
++ return table;
+ }
+
+ static GString *
+-afsql_dd_construct_query(AFSqlDestDriver *self, GString *table,
+- LogMessage *msg)
++afsql_dd_build_insert_command(AFSqlDestDriver *self, LogMessage *msg, GString *table)
+ {
+- GString *value;
+- GString *query_string;
+- gint i;
++ GString *insert_command = g_string_sized_new(256);
++ GString *value = g_string_sized_new(512);
++ gint i, j;
+
+- value = g_string_sized_new(256);
+- query_string = g_string_sized_new(512);
++ g_string_printf(insert_command, "INSERT INTO %s (", table->str);
+
+- g_string_printf(query_string, "INSERT INTO %s (", table->str);
+ for (i = 0; i < self->fields_len; i++)
+ {
+- g_string_append(query_string, self->fields[i].name);
+- if (i != self->fields_len - 1)
+- g_string_append(query_string, ", ");
++ if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL)
++ {
++ g_string_append(insert_command, self->fields[i].name);
++
++ j = i + 1;
++ while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT)
++ j++;
++
++ if (j < self->fields_len)
++ g_string_append(insert_command, ", ");
++ }
+ }
+- g_string_append(query_string, ") VALUES (");
++
++ g_string_append(insert_command, ") VALUES (");
+
+ for (i = 0; i < self->fields_len; i++)
+ {
+ gchar *quoted;
+
+- if (self->fields[i].value == NULL)
+- {
+- /* the config used the 'default' value for this column -> the fields[i].value is NULL, use SQL default */
+- g_string_append(query_string, "DEFAULT");
+- }
+- else
++ if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL)
+ {
+ log_template_format(self->fields[i].value, msg, &self->template_options, LTZ_SEND, self->seq_num, NULL, value);
+-
+ if (self->null_value && strcmp(self->null_value, value->str) == 0)
+ {
+- g_string_append(query_string, "NULL");
++ g_string_append(insert_command, "NULL");
+ }
+ else
+ {
+ dbi_conn_quote_string_copy(self->dbi_ctx, value->str, &quoted);
+ if (quoted)
+ {
+- g_string_append(query_string, quoted);
++ g_string_append(insert_command, quoted);
+ free(quoted);
+ }
+ else
+ {
+- g_string_append(query_string, "''");
++ g_string_append(insert_command, "''");
+ }
+ }
+- }
+
+- if (i != self->fields_len - 1)
+- g_string_append(query_string, ", ");
++ j = i + 1;
++ while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT)
++ j++;
++ if (j < self->fields_len)
++ g_string_append(insert_command, ", ");
++ }
+ }
+- g_string_append(query_string, ")");
++
++ g_string_append(insert_command, ")");
+
+ g_string_free(value, TRUE);
+
+- return query_string;
++ return insert_command;
++}
++
++static inline gboolean
++afsql_dd_is_transaction_handling_enabled(const AFSqlDestDriver *self)
++{
++ return self->flush_lines_queued != -1;
++}
++
++static inline gboolean
++afsql_dd_should_start_new_transaction(const AFSqlDestDriver *self)
++{
++ return self->flush_lines_queued == 0;
++}
++
++static inline gboolean
++afsql_dd_should_commit_transaction(const AFSqlDestDriver *self)
++{
++ return afsql_dd_is_transaction_handling_enabled(self) && self->flush_lines_queued == self->flush_lines;
++}
++
++static inline gboolean
++afsql_dd_handle_insert_row_error_depending_on_connection_availability(AFSqlDestDriver *self,
++ LogMessage *msg,
++ LogPathOptions *path_options)
++{
++ const gchar *dbi_error, *error_message;
++
++ if (dbi_conn_ping(self->dbi_ctx) == 1)
++ {
++ log_queue_push_head(self->queue, msg, path_options);
++ return TRUE;
++ }
++
++ if (afsql_dd_is_transaction_handling_enabled(self))
++ {
++ error_message = "SQL connection lost in the middle of a transaction,"
++ " rewinding backlog and starting again";
++ afsql_dd_handle_transaction_error(self);
++ }
++ else
++ {
++ error_message = "Error, no SQL connection after failed query attempt";
++ log_queue_push_head(self->queue, msg, path_options);
++ }
++
++ dbi_conn_error(self->dbi_ctx, &dbi_error);
++ msg_error(error_message,
++ evt_tag_str("type", self->type),
++ evt_tag_str("host", self->host),
++ evt_tag_str("port", self->port),
++ evt_tag_str("username", self->user),
++ evt_tag_str("database", self->database),
++ evt_tag_str("error", dbi_error),
++ NULL);
++
++ return FALSE;
+ }
+
+ /**
+@@ -824,61 +875,93 @@ afsql_dd_construct_query(AFSqlDestDriver
+ static gboolean
+ afsql_dd_insert_db(AFSqlDestDriver *self)
+ {
+- GString *table, *query_string;
++ GString *table = NULL;
++ GString *insert_command = NULL;
+ LogMessage *msg;
+ gboolean success;
+ LogPathOptions path_options = LOG_PATH_OPTIONS_INIT;
+
+- afsql_dd_connect(self);
++ if (!afsql_dd_ensure_initialized_connection(self))
++ return FALSE;
+
+- success = log_queue_pop_head(self->queue, &msg, &path_options, (self->flags & AFSQL_DDF_EXPLICIT_COMMITS), FALSE);
++ /* connection established, try to insert a message */
++ success = log_queue_pop_head(self->queue, &msg, &path_options, FALSE, self->flags & AFSQL_DDF_EXPLICIT_COMMITS);
+ if (!success)
+ return TRUE;
+
+ msg_set_context(msg);
+
+- table = afsql_dd_validate_table(self, msg);
++ table = afsql_dd_ensure_accessible_database_table(self, msg);
++
+ if (!table)
+ {
+- /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */
+- msg_error("Error checking table, disconnecting from database, trying again shortly",
+- evt_tag_int("time_reopen", self->time_reopen),
+- NULL);
+- msg_set_context(NULL);
+- g_string_free(table, TRUE);
+- return afsql_dd_insert_fail_handler(self, msg, &path_options);
++ success = FALSE;
++ goto out;
+ }
+
+- query_string = afsql_dd_construct_query(self, table, msg);
++ if (afsql_dd_should_start_new_transaction(self) && !afsql_dd_begin_txn(self))
++ {
++ success = FALSE;
++ goto out;
++ }
+
+- if (self->flush_lines_queued == 0 && !afsql_dd_begin_txn(self))
+- return FALSE;
++ insert_command = afsql_dd_build_insert_command(self, msg, table);
++ success = afsql_dd_run_query(self, insert_command->str, FALSE, NULL);
+
+- success = afsql_dd_run_query(self, query_string->str, FALSE, NULL);
+ if (success && self->flush_lines_queued != -1)
+ {
+ self->flush_lines_queued++;
+
+- if (self->flush_lines && self->flush_lines_queued == self->flush_lines && !afsql_dd_commit_txn(self))
+- return FALSE;
++ if (afsql_dd_should_commit_transaction(self) && !afsql_dd_commit_txn(self))
++ {
++ /* Assuming that in case of error, the queue is rewound by afsql_dd_commit_txn() */
++
++ g_string_free(insert_command, TRUE);
++ msg_set_context(NULL);
++
++ return FALSE;
++ }
+ }
+
+- g_string_free(table, TRUE);
+- g_string_free(query_string, TRUE);
++ out:
++
++ if (table != NULL)
++ g_string_free(table, TRUE);
++
++ if (insert_command != NULL)
++ g_string_free(insert_command, TRUE);
+
+ msg_set_context(NULL);
+
+- if (!success)
+- return afsql_dd_insert_fail_handler(self, msg, &path_options);
++ if (success)
++ {
++ log_msg_ack(msg, &path_options);
++ log_msg_unref(msg);
++ step_sequence_number(&self->seq_num);
++ self->failed_message_counter = 0;
++ }
++ else
++ {
++ if (self->failed_message_counter < self->num_retries - 1)
++ {
++ if (!afsql_dd_handle_insert_row_error_depending_on_connection_availability(self, msg, &path_options))
++ return FALSE;
+
+- /* we only ACK if each INSERT is a separate transaction */
+- if ((self->flags & AFSQL_DDF_EXPLICIT_COMMITS) == 0)
+- log_msg_ack(msg, &path_options);
+- log_msg_unref(msg);
+- step_sequence_number(&self->seq_num);
+- self->failed_message_counter = 0;
++ self->failed_message_counter++;
++ }
++ else
++ {
++ msg_error("Multiple failures while inserting this record into the database, message dropped",
++ evt_tag_int("attempts", self->num_retries),
++ NULL);
++ stats_counter_inc(self->dropped_messages);
++ log_msg_drop(msg, &path_options);
++ self->failed_message_counter = 0;
++ success = TRUE;
++ }
++ }
+
+- return TRUE;
++ return success;
+ }
+
+ static void
+@@ -895,7 +978,7 @@ afsql_dd_message_became_available_in_the
+ static void
+ afsql_dd_wait_for_suspension_wakeup(AFSqlDestDriver *self)
+ {
+- /* we got suspended, probably because of a connection error,
++ /* we got suspended, probably because of a connection error,
+ * during this time we only get wakeups if we need to be
+ * terminated. */
+ if (!self->db_thread_terminate)
+@@ -974,8 +1057,7 @@ afsql_dd_database_thread(gpointer arg)
+
+ afsql_dd_commit_txn(self);
+ }
+-
+- exit:
++exit:
+ afsql_dd_disconnect(self);
+
+ msg_verbose("Database thread finished",
+--
+1.8.4.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch
new file mode 100644
index 0000000000..cc8d11044a
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch
@@ -0,0 +1,50 @@
+configure.ac: add option --enable-thread-tls to manage thread ssl support
+
+Add option --enable-thread-tls to manage the including of thread
+local storage, so we could explicitly disable it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 474e094..cedca54 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -120,6 +120,9 @@ AC_ARG_ENABLE(memtrace,
+ AC_ARG_ENABLE(ssl,
+ [ --enable-ssl Enable SSL support.],,enable_ssl="auto")
+
++AC_ARG_ENABLE(thread-tls,
++ [ --enable-thread-tls Enable Thread Transport Layer Security support.],,enable_thread_tls="no")
++
+ AC_ARG_ENABLE(dynamic-linking,
+ [ --enable-dynamic-linking Link everything dynamically.],,enable_dynamic_linking="auto")
+
+@@ -381,12 +384,14 @@ dnl ***************************************************************************
+ dnl Is the __thread keyword available?
+ dnl ***************************************************************************
+
+-AC_LINK_IFELSE([AC_LANG_PROGRAM(
+-[[#include <pthread.h>
+-__thread int a;
+-]],
+-[a=0;])],
+-[ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")])
++if test "x$enable_thread_tls" != "xno"; then
++ AC_LINK_IFELSE([AC_LANG_PROGRAM(
++ [[#include <pthread.h>
++ __thread int a;
++ ]],
++ [a=0;])],
++ [ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")])
++fi
+
+ dnl ***************************************************************************
+ dnl How to do static linking?
+--
+1.9.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.patch b/meta-oe/recipes-support/syslog-ng/files/configure.patch
new file mode 100644
index 0000000000..109f58cf72
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/configure.patch
@@ -0,0 +1,23 @@
+Index: syslog-ng-3.5.4.1/configure.ac
+===================================================================
+--- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 13:49:36.794141441 +0000
++++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 14:23:57.738197606 +0000
+@@ -8,7 +8,8 @@ dnl SNAPSHOT_VERSION - snapshot version to add to version number
+ dnl BINARY_BRANCH - the value is added to all source/binary packages
+ dnl SOURCE_REVISION - Revision of the source-tree, will added to the version string
+ dnl
+-AC_INIT(syslog-ng/main.c)
++AC_INIT(syslog-ng, 3.5.4.1)
++AC_CONFIG_SRCDIR(syslog-ng/main.c)
+ AC_CONFIG_MACRO_DIR([m4])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+@@ -53,7 +54,7 @@ else
+ CURRDATE=`date +"%a, %d %b %Y %H:%M:%S %Z"`
+ fi
+
+-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, [foreign no-define subdir-objects])
++AM_INIT_AUTOMAKE([foreign no-define subdir-objects])
+ _AM_PROG_TAR([ustar])
+ if test -n "$SNAPSHOT_VERSION"; then
+ VERSION=$VERSION+$SNAPSHOT_VERSION
diff --git a/meta-oe/recipes-support/syslog-ng/files/dbifix.patch b/meta-oe/recipes-support/syslog-ng/files/dbifix.patch
new file mode 100644
index 0000000000..15dfb68855
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/dbifix.patch
@@ -0,0 +1,20 @@
+Index: syslog-ng-3.5.4.1/configure.ac
+===================================================================
+--- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 14:35:03.134215740 +0000
++++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 15:31:52.510308653 +0000
+@@ -576,13 +576,14 @@
+ dnl ***************************************************************************
+
+ AC_CHECK_LIB(dl, dlsym, DL_LIBS="-ldl")
++if test "x$enable_sql" != "xno"; then
+ PKG_CHECK_MODULES(LIBDBI, dbi >= $LIBDBI_MIN_VERSION, libdbi_pkgconfig_not_found="0", libdbi_pkgconfig_not_found="1")
+
+ if test "$libdbi_pkgconfig_not_found" -eq 1; then
+ dnl if libdbi has no .pc file, try it without one
+ AC_CHECK_LIB(dbi, dbi_initialize, LIBDBI_LIBS="-ldbi"; LIBDBI_CFLAGS="-I/usr/include")
+ fi
+-
++fi
+ if test "x$enable_sql" = "xauto"; then
+ AC_MSG_CHECKING(whether to enable SQL support)
+ if test "x$LIBDBI_LIBS" != "x"; then
diff --git a/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch b/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch
new file mode 100644
index 0000000000..484af7e2ef
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch
@@ -0,0 +1,36 @@
+From 86842df8bff5c97e44fc55d2fb7fc6c10f56ab84 Mon Sep 17 00:00:00 2001
+From: Gergely Nagy <algernon@balabit.hu>
+Date: Fri, 13 Dec 2013 13:46:15 +0100
+Subject: [PATCH] mainloop: Deinit the new config when reverting to the old one
+
+Upstream-Status: Backport
+
+When reloading, and the new config fails, deinit it before initializing
+the old config. This is so that conflicting things do not remain held by
+the half-initialized new config, while the old tries to take it
+over. (It also removed a couple of memory leaks, most likely.)
+
+The reason we can do this, is because cfg_tree_stop() (called by
+cfg_deinit()) goes over all the known nodes, and log_pipe_deinit() is
+also smart enough to not deinit a node that has not been inited before.
+
+Signed-off-by: Gergely Nagy <algernon@balabit.hu>
+---
+ lib/mainloop.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/mainloop.c b/lib/mainloop.c
+index 34655fa..e6fbb59 100644
+--- a/lib/mainloop.c
++++ b/lib/mainloop.c
+@@ -510,6 +510,7 @@ main_loop_reload_config_apply(void)
+ {
+ msg_error("Error initializing new configuration, reverting to old config", NULL);
+ cfg_persist_config_move(main_loop_new_config, main_loop_old_config);
++ cfg_deinit(main_loop_new_config);
+ if (!cfg_init(main_loop_old_config))
+ {
+ /* hmm. hmmm, error reinitializing old configuration, we're hosed.
+--
+1.8.4.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch b/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch
new file mode 100644
index 0000000000..260347413b
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch
@@ -0,0 +1,33 @@
+From a269669ba3cb6d1c06a3322b4a6a035cb787d085 Mon Sep 17 00:00:00 2001
+From: Gergely Nagy <algernon@balabit.hu>
+Date: Tue, 14 Jan 2014 13:58:05 +0100
+Subject: [PATCH] driver: Fix a memory leak in log_driver_free()
+
+Upstream-Status: Backport
+
+After freeing up the members of self->plugins, free self->plugins itself
+too.
+
+Signed-off-by: Gergely Nagy <algernon@balabit.hu>
+---
+ lib/driver.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/lib/driver.c b/lib/driver.c
+index d77fe57..a6867b9 100644
+--- a/lib/driver.c
++++ b/lib/driver.c
+@@ -91,6 +91,10 @@ log_driver_free(LogPipe *s)
+ {
+ log_driver_plugin_free((LogDriverPlugin *) l->data);
+ }
++ if (self->plugins)
++ {
++ g_list_free(self->plugins);
++ }
+ if (self->group)
+ g_free(self->group);
+ if (self->id)
+--
+1.8.4.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch b/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
new file mode 100644
index 0000000000..755803c213
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
@@ -0,0 +1,66 @@
+Subject: [PATCH] add libnet enable option
+
+Upstream-Status: Pending
+
+This would avoid a implicit auto-detecting result.
+
+Signed-off-by: Ming Liu <ming.liu@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ configure.ac | 27 +++++++++++++++++----------
+ 1 files changed, 17 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b1e18b4..8e13025 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,6 +73,9 @@ AC_CONFIG_HEADERS(config.h)
+ dnl ***************************************************************************
+ dnl Arguments
+
++AC_ARG_ENABLE(libnet,
++ [ --enable-libnet Enable libnet support.],, enable_libnet="no")
++
+ AC_ARG_WITH(libnet,
+ [ --with-libnet=path use path to libnet-config script],
+ ,
+@@ -768,22 +771,26 @@ dnl ***************************************************************************
+ dnl libnet headers/libraries
+ dnl ***************************************************************************
+ AC_MSG_CHECKING(for LIBNET)
+-if test "x$with_libnet" = "x"; then
+- LIBNET_CONFIG="`which libnet-config`"
+-else
+- LIBNET_CONFIG="$with_libnet/libnet-config"
+-fi
++if test "x$enable_libnet" = xyes; then
++ if test "x$with_libnet" = "x"; then
++ LIBNET_CONFIG="`which libnet-config`"
++ else
++ LIBNET_CONFIG="$with_libnet/libnet-config"
++ fi
++
++ if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then
++ LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`"
++ LIBNET_LIBS="`$LIBNET_CONFIG --libs`"
++ AC_MSG_RESULT(yes)
++ else
++ AC_MSG_ERROR([Could not find libnet, and libnet support was explicitly enabled.])
++ fi
+
+-if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then
+- LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`"
+- LIBNET_LIBS="`$LIBNET_CONFIG --libs`"
+- AC_MSG_RESULT(yes)
+ else
+ LIBNET_LIBS=
+ AC_MSG_RESULT(no)
+ fi
+
+-
+ if test "x$enable_spoof_source" = "xauto"; then
+ AC_MSG_CHECKING(whether to enable spoof source support)
+ if test "x$LIBNET_LIBS" != "x"; then
+--
+1.7.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch b/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch
new file mode 100644
index 0000000000..faf967247f
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch
@@ -0,0 +1,28 @@
+syslog-ng: fix wrong ownership issue
+
+Upstream-Status: Pending
+
+The ownership of build user is preserved for some target files, fixed it by
+adding --no-same-owner option to tar when extracting files.
+
+Signed-off-by: Ming Liu <ming.liu@windriver.com>
+---
+ scl/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/scl/Makefile.am b/scl/Makefile.am
+index 57fad5d..2a29ca5 100644
+--- a/scl/Makefile.am
++++ b/scl/Makefile.am
+@@ -14,7 +14,7 @@ scl-install-data-local:
+ fi; \
+ done
+ $(mkinstalldirs) $(DESTDIR)/$(scldir)
+- (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf -)
++ (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf - --no-same-owner)
+ chmod -R u+rwX $(DESTDIR)/$(scldir)
+
+ scl-uninstall-local:
+--
+1.7.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch b/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch
new file mode 100644
index 0000000000..d439a2607b
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch
@@ -0,0 +1,30 @@
+From 3ef6ca8044260c77118edca6dead807a2edcb5ef Mon Sep 17 00:00:00 2001
+From: Balazs Scheidler <bazsi@balabit.hu>
+Date: Thu, 31 Oct 2013 13:20:12 +0100
+Subject: [PATCH] cfg: free global LogTemplateOptions
+
+Upstream-Status: Backport
+
+This fixes a potential memory leak when global template specific
+options were specified, such as local-time-zone(), send-time-zone() etc.
+
+Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
+---
+ lib/cfg.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/cfg.c b/lib/cfg.c
+index 7f040b8..adeaaf8 100644
+--- a/lib/cfg.c
++++ b/lib/cfg.c
+@@ -411,6 +411,7 @@ cfg_free(GlobalConfig *self)
+ g_free(self->proto_template_name);
+ log_template_unref(self->file_template);
+ log_template_unref(self->proto_template);
++ log_template_options_destroy(&self->template_options);
+
+ if (self->bad_hostname_compiled)
+ regfree(&self->bad_hostname);
+--
+1.8.4.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/initscript b/meta-oe/recipes-support/syslog-ng/files/initscript
new file mode 100644
index 0000000000..910030f41d
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/initscript
@@ -0,0 +1,62 @@
+#! /bin/sh
+#
+# This is an init script for openembedded
+# Copy it to /etc/init.d/syslog-ng and type
+# > update-rc.d syslog-ng defaults 5
+#
+
+# Source function library
+. /etc/init.d/functions
+
+syslog_ng=/usr/sbin/syslog-ng
+test -x "$syslog_ng" || exit 0
+
+PIDFILE=/var/run/syslog-ng/syslog-ng.pid
+
+create_xconsole() {
+ test -e /dev/xconsole || mknod -m 640 /dev/xconsole p
+ test -x /sbin/restorecon && /sbin/restorecon /dev/xconsole
+}
+
+RETVAL=0
+
+case "$1" in
+ start)
+ [ "${VERBOSE}" != "no" ] && echo -n "Starting syslog-ng:"
+ create_xconsole
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $syslog_ng
+ [ "${VERBOSE}" != "no" ] && echo "."
+ ;;
+ stop)
+ [ "${VERBOSE}" != "no" ] && echo -n "Stopping syslog-ng:"
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE
+ [ "${VERBOSE}" != "no" ] && echo "."
+ ;;
+ reload|force-reload)
+ start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng
+ ;;
+ restart)
+ echo "Stopping syslog-ng:"
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE
+ echo -n "Waiting for syslog-ng to die off"
+ for i in 1 2 3 ;
+ do
+ sleep 1
+ echo -n "."
+ done
+ echo ""
+ echo -n "Starting syslog-ng:"
+ create_xconsole
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $syslog_ng
+ echo "."
+ ;;
+ status)
+ status $syslog_ng
+ RETVAL=$?
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|reload|restart|force-reload|status}"
+ exit 1
+esac
+
+exit $RETVAL
diff --git a/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch b/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch
new file mode 100644
index 0000000000..9e3d64bbf2
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch
@@ -0,0 +1,26 @@
+logwriter: Don't allocate a new buffer if fails to consume current item
+
+Upstream-Status: Pending
+
+Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
+---
+--- a/lib/logwriter.c
++++ b/lib/logwriter.c
+@@ -1010,7 +1010,7 @@
+ {
+ status = log_proto_client_post(proto, (guchar *) self->line_buffer->str, self->line_buffer->len, &consumed);
+
+- if (consumed)
++ if (consumed && status != LPS_ERROR)
+ log_writer_realloc_line_buffer(self);
+
+ if (status == LPS_ERROR)
+@@ -1028,7 +1028,7 @@
+ NULL);
+ consumed = TRUE;
+ }
+- if (consumed)
++ if (consumed && status != LPS_ERROR)
+ {
+ if (lm->flags & LF_LOCAL)
+ step_sequence_number(&self->seq_num);
diff --git a/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch b/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch
new file mode 100644
index 0000000000..1951af9fcc
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch
@@ -0,0 +1,17 @@
+rewrite-expr-grammar.ym: Free up token.
+
+Upsteam-Status: Backport
+
+Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com>
+Signed-off-by: Viktor Tusa <tusavik@gmail.com>
+---
+--- a/lib/rewrite/rewrite-expr-grammar.ym
++++ b/lib/rewrite/rewrite-expr-grammar.ym
+@@ -78,6 +78,7 @@
+
+ $$ = log_template_new(configuration, $1);
+ CHECK_ERROR(log_template_compile($$, $1, &error), @1, "Error compiling template (%s)", error->message);
++ free($1);
+ }
+ ;
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch b/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch
new file mode 100644
index 0000000000..ea18682300
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch
@@ -0,0 +1,90 @@
+From 365020c5c0823c91a8011e34597f970a7cfb4fb3 Mon Sep 17 00:00:00 2001
+From: Tusa Viktor <tusavik@gmail.com>
+Date: Wed, 23 Apr 2014 17:10:58 +0000
+Subject: [PATCH] logwriter: still free the unconsumed item during reloading
+ configuration
+
+Upstream-Status: Backport
+
+Otherwise we have no chance to free this stuff.
+
+Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com>
+Signed-off-by: Tusa Viktor <tusavik@gmail.com>
+Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
+---
+ lib/logproto/logproto-client.h | 2 +-
+ lib/logproto/logproto-text-client.c | 11 +++++++++++
+ lib/logwriter.c | 9 +++++++--
+ 3 files changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/lib/logproto/logproto-client.h b/lib/logproto/logproto-client.h
+index 254ecf9..5adc917 100644
+--- a/lib/logproto/logproto-client.h
++++ b/lib/logproto/logproto-client.h
+@@ -47,7 +47,6 @@ void log_proto_client_options_defaults(LogProtoClientOptions *options);
+ void log_proto_client_options_init(LogProtoClientOptions *options, GlobalConfig *cfg);
+ void log_proto_client_options_destroy(LogProtoClientOptions *options);
+
+-
+ struct _LogProtoClient
+ {
+ LogProtoStatus status;
+@@ -107,6 +106,7 @@ log_proto_client_reset_error(LogProtoClient *s)
+ gboolean log_proto_client_validate_options(LogProtoClient *self);
+ void log_proto_client_init(LogProtoClient *s, LogTransport *transport, const LogProtoClientOptions *options);
+ void log_proto_client_free(LogProtoClient *s);
++void log_proto_client_free_method(LogProtoClient *s);
+
+ #define DEFINE_LOG_PROTO_CLIENT(prefix) \
+ static gpointer \
+diff --git a/lib/logproto/logproto-text-client.c b/lib/logproto/logproto-text-client.c
+index 3248759..a5100f3 100644
+--- a/lib/logproto/logproto-text-client.c
++++ b/lib/logproto/logproto-text-client.c
+@@ -146,12 +146,23 @@ log_proto_text_client_post(LogProtoClient *s, guchar *msg, gsize msg_len, gboole
+ }
+
+ void
++log_proto_text_client_free(LogProtoClient *s)
++{
++ LogProtoTextClient *self = (LogProtoTextClient *)s;
++ if (self->partial_free)
++ self->partial_free(self->partial);
++ self->partial = NULL;
++ log_proto_client_free_method(s);
++};
++
++void
+ log_proto_text_client_init(LogProtoTextClient *self, LogTransport *transport, const LogProtoClientOptions *options)
+ {
+ log_proto_client_init(&self->super, transport, options);
+ self->super.prepare = log_proto_text_client_prepare;
+ self->super.flush = log_proto_text_client_flush;
+ self->super.post = log_proto_text_client_post;
++ self->super.free_fn = log_proto_text_client_free;
+ self->super.transport = transport;
+ self->next_state = -1;
+ }
+diff --git a/lib/logwriter.c b/lib/logwriter.c
+index 3292e31..470bcdb 100644
+--- a/lib/logwriter.c
++++ b/lib/logwriter.c
+@@ -1063,8 +1063,13 @@ log_writer_flush(LogWriter *self, LogWriterFlushMode flush_mode)
+ }
+ else
+ {
+- /* push back to the queue */
+- log_queue_push_head(self->queue, lm, &path_options);
++ if (flush_mode == LW_FLUSH_QUEUE)
++ log_msg_unref(lm);
++ else
++ {
++ /* push back to the queue */
++ log_queue_push_head(self->queue, lm, &path_options);
++ }
+ msg_set_context(NULL);
+ log_msg_refcache_stop();
+ break;
+--
+1.7.10.4
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch b/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch
new file mode 100644
index 0000000000..e8119b84bc
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch
@@ -0,0 +1,38 @@
+Verify the validity of the pointer before delete it
+
+Otherwise, we got a crash at logqueue-fifo.c:344
+ 344 iv_list_del(&node->list);
+
+Upstream-Status: Pending
+
+Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
+---
+--- a/lib/logqueue-fifo.c
++++ b/lib/logqueue-fifo.c
+@@ -339,15 +339,18 @@
+ *msg = node->msg;
+ path_options->ack_needed = node->ack_needed;
+ self->qoverflow_output_len--;
+- if (!push_to_backlog)
++ if ((&node->list) && (&node->list)->next && (&node->list)->prev)
+ {
+- iv_list_del(&node->list);
+- log_msg_free_queue_node(node);
+- }
+- else
+- {
+- iv_list_del_init(&node->list);
+- }
++ if (!push_to_backlog)
++ {
++ iv_list_del(&node->list);
++ log_msg_free_queue_node(node);
++ }
++ else
++ {
++ iv_list_del_init(&node->list);
++ }
++ }
+ }
+ else
+ {
diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/files/syslog-ng.conf b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf
index e760dfbdc5..f0da2b703c 100644
--- a/meta-oe/recipes-support/nonworking/syslog-ng/files/syslog-ng.conf
+++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf
@@ -1,11 +1,11 @@
-@version: 3.2
+@version: 3.5
#
# Syslog-ng configuration file, compatible with default Debian syslogd
# installation. Originally written by anonymous (I can't find his name)
# Revised, and rewrited by me (SZALAY Attila <sasa@debian.org>)
# First, set some global options.
-options { long_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
+options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
owner("root"); group("adm"); perm(0640); stats_freq(0);
bad_hostname("^gconfd$");
};
@@ -83,7 +83,7 @@ destination d_ppp { file("/var/log/ppp.log"); };
########################
# Filters
########################
-# Here's come the filter options. With this rules, we can set which
+# Here's come the filter options. With this rules, we can set which
# message go where.
filter f_dbg { level(debug); };
@@ -95,7 +95,7 @@ filter f_crit { level(crit .. emerg); };
filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };
filter f_error { level(err .. emerg) ; };
-filter f_messages { level(info,notice,warn) and
+filter f_messages { level(info,notice,warn) and
not facility(auth,authpriv,cron,daemon,mail,news); };
filter f_auth { facility(auth, authpriv) and not filter(f_debug); };
diff --git a/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng b/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng
new file mode 100644
index 0000000000..3c4a50d54f
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng
@@ -0,0 +1 @@
+d root root 0755 /var/run/syslog-ng none
diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
new file mode 100644
index 0000000000..4aead31b75
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
@@ -0,0 +1,107 @@
+SUMMARY = "Alternative system logger daemon"
+DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \
+but with new functionality for the new generation. The original syslogd \
+allows messages only to be sorted based on priority/facility pairs; \
+syslog-ng adds the possibility to filter based on message contents using \
+regular expressions. The new configuration scheme is intuitive and powerful. \
+Forwarding logs over TCP and remembering all forwarding hops makes it \
+ideal for firewalled environments. \
+"
+HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system"
+
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e0e8658d9be248f01b7933df24dc1408"
+
+DEPENDS = "flex eventlog glib-2.0"
+
+SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source/${BPN}_${PV}.tar.gz \
+ file://syslog-ng.conf \
+ file://initscript \
+ file://volatiles.03_syslog-ng \
+ file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \
+"
+
+inherit autotools systemd pkgconfig update-rc.d update-alternatives
+
+EXTRA_OECONF = " \
+ --enable-dynamic-linking \
+ --disable-sub-streams \
+ --disable-pacct \
+ --localstatedir=${localstatedir}/run/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --with-module-dir=${libdir}/${BPN} \
+ --with-sysroot=${STAGING_DIR_HOST} \
+ --with-libmongo-client=no --disable-mongodb \
+ --with-librabbitmq-client=no \
+ ${CONFIG_TLS} \
+"
+
+CONFIG_TLS = "--enable-thread-tls"
+CONFIG_TLS_arm = "${@base_conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}"
+
+PACKAGECONFIG ??= "openssl \
+ ${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+ ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+"
+PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl,openssl,"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd,"
+PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap,"
+PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre,"
+PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi,"
+PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},--disable-libnet,libnet,"
+PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp,"
+PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c,"
+PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers,"
+PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip,"
+
+do_configure_prepend() {
+ eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "s/-D_LARGEFILE_SOURCE//" -e "s/-D_FILE_OFFSET_BITS=64//" ${S}/configure.in', d)}"
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/${BPN}
+ install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${BPN}/${BPN}.conf
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog.${BPN}
+ install -d ${D}/${sysconfdir}/default/volatiles/
+ install -m 755 ${WORKDIR}/volatiles.03_syslog-ng ${D}/${sysconfdir}/default/volatiles/03_syslog-ng
+
+ # Remove /var/run as it is created on startup
+ rm -rf ${D}${localstatedir}/run
+}
+
+FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools"
+RDEPENDS_${PN} += "gawk"
+
+# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error
+PACKAGES =+ "${PN}-libs ${PN}-libs-dev ${PN}-libs-dbg"
+FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*"
+FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la"
+FILES_${PN}-libs-dbg = "${libdir}/${BPN}/.debug"
+INSANE_SKIP_${PN}-libs = "dev-so"
+RDEPENDS_${PN} += "${PN}-libs"
+
+CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf"
+
+# syslog initscript is handled explicitly because order of
+# update-rc.d and update-alternatives is important
+RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+# no syslog-init for systemd
+python () {
+ if 'sysvinit' in d.getVar("DISTRO_FEATURES", True).split():
+ 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))
+}
+
+INITSCRIPT_NAME = "syslog"
+INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ."
diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb
new file mode 100644
index 0000000000..b54842030c
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb
@@ -0,0 +1,21 @@
+require syslog-ng.inc
+
+SRC_URI += " \
+ file://afsql-afsql_dd_insert_db-refactor.patch \
+ file://deinit-the-new-config-when-reverting-to-the.patch \
+ file://fix-a-memory-leak-in-log_driver_free.patch \
+ file://fix-config-libnet.patch \
+ file://fix-invalid-ownership.patch \
+ file://Fix-the-memory-leak-problem-for-mutex.patch \
+ file://Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch \
+ file://free-global-LogTemplateOptions.patch \
+ file://still-free-the-unconsumed-item.patch \
+ file://syslog-ng-verify-the-list-before-del.patch \
+ file://configure.patch \
+ file://dbifix.patch \
+ file://rewrite-expr-grammar.ym-Free-up-token.patch \
+ file://logwriter-dont-allocate-a-new-buffer.patch \
+"
+
+SRC_URI[md5sum] = "ff3bf223ebafbaa92b69a2d5b729f368"
+SRC_URI[sha256sum] = "92c6969e4172b4fd32390f80043b4de7b116f29989d8c2e5a8a687ee6dcd6f66"
diff --git a/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb b/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
new file mode 100644
index 0000000000..eaca96dcaa
--- /dev/null
+++ b/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "a graphical user interface that allows the user to \
+change the default keyboard of the system"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+SRC_URI = "https://fedorahosted.org/releases/s/y/${BPN}/${BP}.tar.bz2"
+SRC_URI[md5sum] = "c267db0ee7a2131ba418399dc17f9e72"
+SRC_URI[sha256sum] = "218c883e4e2bfcc82bfe07e785707b5c2ece28df772f2155fd044b9bb1614284"
+inherit python-dir
+DEPENDS = "intltool"
+
+EXTRA_OEMAKE = " \
+ PYTHON='${STAGING_BINDIR_NATIVE}'/python-native/python \
+ PYTHON_SITELIB=${PYTHON_SITEPACKAGES_DIR} \
+"
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+do_install_append_class-native() {
+ rm -rf ${D}/usr
+}
+
+FILES_${PN} += " \
+ ${libdir}/python${PYTHON_BASEVERSION}/* \
+ ${datadir}/* \
+"
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb b/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb
new file mode 100644
index 0000000000..d2199c2cf7
--- /dev/null
+++ b/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb
@@ -0,0 +1,29 @@
+SUMMARY = "xorg.conf keyboard layout callout"
+DESCRIPTION = "system-setup-keyboard is a daemon to monitor the keyboard layout configured in \
+/etc/sysconfig/keyboard and transfer this into the matching xorg.conf.d snippet."
+
+HOMEPAGE = "https://git.fedorahosted.org/git/system-setup-keyboard.git"
+SECTION = "Applications/System"
+
+SRC_URI = "https://git.fedorahosted.org/cgit/${PN}.git/snapshot/${BP}.tar.gz"
+SRC_URI[md5sum] = "399003968ccc739cddd9cc370af377a0"
+SRC_URI[sha256sum] = "1ef6ef79c3588e85d7f42e99eb80a2e459f966284cf029c2d6fc1b645abcb860"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bf57969a59612c5aca007b340c49d3a2"
+
+inherit pythonnative
+
+DEPENDS = "glib-2.0 system-config-keyboard-native"
+
+do_compile_prepend() {
+ ${PYTHON} -v get_layouts.py > keyboards.h
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ install -d ${D}/etc/X11/xorg.conf.d
+ touch ${D}/etc/X11/xorg.conf.d/00-system-setup-keyboard.conf
+}
+
+FILES_${PN} += "${systemd_unitdir}/system/${PN}.service"
diff --git a/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch
index e1339a078e..635c60e461 100644
--- a/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch
+++ b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch
@@ -17,7 +17,7 @@ Index: talloc-2.0.1/talloc.mk
- which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)`swig -swiglib` || true
- which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)`swig -swiglib` || true
+ which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)/$(SWIGLIBDIR) || true
-+ which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)/$(SWIGLIBDIR) || true
++ which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 $(srcdir)/$(tallocdir)/talloc.i $(DESTDIR)/$(SWIGLIBDIR) || true
doc:: talloc.3 talloc.3.html
diff --git a/meta-oe/recipes-support/talloc/talloc/sepbuild.patch b/meta-oe/recipes-support/talloc/talloc/sepbuild.patch
new file mode 100644
index 0000000000..05506c3423
--- /dev/null
+++ b/meta-oe/recipes-support/talloc/talloc/sepbuild.patch
@@ -0,0 +1,27 @@
+Index: talloc-2.0.1/Makefile.in
+===================================================================
+--- talloc-2.0.1.orig/Makefile.in
++++ talloc-2.0.1/Makefile.in
+@@ -33,8 +33,8 @@ EXPORTSFILE = @EXPORTSFILE@
+
+ all:: showflags $(EXTRA_TARGETS)
+
+-include $(tallocdir)/rules.mk
+-include $(tallocdir)/talloc.mk
++include $(srcdir)/$(tallocdir)/rules.mk
++include $(srcdir)/$(tallocdir)/talloc.mk
+
+ @TALLOC_COMPAT1_MK@
+
+Index: talloc-2.0.1/libtalloc.m4
+===================================================================
+--- talloc-2.0.1.orig/libtalloc.m4
++++ talloc-2.0.1/libtalloc.m4
+@@ -33,6 +33,6 @@ if test $ac_cv_sizeof_size_t -lt $ac_cv_
+ fi
+
+ if test x"$VERSIONSCRIPT" != "x"; then
+- EXPORTSFILE=talloc.exports
++ EXPORTSFILE=$srcdir/$tallocdir/talloc.exports
+ AC_SUBST(EXPORTSFILE)
+ fi
diff --git a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb
index 6b7e4f1cfd..7bbfbc291c 100644
--- a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb
+++ b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb
@@ -7,6 +7,7 @@ inherit autotools pkgconfig
SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz \
file://install-swig-interface-in-SWINGLIBDIR.patch \
+ file://sepbuild.patch \
"
SRC_URI[md5sum] = "c6e736540145ca58cb3dcb42f91cf57b"
SRC_URI[sha256sum] = "5b810527405f29d54f50efd78bf2c89e318f2cd8bed001f22f2a1412fd27c9b4"
@@ -15,16 +16,22 @@ TARGET_CC_ARCH += "${LDFLAGS}"
PR = "r2"
-# autoreconf doesn't work well while reconfiguring included libreplace
-do_configure () {
- gnu-configize
- oe_runconf
-}
+EXTRA_AUTORECONF = "--exclude=autopoint --exclude=aclocal"
+
+DEPENDS += "swig-native"
do_install_prepend() {
# Hack the way swig interface for talloc is installed
# This hack is accompanied by install-swig-interface-in-SWINGLIBDIR.patch
- type swig > /dev/null 2>&1 && SWIGLIBDIR=`swig -swiglib` && SWIGLIBDIR=${SWIGLIBDIR##${STAGING_DIR_NATIVE}} && export SWIGLIBDIR || echo "No swig found"
+ if which swig > /dev/null; then
+ SWIGLIBDIR="$(echo $(readlink -f $(swig -swiglib)) | \
+ sed -e 's#^${STAGING_DIR_NATIVE}##')"
+ fi
+ if [ -n "$SWIGLIBDIR" ]; then
+ export SWIGLIBDIR
+ else
+ echo "No swig found"
+ fi
}
do_install_append() {
diff --git a/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb b/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb
new file mode 100644
index 0000000000..adb538b7b4
--- /dev/null
+++ b/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "TOMOYO Linux tools"
+DESCRIPTION = "TOMOYO Linux is a Mandatory Access Control (MAC) implementation \
+for Linux that can be used to increase the security of a system, while also \
+being useful purely as a system analysis tool."
+HOMEPAGE = "http://tomoyo.sourceforge.jp/"
+SECTION = "System Environment/Kernel"
+
+SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/53357/${BP}-20140601.tar.gz"
+SRC_URI[md5sum] = "888869b793127f00d6439a3246598b83"
+SRC_URI[sha256sum] = "118ef6ba1fbf7c0b83018c3a0d4d5485dfb9b5b7f647f37ce9f63841a3133c2a"
+
+S = "${WORKDIR}/${BPN}"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.tomoyo;md5=751419260aa954499f7abaabaa882bbe"
+
+FILES_${PN} += "${libdir}/tomoyo"
+FILES_${PN}-dbg += "${libdir}/tomoyo/.debug"
+
+DEPENDS = "linux-libc-headers ncurses"
+CFLAGS_append += "-D_GNU_SOURCE"
+
+do_compile () {
+ oe_runmake 'CC=${CC}'
+}
+
+do_install() {
+ oe_runmake install INSTALLDIR=${D}
+}
diff --git a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb.rej b/meta-oe/recipes-support/tracker/tracker_0.14.2.bb.rej
deleted file mode 100644
index d04482973a..0000000000
--- a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb.rej
+++ /dev/null
@@ -1,36 +0,0 @@
---- meta-oe/recipes-support/tracker/tracker_0.14.2.bb
-+++ meta-oe/recipes-support/tracker/tracker_0.14.2.bb
-@@ -13,7 +13,7 @@
- SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/tracker/${VER_DIR}/tracker-${PV}.tar.xz \
- file://0005-Fix-missing-gobject-introspection-checks.patch \
- file://enable-sqlite-crosscompile.patch \
-- file://fix-removable-media-detection.patch \
-+ file://fix-removable-media-detection.patch \
- file://90tracker \
- file://tracker-store.service \
- file://tracker-miner-fs.service \
-@@ -32,14 +32,17 @@
- LEAD_SONAME = "libtrackerclient.so.0"
-
- do_install_append() {
-- cp -PpR ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true
--# install -d ${D}/${sysconfdir}/X11/Xsession.d/
--# install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/
-+ cp -PpR ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true
-+ # install -d ${D}/${sysconfdir}/X11/Xsession.d/
-+ # install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/
-
-- install -d ${D}${systemd_unitdir}/system
-- install -m 0644 ${WORKDIR}/tracker-store.service ${D}${systemd_unitdir}/system
-- install -m 0644 ${WORKDIR}/tracker-miner-fs.service ${D}${systemd_unitdir}/system
-- install -m 0644 ${WORKDIR}/tracker-dbus.service ${D}${systemd_unitdir}/system
-+ install -d ${D}${systemd_unitdir}/system
-+ install -m 0644 ${WORKDIR}/tracker-store.service ${D}${systemd_unitdir}/system
-+ install -m 0644 ${WORKDIR}/tracker-miner-fs.service ${D}${systemd_unitdir}/system
-+ install -m 0644 ${WORKDIR}/tracker-dbus.service ${D}${systemd_unitdir}/system
-+ sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \
-+ -e 's,@BASE_BINDIR@,${base_bindir},g' \
-+ ${D}${systemd_unitdir}/system/*.service
- }
-
- PACKAGES =+ "${PN}-tests ${PN}-vala ${PN}-nautilus-extension"
diff --git a/meta-oe/recipes-support/udisks/udisks_1.0.4.bb b/meta-oe/recipes-support/udisks/udisks_1.0.4.bb
index 32f0c110f5..e306e89990 100644
--- a/meta-oe/recipes-support/udisks/udisks_1.0.4.bb
+++ b/meta-oe/recipes-support/udisks/udisks_1.0.4.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "A storage daemon that implements well-defined D-Bus interfaces th
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=73d83aebe7e4b62346afde80e0e94273"
-DEPENDS = "libatasmart sg3-utils polkit udev dbus-glib glib-2.0"
+DEPENDS = "libatasmart sg3-utils polkit udev dbus-glib glib-2.0 intltool-native"
# optional dependencies: device-mapper parted
DEPENDS += "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
@@ -17,7 +17,7 @@ SRC_URI[udisks.sha256sum] = "854b89368733b9c3a577101b761ad5397ae75a05110c8698ac5
PR = "r9"
-inherit autotools systemd
+inherit autotools systemd gtk-doc
PACKAGECONFIG ??= ""
PACKAGECONFIG[parted] = "--enable-parted,--disable-parted,parted"
diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb
index e33f29679a..a265411c1e 100644
--- a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb
+++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb
@@ -4,14 +4,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
inherit allarch
-SRC_URI = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-${PV}.tar.bz2"
-SRC_URI[md5sum] = "91feff51deba6e48e78506b8f4db2274"
-SRC_URI[sha256sum] = "a3114e2c1f38eed3ad0067df30e53a96313908a9539a8ea5d94a4d35651699eb"
+SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
+SRC_URI[md5sum] = "dff94177781298aaf0b3c2a3c3dea6b2"
+SRC_URI[sha256sum] = "53889157937109e04dafe897c098ec94f3f44f9c0c83fc6ec8417aa9a587e536"
do_install() {
oe_runmake install DESTDIR=${D}
}
-RDEPENDS_${PN} = "usb-modeswitch"
+RDEPENDS_${PN} = "usb-modeswitch (>= 2.2.0)"
FILES_${PN} += "${base_libdir}/udev/rules.d/ \
${datadir}/usb_modeswitch"
diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb
index 92d1ac473f..5e95bb9442 100644
--- a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bb
+++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb
@@ -2,16 +2,18 @@ SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) U
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-inherit autotools
-
DEPENDS = "libusb1"
-SRC_URI = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-${PV}.tar.bz2"
-SRC_URI[md5sum] = "e48d4419d0574d342bb183f7465556d0"
-SRC_URI[sha256sum] = "4706c9cfe825263e189f55730ea3d1d8634aeb15645a1098532e946e770f7f95"
+SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
+SRC_URI[md5sum] = "f323fe700edd6ea404c40934ddf32b22"
+SRC_URI[sha256sum] = "2752103de171ed5f6c8d6a6e3e73e16c9ee3e8e394dd39c5991f7680eb908a3a"
EXTRA_OEMAKE = "TCL=${bindir}/tclsh"
FILES_${PN} = "${bindir} ${sysconfdir} ${base_libdir}/udev/usb_modeswitch ${sbindir} ${localstatedir}/lib/usb_modeswitch"
RDEPENDS_${PN} = "tcl"
RRECOMMENDS_${PN} = "usb-modeswitch-data"
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+}
diff --git a/meta-oe/recipes-support/usbpath/usbpath/configure.patch b/meta-oe/recipes-support/usbpath/usbpath/configure.patch
new file mode 100644
index 0000000000..271e6a53ad
--- /dev/null
+++ b/meta-oe/recipes-support/usbpath/usbpath/configure.patch
@@ -0,0 +1,11 @@
+Index: usbpath/configure.ac
+===================================================================
+--- usbpath.orig/configure.ac 2014-07-17 20:40:26.000000000 +0000
++++ usbpath/configure.ac 2014-07-18 07:01:40.933474420 +0000
+@@ -1,5 +1,5 @@
+ AC_INIT([usbpath],[0.1])
+-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
++AM_INIT_AUTOMAKE([foreign])
+
+ AC_PROG_CC
+ AC_PROG_RANLIB
diff --git a/meta-oe/recipes-support/usbpath/usbpath_svn.bb b/meta-oe/recipes-support/usbpath/usbpath_svn.bb
index 001683e96b..134192bd67 100644
--- a/meta-oe/recipes-support/usbpath/usbpath_svn.bb
+++ b/meta-oe/recipes-support/usbpath/usbpath_svn.bb
@@ -11,9 +11,9 @@ BBCLASSEXTEND = "native"
SRCREV = "3172"
PV = "0.0+svnr${SRCPV}"
-SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;protocol=http"
+SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;protocol=http \
+ file://configure.patch"
S = "${WORKDIR}/usbpath"
-inherit autotools
-
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-support/utouch/utouch-frame_git.bb b/meta-oe/recipes-support/utouch/utouch-frame_git.bb
index 00b7cf355e..d9b38ae204 100644
--- a/meta-oe/recipes-support/utouch/utouch-frame_git.bb
+++ b/meta-oe/recipes-support/utouch/utouch-frame_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
DEPENDS += "mtdev utouch-evemu"
-inherit autotools
+inherit autotools pkgconfig
SRC_URI = "git://bitmath.org/git/frame.git;protocol=http"
SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc"
diff --git a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
index 6ebeb9fa4b..8cb180dc8b 100644
--- a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
+++ b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
@@ -5,7 +5,9 @@ HOMEPAGE = "http://bitmath.org/code/mtview/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=4c61b8950dc1aab4d2aa7c2ae6b1cfb3"
-inherit autotools
+inherit autotools pkgconfig distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "git://bitmath.org/git/mtview.git;protocol=http"
SRCREV = "ad437c38dc111cf3990a03abf14efe1b5d89604b"
diff --git a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
index 447381a79a..07ff318203 100644
--- a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
+++ b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
@@ -1,6 +1,6 @@
SUMMARY = "A lightweight Terminal Emulator based on libvte, written in Vala"
SECTION = "x11/applications"
-DEPENDS = "vte"
+DEPENDS = "vte intltool-native"
SRCREV = "0fefa38087581f85fa0631b40500b9428369c146"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
@@ -8,6 +8,8 @@ PV = "1.3+gitr${SRCPV}"
PE = "1"
PR = "r1"
+PNBLACKLIST[vala-terminal] ?= "BROKEN: Doesn't work with B!=S, touch: cannot touch `src/.stamp': No such file or directory"
+
inherit autotools perlnative vala
SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;branch=master"
diff --git a/meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb b/meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb
new file mode 100644
index 0000000000..bb8f2b7eae
--- /dev/null
+++ b/meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb
@@ -0,0 +1,13 @@
+require vim_${PV}.bb
+
+SUMMARY += " (with tiny features)"
+
+PACKAGECONFIG += "tiny"
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -m 0755 ${S}/vim ${D}/${bindir}/vim.tiny
+}
+
+ALTERNATIVE_PRIORITY = "90"
+ALTERNATIVE_TARGET = "${bindir}/vim.tiny"
diff --git a/meta-oe/recipes-support/vim/vim_7.4.258.bb b/meta-oe/recipes-support/vim/vim_7.4.481.bb
index 2d3b0c26ab..7490229185 100644
--- a/meta-oe/recipes-support/vim/vim_7.4.258.bb
+++ b/meta-oe/recipes-support/vim/vim_7.4.481.bb
@@ -10,11 +10,11 @@ SRC_URI = "hg://vim.googlecode.com/hg/;protocol=https;module=vim \
file://disable_acl_header_check.patch;patchdir=.. \
file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
"
-SRCREV = "v7-4-258"
+SRCREV = "v7-4-481"
-S = "${WORKDIR}/${PN}/src"
+S = "${WORKDIR}/vim/src"
-VIMDIR = "${PN}${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}"
+VIMDIR = "vim${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}"
inherit autotools update-alternatives
inherit autotools-brokensep
@@ -59,43 +59,51 @@ EXTRA_OECONF = " \
STRIP=/bin/true \
"
-do_install_append() {
- # Work around rpm picking up csh or awk as a dep
- chmod -x ${D}${datadir}/${PN}/${VIMDIR}/tools/vim132
- chmod -x ${D}${datadir}/${PN}/${VIMDIR}/tools/mve.awk
+do_install() {
+ autotools_do_install
+
+ # Work around rpm picking up csh or awk or perl as a dep
+ chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
+ chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
+ chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
# Install example vimrc from runtime files
- install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${PN}/vimrc
+ install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
+
+ # we use --with-features=big as default
+ mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
}
PARALLEL_MAKEINST = ""
-PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-data"
-FILES_${PN}-syntax = "${datadir}/${PN}/${VIMDIR}/syntax"
-FILES_${PN}-help = "${datadir}/${PN}/${VIMDIR}/doc"
-FILES_${PN}-tutor = "${datadir}/${PN}/${VIMDIR}/tutor ${bindir}/${PN}tutor"
-FILES_${PN}-vimrc = "${datadir}/${PN}/vimrc"
-FILES_${PN}-data = "${datadir}/${PN}"
+PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc"
+FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
+FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
+FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
+FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
+FILES_${PN}-data = "${datadir}/${BPN}"
FILES_${PN}-common = " \
- ${datadir}/${PN}/${VIMDIR}/*.vim \
- ${datadir}/${PN}/${VIMDIR}/autoload \
- ${datadir}/${PN}/${VIMDIR}/colors \
- ${datadir}/${PN}/${VIMDIR}/compiler \
- ${datadir}/${PN}/${VIMDIR}/ftplugin \
- ${datadir}/${PN}/${VIMDIR}/indent \
- ${datadir}/${PN}/${VIMDIR}/keymap \
- ${datadir}/${PN}/${VIMDIR}/lang \
- ${datadir}/${PN}/${VIMDIR}/macros \
- ${datadir}/${PN}/${VIMDIR}/plugin \
- ${datadir}/${PN}/${VIMDIR}/print \
- ${datadir}/${PN}/${VIMDIR}/spell \
- ${datadir}/${PN}/${VIMDIR}/tools \
+ ${datadir}/${BPN}/${VIMDIR}/*.vim \
+ ${datadir}/${BPN}/${VIMDIR}/autoload \
+ ${datadir}/${BPN}/${VIMDIR}/colors \
+ ${datadir}/${BPN}/${VIMDIR}/compiler \
+ ${datadir}/${BPN}/${VIMDIR}/ftplugin \
+ ${datadir}/${BPN}/${VIMDIR}/indent \
+ ${datadir}/${BPN}/${VIMDIR}/keymap \
+ ${datadir}/${BPN}/${VIMDIR}/lang \
+ ${datadir}/${BPN}/${VIMDIR}/macros \
+ ${datadir}/${BPN}/${VIMDIR}/plugin \
+ ${datadir}/${BPN}/${VIMDIR}/print \
+ ${datadir}/${BPN}/${VIMDIR}/spell \
+ ${datadir}/${BPN}/${VIMDIR}/tools \
"
+RDEPENDS_${PN} = "ncurses-terminfo-base"
# Recommend that runtime data is installed along with vim
-RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-data"
+RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
-ALTERNATIVE_${PN} = "vi"
-ALTERNATIVE_TARGET[vi] = "${bindir}/${PN}"
-ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
-ALTERNATIVE_PRIORITY[vi] = "100"
+ALTERNATIVE_${PN} = "vi vim"
+ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
+ALTERNATIVE_LINK_NAME[vi] = "${bindir}/vi"
+ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch
new file mode 100644
index 0000000000..cfa2f6c7fe
--- /dev/null
+++ b/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch
@@ -0,0 +1,11 @@
+--- a/configure.in 2014-08-18 01:25:43.911597023 -0700
++++ b/configure.in 2014-08-18 01:26:27.763786629 -0700
+@@ -8,7 +8,7 @@
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_SRCDIR([configure.in])
+
+-AM_INIT_AUTOMAKE([1.9 dist-bzip2 subdir-objects no-define])
++AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 subdir-objects no-define])
+
+ AM_MAINTAINER_MODE
+ AC_PROG_CC
diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch
new file mode 100644
index 0000000000..4394e5257a
--- /dev/null
+++ b/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch
@@ -0,0 +1,78 @@
+diff -ur xchat-2.8.8-orig/plugins/perl/perl.c xchat-2.8.8/plugins/perl/perl.c
+--- xchat-2.8.8-orig/plugins/perl/perl.c 2014-08-30 14:09:05.125116286 -0700
++++ xchat-2.8.8/plugins/perl/perl.c 2014-08-30 14:09:45.281106532 -0700
+@@ -31,7 +31,7 @@
+ #endif
+
+ #undef PACKAGE
+-#include "../../config.h" /* for #define OLD_PERL */
++#include <config.h> /* for #define OLD_PERL */
+ #include "xchat-plugin.h"
+
+ static xchat_plugin *ph; /* plugin handle */
+diff -ur xchat-2.8.8-orig/src/common/network.c xchat-2.8.8/src/common/network.c
+--- xchat-2.8.8-orig/src/common/network.c 2014-08-30 14:09:05.137116222 -0700
++++ xchat-2.8.8/src/common/network.c 2014-08-30 14:13:52.729116323 -0700
+@@ -24,7 +24,7 @@
+ #include <unistd.h>
+ #include <glib.h>
+
+-#include "../../config.h" /* grab USE_IPV6 and LOOKUPD defines */
++#include <config.h> /* grab USE_IPV6 and LOOKUPD defines */
+
+ #define WANTSOCKET
+ #define WANTARPA
+diff -ur xchat-2.8.8-orig/src/common/ssl.c xchat-2.8.8/src/common/ssl.c
+--- xchat-2.8.8-orig/src/common/ssl.c 2014-08-30 14:09:05.137116222 -0700
++++ xchat-2.8.8/src/common/ssl.c 2014-08-30 14:14:08.449133899 -0700
+@@ -23,7 +23,7 @@
+ #include <string.h> /* strncpy() */
+ #include "ssl.h" /* struct cert_info */
+ #include "inet.h"
+-#include "../../config.h" /* HAVE_SNPRINTF */
++#include <config.h> /* HAVE_SNPRINTF */
+
+ #ifndef HAVE_SNPRINTF
+ #define snprintf g_snprintf
+diff -ur xchat-2.8.8-orig/src/common/util.c xchat-2.8.8/src/common/util.c
+--- xchat-2.8.8-orig/src/common/util.c 2014-08-30 14:09:05.133116243 -0700
++++ xchat-2.8.8/src/common/util.c 2014-08-30 14:10:23.633116070 -0700
+@@ -41,7 +41,7 @@
+ #include "xchatc.h"
+ #include <ctype.h>
+ #include "util.h"
+-#include "../../config.h"
++#include <config.h>
+
+ #define WANTSOCKET
+ #include "inet.h"
+diff -ur xchat-2.8.8-orig/src/common/xchat.h xchat-2.8.8/src/common/xchat.h
+--- xchat-2.8.8-orig/src/common/xchat.h 2014-08-30 14:09:05.133116243 -0700
++++ xchat-2.8.8/src/common/xchat.h 2014-08-30 14:13:42.797116472 -0700
+@@ -1,4 +1,4 @@
+-#include "../../config.h"
++#include <config.h>
+
+ #include <glib.h>
+ #include <time.h> /* need time_t */
+diff -ur xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h xchat-2.8.8/src/fe-gtk/fe-gtk.h
+--- xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h 2014-08-30 14:09:05.129116272 -0700
++++ xchat-2.8.8/src/fe-gtk/fe-gtk.h 2014-08-30 14:10:13.309115951 -0700
+@@ -1,4 +1,4 @@
+-#include "../../config.h"
++#include <config.h>
+
+ #ifdef WIN32
+ /* If you're compiling this for Windows, your release is un-official
+diff -ur xchat-2.8.8-orig/src/fe-gtk/xtext.c xchat-2.8.8/src/fe-gtk/xtext.c
+--- xchat-2.8.8-orig/src/fe-gtk/xtext.c 2014-08-30 14:09:05.129116272 -0700
++++ xchat-2.8.8/src/fe-gtk/xtext.c 2014-08-30 14:10:00.313138254 -0700
+@@ -51,7 +51,7 @@
+ #include <gtk/gtkwindow.h>
+
+ #ifdef XCHAT
+-#include "../../config.h" /* can define USE_XLIB here */
++#include <config.h> /* can define USE_XLIB here */
+ #else
+ #define USE_XLIB
+ #endif
diff --git a/meta-oe/recipes-support/xchat/xchat_2.8.8.bb b/meta-oe/recipes-support/xchat/xchat_2.8.8.bb
index 8f05062c51..6da11cd946 100644
--- a/meta-oe/recipes-support/xchat/xchat_2.8.8.bb
+++ b/meta-oe/recipes-support/xchat/xchat_2.8.8.bb
@@ -2,31 +2,34 @@ SUMMARY = "Full-featured IRC chat client with scripting support"
LICENSE = "GPLv2+"
HOMEPAGE = "http://www.xchat.org"
SECTION = "x11/network"
+
DEPENDS = "libgcrypt zlib gtk+ libsexy"
DEPENDS += "gdk-pixbuf-native"
+
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-PR = "r1"
+PR = "r2"
SRC_URI = "http://xchat.org/files/source/2.8/xchat-${PV}.tar.bz2 \
file://glib-2.32.patch \
+ file://automake-foreign.patch \
+ file://fix-includes-for-separate-build.patch \
"
-inherit autotools gettext
+inherit autotools gettext pkgconfig
PACKAGECONFIG ??= "dbus"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus-glib"
PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+PACKAGECONFIG[python] = "--enable-python,--disable-python,python"
EXTRA_OECONF = "\
+ --enable-maintainer-mode \
--disable-perl \
- --disable-python \
--disable-tcl \
"
-do_configure_prepend(){
- rm -f ${S}/po/Makefile.in.in
-}
+RDEPENDS_${PN} += "dbus"
FILES_${PN} += "${datadir}/dbus-1"
FILES_${PN}-dbg += "${libdir}/xchat/plugins/.debug"
diff --git a/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch b/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch
new file mode 100644
index 0000000000..24b187f2ac
--- /dev/null
+++ b/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch
@@ -0,0 +1,37 @@
+Upstream-Status: Submitted [sourceforge]
+
+From 75d789d0ea9716c9a9ae72f42a2fcfa907cf4a12 Mon Sep 17 00:00:00 2001
+From: Matthieu Crapet <mcrapet@gmail.com>
+Date: Mon, 30 Jun 2014 13:52:25 +0200
+Subject: [PATCH] usage2c.awk: fix wrong basename regexp
+
+Previously not matching with filename argument with absolute path.
+
+Signed-off-by: Matthieu Crapet <mcrapet@gmail.com>
+---
+ usage2c.awk | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/usage2c.awk b/usage2c.awk
+index 94b897a..9aea212 100755
+--- a/usage2c.awk
++++ b/usage2c.awk
+@@ -6,13 +6,13 @@ BEGIN {
+ }
+
+ # text in src/foo-bar.txt results in
+-# static const char foo_text[] = {
++# static const char foo_bar[] = {
+ # 't', 'h', 'e', ' ', 't', 'e', 'x', 't', ...
+ # }
+ length(command_name) == 0 {
+ command_name = FILENAME;
+ sub(/\.txt$/, "", command_name);
+- sub(/^([^\/]+\/)*/, "", command_name);
++ sub(/^.*\//, "", command_name);
+ gsub(/-/, "_", command_name);
+ printf("static const char %s[] = {\n", command_name);
+ progs = 0;
+--
+2.0.0
+
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 770ccab1e8..d9a03c6d40 100644
--- a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb
+++ b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb
@@ -12,8 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c04760d09e8b0fe73283d0cc9e8bea53"
DEPENDS = "libxml2 libxslt"
-SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BPN}-${PV}.tar.gz \
- file://configure.ac.patch"
+SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \
+ file://configure.ac.patch \
+ file://0001-usage2c.awk-fix-wrong-basename-regexp.patch"
SRC_URI[md5sum] = "0c6db295d0cf9ff0d439edb755b7e8f6"
SRC_URI[sha256sum] = "47b4ed042ea2909257f2a386001af49fceb303f84da7214779ccf99fffc6bbba"
diff --git a/meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch b/meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch
deleted file mode 100644
index faa8acce89..0000000000
--- a/meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nurd xmlto-0.0.25/configure.in xmlto-0.0.25/configure.in
---- xmlto-0.0.25/configure.in 2011-12-01 17:49:00.000000000 +0200
-+++ xmlto-0.0.25/configure.in 2013-01-07 05:24:16.169953519 +0200
-@@ -1,7 +1,7 @@
- AC_INIT(xmlto, 0.0.25)
- AC_CONFIG_SRCDIR(xmlto.spec.in)
- AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects 1.6])
--AM_CONFIG_HEADER(config.h)
-+AC_CONFIG_HEADERS(config.h)
-
- AC_PROG_CC
- AM_PROG_CC_C_O
diff --git a/meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb b/meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb
deleted file mode 100644
index 9188c8acf7..0000000000
--- a/meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A shell-script tool for converting XML files to various formats"
-HOMEPAGE = "https://fedorahosted.org/xmlto/"
-SECTION = "docs/xmlto"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-PR = "r1"
-
-SRC_URI = "https://fedorahosted.org/releases/x/m/xmlto/xmlto-${PV}.tar.gz \
- file://obsolete_automake_macros.patch \
-"
-SRC_URI[md5sum] = "a88cd3f08789b4825d1ac89fa065170d"
-SRC_URI[sha256sum] = "c52b56d929e8d20fc19cd3b7ec238f8d039730c56ee311cc352e843147e3e31a"
-
-inherit autotools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/zile/zile_2.4.9.bb b/meta-oe/recipes-support/zile/zile_2.4.9.bb
index 0421ff7cd4..2551a80e92 100644
--- a/meta-oe/recipes-support/zile/zile_2.4.9.bb
+++ b/meta-oe/recipes-support/zile/zile_2.4.9.bb
@@ -1,11 +1,11 @@
SUMMARY = "Zile is lossy Emacs"
HOMEPAGE = "http://zile.sourceforge.net/"
-DEPENDS = "ncurses libgc"
+DEPENDS = "ncurses bdwgc"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRC_URI = "http://ftp.gnu.org/gnu/zile/${P}.tar.gz \
+SRC_URI = "http://ftp.gnu.org/gnu/zile/${BP}.tar.gz \
file://remove-help2man.patch \
"
diff --git a/meta-oe/recipes-test/fwts/fwts_git.bb b/meta-oe/recipes-test/fwts/fwts_git.bb
new file mode 100644
index 0000000000..b943d6d48e
--- /dev/null
+++ b/meta-oe/recipes-test/fwts/fwts_git.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Firmware testsuite"
+DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
+HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f"
+
+PV = "14.12.00"
+
+SRCREV = "efc18d16294f492b7f72bba64344b2eed50e6a69"
+SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libpcre json-c glib-2.0"
+
+inherit autotools-brokensep
+
+CFLAGS += "-I${STAGING_INCDIR}/json-c"
+
+FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
+FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
+FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
+FILES_${PN}-dbg += "${libdir}/fwts/.debug"
diff --git a/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch b/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch
new file mode 100644
index 0000000000..92a6393655
--- /dev/null
+++ b/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch
@@ -0,0 +1,40 @@
+From ba0a7d65c918cb7e3f2073553c4cc7af5858ed03 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Thu, 31 Jul 2014 16:54:00 -0300
+Subject: [PATCH] cmake: Add install command for libraries and headers
+Organization: O.S. Systems Software LTDA.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ CMakeLists.txt | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 572d044..90e797a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -63,6 +63,8 @@ include_directories("${gmock_SOURCE_DIR}/include"
+ # Test sources.
+ "${gtest_SOURCE_DIR}")
+
++install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock DESTINATION include)
++
+ ########################################################################
+ #
+ # Defines the gmock & gmock_main libraries. User tests should link
+@@ -82,6 +84,10 @@ cxx_library(gmock_main
+ src/gmock-all.cc
+ src/gmock_main.cc)
+
++
++install(TARGETS gmock DESTINATION lib)
++install(TARGETS gmock_main DESTINATION lib)
++
+ ########################################################################
+ #
+ # Google Mock's own tests.
+--
+1.9.1
+
diff --git a/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch b/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch
new file mode 100644
index 0000000000..aa38fe49ff
--- /dev/null
+++ b/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch
@@ -0,0 +1,56 @@
+From 45661183a7c78d8c4f75adcf53c6ddd663dc8b2d Mon Sep 17 00:00:00 2001
+From: Mario Domenech Goulart <mario@ossystems.com.br>
+Date: Mon, 20 Oct 2014 17:12:58 -0200
+Subject: [PATCH] CMakeLists, gmock.pc.in: Add pkg-config support
+Organization: O.S. Systems Software LTDA.
+
+Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br>
+---
+ CMakeLists.txt | 7 ++++++-
+ gmock.pc.in | 9 +++++++++
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+ create mode 100644 gmock.pc.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 90e797a..98fd824 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -27,6 +27,9 @@ if (COMMAND pre_project_set_up_hermetic_build)
+ pre_project_set_up_hermetic_build()
+ endif()
+
++# pkg-config support
++configure_file("gmock.pc.in" "gmock.pc" @ONLY)
++
+ ########################################################################
+ #
+ # Project-wide settings
+@@ -87,7 +90,9 @@ cxx_library(gmock_main
+
+ install(TARGETS gmock DESTINATION lib)
+ install(TARGETS gmock_main DESTINATION lib)
+-
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmock.pc"
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/"
++)
+ ########################################################################
+ #
+ # Google Mock's own tests.
+diff --git a/gmock.pc.in b/gmock.pc.in
+new file mode 100644
+index 0000000..08ad8d2
+--- /dev/null
++++ b/gmock.pc.in
+@@ -0,0 +1,9 @@
++Name: libgmock
++Version: 1.7.0
++Description: Google's framework for writing C++ tests on a variety of platforms
++
++prefix=@CMAKE_INSTALL_PREFIX@
++includedir=${prefix}/include
++libdir=${prefix}/lib
++Cflags:-I${includedir}/gmock
++Libs: -L${libdir} -lgmock -lgmock_main
+--
+1.9.1
+
diff --git a/meta-oe/recipes-test/gmock/gmock_1.7.0.bb b/meta-oe/recipes-test/gmock/gmock_1.7.0.bb
new file mode 100644
index 0000000000..bd5cf4e200
--- /dev/null
+++ b/meta-oe/recipes-test/gmock/gmock_1.7.0.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Google C++ Mocking Framework"
+SECTION = "libs"
+HOMEPAGE = "http://code.google.com/p/googlemock/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
+
+SRC_URI = "\
+ http://googlemock.googlecode.com/files/${BPN}-${PV}.zip \
+ file://cmake-Add-install-command-for-libraries-and-headers.patch \
+ file://cmake-gmock.pc.in-Add-pkg-config-support.patch \
+"
+
+SRC_URI[md5sum] = "073b984d8798ea1594f5e44d85b20d66"
+SRC_URI[sha256sum] = "26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b"
+
+inherit lib_package cmake
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-dbg = "1"
+
+RDEPENDS_${PN}-dev += "${PN}-staticdev"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch b/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch
new file mode 100644
index 0000000000..1ece136b6a
--- /dev/null
+++ b/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch
@@ -0,0 +1,55 @@
+From d4b25ce723812faf78d8ee038b7cbed00cbba682 Mon Sep 17 00:00:00 2001
+From: Rodrigo Caimi <caimi@datacom.ind.br>
+Date: Tue, 7 Oct 2014 15:37:10 -0300
+Subject: [PATCH] CMakeLists, gtest.pc.in: Add pkg-config support to gtest
+ 1.7.0
+
+Signed-off-by: Rodrigo Caimi <caimi@datacom.ind.br>
+---
+ CMakeLists.txt | 6 ++++++
+ gtest.pc.in | 9 +++++++++
+ 2 files changed, 15 insertions(+)
+ create mode 100644 gtest.pc.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 281c4c2..e4354a8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -29,6 +29,9 @@ if (COMMAND pre_project_set_up_hermetic_build)
+ pre_project_set_up_hermetic_build()
+ endif()
+
++# pkg-config support
++configure_file("gtest.pc.in" "gtest.pc" @ONLY)
++
+ ########################################################################
+ #
+ # Project-wide settings
+@@ -75,6 +78,9 @@ target_link_libraries(gtest_main gtest)
+
+ install(TARGETS gtest DESTINATION lib)
+ install(TARGETS gtest_main DESTINATION lib)
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gtest.pc"
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/"
++)
+
+ ########################################################################
+ #
+diff --git a/gtest.pc.in b/gtest.pc.in
+new file mode 100644
+index 0000000..57b1049
+--- /dev/null
++++ b/gtest.pc.in
+@@ -0,0 +1,9 @@
++Name: libgtest
++Version: 1.7.0
++Description: Google's framework for writing C++ tests on a variety of platforms
++
++prefix=@CMAKE_INSTALL_PREFIX@
++includedir=${prefix}/include
++libdir=${prefix}/lib
++Cflags:-I${includedir}/gtest
++Libs: -L${libdir} -lgtest -lgtest_main
+--
+1.9.1
+
diff --git a/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch b/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch
new file mode 100644
index 0000000000..0c160b02a9
--- /dev/null
+++ b/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch
@@ -0,0 +1,39 @@
+From 5318983562be6babeb5a6996e7dda4b31acfdba8 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Wed, 30 Jul 2014 16:49:53 -0300
+Subject: [PATCH] cmake: Add install command for libraries and headers
+Organization: O.S. Systems Software LTDA.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57470c8..281c4c2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -56,6 +56,8 @@ include_directories(
+ ${gtest_SOURCE_DIR}/include
+ ${gtest_SOURCE_DIR})
+
++install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest DESTINATION include)
++
+ # Where Google Test's libraries can be found.
+ link_directories(${gtest_BINARY_DIR}/src)
+
+@@ -71,6 +73,9 @@ cxx_library(gtest "${cxx_strict}" src/gtest-all.cc)
+ cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc)
+ target_link_libraries(gtest_main gtest)
+
++install(TARGETS gtest DESTINATION lib)
++install(TARGETS gtest_main DESTINATION lib)
++
+ ########################################################################
+ #
+ # Samples on how to link user tests with gtest or gtest_main.
+--
+1.9.1
+
diff --git a/meta-oe/recipes-test/gtest/gtest_1.7.0.bb b/meta-oe/recipes-test/gtest/gtest_1.7.0.bb
new file mode 100644
index 0000000000..9f148d549e
--- /dev/null
+++ b/meta-oe/recipes-test/gtest/gtest_1.7.0.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Google's framework for writing C++ tests"
+HOMEPAGE = "http://code.google.com/p/googletest/"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
+
+SRC_URI = "\
+ http://googletest.googlecode.com/files/${BPN}-${PV}.zip \
+ file://cmake-Add-install-command-for-libraries-and-headers.patch \
+ file://CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch \
+"
+
+SRC_URI[md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7"
+SRC_URI[sha256sum] = "247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d"
+
+inherit lib_package cmake
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-dbg = "1"
+
+RDEPENDS_${PN}-dev += "${PN}-staticdev"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta-perl/conf/layer.conf b/meta-perl/conf/layer.conf
index 09ed0e572f..0485ac8df1 100644
--- a/meta-perl/conf/layer.conf
+++ b/meta-perl/conf/layer.conf
@@ -8,3 +8,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "perl-layer"
BBFILE_PATTERN_perl-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_perl-layer = "6"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_perl-layer = "1"
+
+LAYERDEPENDS_perl-layer = "core"
diff --git a/meta-perl/recipes-perl/adduser/adduser_3.113+nmu3.bb b/meta-perl/recipes-perl/adduser/adduser_3.113+nmu3.bb
new file mode 100644
index 0000000000..969a739d49
--- /dev/null
+++ b/meta-perl/recipes-perl/adduser/adduser_3.113+nmu3.bb
@@ -0,0 +1,53 @@
+SUMMARY = "a utility to add users/groups to the system"
+DESCRIPTION = "adduser, addgroup - add a user or group to the system"
+HOMEPAGE = "http://alioth.debian.org/projects/adduser/"
+SECTION = "base/utils"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=caed49ab166f22ef31bf1127f558d0ef"
+
+SRC_URI = "http://ftp.de.debian.org/debian/pool/main/a/${BPN}/${BPN}_${PV}.tar.gz \
+ file://adduser-add-M-option-for-useradd-when-no-create-home.patch \
+"
+
+SRC_URI[md5sum] = "ccb5864bde56683182c89c44474e7182"
+SRC_URI[sha256sum] = "02682be3f51f3e732121f20a3e4922bb8bef15cfacb8767fc250a01d09502122"
+
+inherit cpan-base update-alternatives
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 ${S}/adduser ${D}${sbindir}
+ install -m 0755 ${S}/deluser ${D}${sbindir}
+
+ install -d ${D}${libdir}/perl/${PERLVERSION}/Debian
+ install -m 0644 ${S}/AdduserCommon.pm ${D}${libdir}/perl/${PERLVERSION}/Debian
+ sed -i -e "s/VERSION/${PV}/" ${D}${sbindir}/*
+
+ install -d ${D}/${sysconfdir}
+ install -m 0644 ${S}/*.conf ${D}/${sysconfdir}
+
+ install -d ${D}${mandir}/man5
+ install -m 0644 ${S}/doc/*.conf.5 ${D}${mandir}/man5
+ install -d ${D}${mandir}/man8
+ install -m 0644 ${S}/doc/*.8 ${D}${mandir}/man8
+ install -d ${D}${docdir}/${BPN}
+ cp -rf ${S}/examples ${D}${docdir}/${BPN}
+}
+
+RDEPENDS_${PN} += "\
+ shadow \
+ perl-module-getopt-long \
+ perl-module-overloading \
+ perl-module-file-find \
+ perl-module-file-temp \
+"
+
+ALTERNATIVE_${PN} = "adduser deluser addgroup delgroup"
+ALTERNATIVE_PRIORITY = "60"
+ALTERNATIVE_LINK_NAME[adduser] = "${sbindir}/adduser"
+ALTERNATIVE_LINK_NAME[deluser] = "${sbindir}/deluser"
+ALTERNATIVE_LINK_NAME[addgroup] = "${sbindir}/addgroup"
+ALTERNATIVE_LINK_NAME[delgroup] = "${sbindir}/delgroup"
+ALTERNATIVE_TARGET[addgroup] = "${sbindir}/adduser.${BPN}"
+ALTERNATIVE_TARGET[delgroup] = "${sbindir}/deluser.${BPN}"
diff --git a/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch b/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch
new file mode 100644
index 0000000000..4b0a03f02a
--- /dev/null
+++ b/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch
@@ -0,0 +1,57 @@
+From 809f00a6ef0224b41b2e1207194c8da3cd3e3c7e Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 18 Dec 2014 17:23:37 +0800
+Subject: [PATCH] adduser: add -M option for useradd when --no-create-home is specified
+
+The useradd (from package passwd) in debian based system sets -M (--no-create-home) by default,
+but the one we are using (from package shadow) sets -m (--create-home) by default, so we
+need to explicitly add -M option for useradd call when --no-create-home is specified for adduser.
+
+Upstream-Status: Pending
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ adduser | 20 ++++++++++++++++----
+ 1 files changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/adduser b/adduser
+index c3bd8b0..9a07f9f 100755
+--- a/adduser
++++ b/adduser
+@@ -434,8 +434,14 @@ if ($action eq "addsysuser") {
+ $shell = $special_shell || '/bin/false';
+ $undouser = $new_name;
+ my $useradd = &which('useradd');
+- &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
+- $shell, '-u', $new_uid, $new_name);
++ if ($no_create_home) {
++ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
++ $shell, '-u', $new_uid, '-M', $new_name);
++ }
++ else {
++ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
++ $shell, '-u', $new_uid, $new_name);
++ }
+ if(!$disabled_login) {
+ my $usermod = &which('usermod');
+ &systemcall($usermod, '-p', '*', $new_name);
+@@ -524,8 +530,14 @@ if ($action eq "adduser") {
+ $shell = $special_shell || $config{"dshell"};
+ $undouser = $new_name;
+ my $useradd = &which('useradd');
+- &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
+- $shell, '-u', $new_uid, $new_name);
++ if ($no_create_home) {
++ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
++ $shell, '-u', $new_uid, '-M', $new_name);
++ }
++ else {
++ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
++ $shell, '-u', $new_uid, $new_name);
++ }
+ &invalidate_nscd();
+
+ create_homedir (1); # copy skeleton data
+--
+1.7.1
+
diff --git a/meta-perl/recipes-perl/libalgorithm/libalgorithm-diff-perl_1.15.bb b/meta-perl/recipes-perl/libalgorithm/libalgorithm-diff-perl_1.15.bb
new file mode 100644
index 0000000000..4155fade97
--- /dev/null
+++ b/meta-perl/recipes-perl/libalgorithm/libalgorithm-diff-perl_1.15.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Algorithm::Diff - Compute 'intelligent' differences between two \
+files/lists"
+DESCRIPTION = "This is a module for computing the difference between two files, \
+two strings, or any other two lists of things. It uses an intelligent \
+algorithm similar to (or identical to) the one used by the Unix `diff' \
+program. It is guaranteed to find the *smallest possible* set of \
+differences. \
+"
+SECTION = "libs"
+HOMEPAGE = "http://search.cpan.org/~nedkonz/Algorithm-Diff/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://lib/Algorithm/Diff.pm;beginline=406;endline=409;md5=d393b8ad3b8994b9d0ae9299b8a8a1ee"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEDKONZ/Algorithm-Diff-${PV}.tar.gz"
+SRC_URI[md5sum] = "457cd497a0411a88b47d3741eb176071"
+SRC_URI[sha256sum] = "aa848b75ad3ecc32d31e8651909551e851cceef74a32822c7a3cb35c259f5190"
+
+S = "${WORKDIR}/Algorithm-Diff-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libauthen/files/run-ptest b/meta-perl/recipes-perl/libauthen/files/run-ptest
new file mode 100644
index 0000000000..c9f9ca94d0
--- /dev/null
+++ b/meta-perl/recipes-perl/libauthen/files/run-ptest
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+for case in `find t -type f -name '*.t'`; do
+ perl $case >$case.output 2>&1
+ ret=$?
+ cat $case.output
+ if [ $ret -ne 0 ]; then
+ echo "FAIL: ${case%.t}"
+ elif grep -i 'SKIP' $case.output; then
+ echo "SKIP: ${case%.t}"
+ else
+ echo "PASS: ${case%.t}"
+ fi
+
+ rm -f $case.output
+done
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
new file mode 100644
index 0000000000..361bdf157e
--- /dev/null
+++ b/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb
@@ -0,0 +1,30 @@
+SUMMARY = "SASL Authentication framework for Perl"
+DESCRIPTION = "SASL is a generic mechanism for authentication used by several network \
+protocols. Authen::SASL provides an implementation framework that all \
+protocols should be able to share."
+HOMEPAGE = "http://search.cpan.org/dist/Authen-SASL/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0|GPL-1.0+"
+LIC_FILES_CHKSUM = "file://lib/Authen/SASL/Perl.pm;beginline=1;endline=3;md5=17123315bbcda19f484c07227594a609"
+
+DEPENDS = "perl"
+RDEPENDS_${PN} = "libdigest-hmac-perl"
+
+SRC_URI = "http://www.cpan.org/authors/id/G/GB/GBARR/Authen-SASL-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "7c03a689d4c689e5a9e2f18a1c586b2f"
+SRC_URI[sha256sum] = "6614fa7518f094f853741b63c73f3627168c5d3aca89b1d02b1016dc32854e09"
+
+S = "${WORKDIR}/Authen-SASL-${PV}"
+
+inherit cpan ptest
+
+do_install_ptest () {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+}
+
+PACKAGE_ARCH = "all"
+BBCLASSEXTEND = "native"
+
diff --git a/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.24.bb b/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.24.bb
new file mode 100644
index 0000000000..0237485084
--- /dev/null
+++ b/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.24.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Capture::Tiny - Capture STDOUT and STDERR from Perl, XS or external programs."
+DESCRIPTION = "Capture::Tiny provies a simple, portable way to capture \
+almost anything sent to STDOUT or STDERR, regardless of whether it comes \
+from Perl, from XS code or from an external program. Optionally, output can \
+be teed so that it is captured while being passed through to the original \
+filehandles. Yes, it even works on Windows (usually). Stop guessing which of \
+a dozen capturing modules to use in any particular situation and just use \
+this one."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~dagolden/Capture-Tiny/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=37a4918a30ace24395020e5b8c03b83f"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Capture-Tiny-${PV}.tar.gz"
+SRC_URI[md5sum] = "718e9d62c4a27a3207cf8506cb99d846"
+SRC_URI[sha256sum] = "9bcf6f8472f8ea50401536cb070ac0c7770837d155c4d6abe212759863aae065"
+
+S = "${WORKDIR}/Capture-Tiny-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-scalar-util \
+ perl-module-io-file \
+ perl-module-extutils-makemaker \
+ perl-module-file-spec \
+ perl-module-exporter \
+ perl-module-carp \
+ perl-module-test-more \
+ perl-module-file-temp \
+ perl-module-lib \
+ perl-module-build \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libcurses/libcurses-perl_1.32.bb b/meta-perl/recipes-perl/libcurses/libcurses-perl_1.32.bb
new file mode 100644
index 0000000000..d78ca478d2
--- /dev/null
+++ b/meta-perl/recipes-perl/libcurses/libcurses-perl_1.32.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "lib-curses provides an interface between Perl programs and \
+the curses library."
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;beginline=26;endline=30;md5=0b37356c5e9e28080a3422d82af8af09"
+
+DEPENDS += "perl ncurses "
+
+SRC_URI = "http://www.cpan.org/authors/id/G/GI/GIRAFFED/Curses-${PV}.tgz"
+
+SRC_URI[md5sum] = "e4d9066bfc5a69cb2cee3e1dfc3209b3"
+SRC_URI[sha256sum] = "5dba44fd7964806d9765e6692bc7eb8eb30aeced2740f28b9a4070a5d14ba650"
+
+S = "${WORKDIR}/Curses-${PV}"
+
+EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR} LIBS=-L${STAGING_LIBDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
+
diff --git a/meta-perl/recipes-perl/libdigest/files/run-ptest b/meta-perl/recipes-perl/libdigest/files/run-ptest
new file mode 100644
index 0000000000..c9f9ca94d0
--- /dev/null
+++ b/meta-perl/recipes-perl/libdigest/files/run-ptest
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+for case in `find t -type f -name '*.t'`; do
+ perl $case >$case.output 2>&1
+ ret=$?
+ cat $case.output
+ if [ $ret -ne 0 ]; then
+ echo "FAIL: ${case%.t}"
+ elif grep -i 'SKIP' $case.output; then
+ echo "SKIP: ${case%.t}"
+ else
+ echo "PASS: ${case%.t}"
+ fi
+
+ rm -f $case.output
+done
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
new file mode 100644
index 0000000000..affc9f668f
--- /dev/null
+++ b/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Keyed-Hashing for Message Authentication"
+DESCRIPTION = "Keyed-Hashing for Message Authentication"
+HOMEPAGE = "http://search.cpan.org/~gaas/Digest-HMAC-1.03/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://README;beginline=13;endline=17;md5=da980cdc026faa065e5d5004115334e6"
+
+RDEPENDS_${PN} = "libdigest-sha1-perl perl-module-extutils-makemaker perl-module-digest-md5"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-HMAC-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "e6a5d6f552da16eacb5157ea4369ff9d"
+SRC_URI[sha256sum] = "3bc72c6d3ff144d73aefb90e9a78d33612d58cf1cd1631ecfb8985ba96da4a59"
+
+S = "${WORKDIR}/Digest-HMAC-${PV}"
+
+inherit cpan ptest
+
+do_install_ptest () {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+}
+
+PACKAGE_ARCH = "all"
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb b/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb
new file mode 100644
index 0000000000..0371ea68cd
--- /dev/null
+++ b/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Perl interface to the SHA-1 algorithm "
+DESCRIPTION = "Digest::SHA1 - Perl interface to the SHA-1 algorithm"
+HOMEPAGE = "http://search.cpan.org/~gaas/Digest-SHA1-2.13/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://README;beginline=10;endline=14;md5=ff5867ebb4bc1103a7a416aef2fce00a"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "bd22388f268434f2b24f64e28bf1aa35"
+SRC_URI[sha256sum] = "68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc"
+
+S = "${WORKDIR}/Digest-SHA1-${PV}"
+
+inherit cpan ptest
+
+do_install_ptest () {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+}
+
+BBCLASSEXTEND="native"
+
+FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Digest/SHA1/.debug/"
diff --git a/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.007.bb b/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.007.bb
new file mode 100644
index 0000000000..78483b4e60
--- /dev/null
+++ b/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.007.bb
@@ -0,0 +1,24 @@
+SUMMARY = "ExtUtils::Config - A wrapper for perl's configuration"
+DESCRIPTION = "ExtUtils::Config is an abstraction around the %Config hash."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-Config/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1b813683bd988732e7fd6a796bf7f47"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-Config-${PV}.tar.gz"
+SRC_URI[md5sum] = "2829c0dfa8a7e51b3f582efbee4bb128"
+SRC_URI[sha256sum] = "2c1465078b876fd16a90507092805265528c2532d4937b03547a6dbdb8ac0eef"
+
+S = "${WORKDIR}/ExtUtils-Config-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-extutils-makemaker \
+ perl-module-data-dumper \
+ perl-module-test-more \
+ perl-module-file-temp \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.07.bb b/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.07.bb
new file mode 100644
index 0000000000..47e0904050
--- /dev/null
+++ b/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.07.bb
@@ -0,0 +1,38 @@
+SUMMARY = "ExtUtils::CppGuess - guess C++ compiler and flags"
+DESCRIPTION = "ExtUtils::CppGuess attempts to guess the system's C++ \
+compiler that is compatible with the C compiler that your perl was built \
+with. \
+It can generate the necessary options to the Module::Build constructor or \
+to ExtUtils::MakeMaker's WriteMakefile function."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~smueller/ExtUtils-CppGuess/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=81;endline=84;md5=84c0390b90ea8c6702ce659b67bed699"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/S/SM/SMUELLER/ExtUtils-CppGuess-${PV}.tar.gz"
+SRC_URI[md5sum] = "350dd7c661189ea770d6c9354ebbc6c2"
+SRC_URI[sha256sum] = "1cd83ee8452351219b987c79ddb25cc25ee8c396318ba36c5211a92b5c87e7a8"
+
+S = "${WORKDIR}/ExtUtils-CppGuess-${PV}"
+
+inherit cpan_build
+
+do_install () {
+ cpan_build_do_install
+}
+
+RDEPENDS_${PN} = " libcapture-tiny-perl \
+ perl-module-scalar-util \
+ perl-module-io-file \
+ perl-module-extutils-makemaker \
+ perl-module-file-spec \
+ perl-module-exporter \
+ perl-module-carp \
+ perl-module-file-temp \
+ perl-module-lib \
+ perl-module-build \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb b/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb
new file mode 100644
index 0000000000..9a0234e597
--- /dev/null
+++ b/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb
@@ -0,0 +1,29 @@
+SUMMARY = "ExtUtils::Helpers - Various portability utilities for module builders"
+DESCRIPTION = "This module provides various portable helper function for module building modules."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-Helpers/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=307057ce232899f5caa8858560c7274b"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-Helpers-${PV}.tar.gz"
+SRC_URI[md5sum] = "cf4fd6f8caa6daac33b1111c9e93162b"
+SRC_URI[sha256sum] = "d3f8cf700fb3414ca1260089755cbf64041455e4b744110677b1ba5bb9a3aa95"
+
+S = "${WORKDIR}/ExtUtils-Helpers-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-file-copy \
+ perl-module-extutils-makemaker \
+ perl-module-exporter \
+ perl-module-carp \
+ perl-module-test-more \
+ perl-module-text-parsewords \
+ perl-module-load \
+ perl-module-file-temp \
+ perl-module-file-spec-functions \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.010.bb b/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.010.bb
new file mode 100644
index 0000000000..8de375d2e3
--- /dev/null
+++ b/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.010.bb
@@ -0,0 +1,25 @@
+SUMMARY = "ExtUtils::InstallPaths - Build.PL install path logic made easy"
+DESCRIPTION = "This module tries to make install path resolution as easy \
+as possible."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-InstallPaths/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=15bbcc2806d297df9e944b8955b38d82"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-${PV}.tar.gz"
+SRC_URI[md5sum] = "f0b00cc6c04653588a6298fa1f16c07f"
+SRC_URI[sha256sum] = "d14cbff118e467900c2c488b55b83ef697d6eb1b8f592c0521f1d82848bf2156"
+
+S = "${WORKDIR}/ExtUtils-InstallPaths-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-extutils-makemaker \
+ perl-module-data-dumper \
+ perl-module-test-more \
+ perl-module-file-temp \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.71.bb b/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.71.bb
new file mode 100644
index 0000000000..be0f4b29f1
--- /dev/null
+++ b/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.71.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "This package contains the Parser.pm module with friends."
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;md5=6c3dacf9f405c7483870ab5f148770c3"
+
+DEPENDS += "perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "9128a45893097dfa3bf03301b19c5efe"
+SRC_URI[sha256sum] = "be918b3749d3ff93627f72ee4b825683332ecb4c81c67a3a8d72b0435ffbd802"
+
+S = "${WORKDIR}/HTML-Parser-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libio/files/run-ptest b/meta-perl/recipes-perl/libio/files/run-ptest
new file mode 100644
index 0000000000..c9f9ca94d0
--- /dev/null
+++ b/meta-perl/recipes-perl/libio/files/run-ptest
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+for case in `find t -type f -name '*.t'`; do
+ perl $case >$case.output 2>&1
+ ret=$?
+ cat $case.output
+ if [ $ret -ne 0 ]; then
+ echo "FAIL: ${case%.t}"
+ elif grep -i 'SKIP' $case.output; then
+ echo "SKIP: ${case%.t}"
+ else
+ echo "PASS: ${case%.t}"
+ fi
+
+ rm -f $case.output
+done
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
new file mode 100644
index 0000000000..19dec83a58
--- /dev/null
+++ b/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Perl library for transparent SSL"
+DESCRIPTION = "This module is a true drop-in replacement for IO::Socket::INET that \
+uses SSL to encrypt data before it is transferred to a remote server \
+or client. IO::Socket::SSL supports all the extra features that one \
+needs to write a full-featured SSL client or server application: \
+multiple SSL contexts, cipher selection, certificate verification, and \
+SSL version selection. As an extra bonus, it works perfectly with \
+mod_perl."
+HOMEPAGE = "http://search.cpan.org/dist/IO-Socket-SSL/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
+
+RDEPENDS_${PN} += "perl-module-scalar-util libnet-ssleay-perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "2a6268bb42da81e69d1c1feb2fcb0eea"
+SRC_URI[sha256sum] = "acdb67b5b63aea5b7e70c3e4c70a16128810329592b63753a38c794aff76a1dd"
+
+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}/
+ cp ${S}/Changes ${D}${docdir}/${PN}/
+ cp ${S}/README ${D}${docdir}/${PN}/
+ cp -pRP ${S}/docs ${D}${docdir}/${PN}/
+ cp -pRP ${S}/certs ${D}${docdir}/${PN}/
+ cp -pRP ${S}/example ${D}${docdir}/${PN}/
+ cp -pRP ${S}/util ${D}${docdir}/${PN}/
+}
+
+do_install_ptest () {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+ cp -r ${B}/certs ${D}${PTEST_PATH}
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libmime/files/run-ptest b/meta-perl/recipes-perl/libmime/files/run-ptest
new file mode 100644
index 0000000000..c9f9ca94d0
--- /dev/null
+++ b/meta-perl/recipes-perl/libmime/files/run-ptest
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+for case in `find t -type f -name '*.t'`; do
+ perl $case >$case.output 2>&1
+ ret=$?
+ cat $case.output
+ if [ $ret -ne 0 ]; then
+ echo "FAIL: ${case%.t}"
+ elif grep -i 'SKIP' $case.output; then
+ echo "SKIP: ${case%.t}"
+ else
+ echo "PASS: ${case%.t}"
+ fi
+
+ rm -f $case.output
+done
diff --git a/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb b/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb
new file mode 100644
index 0000000000..ef53029228
--- /dev/null
+++ b/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb
@@ -0,0 +1,26 @@
+SUMMARY = "MIME::Types - Definition of MIME types"
+DESCRIPTION = "MIME types are used in MIME compliant lines, for instance \
+as part of e-mail and HTTP traffic, to indicate the type of content which \
+is transmitted. Sometimes real knowledge about a mime-type is need.\
+\n\
+This module maintains a set of MIME::Type objects, which each describe \
+one known mime type."
+HOMEPAGE = "http://search.cpan.org/~markov/MIME-Types-${PV}"
+SECTION = "libraries"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MIME-Types-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "e292bbf7756bb4999407f3f660697168"
+SRC_URI[sha256sum] = "22b6069d372d587b1f2ecc6d0aaf50fb5c64920caed8c214b9884e64538acc8f"
+
+S = "${WORKDIR}/MIME-Types-${PV}"
+
+inherit cpan ptest
+
+do_install_ptest () {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+}
diff --git a/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb b/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb
new file mode 100644
index 0000000000..761f17cc34
--- /dev/null
+++ b/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Module::Build::Tiny - A tiny replacement for Module::Build"
+DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
+Makefile.PL file to drive distribution configuration, build, test and \
+installation. Traditionally, Build.PL uses Module::Build as the underlying \
+build system. This module provides a simple, lightweight, drop-in replacement. \
+Whereas Module::Build has over 6,700 lines of code; this module has less than \
+120, yet supports the features needed by most distributions."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~leont/Module-Build-Tiny/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aaca61412962cf972aec0cdad99d0a84"
+
+DEPENDS = "libextutils-config-perl-native libextutils-helpers-perl-native libextutils-installpaths-perl-native"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-Tiny-${PV}.tar.gz"
+SRC_URI[md5sum] = "bfc92c655158ce623f0ced94f4ef02e5"
+SRC_URI[sha256sum] = "d6706bf35e080e5af20cccf4fd565cc8af9c2a1e2e2075cee0a7de42cf0d6df9"
+
+S = "${WORKDIR}/Module-Build-Tiny-${PV}"
+
+inherit cpan_build
+
+do_install () {
+ cpan_build_do_install
+}
+
+RDEPENDS_${PN} = " libextutils-config-perl \
+ libextutils-helpers-perl \
+ libextutils-installpaths-perl \
+ perl-module-xsloader \
+ perl-module-file-spec \
+ perl-module-io-handle \
+ perl-module-tap-harness-env \
+ perl-module-ipc-open3 \
+ perl-module-file-path \
+ perl-module-cpan \
+ perl-module-extutils-cbuilder \
+ perl-module-getopt-long \
+ perl-module-extutils-makemaker \
+ perl-module-exporter \
+ perl-module-carp \
+ perl-module-test-more \
+ perl-module-text-parsewords \
+ perl-module-load \
+ perl-module-file-temp \
+ perl-module-data-dumper \
+ perl-module-extutils-parsexs \
+ perl-module-pod-man \
+ perl-module-json-pp \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.1.bb b/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.1.bb
new file mode 100644
index 0000000000..b916918070
--- /dev/null
+++ b/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.1.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Automatically give your module the ability to have plugins"
+DESCRIPTION = "Provides a simple but, hopefully, extensible way of \
+having 'plugins' for your module. Obviously this isn't going to be the \
+be all and end all of solutions but it works for me.\
+\
+Essentially all it does is export a method into your namespace that \
+looks through a search path for .pm files and turn those into class \
+names.\
+\
+Optionally it instantiates those classes for you."
+SECTION = "libs"
+
+AUTHOR = "Simon Wistow <simon@thegestalt.org>"
+HOMEPAGE = "https://github.com/simonwistow/Module-Pluggable"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=322;endline=325;md5=086450ce010f6fda25db0b38fcc41086"
+
+SRCNAME = "Module-Pluggable"
+SRC_URI = "${CPAN_MIRROR}/authors/id/S/SI/SIMONW/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "1b71ed7a67ad8c048d1499540bc892ba"
+SRC_URI[sha256sum] = "e2dc354043bb16f1f3df8c4bb26070b26e594819f218cf8b8ac19e79c720916f"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit cpan_build
+
+RDEPENDS_${PN} = " perl-module-base \
+ perl-module-deprecate \
+ perl-module-file-basename \
+ perl-module-file-find \
+ perl-module-file-spec \
+ perl-module-file-spec-functions \
+ perl-module-if \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.014.bb b/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.014.bb
new file mode 100644
index 0000000000..d68ae2a888
--- /dev/null
+++ b/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.014.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Module::Runtime - runtime module handling"
+DESCRIPTION = "The functions exported by this module deal with runtime \
+handling of Perl modules, which are normally handled at compile time. This \
+module avoids using any other modules, so that it can be used in low-level \
+infrastructure. \
+The parts of this module that work with module names apply the same syntax \
+that is used for barewords in Perl source. In principle this syntax can vary \
+between versions of Perl, and this module applies the syntax of the Perl on \
+which it is running. In practice the usable syntax hasn't changed yet, but \
+there's a good chance of it changing in Perl 5.18. \
+The functions of this module whose purpose is to load modules include \
+workarounds for three old Perl core bugs regarding require. These workarounds \
+are applied on any Perl version where the bugs exist, except for a case where \
+one of the bugs cannot be adequately worked around in pure Perl."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~zefram/Module-Runtime/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=43;endline=44;md5=62e24a93342fede7221d66335c716f34"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/Z/ZE/ZEFRAM/Module-Runtime-${PV}.tar.gz"
+SRC_URI[md5sum] = "a6597bc25536a30476f0d75b64d35734"
+SRC_URI[sha256sum] = "4c44fe0ea255a9fd00741ee545063f6692d2a28e7ef2fbaad1b24a92803362a4"
+
+S = "${WORKDIR}/Module-Runtime-${PV}"
+
+inherit cpan_build
+
+RDEPENDS_${PN} = " perl-module-test-more \
+ perl-module-strict \
+ perl-module-build \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libnet/files/run-ptest b/meta-perl/recipes-perl/libnet/files/run-ptest
new file mode 100644
index 0000000000..c9f9ca94d0
--- /dev/null
+++ b/meta-perl/recipes-perl/libnet/files/run-ptest
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+for case in `find t -type f -name '*.t'`; do
+ perl $case >$case.output 2>&1
+ ret=$?
+ cat $case.output
+ if [ $ret -ne 0 ]; then
+ echo "FAIL: ${case%.t}"
+ elif grep -i 'SKIP' $case.output; then
+ echo "SKIP: ${case%.t}"
+ else
+ echo "PASS: ${case%.t}"
+ fi
+
+ rm -f $case.output
+done
diff --git a/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb b/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb
new file mode 100644
index 0000000000..9dc426860e
--- /dev/null
+++ b/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "This package contains the DNS.pm module with friends."
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;md5=524da96a3365f2caff73fea0ae67c3a0"
+
+DEPENDS += "perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "26375d4310beb108b0e2b3bf30403ee5"
+SRC_URI[sha256sum] = "b36c8ead6edf68da5d9de2b0a22a47d7216e2d7eb52c8cde96724988f68a6d46"
+
+S = "${WORKDIR}/Net-DNS-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libnet/libnet-libidn-perl-0.12/libidn-wr-cross-compile.patch b/meta-perl/recipes-perl/libnet/libnet-libidn-perl-0.12/libidn-wr-cross-compile.patch
new file mode 100644
index 0000000000..679caa36a1
--- /dev/null
+++ b/meta-perl/recipes-perl/libnet/libnet-libidn-perl-0.12/libidn-wr-cross-compile.patch
@@ -0,0 +1,49 @@
+perl-Net-LibIDN: cross-compile
+
+Upstream-Status: Pending
+
+Add support for cross-compile allowing the compiler binary to be
+specified into the perl Makefile instead of using the default 'gcc'.
+
+Signed-off-by: Greg Moffatt <greg.moffatt@windriver.com>
+---
+
+--- perl-Net-LibIDN-0.12.orig/Makefile.PL 2009-02-26 07:09:45.000000000 -0500
++++ perl-Net-LibIDN-0.12/Makefile.PL 2010-10-19 09:34:22.811173965 -0400
+@@ -9,6 +9,7 @@
+ my $options;
+ my $testno=1;
+ my %MakeParams = InitMakeParams();
++my $compiler;
+
+ WriteMakefile(%MakeParams);
+
+@@ -44,7 +45,8 @@
+ (
+ "with-libidn=s" => \$libdir,
+ "with-libidn-inc=s" => \$incdir,
+- "disable-tld" => \$disable_tld
++ "disable-tld" => \$disable_tld,
++ "compiler=s" => \$compiler
+ );
+
+ if ($libdir)
+@@ -165,12 +167,17 @@
+ return 0;
+ }
+
+- foreach my $cc (qw/cc gcc/)
++ foreach my $cc ($compiler, qw/cc gcc/)
+ {
+ unlink($test);
+ system "$cc $cflags -o $test $test.c $ldflags";
+ next if ($? >> 8);
+
++ if ($compiler == $cc)
++ {
++ return 1;
++ }
++
+ if (open(FILE, "./$test|"))
+ {
+ my $match;
diff --git a/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb b/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb
new file mode 100644
index 0000000000..fd3ff8d958
--- /dev/null
+++ b/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Net::LibIDN - Perl bindings for GNU Libidn"
+DESCRIPTION = "\
+Provides bindings for GNU Libidn, a C library for handling Internationalized \
+Domain Names according to IDNA (RFC 3490), in a way very much inspired by \
+Turbo Fredriksson's PHP-IDN. \
+"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPLv1+"
+HOMEPAGE = "http://search.cpan.org/dist/Net-LibIDN/"
+DEPENDS += "libidn"
+# We must need glibc-gconvs to enable charset related functions,
+# such as Net::LibIDN::idn_to_ascii().
+RDEPENDS_${PN} += "glibc-gconvs"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TH/THOR/Net-LibIDN-${PV}.tar.gz"
+SRC_URI[md5sum] = "c3e4de2065009d67bcb1df0afb473e12"
+SRC_URI[sha256sum] = "2f8acc9442b3866ec7dc63cd449fc693ae3e930d5d3e5e9430fbb6f393bdbb17"
+
+SRC_URI += "file://libidn-wr-cross-compile.patch"
+
+LIC_FILES_CHKSUM = "file://README;beginline=42;endline=92;md5=3374ea0369ca3ead6047520477a43147"
+
+S = "${WORKDIR}/Net-LibIDN-${PV}"
+
+EXTRA_CPANFLAGS = "--with-libidn=${STAGING_LIBDIR} --with-libidn-inc=${STAGING_INCDIR} --compiler='${CC}'"
+EXTRA_CPANFLAGS += "--disable-tld"
+
+inherit cpan
+
+FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/Net/LibIDN/.debug/"
+
+do_configure_prepend() {
+ rm -rf ${S}/.pc/
+}
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
new file mode 100644
index 0000000000..f6c4b8b36c
--- /dev/null
+++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Net::SSLeay - Perl extension for using OpenSSL"
+DESCRIPTION = "This module offers some high level convenience functions for accessing \
+web pages on SSL servers (for symmetry, same API is offered for \
+accessing http servers, too), a sslcat() function for writing your own \
+clients, and finally access to the SSL api of SSLeay/OpenSSL package \
+so you can write servers or clients for more complicated applications."
+HOMEPAGE = "http://search.cpan.org/dist/Net-SSLeay/"
+SECTION = "libs"
+
+LICENSE = "OpenSSL"
+LIC_FILES_CHKSUM = "file://README;beginline=274;endline=294;md5=49f415984b387be999ee2ad0e5c692fe"
+
+DEPENDS = "openssl zlib"
+RDEPENDS_${PN} += "perl-module-carp \
+ perl-module-errno \
+ perl-module-extutils-makemaker \
+ perl-module-mime-base64 \
+ perl-module-socket \
+ "
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "19600c036e9e0bbfbf9157f083e40755"
+SRC_URI[sha256sum] = "2fb1371120b85f018944d95736c107163f04ba56b6029c0709a2c3d6247b9c06"
+
+S = "${WORKDIR}/Net-SSLeay-${PV}"
+
+inherit cpan ptest
+
+EXTRA_CPANFLAGS = "LIBS='-L=${STAGING_LIBDIR} -L=${STAGING_BASELIBDIR}' \
+ INC=-I=${STAGING_INCDIR} \
+ 'EXTRALIBS=-lssl -lcrypto -lz' \
+ 'LDLOADLIBS=-lssl -lcrypto -lz' \
+ "
+
+do_configure_prepend() {
+ export OPENSSL_PREFIX=${STAGING_DIR_NATIVE}${prefix_native}
+}
+
+do_install_ptest() {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+}
+
+BBCLASSEXTEND = "native"
+
+FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/"
diff --git a/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.30.bb b/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.30.bb
new file mode 100644
index 0000000000..c3d9674bf8
--- /dev/null
+++ b/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.30.bb
@@ -0,0 +1,80 @@
+SUMMARY = "Test::Harness - Run Perl standard test scripts with statistics"
+DESCRIPTION = "Although, for historical reasons, the Test::Harness \
+distribution takes its name from this module it now exists only to provide \
+TAP::Harness with an interface that is somewhat backwards compatible \
+with Test::Harness 2.xx. If you're writing new code consider using \
+TAP::Harness directly instead. \
+\
+Emulation is provided for runtests and execute_tests but the \
+pluggable 'Straps' interface that previous versions of Test::Harness \
+supported is not reproduced here. Straps is now available as a stand \
+alone module: Test::Harness::Straps. \
+\
+See TAP::Parser, TAP::Harness for the main documentation for this \
+distribution."
+
+SECTION = "libs"
+
+HOMEPAGE = "http://testanything.org"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=29;endline=30;md5=b08db4360eec119e875dddd7cb8a5ddd"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Test-Harness-${PV}.tar.gz"
+SRC_URI[md5sum] = "c1ff25da5dfdf77adea13dc3465638dd"
+SRC_URI[sha256sum] = "ff1900f3b3e61321d3c4b3283298f3106d43d55446605e9cfcf1dcec036acec1"
+
+S = "${WORKDIR}/Test-Harness-${PV}"
+
+inherit cpan
+
+RPROVIDES_${PN} += "libapp-prove-perl \
+ libapp-prove-state-perl \
+ libapp-prove-state-result-perl \
+ libapp-prove-state-result-test-perl \
+ libtap-base-perl \
+ libtap-formatter-base-perl \
+ libtap-formatter-color-perl \
+ libtap-formatter-console-perl \
+ libtap-formatter-console-parallelsession-perl \
+ libtap-formatter-console-session-perl \
+ libtap-formatter-file-perl \
+ libtap-formatter-file-session-perl \
+ libtap-formatter-session-perl \
+ libtap-harness-perl \
+ libtap-harness-env-perl \
+ libtap-object-perl \
+ libtap-parser-perl \
+ libtap-parser-aggregator-perl \
+ libtap-parser-grammar-perl \
+ libtap-parser-iterator-perl \
+ libtap-parser-iterator-array-perl \
+ libtap-parser-iterator-process-perl \
+ libtap-parser-iterator-stream-perl \
+ libtap-parser-iteratorfactory-perl \
+ libtap-parser-multiplexer-perl \
+ libtap-parser-result-perl \
+ libtap-parsser-result-bailout-perl \
+ libtap-parser-result-comment-perl \
+ libtap-parser-result-plan-perl \
+ libtap-parser-result-pragma-perl \
+ libtap-parser-result-test-perl \
+ libtap-parser-result-unknown-perl \
+ libtap-parser-result-version-perl \
+ libtap-parser-result-yaml-perl \
+ libtap-parser-resultfactory-perl \
+ libtap-parser-scheduler-perl \
+ libtap-parser-scheduler-job-perl \
+ libtap-parser-scheduler-spinner-perl \
+ libtap-parser-source-perl \
+ libtap-parser-sourcehandler-perl \
+ libtap-parser-sourcehandler-executable-perl \
+ libtap-parser-sourcehandler-file-perl \
+ libtap-parser-sourcehandler-handle-perl \
+ libtap-parser-sourcehandler-perl-perl \
+ libtap-parser-sourcehandler-rawtap-perl \
+ libtap-parser-yamlish-reader-perl \
+ libtap-parser-yamlish-writer-perl \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb b/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb
new file mode 100644
index 0000000000..a4c246e34e
--- /dev/null
+++ b/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Text::Diff - Perform diffs on files and record sets"
+DESCRIPTION = "diff() provides a basic set of services akin to the GNU diff \
+utility. It is not anywhere near as feature complete as GNU diff, but it is \
+better integrated with Perl and available on all platforms. It is often \
+faster than shelling out to a system's diff executable for small files, \
+and generally slower on larger files."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~ovid/Text-Diff/"
+
+LICENSE = "Artistic-1.0 | GPL-2.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=385c55653886acac3821999a3ccd17b3"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/O/OV/OVID/Text-Diff-${PV}.tar.gz"
+SRC_URI[md5sum] = "30d56e6dd5551ca16b8e16cc7299dc21"
+SRC_URI[sha256sum] = "a67f50a48e313c1680cc662109ce5f913ea71454db355d0cf4db87ac89d2d2fa"
+
+S = "${WORKDIR}/Text-Diff-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " libalgorithm-diff-perl \
+ perl-module-extutils-makemaker \
+ perl-module-exporter \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb b/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb
new file mode 100644
index 0000000000..934be0399f
--- /dev/null
+++ b/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Perl interface to iconv() codeset conversion function"
+DESCRIPTION = "\
+The Text::Iconv module provides a Perl interface to the iconv() \
+function as defined by the Single UNIX Specification. The convert() \
+method converts the encoding of characters in the input string from \
+the fromcode codeset to the tocode codeset, and returns the result. \
+Settings of fromcode and tocode and their permitted combinations are \
+implementation-dependent. Valid values are specified in the system \
+documentation."
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=3;endline=6;md5=fadf2919c7128e887d26b4d905f90649"
+RRECOMMENDS_${PN} += "glibc-gconvs"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MP/MPIOTR/Text-Iconv-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "81b26e069eaebb084e91ea3c009b67ae"
+SRC_URI[sha256sum] = "5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3"
+
+S = "${WORKDIR}/Text-Iconv-${PV}"
+
+inherit cpan
+
+FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/Text/Iconv/.debug/"
diff --git a/meta-perl/recipes-perl/libxml/libxml-filter-buffertext-perl_1.01.bb b/meta-perl/recipes-perl/libxml/libxml-filter-buffertext-perl_1.01.bb
new file mode 100644
index 0000000000..77dd616bfc
--- /dev/null
+++ b/meta-perl/recipes-perl/libxml/libxml-filter-buffertext-perl_1.01.bb
@@ -0,0 +1,25 @@
+SUMMARY = "XML::Filter::BufferText - Filter to put all characters() in one event"
+DESCRIPTION = "\
+The XML::Filter::BufferText module is a very simple filter. One common \
+cause of grief (and programmer error) is that XML parsers aren't required \
+to provide character events in one chunk. They can, but are not forced \
+to, and most don't. This filter does the trivial but oft-repeated task \
+of putting all characters into a single event. \
+"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPLv1+"
+HOMEPAGE = "http://search.cpan.org/dist/XML-Filter-BufferText/"
+DEPENDS += "libxml-sax-perl-native"
+RDEPENDS_${PN} += "libxml-sax-perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/R/RB/RBERJON/XML-Filter-BufferText-${PV}.tar.gz"
+SRC_URI[md5sum] = "2992c0387632583b966ab9c965b25512"
+SRC_URI[sha256sum] = "8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c"
+
+LIC_FILES_CHKSUM = "file://BufferText.pm;beginline=88;endline=90;md5=497aa6d79cc84c3d769a2a0016bee928"
+
+S = "${WORKDIR}/XML-Filter-BufferText-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/meta-perl/recipes-perl/libxml/libxml-libxml-perl/disable-libxml2-check.patch b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/disable-libxml2-check.patch
new file mode 100644
index 0000000000..a8e7cc1bbc
--- /dev/null
+++ b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/disable-libxml2-check.patch
@@ -0,0 +1,79 @@
+Do not use the _libxml_check_lib() on cross-compile
+
+Upstream-Status: Inappropriate [configuration]
+
+xml2 have been added into package's DEPENDS, so not need to use the
+_libxml_check_lib() to check it again, and _libxml_check_lib() always
+return false on cross-compile environment
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ Makefile.PL | 52 ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 26 insertions(+), 26 deletions(-)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index c0485f1..09c676b 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -411,32 +411,32 @@ sub _libxml_check_lib {
+ }
+ }
+
+-print "Checking for ability to link against xml2...";
+-if ( _libxml_check_lib('xml2') ) {
+- print "yes\n";
+-}
+-else {
+- print "no\n";
+- print "Checking for ability to link against libxml2...";
+- if ( _libxml_check_lib('libxml2')) {
+- print "yes\n";
+- }
+- else {
+- print STDERR <<"DEATH";
+-libxml2, zlib, and/or the Math library (-lm) have not been found.
+-Try setting LIBS and INC values on the command line
+-Or get libxml2 from
+- http://xmlsoft.org/
+-If you install via RPMs, make sure you also install the -devel
+-RPMs, as this is where the headers (.h files) are.
+-
+-Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter
+-to see the exact reason why the detection of libxml2 installation
+-failed or why Makefile.PL was not able to compile a test program.
+-DEATH
+- exit 0; # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors)
+- }
+-}
++#print "Checking for ability to link against xml2...";
++#if ( _libxml_check_lib('xml2') ) {
++# print "yes\n";
++#}
++#else {
++# print "no\n";
++# print "Checking for ability to link against libxml2...";
++# if ( _libxml_check_lib('libxml2')) {
++# print "yes\n";
++# }
++# else {
++# print STDERR <<"DEATH";
++#libxml2, zlib, and/or the Math library (-lm) have not been found.
++#Try setting LIBS and INC values on the command line
++#Or get libxml2 from
++# http://xmlsoft.org/
++#If you install via RPMs, make sure you also install the -devel
++#RPMs, as this is where the headers (.h files) are.
++#
++#Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter
++#to see the exact reason why the detection of libxml2 installation
++#failed or why Makefile.PL was not able to compile a test program.
++#DEATH
++# exit 0; # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors)
++# }
++#}
+
+ # -------------------------------------------------------------------------- #
+ # _NOW_ write the Makefile
+--
+1.7.10.4
+
diff --git a/meta-perl/recipes-perl/libxml/libxml-libxml-perl/fix-CATALOG-conditional-compile.patch b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/fix-CATALOG-conditional-compile.patch
new file mode 100644
index 0000000000..1dd9fb3757
--- /dev/null
+++ b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/fix-CATALOG-conditional-compile.patch
@@ -0,0 +1,31 @@
+[PATCH] Fix a compile error
+
+Upstream-Status: Pending
+
+Fix a compile error by conditional using 'catal' since catal
+is only defined when LIBXML_CATALOG_ENABLED is enabled.
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ LibXML.xs | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/LibXML.xs b/LibXML.xs
+index 66da04b..45da681 100644
+--- a/LibXML.xs
++++ b/LibXML.xs
+@@ -2777,9 +2777,11 @@ _default_catalog( self, catalog )
+ xmlCatalogPtr catal = INT2PTR(xmlCatalogPtr,SvIV(SvRV(catalog)));
+ #endif
+ INIT:
++#ifdef LIBXML_CATALOG_ENABLED
+ if ( catal == NULL ) {
+ croak( "empty catalog\n" );
+ }
++#endif
+ CODE:
+ warn( "this feature is not implemented" );
+ RETVAL = 0;
+--
+1.7.10.4
+
diff --git a/meta-perl/recipes-perl/libxml/libxml-libxml-perl/using-DOCB-conditional.patch b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/using-DOCB-conditional.patch
new file mode 100644
index 0000000000..d255ec7533
--- /dev/null
+++ b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/using-DOCB-conditional.patch
@@ -0,0 +1,91 @@
+[PATCH] Fix a compile error
+
+Upstream-Status: Pending
+
+by conditional using 'XML_DOCB_DOCUMENT_NODE' since it is only
+defined when LIBXML_DOCB_ENABLED is enabled in xmlversion.h.
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ LibXML.xs | 9 +-
+ dom.c | 2 +
+ perl-libxml-mm.c | 4 +
+ 4 files changed, 678 insertions(+), 658 deletions(-)
+
+diff --git a/LibXML.xs b/LibXML.xs
+index b299ba4..66da04b 100644
+--- a/LibXML.xs
++++ b/LibXML.xs
+@@ -5026,7 +5026,9 @@ addChild( self, nNode )
+ XSRETURN_UNDEF;
+ case XML_DOCUMENT_NODE :
+ case XML_HTML_DOCUMENT_NODE :
++#ifdef LIBXML_DOCB_ENABLED
+ case XML_DOCB_DOCUMENT_NODE :
++#endif
+ croak("addChild: HIERARCHY_REQUEST_ERR\n");
+ XSRETURN_UNDEF;
+ case XML_NOTATION_NODE :
+@@ -5286,7 +5288,9 @@ _toStringC14N(self, comments=0, xpath=&PL_sv_undef, exclusive=0, inc_prefix_list
+ if ( nodepath == NULL
+ && self->type != XML_DOCUMENT_NODE
+ && self->type != XML_HTML_DOCUMENT_NODE
++#ifdef LIBXML_DOCB_ENABLED
+ && self->type != XML_DOCB_DOCUMENT_NODE
++#endif
+ ) {
+ if (comments)
+ nodepath = xmlStrdup( (const xmlChar *) "(. | .//node() | .//@* | .//namespace::*)" );
+@@ -5297,7 +5301,10 @@ _toStringC14N(self, comments=0, xpath=&PL_sv_undef, exclusive=0, inc_prefix_list
+ if ( nodepath != NULL ) {
+ if ( self->type == XML_DOCUMENT_NODE
+ || self->type == XML_HTML_DOCUMENT_NODE
+- || self->type == XML_DOCB_DOCUMENT_NODE ) {
++#ifdef LIBXML_DOCB_ENABLED
++ || self->type == XML_DOCB_DOCUMENT_NODE
++#endif
++ ) {
+ refNode = xmlDocGetRootElement( self->doc );
+ }
+ if (SvOK(xpath_context)) {
+diff --git a/dom.c b/dom.c
+index 87eb61d..cbd391b 100644
+--- a/dom.c
++++ b/dom.c
+@@ -654,7 +654,9 @@ domName(xmlNodePtr node) {
+
+ case XML_DOCUMENT_NODE :
+ case XML_HTML_DOCUMENT_NODE :
++#ifdef LIBXML_DOCB_ENABLED
+ case XML_DOCB_DOCUMENT_NODE :
++#endif
+ name = (const xmlChar *) "#document";
+ break;
+
+diff --git a/perl-libxml-mm.c b/perl-libxml-mm.c
+index d162b06..7ac5436 100644
+--- a/perl-libxml-mm.c
++++ b/perl-libxml-mm.c
+@@ -331,7 +331,9 @@ PmmNewNode(xmlNodePtr node)
+ switch ( node->type ) {
+ case XML_DOCUMENT_NODE:
+ case XML_HTML_DOCUMENT_NODE:
++#ifdef LIBXML_DOCB_ENABLED
+ case XML_DOCB_DOCUMENT_NODE:
++#endif
+ proxy = (ProxyNodePtr)xmlMalloc(sizeof(struct _DocProxyNode));
+ if (proxy != NULL) {
+ ((DocProxyNodePtr)proxy)->psvi_status = Pmm_NO_PSVI;
+@@ -550,7 +552,9 @@ PmmNodeToSv( xmlNodePtr node, ProxyNodePtr owner )
+ switch ( node->type ) {
+ case XML_DOCUMENT_NODE:
+ case XML_HTML_DOCUMENT_NODE:
++#ifdef LIBXML_DOCB_ENABLED
+ case XML_DOCB_DOCUMENT_NODE:
++#endif
+ if ( ((xmlDocPtr)node)->encoding != NULL ) {
+ SetPmmENCODING(dfProxy, (int)xmlParseCharEncoding( (const char*)((xmlDocPtr)node)->encoding ));
+ }
+--
+1.7.10.4
+
diff --git a/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0116.bb b/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0116.bb
new file mode 100644
index 0000000000..2a6dbc280c
--- /dev/null
+++ b/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0116.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Perl interface to the libxml2 library"
+DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \
+with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \
+interface and a XML::XPath-like interface to XPath API of libxml2. \
+The module is split into several packages which are not described in this \
+section; unless stated otherwise, you only need to use XML::LibXML; in \
+your programs."
+
+HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0|GPLv1+"
+DEPENDS += "libxml2 \
+ libxml-sax-perl-native \
+ zlib \
+"
+RDEPENDS_${PN} += "libxml2 \
+ libxml-sax-perl \
+ libxml-sax-base-perl \
+ zlib \
+"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \
+ file://disable-libxml2-check.patch \
+ file://fix-CATALOG-conditional-compile.patch \
+ file://using-DOCB-conditional.patch \
+"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=75e021e35a906347f46c9ff163653e2a \
+ file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446"
+SRC_URI[libxml.md5sum] = "a53a743bf053a0cb4afb41513fb8a684"
+SRC_URI[libxml.sha256sum] = "b154f2dad3033b30d22ac81b8985b69ad35450b0c552db394cd03bb36845812a"
+
+S = "${WORKDIR}/XML-LibXML-${PV}"
+
+inherit cpan
+
+EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}"
+
+BBCLASSEXTEND = "native"
+
+CFLAGS += " -D_GNU_SOURCE "
+BUILD_CFLAGS += " -D_GNU_SOURCE "
+
+do_configure_prepend() {
+ rm -rf ${S}/.pc/*
+}
+
+FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/"
diff --git a/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.54.bb b/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.54.bb
new file mode 100644
index 0000000000..914c20801e
--- /dev/null
+++ b/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.54.bb
@@ -0,0 +1,25 @@
+SUMMARY = "XML::SAX::Writer - SAX2 Writer"
+DESCRIPTION = "\
+XML::SAX::Writer helps to serialize SAX2 representations of XML documents to \
+strings, files, and other flat representations. It handles charset encodings, \
+XML escaping conventions, and so forth. It is still considered alpha, \
+although it has been put to limited use in settings such as XML::LibXML and \
+the AxKit XML Application Server. \
+"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPLv1+"
+HOMEPAGE = "http://search.cpan.org/dist/XML-SAX-Writer/"
+DEPENDS += "libxml-filter-buffertext-perl-native"
+RDEPENDS_${PN} += "libxml-filter-buffertext-perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-${PV}.tar.gz"
+SRC_URI[md5sum] = "383139d76418a82b9800dc4f8b568891"
+SRC_URI[sha256sum] = "a1b4d959aed8f8337523c4cef4b431e56e619c795dc6f99a868548952101cf3d"
+
+LIC_FILES_CHKSUM = "file://README;beginline=45;endline=46;md5=d41d8cd98f00b204e9800998ecf8427e"
+
+S = "${WORKDIR}/XML-SAX-Writer-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/meta-python/COPYING.MIT b/meta-python/COPYING.MIT
new file mode 100644
index 0000000000..fb950dc69f
--- /dev/null
+++ b/meta-python/COPYING.MIT
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/meta-python/README b/meta-python/README
new file mode 100644
index 0000000000..f62ab8fe8e
--- /dev/null
+++ b/meta-python/README
@@ -0,0 +1,53 @@
+meta-python
+================================
+
+Introduction
+-------------------------
+
+This layer is intended to be the home of python modules for OpenEmbedded.
+Modules in this layer need to be independent of openembedded-core and
+meta-openembedded/meta-oe. Because of this, modules required by 'gateone'
+and 'anki' are not included and remain in:
+ meta-openembedded/meta-oe/recipes-devtools/python.
+
+Dependencies
+-------------------------
+
+The meta-python layer depends on:
+
+ URI: git://git.openembedded.org/openembedded-core
+ layers: meta
+ branch: master
+ revision: HEAD
+
+ URI: git://git.openembedded.org/meta-openembedded
+ layers: meta-oe
+ branch: master
+ revision: HEAD
+
+Please follow the recommended setup procedures of your OE distribution.
+For Angstrom that is:
+ http://www.angstrom-distribution.org/building-angstrom,
+other distros should have similar online resources.
+
+Contributing
+-------------------------
+
+The meta-openembedded mailinglist
+(openembedded-devel@lists.openembedded.org) is used for questions,
+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.
+
+When sending single patches, please use something like:
+'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][PATCH'
+
+Maintenance
+-------------------------
+
+Maintainers:
+ Tim "moto-timo" Orling <TicoTimo@gmail.com>
+ Paul "bluelightning" Eggleton <paul.eggleton@linux.intel.com>
+
diff --git a/meta-python/conf/layer.conf b/meta-python/conf/layer.conf
new file mode 100644
index 0000000000..55169e4fbb
--- /dev/null
+++ b/meta-python/conf/layer.conf
@@ -0,0 +1,15 @@
+# We might have a conf and classes directory, append to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "meta-python"
+BBFILE_PATTERN_meta-python := "^${LAYERDIR}/"
+BBFILE_PRIORITY_meta-python = "7"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_meta-python = "1"
+
+LAYERDEPENDS_meta-python = "core openembedded-layer"
diff --git a/meta-oe/recipes-devtools/python/pyrtm_0.2.bb b/meta-python/recipes-devtools/python/pyrtm_0.2.bb
index ee7b6d0180..706515bc4a 100644
--- a/meta-oe/recipes-devtools/python/pyrtm_0.2.bb
+++ b/meta-python/recipes-devtools/python/pyrtm_0.2.bb
@@ -7,6 +7,6 @@ DEPENDS = "python-native"
inherit distutils
-SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${P}.tar.gz"
+SRC_URI = "http://pypi.python.org/packages/source/p/${BPN}/${BP}.tar.gz"
SRC_URI[md5sum] = "34423f39caf7df8a9db8e243be9cf1a0"
SRC_URI[sha256sum] = "d9d46d096a38cb692b55f4ee9f364d54348298e9497b11c1ef057539b5de1567"
diff --git a/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb b/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb
index ac775c4c33..ac775c4c33 100644
--- a/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb
+++ b/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb
diff --git a/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb b/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb
new file mode 100644
index 0000000000..9caae41bf8
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "The ssl.match_hostname() function from Python 3.4"
+DESCRIPTION = "The Secure Sockets layer is only actually secure if you check the hostname in the \
+certificate returned by the server to which you are connecting, and verify that it matches to hostname \
+that you are trying to reach. But the matching logic, defined in RFC2818, can be a bit tricky to implement \
+on your own. So the ssl package in the Standard Library of Python 3.2 and greater now includes a \
+match_hostname() function for performing this check instead of requiring every application to \
+implement the check separately. This backport brings match_hostname() to users of earlier versions of Python"
+HOMEPAGE = "https://pypi.python.org/pypi/backports.ssl_match_hostname"
+SECTION = "devel/python"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=77b684960b86b7a4bb4a450ffde08605"
+
+SRCNAME = "backports.ssl_match_hostname"
+
+SRC_URI = "https://pypi.python.org/packages/source/b/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "788214f20214c64631f0859dc79f23c6"
+SRC_URI[sha256sum] = "07410e7fb09aab7bdaf5e618de66c3dac84e2e3d628352814dc4c37de321d6ae"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
diff --git a/meta-python/recipes-devtools/python/python-certifi_14.05.14.bb b/meta-python/recipes-devtools/python/python-certifi_14.05.14.bb
new file mode 100644
index 0000000000..5e0404e960
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-certifi_14.05.14.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Python package for providing Mozilla's CA Bundle."
+DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \
+Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \
+which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set."
+HOMEPAGE = "https://pypi.python.org/pypi/certifi"
+SECTION = "devel/python"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
+
+SRCNAME = "certifi"
+
+SRC_URI = "https://pypi.python.org/packages/source/c/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "315ea4e50673a16ab047099f816fd32a"
+SRC_URI[sha256sum] = "1e1bcbacd6357c151ae37cf0290dcc809721d32ce21fd6b7339568f3ddef1b69"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
diff --git a/meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb b/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb
index e015d0b023..e015d0b023 100644
--- a/meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb
+++ b/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb
diff --git a/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb b/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb
index 120a8a7927..120a8a7927 100644
--- a/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb
+++ b/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb
diff --git a/meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb b/meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb
new file mode 100644
index 0000000000..fc7f024a47
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb
@@ -0,0 +1,20 @@
+# Imported from git://git.yoctoproject.org/meta-cloud-services
+
+SUMMARY = "Extra features for standard library's cmd module"
+HOMEPAGE = "http://packages.python.org/cmd2/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=21;endline=21;md5=a00047b7e92e0781452d0beba4e7b44e"
+
+SRCNAME = "cmd2"
+
+SRC_URI = "http://pypi.python.org/packages/source/c/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "842df29ff2f72d64d7f0d917039c0e51"
+SRC_URI[sha256sum] = "8e98c7a1cfd106183559240b269e7cd9fe97e8342b5c05295f591aab6fd2f4f0"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += "python-pyparsing"
diff --git a/meta-oe/recipes-devtools/python/python-cython_0.15.1.bb b/meta-python/recipes-devtools/python/python-cython_0.20.2.bb
index 0bf057aa82..3966e0b96e 100644
--- a/meta-oe/recipes-devtools/python/python-cython_0.15.1.bb
+++ b/meta-python/recipes-devtools/python/python-cython_0.20.2.bb
@@ -6,14 +6,19 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
SRCNAME = "Cython"
BBCLASSEXTEND = "native"
-PR = "r3"
-SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz \
- file://0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch \
-"
+SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz"
S = "${WORKDIR}/${SRCNAME}-${PV}"
-SRC_URI[md5sum] = "171021b3845c9ca8bd6d8185b3cde664"
-SRC_URI[sha256sum] = "248123f2f02f2701a28d9452132ac835533b396a273cda9d361cb65c26067edc"
+SRC_URI[md5sum] = "7fc13e1c665bdf7cea19ad08906af91f"
+SRC_URI[sha256sum] = "ed13b606a2aeb5bd6c235f8ed6c9988c99d01a033d0d21d56137c13d5c7be63f"
+
+inherit setuptools
-inherit distutils
+RDEPENDS_${PN} += "\
+ python-distribute \
+ python-netserver \
+ python-subprocess \
+ python-shell \
+"
+RDEPENDS_${PN}_class-native = ""
diff --git a/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb b/meta-python/recipes-devtools/python/python-dateutil_1.5.bb
index 784f560603..37f19a839a 100644
--- a/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb
+++ b/meta-python/recipes-devtools/python/python-dateutil_1.5.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://labix.org/python-dateutil"
SECTION = "devel/python"
LICENSE = "PSF"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d82268718c68bda0b091006ec6e583c6"
-SRCNAME = "${PN}"
+SRCNAME = "${BPN}"
SRC_URI = "http://labix.org/download/python-dateutil/${SRCNAME}-${PV}.tar.gz"
S = "${WORKDIR}/${SRCNAME}-${PV}"
diff --git a/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch b/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch
new file mode 100644
index 0000000000..fdd00b6a4d
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch
@@ -0,0 +1,53 @@
+From eebe0f66435c4d821b0f5f93f69efe17b4a384c2 Mon Sep 17 00:00:00 2001
+From: Simon Busch <simon.busch@lge.com>
+Date: Wed, 9 Apr 2014 13:18:33 +0200
+Subject: [PATCH 1/2] Add functionality to add own objects to internal object
+ list
+
+In some case the tests might want to create dynamically dbus objects which extended
+functionality from own class definitions within templates. In such cases we need to
+register those objects with the internal object manager of dbusmock.
+
+Signed-off-by: Simon Busch <simon.busch@lge.com>
+---
+ dbusmock/__init__.py | 4 ++--
+ dbusmock/mockobject.py | 8 ++++++++
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/dbusmock/__init__.py b/dbusmock/__init__.py
+index f799cc7..6718c06 100644
+--- a/dbusmock/__init__.py
++++ b/dbusmock/__init__.py
+@@ -14,8 +14,8 @@ __license__ = 'LGPL 3+'
+ __version__ = '0.10.1'
+
+ from dbusmock.mockobject import (DBusMockObject, MOCK_IFACE,
+- OBJECT_MANAGER_IFACE, get_object, get_objects)
++ OBJECT_MANAGER_IFACE, get_object, get_objects, add_object)
+ from dbusmock.testcase import DBusTestCase
+
+ __all__ = ['DBusMockObject', 'MOCK_IFACE', 'OBJECT_MANAGER_IFACE',
+- 'DBusTestCase', 'get_object', 'get_objects']
++ 'DBusTestCase', 'get_object', 'get_objects', 'add_object']
+diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py
+index 97b79ce..a98e03d 100644
+--- a/dbusmock/mockobject.py
++++ b/dbusmock/mockobject.py
+@@ -682,6 +682,14 @@ dbus.service._method_lookup = _dbusmock_method_lookup
+ # Helper API for templates
+ #
+
++def add_object(path, obj):
++ if path in objects:
++ raise dbus.exceptions.DBusException(
++ 'org.freedesktop.DBus.Mock.NameError',
++ 'object %s already exists' % path)
++
++ objects[path] = obj
++
+
+ def get_objects():
+ '''Return all existing object paths'''
+--
+1.7.9.5
+
diff --git a/meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch b/meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch
new file mode 100644
index 0000000000..f3ab53c546
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch
@@ -0,0 +1,29 @@
+From 29960f2fce7ab42ed0a1bf8ce96499fdb6eedf3c Mon Sep 17 00:00:00 2001
+From: Simon Busch <simon.busch@lge.com>
+Date: Tue, 25 Mar 2014 15:28:54 +0100
+Subject: [PATCH] Don't use gobject introspection for bindings
+
+In our environment we're not providing the glib python bindings through
+introspection but just pygobject so we need to use the right import.
+
+Signed-off-by: Simon Busch <simon.busch@lge.com>
+---
+ dbusmock/__main__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dbusmock/__main__.py b/dbusmock/__main__.py
+index 44b63fb..bfd089c 100644
+--- a/dbusmock/__main__.py
++++ b/dbusmock/__main__.py
+@@ -51,7 +51,7 @@ def parse_args():
+
+ if __name__ == '__main__':
+ import dbus.mainloop.glib
+- from gi.repository import GLib
++ import glib as GLib
+
+ args = parse_args()
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+--
+1.7.9.5
+
diff --git a/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch b/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch
new file mode 100644
index 0000000000..981694f0e8
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch
@@ -0,0 +1,29 @@
+From ff1dffd5673bcd2cbd9554ad62476d108dbc18af Mon Sep 17 00:00:00 2001
+From: Simon Busch <simon.busch@lge.com>
+Date: Wed, 9 Apr 2014 13:20:33 +0200
+Subject: [PATCH 2/2] Add possibility to import templates from packages
+
+Does not have any unit tests yet.
+
+Signed-off-by: Simon Busch <simon.busch@lge.com>
+---
+ dbusmock/mockobject.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py
+index a98e03d..9530c2a 100644
+--- a/dbusmock/mockobject.py
++++ b/dbusmock/mockobject.py
+@@ -49,6 +49,9 @@ def load_module(name):
+
+ return module
+
++ if '.' in name:
++ return importlib.import_module(name)
++
+ return importlib.import_module('dbusmock.templates.' + name)
+
+
+--
+1.7.9.5
+
diff --git a/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb b/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb
new file mode 100644
index 0000000000..b24794395a
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb
@@ -0,0 +1,22 @@
+# Copyright (c) 2014 LG Electronics, Inc.
+
+SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus"
+AUTHOR = "Martin Pitt <martin.pitt@ubuntu.com>"
+SECTION = "devel/python"
+
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+DEPENDS += "python-pygobject python-dbus"
+
+SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz"
+SRC_URI[md5sum] = "7370d325c4a75494dd71885ca65b79e8"
+SRC_URI[sha256sum] = "03aadc93bdc26ea18d4d78fcff7b6cb34f4e18623bc5cc41cf9539d663cee11e"
+
+SRC_URI += " \
+ file://0001-Don-t-use-gobject-introspection-for-bindings.patch \
+ file://0001-Add-functionality-to-add-own-objects-to-internal-obj.patch \
+ file://0002-Add-possibility-to-import-templates-from-packages.patch \
+"
+
+inherit setuptools
diff --git a/meta-python/recipes-devtools/python/python-decorator_3.4.0.bb b/meta-python/recipes-devtools/python/python-decorator_3.4.0.bb
new file mode 100644
index 0000000000..43166304a2
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-decorator_3.4.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Python decorator utilities"
+HOMEPAGE = "http://pypi.python.org/pypi/decorator/"
+DESCRIPTION = "\
+The aim of the decorator module it to simplify the usage of decorators \
+for the average programmer, and to popularize decorators by showing \
+various non-trivial examples. Of course, as all techniques, decorators \
+can be abused and you should not try to solve every problem with a \
+decorator, just because you can."
+
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://documentation3.py;beginline=848;endline=877;md5=0b56661417fb7b841afc8892e14ba241"
+
+SRCNAME = "decorator"
+
+SRC_URI = "https://pypi.python.org/packages/source/d/decorator/decorator-${PV}.tar.gz"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+SRC_URI[md5sum] = "1e8756f719d746e2fc0dd28b41251356"
+SRC_URI[sha256sum] = "c20b404cbb7ee5cebd506688e0114e3cd76f5ce233805a51f36e1a7988d9d783"
diff --git a/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb b/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb
index 4ec0668575..4ec0668575 100644
--- a/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb
+++ b/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb
diff --git a/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb b/meta-python/recipes-devtools/python/python-feedparser_5.1.3.bb
index 92d55682f5..92d55682f5 100644
--- a/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb
+++ b/meta-python/recipes-devtools/python/python-feedparser_5.1.3.bb
diff --git a/meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb b/meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb
new file mode 100644
index 0000000000..a7376db5d1
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "A Python enumeration package."
+DESCRIPTION = "The flufl.enum library is a Python enumeration package. Its goal is to provide simple, \
+specific, concise semantics in an easy to read and write syntax. flufl.enum has just enough of the \
+features needed to make enumerations useful, but without a lot of extra baggage to weigh them down. "
+HOMEPAGE = "https://pypi.python.org/pypi/flufl.enum"
+SECTION = "devel/python"
+
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1fa25baed15d3be23c902636379438e8"
+
+SRCNAME = "flufl.enum"
+
+SRC_URI = " \
+ http://pypi.python.org/packages/source/f/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "b3ad23761a78232bc78499ced7cb85d9"
+SRC_URI[sha256sum] = "4af7e7cf2dcc7517251570c7ef9ad194e30ee4b6f860eba500c03954ae95f9d8"
+
+inherit setuptools
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+PACKAGES =+ "\
+ ${PN}-test \
+"
+
+FILES_${PN}-doc += "\
+ ${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/*.rst \
+ ${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/docs \
+"
+
+FILES_${PN}-test += "${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/tests"
diff --git a/meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb b/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb
index ea602779be..ea602779be 100644
--- a/meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb
+++ b/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb
diff --git a/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb b/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb
index 3fd3e7c536..3fd3e7c536 100644
--- a/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb
+++ b/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb
diff --git a/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb b/meta-python/recipes-devtools/python/python-greenlet_0.4.1.bb
index a6db8ab7b3..a6db8ab7b3 100644
--- a/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb
+++ b/meta-python/recipes-devtools/python/python-greenlet_0.4.1.bb
diff --git a/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch b/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch
index a703d342e9..a703d342e9 100644
--- a/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch
+++ b/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch
diff --git a/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb b/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb
index dfe1522fdc..bc4993bdb9 100644
--- a/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb
+++ b/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
HOMEPAGE = "http://www.python-ldap.org/"
DEPENDS = "python openldap"
-SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${PN}-${PV}.tar.gz \
+SRC_URI = "http://pypi.python.org/packages/source/p/${BPN}/${BP}.tar.gz \
file://setup.cfg.patch"
SRC_URI[md5sum] = "a9f9f16338288d118a1ae6266c993247"
SRC_URI[sha256sum] = "62f75b21c5ee744408c9d8b59878328b3bdf47899d30e8abf0c09b3ffb893ed4"
diff --git a/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb b/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb
new file mode 100644
index 0000000000..78a878a15b
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb
@@ -0,0 +1,27 @@
+#
+# Copyright (C) 2012 Wind River Systems, Inc.
+#
+SUMMARY = "Provides a wrapper in Python to LDAP"
+DESCRIPTION = "This module provides access to the LDAP \
+(Lightweight Directory Access Protocol) through Python operations \
+instead of C API. The module mainly acts as a wrapper for the \
+OpenLDAP 2.x libraries. Errors will appear as exceptions."
+
+SECTION = "devel/python"
+PRIORITY = "optional"
+LICENSE = "PSF"
+HOMEPAGE = "http://www.python-ldap.org/"
+DEPENDS = "python openldap cyrus-sasl"
+
+SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${BPN}-${PV}.tar.gz"
+
+inherit setuptools
+
+LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
+SRC_URI[md5sum] = "a15827ca13c90e9101e5e9405c1d83be"
+SRC_URI[sha256sum] = "67cc7801bf24c29386ab99966ceb68d6a60fa9e0566cc95a4fbb2c4695a8ce54"
+
+do_configure_prepend() {
+ sed -i -e 's:^library_dirs =.*::' setup.cfg
+ sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg
+}
diff --git a/meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch b/meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch
new file mode 100644
index 0000000000..0a8e211bd3
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch
@@ -0,0 +1,91 @@
+Upstream-status:Backport
+
+--- a/src/lxml/html/clean.py
++++ b/src/lxml/html/clean.py
+@@ -70,9 +70,10 @@ _css_import_re = re.compile(
+
+ # All kinds of schemes besides just javascript: that can cause
+ # execution:
+-_javascript_scheme_re = re.compile(
+- r'\s*(?:javascript|jscript|livescript|vbscript|data|about|mocha):', re.I)
+-_substitute_whitespace = re.compile(r'\s+').sub
++_is_javascript_scheme = re.compile(
++ r'(?:javascript|jscript|livescript|vbscript|data|about|mocha):',
++ re.I).search
++_substitute_whitespace = re.compile(r'[\s\x00-\x08\x0B\x0C\x0E-\x19]+').sub
+ # FIXME: should data: be blocked?
+
+ # FIXME: check against: http://msdn2.microsoft.com/en-us/library/ms537512.aspx
+@@ -467,7 +468,7 @@ class Cleaner(object):
+ def _remove_javascript_link(self, link):
+ # links like "j a v a s c r i p t:" might be interpreted in IE
+ new = _substitute_whitespace('', link)
+- if _javascript_scheme_re.search(new):
++ if _is_javascript_scheme(new):
+ # FIXME: should this be None to delete?
+ return ''
+ return link
+--- a/src/lxml/html/tests/test_clean.txt
++++ b/src/lxml/html/tests/test_clean.txt
+@@ -1,3 +1,4 @@
++>>> import re
+ >>> from lxml.html import fromstring, tostring
+ >>> from lxml.html.clean import clean, clean_html, Cleaner
+ >>> from lxml.html import usedoctest
+@@ -17,6 +18,7 @@
+ ... <body onload="evil_function()">
+ ... <!-- I am interpreted for EVIL! -->
+ ... <a href="javascript:evil_function()">a link</a>
++... <a href="j\x01a\x02v\x03a\x04s\x05c\x06r\x07i\x0Ep t:evil_function()">a control char link</a>
+ ... <a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgidGVzdCIpOzwvc2NyaXB0Pg==">data</a>
+ ... <a href="#" onclick="evil_function()">another link</a>
+ ... <p onclick="evil_function()">a paragraph</p>
+@@ -33,7 +35,7 @@
+ ... </body>
+ ... </html>'''
+
+->>> print(doc)
++>>> print(re.sub('[\x00-\x07\x0E]', '', doc))
+ <html>
+ <head>
+ <script type="text/javascript" src="evil-site"></script>
+@@ -49,6 +51,7 @@
+ <body onload="evil_function()">
+ <!-- I am interpreted for EVIL! -->
+ <a href="javascript:evil_function()">a link</a>
++ <a href="javascrip t:evil_function()">a control char link</a>
+ <a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgidGVzdCIpOzwvc2NyaXB0Pg==">data</a>
+ <a href="#" onclick="evil_function()">another link</a>
+ <p onclick="evil_function()">a paragraph</p>
+@@ -81,6 +84,7 @@
+ <body onload="evil_function()">
+ <!-- I am interpreted for EVIL! -->
+ <a href="javascript:evil_function()">a link</a>
++ <a href="javascrip%20t:evil_function()">a control char link</a>
+ <a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgidGVzdCIpOzwvc2NyaXB0Pg==">data</a>
+ <a href="#" onclick="evil_function()">another link</a>
+ <p onclick="evil_function()">a paragraph</p>
+@@ -104,6 +108,7 @@
+ </head>
+ <body>
+ <a href="">a link</a>
++ <a href="">a control char link</a>
+ <a href="">data</a>
+ <a href="#">another link</a>
+ <p>a paragraph</p>
+@@ -123,6 +128,7 @@
+ </head>
+ <body>
+ <a href="">a link</a>
++ <a href="">a control char link</a>
+ <a href="">data</a>
+ <a href="#">another link</a>
+ <p>a paragraph</p>
+@@ -146,6 +152,7 @@
+ </head>
+ <body>
+ <a href="">a link</a>
++ <a href="">a control char link</a>
+ <a href="">data</a>
+ <a href="#">another link</a>
+ <p>a paragraph</p>
diff --git a/meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb b/meta-python/recipes-devtools/python/python-lxml_3.2.5.bb
index 5ab7b4a793..1fa2889958 100644
--- a/meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb
+++ b/meta-python/recipes-devtools/python/python-lxml_3.2.5.bb
@@ -8,9 +8,11 @@ SRCNAME = "lxml"
DEPENDS = "libxml2 libxslt"
-SRC_URI = "http://pypi.python.org/packages/source/l/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;name=lxml"
-SRC_URI[lxml.md5sum] = "38b15b0dd5e9292cf98be800e84a3ce4"
-SRC_URI[lxml.sha256sum] = "cadba4cf0e235127795f76a6f7092cb035da23a6e9ec4c93f8af43a6784cd101"
+SRC_URI = "http://pypi.python.org/packages/source/l/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
+ file://python-lxml-3.2.5-fix-CVE-2014-3146.patch "
+
+SRC_URI[md5sum] = "6c4fb9b1840631cff09b8229a12a9ef7"
+SRC_URI[sha256sum] = "2bf072808a6546d0e56bf1ad3b98a43cca828724360d7419fad135141bd31f7e"
S = "${WORKDIR}/${SRCNAME}-${PV}"
diff --git a/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch b/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
index bcbdf24bb5..bcbdf24bb5 100644
--- a/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
+++ b/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
diff --git a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb b/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb
index 21c02696dd..67ec9214ad 100644
--- a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb
+++ b/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb
@@ -1,7 +1,7 @@
SUMMARY = "A Python crypto and SSL toolkit"
HOMEPAGE = "http://chandlerproject.org/bin/view/Projects/MeTooCrypto"
-DEPENDS = "openssl swig-native"
+DEPENDS = "openssl swig-native python"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e"
@@ -20,4 +20,25 @@ SWIG_FEATURES_x86-64 = "-D__x86_64__"
SWIG_FEATURES ?= ""
export SWIG_FEATURES
+# Get around a problem with swig, but only if the
+# multilib header file exists.
+#
+do_compile_prepend() {
+ if [ "${SITEINFO_BITS}" = "64" ];then
+ bit="64"
+ else
+ bit="32"
+ fi
+
+ if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then
+ for i in SWIG/_ec.i SWIG/_evp.i; do
+ sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "$i"
+ done
+ elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then
+ for i in SWIG/_ec.i SWIG/_evp.i; do
+ sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "$i"
+ done
+ fi
+}
+
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch b/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch
index 9381583537..9381583537 100644
--- a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch
+++ b/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch
diff --git a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch
index e07159552f..9a13a1850f 100644
--- a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch
+++ b/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch
@@ -1,9 +1,20 @@
This fixes the numpy import problem in setupext.py using a hard-coded path.
-diff --git a/setupext.py b/setupext.py
-index 962cedc..82297c4 100644
---- a/setupext.py
-+++ b/setupext.py
+Index: matplotlib-1.1.0/setupext.py
+===================================================================
+--- matplotlib-1.1.0.orig/setupext.py
++++ matplotlib-1.1.0/setupext.py
+@@ -122,8 +122,8 @@ numpy_inc_dirs = []
+ # matplotlib build options, which can be altered using setup.cfg
+ options = {'display_status': True,
+ 'verbose': False,
+- 'provide_pytz': 'auto',
+- 'provide_dateutil': 'auto',
++ 'provide_pytz': False,
++ 'provide_dateutil': False,
+ 'build_agg': True,
+ 'build_gtk': 'auto',
+ 'build_gtkagg': 'auto',
@@ -176,10 +176,7 @@ if os.path.exists(setup_cfg):
except: pass
diff --git a/meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb b/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb
index 7bb61fd57e..69f71c7116 100644
--- a/meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb
+++ b/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb
@@ -4,8 +4,8 @@ LICENSE = "PSF"
LIC_FILES_CHKSUM = "file://README.txt;md5=83c5bf8b16a5f99507f2f47a21ae3b81"
PR = "r1"
-DEPENDS += "python-numpy freetype libpng"
-RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng"
+DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz"
+RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz"
SRC_URI = "${SOURCEFORGE_MIRROR}/matplotlib/matplotlib-${PV}.tar.gz \
file://fix_setup.patch \
diff --git a/meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb b/meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb
new file mode 100644
index 0000000000..a056c092cb
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb
@@ -0,0 +1,23 @@
+# Imported from git://git.yoctoproject.org/meta-cloud-services
+
+SUMMARY = "McCabe checker, plugin for flake8"
+HOMEPAGE = "https://github.com/dreamhost/cliff"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=aa0383f6aee4f5c20084a97cd13164c4"
+
+SRCNAME = "mccabe"
+
+SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "5a3f3fa6a4bad126c88aaaa7dab682f5"
+SRC_URI[sha256sum] = "5a2a170e47de5593a6abfae1e9542bd2c3924ac62bbe4e6ed96c953c0352243a"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += " \
+ python-prettytable \
+ python-cmd2 \
+ python-pyparsing"
diff --git a/meta-python/recipes-devtools/python/python-mock_1.0.1.bb b/meta-python/recipes-devtools/python/python-mock_1.0.1.bb
new file mode 100644
index 0000000000..a23b5523f4
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-mock_1.0.1.bb
@@ -0,0 +1,26 @@
+# Imported from git://git.yoctoproject.org/meta-cloud-services
+
+SUMMARY = "A Python Mocking and Patching Library for Testing"
+HOMEPAGE = "https://pypi.python.org/pypi/mock"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=80e5ba73891255687dff3bee2b4cbb16"
+
+SRCNAME = "mock"
+
+SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "c3971991738caa55ec7c356bbc154ee2"
+SRC_URI[sha256sum] = "b839dd2d9c117c701430c149956918a423a9863b48b09c90e30a6013e7d2f44f"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += " \
+ python-prettytable \
+ python-cmd2 \
+ python-pyparsing \
+ python-mccabe \
+ python-pep8 \
+ python-pyflakes"
diff --git a/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch b/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch
index c1916b8b9f..c1916b8b9f 100644
--- a/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch
+++ b/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch
diff --git a/meta-oe/recipes-devtools/python/python-numeric_24.2.bb b/meta-python/recipes-devtools/python/python-numeric_24.2.bb
index c0b04e1441..c0b04e1441 100644
--- a/meta-oe/recipes-devtools/python/python-numeric_24.2.bb
+++ b/meta-python/recipes-devtools/python/python-numeric_24.2.bb
diff --git a/meta-python/recipes-devtools/python/python-pep8_1.4.6.bb b/meta-python/recipes-devtools/python/python-pep8_1.4.6.bb
new file mode 100644
index 0000000000..b3c743ebd7
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pep8_1.4.6.bb
@@ -0,0 +1,23 @@
+# Imported from git://git.yoctoproject.org/meta-cloud-services
+
+SUMMARY = "Python style guide checker"
+HOMEPAGE = "https://github.com/dreamhost/cliff"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=b0d37793ab91ca25ad5c200e9ea22331"
+
+SRCNAME = "pep8"
+
+SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "a03bb494859e87b42601b61b1b043a0c"
+SRC_URI[sha256sum] = "603a46e5c358ce20ac4807a0eeafac7505d1125a4c1bd8378757ada06f61bed8"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += " \
+ python-prettytable \
+ python-cmd2 \
+ python-pyparsing"
diff --git a/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb b/meta-python/recipes-devtools/python/python-pexpect_2.3.bb
index d4c2ba477d..d4c2ba477d 100644
--- a/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb
+++ b/meta-python/recipes-devtools/python/python-pexpect_2.3.bb
diff --git a/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb b/meta-python/recipes-devtools/python/python-pip_1.3.1.bb
index d1a7c8b3ae..d1a7c8b3ae 100644
--- a/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb
+++ b/meta-python/recipes-devtools/python/python-pip_1.3.1.bb
diff --git a/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb b/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
new file mode 100644
index 0000000000..fdc13eb119
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
@@ -0,0 +1,25 @@
+# Imported from git://git.yoctoproject.org/meta-cloud-services
+
+SUMMARY = "Python library for displaying tabular data in a ASCII table format"
+HOMEPAGE = "http://code.google.com/p/prettytable"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282"
+
+SRCNAME = "prettytable"
+
+SRC_URI = "http://pypi.python.org/packages/source/P/PrettyTable/${SRCNAME}-${PV}.zip"
+
+SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899"
+SRC_URI[sha256sum] = "a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+do_install_append() {
+ perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "top_level.txt"`
+ for f in $perm_files; do
+ chmod 644 "${f}"
+ done
+}
diff --git a/meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb b/meta-python/recipes-devtools/python/python-psutil_0.6.1.bb
index ff113d0f24..ff113d0f24 100644
--- a/meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb
+++ b/meta-python/recipes-devtools/python/python-psutil_0.6.1.bb
diff --git a/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb b/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb
index 0e660adff6..0e660adff6 100644
--- a/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb
+++ b/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb
diff --git a/meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb b/meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb
new file mode 100644
index 0000000000..ce48cd7323
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb
@@ -0,0 +1,23 @@
+# Imported from git://git.yoctoproject.org/meta-cloud-services
+
+SUMMARY = "passive checker of Python programs"
+HOMEPAGE = "https://github.com/dreamhost/cliff"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=1815018ebbbfc8659a9df33681a0936e"
+
+SRCNAME = "pyflakes"
+
+SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "ec94ac11cb110e6e72cca23c104b66b1"
+SRC_URI[sha256sum] = "dbd2c940a1030a4f811afc1a04017a44011c0cb54f8f384b66aa624097d9b5e3"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += " \
+ python-prettytable \
+ python-cmd2 \
+ python-pyparsing"
diff --git a/meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb b/meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb
new file mode 100644
index 0000000000..06d6d40143
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb
@@ -0,0 +1,18 @@
+# Imported from git://git.yoctoproject.org/meta-cloud-services
+
+SUMMARY = "Python parsing module"
+HOMEPAGE = "http://pyparsing.wikispaces.com/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a"
+
+SRCNAME = "pyparsing"
+
+SRC_URI = "http://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.zip"
+
+SRC_URI[md5sum] = "dc7036a6f1ab01c3baed3d97af8d77c0"
+SRC_URI[sha256sum] = "7e1766ee747cca79fe172b670fd53ef58fc55d2b1804fd6c66d857abb62d143a"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit distutils
diff --git a/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb b/meta-python/recipes-devtools/python/python-pyserial_2.4.bb
index 2263b2ccc0..2263b2ccc0 100644
--- a/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb
+++ b/meta-python/recipes-devtools/python/python-pyserial_2.4.bb
diff --git a/meta-python/recipes-devtools/python/python-pytz_2014.7.bb b/meta-python/recipes-devtools/python/python-pytz_2014.7.bb
new file mode 100644
index 0000000000..92d07961c5
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pytz_2014.7.bb
@@ -0,0 +1,19 @@
+SUMMARY = "World timezone definitions, modern and historical"
+HOMEPAGE = " http://pythonhosted.org/pytz"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22b38951eb857cf285a4560a914b7cd6"
+SRCNAME = "pytz"
+
+SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} = "\
+ python-core \
+ python-datetime \
+"
+
+SRC_URI[md5sum] = "8940ddae309e44b593c75a9e05dd2a0b"
+SRC_URI[sha256sum] = "bfc2bd00147e5ecf75399f4a94cb84cc00ce9b511a15f9958bb6c85a455f76eb"
diff --git a/meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb b/meta-python/recipes-devtools/python/python-pyudev_0.16.1.bb
index 964b5f92b5..964b5f92b5 100644
--- a/meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb
+++ b/meta-python/recipes-devtools/python/python-pyudev_0.16.1.bb
diff --git a/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb b/meta-python/recipes-devtools/python/python-pyusb_1.0.0a2.bb
index 360f213221..360f213221 100644
--- a/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb
+++ b/meta-python/recipes-devtools/python/python-pyusb_1.0.0a2.bb
diff --git a/meta-oe/recipes-devtools/python/python-pyyaml/setup.py b/meta-python/recipes-devtools/python/python-pyyaml/setup.py
index fb64983419..fb64983419 100644
--- a/meta-oe/recipes-devtools/python/python-pyyaml/setup.py
+++ b/meta-python/recipes-devtools/python/python-pyyaml/setup.py
diff --git a/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb b/meta-python/recipes-devtools/python/python-pyyaml_3.10.bb
index 100e1c81ac..100e1c81ac 100644
--- a/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb
+++ b/meta-python/recipes-devtools/python/python-pyyaml_3.10.bb
diff --git a/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb b/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb
new file mode 100644
index 0000000000..2714f43221
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Convenience functions for dbus services in Python 2.x"
+HOMEPAGE = "http://nphilipp.fedorapeople.org/python-slip/"
+DESCRIPTION = "\
+The Simple Library for Python 2.x packages contain miscellaneous code for \
+convenience, extension and workaround purposes. \
+\
+This package provides slip.dbus.service.Object, which is a dbus.service.Object \
+derivative that ends itself after a certain time without being used and/or if \
+there are no clients anymore on the message bus, as well as convenience \
+functions and decorators for integrating a dbus service with PolicyKit."
+
+SECTION = "devel/python"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+SRCNAME = "python-slip"
+
+SRC_URI = "https://fedorahosted.org/released/${SRCNAME}/${SRCNAME}-${PV}.tar.bz2"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+SRC_URI[md5sum] = "fb3299d75af1a67ca6679d96ce839da6"
+SRC_URI[sha256sum] = "f47361ec52b608309b83c71905e692b6b363eaf3b8a7afdeff866cd94463ad5c"
+
+do_compile_prepend() {
+ sed -e 's/@VERSION@/${PV}/g' setup.py.in > setup.py
+}
diff --git a/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb b/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb
index 14548a9635..df47df6248 100644
--- a/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb
+++ b/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb
@@ -4,8 +4,8 @@ LIC_FILES_CHKSUM = "file://smbusmodule.c;startline=1;endline=17;md5=fa24df321a52
SRC_URI = "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-${PV}.tar.bz2 \
"
-SRC_URI[md5sum] = "511376eed04455cdb277ef19c5f73bb4"
-SRC_URI[sha256sum] = "23b28e474741834e3f1b35b0686528769a13adc92d2ff5603cbda1d6bd5e5629"
+SRC_URI[md5sum] = "0fdbff53ebd0b8d9249256d6c56480b1"
+SRC_URI[sha256sum] = "14d4d7d60d1c12e43f2befe239c682a5c44c27682f153d4b58c1e392d2db1700"
DEPENDS = "i2c-tools"
diff --git a/meta-python/recipes-devtools/python/python-snakefood_1.4.bb b/meta-python/recipes-devtools/python/python-snakefood_1.4.bb
new file mode 100644
index 0000000000..1af33d44d4
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-snakefood_1.4.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Dependency graphing for Python"
+DESCRIPTION = " Generate dependency graphs from Python code. This \
+dependency tracker package has a few distinguishing characteristics \
+\
+ * It uses the AST to parse the Python files. This is very reliable, \
+ it always runs.\
+ * No module is loaded. Loading modules to figure out dependencies is \
+ almost always problem, because a lot of codebases run initialization \
+ code in the global namespace, which often requires additional setup. \
+ Snakefood is guaranteed not to have this problem (it just runs, no \
+ matter what).\
+ * It works on a set of files, i.e. you do not have to specify a single \
+ script, you can select a directory (package or else) or a set of files.\
+ It finds all the Python files recursively automatically.\
+ * Automatic/no configuration: your PYTHONPATH is automatically adjusted \
+ to include the required package roots. It figures out the paths that \
+ are required from the files/directories given as input. You should not \
+ have to setup ANYTHING.\
+ * It does not have to automatically 'follow' dependencies between modules,\
+ i.e. by default it only considers the files and directories you specify \
+ on the command-line and their immediate dependencies. It also has an \
+ option to automatically include only the dependencies within the \
+ packages of the files you specify.\
+ * It follows the UNIX philosophy of small programs that do one thing well:\
+ it consists of a few simple programs whose outputs you combine via \
+ pipes. Graphing dependencies always requires the user to filter and \
+ cluster the filenames, so this is appropriate. You can combine it with \
+ your favourite tools, grep, sed, etc.\
+\
+A problem with dependency trackers that run code is that they are unreliable, \
+due to the dynamic nature of Python (the presence of imports within function \
+calls and __import__ hooks makes it almost impossible to always do the right \
+thing). This script aims at being right 99% of the time, and we think that \
+given the trade-offs, 99% is good enough for 99% of the uses.\
+"
+AUTHOR = "Martin Blais <blais@furius.ca>"
+HOMEPAGE = "http://furius.ca/snakefood"
+SECTION = "devel/python"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+SRCNAME = "snakefood"
+
+SRC_URI = "https://pypi.python.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "56c88667a33d8909b0aabf2ab6903bdf"
+SRC_URI[sha256sum] = "295784668032254e7391ca99ba7060edd3ae4eca1a330ac11627b18ab5923b77"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} = " python-logging python-compiler python-shell"
+# the above modules do not have a -native counterpart
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb b/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb
index 43b4b7efa2..43b4b7efa2 100644
--- a/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb
+++ b/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb
diff --git a/meta-python/recipes-devtools/python/python-tornado_4.0.2.bb b/meta-python/recipes-devtools/python/python-tornado_4.0.2.bb
new file mode 100644
index 0000000000..f1b8141a24
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-tornado_4.0.2.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed."
+DESCRIPTION = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. \
+By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long \
+polling, WebSockets, and other applications that require a long-lived connection to each user."
+HOMEPAGE = "http://www.tornadoweb.org/en/stable/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5208df23820f490f691712a654be256d"
+
+SRCNAME = "tornado"
+
+SRC_URI = " \
+ https://pypi.python.org/packages/source/t/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
+"
+SRC_URI[md5sum] = "985c0e704b765c33a6193d49d1935588"
+SRC_URI[sha256sum] = "900c5124ebdb6598ca8e8a0c5888f41a5f14117952d5515258e3d20222b21bfa"
+
+inherit setuptools
+
+RDEPENDS_${PN} += "python-compression python-numbers python-email python-subprocess \
+ python-pkgutil python-html python-json python-backports-ssl python-certifi"
+
+RDEPENDS_${PN}-test += "${PN} python-unittest"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+PACKAGES =+ "\
+ ${PN}-test \
+"
+
+FILES_${PN}-test = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/${SRCNAME}/test \
+ ${libdir}/${PYTHON_DIR}/site-packages/${SRCNAME}/testing.py* \
+"
diff --git a/meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb b/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb
index 80d64a0193..2b433f718e 100644
--- a/meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb
+++ b/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb
@@ -38,8 +38,13 @@ PACKAGES += "\
${PN}-core \
"
-RDEPENDS_${PN} = "python-core python-zopeinterface"
-RDEPENDS_${PN} += "\
+PACKAGES =+ "\
+ ${PN}-src \
+ ${PN}-bin \
+"
+
+RDEPENDS_${PN} = "\
+ ${PN}-bin \
${PN}-conch \
${PN}-lore \
${PN}-mail \
@@ -50,6 +55,20 @@ RDEPENDS_${PN} += "\
${PN}-words \
"
+RDEPENDS_${PN}-core = "python-core python-zopeinterface python-contextlib"
+RDEPENDS_${PN}-test = "${PN}"
+RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-lore = "${PN}-core"
+RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-names = "${PN}-core"
+RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-runner = "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-web += "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-words += "${PN}-core"
+RDEPENDS_${PN}-flow += "${PN}-core"
+RDEPENDS_${PN}-pair += "${PN}-core"
+RDEPENDS_${PN}-dbg = "${PN}"
+
ALLOW_EMPTY_${PN} = "1"
FILES_${PN} = ""
@@ -220,3 +239,9 @@ ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \
${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \
"
+RDEPENDS_{PN}-src = "${PN}"
+FILES_${PN}-src = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \
+ "
diff --git a/meta-python/recipes-devtools/python/python-ujson_1.33.bb b/meta-python/recipes-devtools/python/python-ujson_1.33.bb
new file mode 100644
index 0000000000..8fdd2b8351
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-ujson_1.33.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Ultra fast JSON encoder and decoder for Python"
+DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3."
+HOMEPAGE = "https://pypi.python.org/pypi/ujson"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5b206f6ba5e41c60df8cdcddf79a3d82"
+
+SRCNAME = "ujson"
+
+SRC_URI = " \
+ http://pypi.python.org/packages/source/u/ujson/${SRCNAME}-${PV}.zip \
+"
+
+SRC_URI[md5sum] = "8148a2493fff78940feab1e11dc0a893"
+SRC_URI[sha256sum] = "68cf825f227c82e1ac61e423cfcad923ff734c27b5bdd7174495d162c42c602b"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += "python-numbers"
diff --git a/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb b/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb
index a28c02f7e7..a28c02f7e7 100644
--- a/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb
+++ b/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb
diff --git a/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb b/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb
index 7a6437dc53..7a6437dc53 100644
--- a/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb
+++ b/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb
diff --git a/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb b/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb
index 4151f585b8..4151f585b8 100644
--- a/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb
+++ b/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb
diff --git a/meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb
new file mode 100644
index 0000000000..bfb4f6f87b
--- /dev/null
+++ b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "pyparted is a set of Python modules that provide Python programmers \
+an interface to libparted, the GNU parted library for disk partitioning and \
+filesystem manipulation."
+SUMMARY = "Python bindings for libparted"
+HOMEPAGE = "https://fedorahosted.org/pyparted/"
+LICENSE = "GPL-2.0+"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
+ file://src/_pedmodule.c;startline=10;endline=22;md5=70c62bd73782a03f56a0571a9f08ea46 \
+"
+DEPENDS += "parted"
+
+SRC_URI = "https://fedorahosted.org/releases/p/y/pyparted/pyparted-${PV}.tar.gz"
+SRC_URI[md5sum] = "f16c7ef7f5fa4a43fcb2a4654b487e39"
+SRC_URI[sha256sum] = "a56712e3d058ce3d859c158236dbbf45224018919efd3d880ea80f9e0d0bebbb"
+S = "${WORKDIR}/pyparted-${PV}"
+
+inherit distutils
+
+RDEPENDS_${PN} += "python-stringold python-codecs python-math"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND += "native"
diff --git a/meta-ruby/classes/ruby.bbclass b/meta-ruby/classes/ruby.bbclass
new file mode 100644
index 0000000000..9c4fcf9c3c
--- /dev/null
+++ b/meta-ruby/classes/ruby.bbclass
@@ -0,0 +1,125 @@
+BPV ?= "${PV}"
+
+DEPENDS += " \
+ ruby-native \
+"
+RDEPENDS_${PN} += " \
+ ruby \
+"
+
+def get_rubyversion(p):
+ import re
+ from os.path import isfile
+ import subprocess
+ found_version = "SOMETHING FAILED!"
+
+ cmd = "%s/ruby" % p
+
+ if not isfile(cmd):
+ return found_version
+
+ version = subprocess.Popen([cmd, "--version"], stdout=subprocess.PIPE).communicate()[0]
+
+ r = re.compile("ruby ([0-9]+\.[0-9]+\.[0-9]+)*")
+ m = r.match(version)
+ if m:
+ found_version = m.group(1)
+
+ return found_version
+
+def get_rubygemslocation(p):
+ import re
+ from os.path import isfile
+ import subprocess
+ found_loc = "SOMETHING FAILED!"
+
+ cmd = "%s/gem" % p
+
+ if not isfile(cmd):
+ return found_loc
+
+ loc = subprocess.Popen([cmd, "env"], stdout=subprocess.PIPE).communicate()[0]
+
+ r = re.compile(".*\- (/usr.*/ruby/gems/.*)")
+ for line in loc.split('\n'):
+ m = r.match(line)
+ if m:
+ found_loc = m.group(1)
+ break
+
+ return found_loc
+
+def get_rubygemsversion(p):
+ import re
+ from os.path import isfile
+ import subprocess
+ found_version = "SOMETHING FAILED!"
+
+ cmd = "%s/gem" % p
+
+ if not isfile(cmd):
+ return found_version
+
+ version = subprocess.Popen([cmd, "env", "gemdir"], stdout=subprocess.PIPE).communicate()[0]
+
+ r = re.compile(".*([0-9]+\.[0-9]+\.[0-9]+)$")
+ m = r.match(version)
+ if m:
+ found_version = m.group(1)
+
+ return found_version
+
+RUBY_VERSION ?= "${@get_rubyversion("${STAGING_BINDIR_NATIVE}")}"
+RUBY_GEM_DIRECTORY ?= "${@get_rubygemslocation("${STAGING_BINDIR_NATIVE}")}"
+RUBY_GEM_VERSION ?= "${@get_rubygemsversion("${STAGING_BINDIR_NATIVE}")}"
+
+export GEM_HOME = "${STAGING_DIR_NATIVE}/usr/lib/ruby/gems/${RUBY_GEM_VERSION}"
+
+RUBY_BUILD_GEMS ?= "${BPN}.gemspec"
+RUBY_INSTALL_GEMS ?= "${BPN}-${BPV}.gem"
+
+RUBY_COMPILE_FLAGS ?= 'LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8"'
+
+ruby_do_compile() {
+ for gem in ${RUBY_BUILD_GEMS}; do
+ ${RUBY_COMPILE_FLAGS} gem build $gem
+ done
+}
+
+
+ruby_do_install() {
+ for gem in ${RUBY_INSTALL_GEMS}; do
+ gem install --ignore-dependencies --local --env-shebang --install-dir ${D}/${libdir}/ruby/gems/${RUBY_GEM_VERSION}/ $gem
+ done
+
+ # create symlink from the gems bin directory to /usr/bin
+ for i in ${D}/${libdir}/ruby/gems/${RUBY_GEM_VERSION}/bin/*; do
+ if [ -e "$i" ]; then
+ if [ ! -d ${D}/${bindir} ]; then mkdir -p ${D}/${bindir}; fi
+ b=`basename $i`
+ ln -sf ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/bin/$b ${D}/${bindir}/$b
+ fi
+ done
+}
+
+EXPORT_FUNCTIONS do_compile do_install
+
+PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev"
+
+FILES_${PN}-dbg += " \
+ ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/.debug \
+ ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/*/.debug \
+ ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/*/*/.debug \
+ ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/*/*/*/.debug \
+ "
+
+FILES_${PN} += " \
+ ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems \
+ ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/cache \
+ ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/bin \
+ ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/specifications \
+ "
+
+FILES_${PN}-doc += " \
+ ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/doc \
+ "
diff --git a/meta-ruby/conf/layer.conf b/meta-ruby/conf/layer.conf
index 6c2369f2c4..b526a5d394 100644
--- a/meta-ruby/conf/layer.conf
+++ b/meta-ruby/conf/layer.conf
@@ -7,3 +7,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "ruby-layer"
BBFILE_PATTERN_ruby-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_ruby-layer = "7"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_ruby-layer = "1"
+
+LAYERDEPENDS_ruby-layer = "core openembedded-layer"
diff --git a/meta-ruby/recipes-devtools/ruby/bundler_git.bb b/meta-ruby/recipes-devtools/ruby/bundler_git.bb
new file mode 100644
index 0000000000..2adde4d215
--- /dev/null
+++ b/meta-ruby/recipes-devtools/ruby/bundler_git.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Makes sure Ruby applications run the same code on every machine."
+DESCRIPTION = "Bundler makes sure Ruby applications run the same code \
+on every machine. It does this by managing the gems that the \
+application depends on. Given a list of gems, it can automatically \
+download and install those gems, as well as any other gems needed by \
+the gems that are listed. Before installing gems, it checks the \
+versions of every gem to make sure that they are compatible, and can \
+all be loaded at the same time. After the gems have been installed, \
+Bundler can help you update some or all of them when new versions \
+become available. Finally, it records the exact versions that have \
+been installed, so that others can install the exact same gems."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=196bb963e601609817d7e9ac9a64a867"
+
+PR = "r0"
+
+PV = "1.6.2"
+SRCREV = "06e3647c117da210ffd15a174624497830addd7b"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+ git://github.com/bundler/bundler.git \
+ "
+
+inherit ruby
+
+BBCLASSEXTEND = "native"
diff --git a/meta-ruby/recipes-devtools/ruby/ruby.inc b/meta-ruby/recipes-devtools/ruby/ruby.inc
index e679f27a21..770286960d 100644
--- a/meta-ruby/recipes-devtools/ruby/ruby.inc
+++ b/meta-ruby/recipes-devtools/ruby/ruby.inc
@@ -15,12 +15,12 @@ LIC_FILES_CHKSUM = "\
"
DEPENDS = "ruby-native zlib openssl tcl libyaml db gdbm readline"
-DEPENDS_class-native = ""
+DEPENDS_class-native = "libyaml-native"
INC_PR = "r1"
SHRT_VER = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}"
-SRC_URI = "http://ftp.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \
+SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \
file://extmk.patch \
"
diff --git a/meta-ruby/recipes-devtools/ruby/ruby/remove-the-dependency-on-dir.patch b/meta-ruby/recipes-devtools/ruby/ruby/remove-the-dependency-on-dir.patch
new file mode 100644
index 0000000000..a4ac3eaccb
--- /dev/null
+++ b/meta-ruby/recipes-devtools/ruby/ruby/remove-the-dependency-on-dir.patch
@@ -0,0 +1,37 @@
+remove a duplicate dependency
+
+Upstream-status: Pending
+
+The install-rb-default dependency is as below:
+
+pre-install-rb-default:
+ mkdir -p $(RUBYLIBDIR)/bigdecimal
+
+install-rb-default: pre-install-rb-default $(RUBYLIBDIR)/bigdecimal
+
+In fact, dependency on $(RUBYLIBDIR)/bigdecimal is duplicate, and not rule
+for $(RUBYLIBDIR)/bigdecimal, once $(RUBYLIBDIR)/bigdecimal is checked before
+pre-install-rb-default, the below error will happen
+ *** No rule to make target `../../.ext/common/yaml', needed by `install-rb-default'. Stop
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ lib/mkmf.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/mkmf.rb b/lib/mkmf.rb
+index 1f5ed76..556684c 100644
+--- a/lib/mkmf.rb
++++ b/lib/mkmf.rb
+@@ -2054,7 +2054,7 @@ static: $(STATIC_LIB)#{$extout ? " install-rb" : ""}
+ end
+ for f in files
+ dest = "#{dir}/#{File.basename(f)}"
+- mfile.print("install-rb#{sfx}: #{dest} #{dir}\n")
++ mfile.print("install-rb#{sfx}: #{dest}\n")
+ mfile.print("#{dest}: #{f}\n")
+ mfile.print("\t$(Q) $(#{$extout ? 'COPY' : 'INSTALL_DATA'}) #{f} $(@D#{sep})\n")
+ if defined?($installed_list) and !$extout
+--
+1.7.10.4
+
diff --git a/meta-ruby/recipes-devtools/ruby/ruby/ruby-1.9.3-fix-s390x-build.patch b/meta-ruby/recipes-devtools/ruby/ruby/ruby-1.9.3-fix-s390x-build.patch
deleted file mode 100644
index d0ade91a44..0000000000
--- a/meta-ruby/recipes-devtools/ruby/ruby/ruby-1.9.3-fix-s390x-build.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up ruby-1.9.3-p0/ext/tk/extconf.rb.orig ruby-1.9.3-p0/ext/tk/extconf.rb
---- ruby-1.9.3-p0/ext/tk/extconf.rb.orig 2011-06-29 16:11:19.000000000 +0200
-+++ ruby-1.9.3-p0/ext/tk/extconf.rb 2011-10-18 16:15:59.406299659 +0200
-@@ -114,7 +114,7 @@ def is_macosx?
- end
-
- def maybe_64bit?
-- /64|universal/ =~ RUBY_PLATFORM
-+ /64|universal|s390x/ =~ RUBY_PLATFORM
- end
-
- def check_tcltk_version(version)
diff --git a/meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch b/meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch
new file mode 100644
index 0000000000..5ac5d54a3f
--- /dev/null
+++ b/meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch
@@ -0,0 +1,31 @@
+Subject: [PATCH] mkmf.rb: fix race conditions at install-ext
+
+Upstream-Status: backport
+
+* lib/mkmf.rb (create_makefile): fix race conditions at install-ext.
+ target files need to depend on destination directory timestamp
+ files, not phony trgets.
+
+git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ lib/mkmf.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/mkmf.rb b/lib/mkmf.rb
+index 556684c..a277354 100644
+--- a/lib/mkmf.rb
++++ b/lib/mkmf.rb
+@@ -2055,7 +2055,7 @@ static: $(STATIC_LIB)#{$extout ? " install-rb" : ""}
+ for f in files
+ dest = "#{dir}/#{File.basename(f)}"
+ mfile.print("install-rb#{sfx}: #{dest}\n")
+- mfile.print("#{dest}: #{f}\n")
++ mfile.print("#{dest}: #{f} #{timestamp_file(dir)}\n")
+ mfile.print("\t$(Q) $(#{$extout ? 'COPY' : 'INSTALL_DATA'}) #{f} $(@D#{sep})\n")
+ if defined?($installed_list) and !$extout
+ mfile.print("\t@echo #{dest}>>$(INSTALLED_LIST)\n")
+--
+2.0.0
+
diff --git a/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p429.bb b/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb
index 48a65a948b..834cb7187f 100644
--- a/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p429.bb
+++ b/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb
@@ -5,21 +5,25 @@ SRC_URI += "\
file://0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch \
file://ruby-1.9.3-always-use-i386.patch \
file://ruby-1.9.3-disable-versioned-paths.patch \
- file://ruby-1.9.3-fix-s390x-build.patch \
file://ruby-1.9.3-rubygems-1.8.11-uninstaller.patch \
file://ruby-1.9.3-custom-rubygems-location.patch \
file://rubygems-1.8.11-binary-extensions.patch \
file://ruby-1.9.3-mkmf-verbose.patch \
file://ruby-1.9.3-install-cross.patch \
+ file://remove-the-dependency-on-dir.patch \
+ file://ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch \
"
-SRC_URI[md5sum] = "993c72f7f805a9eb453f90b0b7fe0d2b"
-SRC_URI[sha256sum] = "d192d1afc46a7ef27b9d0a3c7a67b509048984db2c38907aa82641bdf980acf4"
+SRC_URI[md5sum] = "7531f9b1b35b16f3eb3d7bea786babfd"
+SRC_URI[sha256sum] = "9ba118e4aba04c430bc4d5efb09b31a0277e101c9fd2ef3b80b9c684d7ae57a1"
# it's unknown to configure script, but then passed to extconf.rb
# maybe it's not really needed as we're hardcoding the result with
# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch
UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind"
+
EXTRA_OECONF = "\
--enable-wide-getaddrinfo \
--disable-versioned-paths \
@@ -33,11 +37,7 @@ EXTRA_OEMAKE = " \
"
do_install() {
- if [ ${PN} = "ruby" ]; then
- oe_runmake 'DESTDIR=${D}' install install-cross
- else
- oe_runmake 'DESTDIR=${D}' install
- fi
+ oe_runmake 'DESTDIR=${D}' install
}
FILES_${PN} += "${datadir}/rubygems \
diff --git a/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps/keymaps.service b/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps/keymaps.service
deleted file mode 100644
index 414ad0cf00..0000000000
--- a/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps/keymaps.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Loads custom keymap if available
-ConditionPathExists=/etc/keymap-2.6.map
-
-[Service]
-ExecStart=/usr/bin/loadkeys /etc/keymap-2.6.map
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend b/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend
index bc40c6022b..181b8784dd 100644
--- a/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend
+++ b/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend
@@ -1,15 +1,4 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += " file://keymaps.service"
-
-inherit systemd
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${PN}.service"
-
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/${PN}.service ${D}${systemd_unitdir}/system
-}
diff --git a/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_0.6.31.bbappend b/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_0.6.31.bbappend
index 5b6e559cc8..181b8784dd 100644
--- a/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_0.6.31.bbappend
+++ b/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_0.6.31.bbappend
@@ -1,9 +1,4 @@
-inherit systemd
-
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "avahi-daemon.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-FILES_${PN} += "${systemd_unitdir}/system/"
diff --git a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcpd.service b/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcpd.service
deleted file mode 100644
index 70beee92e6..0000000000
--- a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcpd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Dynamic Host Configuration Protocol (DHCP)
-After=syslog.target network.target
-
-[Service]
-Type=forking
-PIDFile=/var/run/dhcpd.pid
-EnvironmentFile=-/etc/default/dhcp-server
-ExecStart=/usr/sbin/dhcpd -cf /etc/dhcp/dhcpd.conf -q $INTERFACES
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcrelay.service b/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcrelay.service
deleted file mode 100644
index f68f468eef..0000000000
--- a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcrelay.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=DHCP Relay Agent Daemon
-After=syslog.target network.target
-
-[Service]
-EnvironmentFile=/etc/default/dhcp-relay
-ExecStart=/usr/sbin/dhcrelay -d $DHCRELAYARGS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend b/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend
index 1dd6d58eb6..6c0fd02641 100644
--- a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend
+++ b/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend
@@ -1,16 +1,10 @@
# look for files in the layer first
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-inherit systemd
-
-SYSTEMD_PACKAGES = "dhcp-server dhcp-relay dhcp-client"
-SYSTEMD_SERVICE_dhcp-server = "dhcpd.service"
-SYSTEMD_SERVICE_dhcp-relay = "dhcrelay.service"
+SYSTEMD_PACKAGES += "dhcp-client"
SYSTEMD_SERVICE_dhcp-client = "dhclient.service"
SYSTEMD_AUTO_ENABLE_dhcp-client = "disable"
-FILES_dhcp-server += "${systemd_unitdir}/system/dhcpd.service"
-FILES_dhcp-relay += "${systemd_unitdir}/system/dhrelay.service"
FILES_dhcp-client += "${systemd_unitdir}/system/dhclient.service"
RPROVIDES_dhcp-server += "dhcp-server-systemd"
RREPLACES_dhcp-server += "dhcp-server-systemd"
@@ -22,14 +16,9 @@ RPROVIDES_dhcp-client += "dhcp-client-systemd"
RREPLACES_dhcp-client += "dhcp-client-systemd"
RCONFLICTS_dhcp-client += "dhcp-client-systemd"
-SRC_URI += "file://dhcpd.service \
- file://dhclient.service \
- file://dhcrelay.service \
-"
+SRC_URI += "file://dhclient.service"
+
do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dhcpd.service ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/dhclient.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dhcrelay.service ${D}${systemd_unitdir}/system
}
diff --git a/meta-systemd/oe-core/recipes-connectivity/portmap/portmap/portmap.service b/meta-systemd/oe-core/recipes-connectivity/portmap/portmap/portmap.service
deleted file mode 100644
index cffb56c1d0..0000000000
--- a/meta-systemd/oe-core/recipes-connectivity/portmap/portmap/portmap.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Portmap
-
-[Service]
-Type=oneshot
-ExecStart=/sbin/portmap -l
-RemainAfterExit=yes
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend b/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend
index 765f4b3285..6ce6e70d98 100644
--- a/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend
+++ b/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend
@@ -1,16 +1,5 @@
-FILESEXTRAPATHS := "${THISDIR}/${PN}"
-
-inherit systemd
-
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "portmap.service"
SYSTEMD_AUTO_ENABLE = "disable"
-SRC_URI_append = " file://portmap.service"
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/portmap.service ${D}${systemd_unitdir}/system
-}
-
diff --git a/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-klogd.service.in b/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-klogd.service.in
deleted file mode 100644
index d7c77558f3..0000000000
--- a/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-klogd.service.in
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Kernel Logging Service
-
-[Service]
-ExecStart=@base_sbindir@/klogd -n
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-syslog.service.in b/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-syslog.service.in
deleted file mode 100644
index 2e04321385..0000000000
--- a/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-syslog.service.in
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=System Logging Service
-Wants=busybox-klogd.service
-
-[Service]
-EnvironmentFile=-/etc/default/busybox-syslog
-ExecStart=@base_sbindir@/syslogd -n $OPTIONS
-Sockets=syslog.socket
-
-[Install]
-WantedBy=multi-user.target
-Also=busybox-klogd.service
-Alias=syslog.service
diff --git a/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend b/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend
index 6362bdba65..642d450a51 100644
--- a/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend
+++ b/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend
@@ -1,25 +1,3 @@
-inherit systemd
-
-# look for files in the layer first
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://busybox-syslog.service.in \
- file://busybox-klogd.service.in"
-
-SYSTEMD_PACKAGES = "${PN}-syslog"
-SYSTEMD_SERVICE_${PN}-syslog = "busybox-syslog.service"
-
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \
- > ${D}${systemd_unitdir}/system/busybox-syslog.service
- sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \
- > ${D}${systemd_unitdir}/system/busybox-klogd.service
-
- ln -sf /dev/null ${D}${systemd_unitdir}/system/syslog.service
-}
-FILES_${PN}-syslog += "${systemd_unitdir}/system/syslog.service"
-
RPROVIDES_${PN}-syslog += "${PN}-syslog-systemd"
RREPLACES_${PN}-syslog += "${PN}-syslog-systemd"
RCONFLICTS_${PN}-syslog += "${PN}-syslog-systemd"
diff --git a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear.socket b/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear.socket
deleted file mode 100644
index e5c61b755e..0000000000
--- a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear.socket
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Conflicts=dropbear.service
-
-[Socket]
-ListenStream=22
-Accept=yes
-
-[Install]
-WantedBy=sockets.target
-Also=dropbearkey.service
diff --git a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear@.service b/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear@.service
deleted file mode 100644
index 59ed07b6d0..0000000000
--- a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear@.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=SSH Per-Connection Server
-Requires=dropbearkey.service
-After=syslog.target dropbearkey.service
-
-[Service]
-EnvironmentFile=-/etc/default/dropbear
-ExecStart=-/usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -p 22 $DROPBEAR_EXTRA_ARGS
-ExecReload=/bin/kill -HUP $MAINPID
-StandardInput=socket
-KillMode=process
diff --git a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbearkey.service b/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbearkey.service
deleted file mode 100644
index 7f03000ebc..0000000000
--- a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbearkey.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=SSH Key Generation
-ConditionPathExists=|!/etc/dropbear/dropbear_rsa_host_key
-
-[Service]
-ExecStart=/usr/sbin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
-RemainAfterExit=yes
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend b/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend
index fc18ea8e32..181b8784dd 100644
--- a/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend
+++ b/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend
@@ -1,21 +1,4 @@
-inherit systemd
-
-# look for files in the layer first
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://dropbearkey.service \
- file://dropbear@.service \
- file://dropbear.socket"
-
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "dropbear.socket"
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_unitdir}/system
- ln -sf /dev/null ${D}${systemd_unitdir}/system/dropbear.service
-}
diff --git a/meta-systemd/oe-core/recipes-extended/at/at/atd.service b/meta-systemd/oe-core/recipes-extended/at/at/atd.service
deleted file mode 100644
index 64a9015500..0000000000
--- a/meta-systemd/oe-core/recipes-extended/at/at/atd.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Job spooling tools
-After=syslog.target
-
-[Service]
-ExecStart=/usr/sbin/atd -f
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend b/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend
new file mode 100644
index 0000000000..181b8784dd
--- /dev/null
+++ b/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend
@@ -0,0 +1,4 @@
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+
diff --git a/meta-systemd/oe-core/recipes-extended/at/at_3.1.14.bbappend b/meta-systemd/oe-core/recipes-extended/at/at_3.1.14.bbappend
deleted file mode 100644
index 3a22fe3bda..0000000000
--- a/meta-systemd/oe-core/recipes-extended/at/at_3.1.14.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-inherit systemd
-
-# look for files in the layer first
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://atd.service"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "atd.service"
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system
-}
-
diff --git a/meta-systemd/oe-core/recipes-extended/cronie/cronie/crond.service b/meta-systemd/oe-core/recipes-extended/cronie/cronie/crond.service
deleted file mode 100644
index 5ae193bfcc..0000000000
--- a/meta-systemd/oe-core/recipes-extended/cronie/cronie/crond.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Periodic Command Scheduler
-
-[Service]
-ExecStart=/usr/sbin/crond -n
-ExecReload=/bin/kill -HUP $MAINPID
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend b/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend
new file mode 100644
index 0000000000..f006b3fb5b
--- /dev/null
+++ b/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend
@@ -0,0 +1,3 @@
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend b/meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend
deleted file mode 100644
index 8f45f3ee52..0000000000
--- a/meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend
+++ /dev/null
@@ -1,17 +0,0 @@
-# look for files in the layer first
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-inherit systemd
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "crond.service"
-
-SRC_URI += "file://crond.service"
-
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system
-}
-
diff --git a/meta-systemd/oe-core/recipes-extended/pam/libpam_1.1.6.bbappend b/meta-systemd/oe-core/recipes-extended/pam/libpam_1.1.6.bbappend
deleted file mode 100644
index db55082093..0000000000
--- a/meta-systemd/oe-core/recipes-extended/pam/libpam_1.1.6.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-# Register with logind to make screen/tmux/etc work
-do_install_append() {
- echo "session required pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session
-}
diff --git a/meta-webserver/README b/meta-webserver/README
index f3fe735558..379b54a02b 100644
--- a/meta-webserver/README
+++ b/meta-webserver/README
@@ -29,10 +29,24 @@ Layout
------
recipes-httpd/ Web servers
-recipes-php/ PHP and PHP applications
+recipes-php/ PHP applications
+recipes-support/ Miscellaneous support recipes
recipes-webadmin/ Standalone web administration interfaces
+Notes
+-----
+
+* This layer used to provide a modphp recipe that built mod_php, but
+ this is now built as part of the php recipe in meta-oe. However, since
+ apache2 is required to build mod_php, and apache2 recipe is in this
+ layer and recipes in meta-oe can't depend on it, mod_php is not built
+ by default. If you do wish to use mod_php, you need to add "apache2"
+ to the PACKAGECONFIG value for the php recipe in order to enable it.
+ See here for info on how to do that:
+
+ http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-PACKAGECONFIG
+
Maintenance
-----------
diff --git a/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.9.bb b/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.10.bb
index aaa7e607d6..5963b79435 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.9.bb
+++ b/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.10.bb
@@ -6,21 +6,22 @@ DEPENDS = "expat-native pcre-native apr-native apr-util-native"
SECTION = "net"
LICENSE = "Apache-2.0"
-inherit native
+inherit autotools pkgconfig native
-SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2"
+SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2 \
+ file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+ "
S = "${WORKDIR}/httpd-${PV}"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
-SRC_URI[md5sum] = "2ef4e65353497606b24fa9bb3e5a3c40"
-SRC_URI[sha256sum] = "f78cc90dfa47caf3d83ad18fd6b4e85f237777c1733fc9088594b70ce2847603"
+SRC_URI[md5sum] = "44543dff14a4ebc1e9e2d86780507156"
+SRC_URI[sha256sum] = "176c4dac1a745f07b7b91e7f4fd48f9c48049fa6f088efe758d61d9738669c6a"
-do_configure () {
- ./configure --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
- --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
- --prefix=${prefix} --datadir=${datadir}/apache2
-}
+EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
+ --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
+ --prefix=${prefix} --datadir=${datadir}/apache2 \
+ "
do_install () {
install -d ${D}${bindir} ${D}${libdir}
@@ -28,13 +29,15 @@ do_install () {
install -m 755 support/apxs ${D}${bindir}/
install -m 755 httpd ${D}${bindir}/
install -d ${D}${datadir}/apache2/build
+ cp ${S}/build/*.mk ${D}${datadir}/apache2/build
cp build/*.mk ${D}${datadir}/apache2/build
- cp build/instdso.sh ${D}${datadir}/apache2/build
+ cp ${S}/build/instdso.sh ${D}${datadir}/apache2/build
install -d ${D}${includedir}/apache2
+ cp ${S}/include/* ${D}${includedir}/apache2
cp include/* ${D}${includedir}/apache2
- cp os/unix/os.h ${D}${includedir}/apache2
- cp os/unix/unixd.h ${D}${includedir}/apache2
+ cp ${S}/os/unix/os.h ${D}${includedir}/apache2
+ cp ${S}/os/unix/unixd.h ${D}${includedir}/apache2
cp support/envvars-std ${D}${bindir}/envvars
chmod 755 ${D}${bindir}/envvars
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/apache-CVE-2014-0117.patch b/meta-webserver/recipes-httpd/apache2/apache2/apache-CVE-2014-0117.patch
new file mode 100644
index 0000000000..8585f0bb30
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/apache2/apache-CVE-2014-0117.patch
@@ -0,0 +1,289 @@
+apache: CVE-2014-0117
+
+The patch comes from upstream:
+http://svn.apache.org/viewvc?view=revision&revision=1610674
+
+SECURITY (CVE-2014-0117): Fix a crash in mod_proxy. In a
+reverse proxy configuration, a remote attacker could send a carefully crafted
+request which could crash a server process, resulting in denial of service.
+
+Thanks to Marek Kroemeke working with HP's Zero Day Initiative for
+reporting this issue.
+
+Upstream-Status: Backport
+
+Submitted by: Edward Lu, breser, covener
+Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
+---
+ modules/proxy/mod_proxy_http.c | 8 +++-
+ include/httpd.h | 17 ++++++++
+ modules/proxy/proxy_util.c | 67 ++++++++++++++----------------
+ server/util.c | 89 ++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 143 insertions(+), 38 deletions(-)
+
+diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c
+index cffad2e..f11c16f 100644
+--- a/modules/proxy/mod_proxy_http.c
++++ b/modules/proxy/mod_proxy_http.c
+@@ -1362,6 +1362,7 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r,
+ */
+ if (apr_date_checkmask(buffer, "HTTP/#.# ###*")) {
+ int major, minor;
++ int toclose;
+
+ major = buffer[5] - '0';
+ minor = buffer[7] - '0';
+@@ -1470,7 +1471,12 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r,
+ te = apr_table_get(r->headers_out, "Transfer-Encoding");
+
+ /* strip connection listed hop-by-hop headers from response */
+- backend->close = ap_proxy_clear_connection_fn(r, r->headers_out);
++ toclose = ap_proxy_clear_connection_fn(r, r->headers_out);
++ backend->close = (toclose != 0);
++ if (toclose < 0) {
++ return ap_proxyerror(r, HTTP_BAD_REQUEST,
++ "Malformed connection header");
++ }
+
+ if ((buf = apr_table_get(r->headers_out, "Content-Type"))) {
+ ap_set_content_type(r, apr_pstrdup(p, buf));
+diff --git a/include/httpd.h b/include/httpd.h
+index 36cd58d..9a2cf5c 100644
+--- a/include/httpd.h
++++ b/include/httpd.h
+@@ -1528,6 +1528,23 @@ AP_DECLARE(int) ap_find_etag_weak(apr_pool_t *p, const char *line, const char *t
+ AP_DECLARE(int) ap_find_etag_strong(apr_pool_t *p, const char *line, const char *tok);
+
+ /**
++ * Retrieve an array of tokens in the format "1#token" defined in RFC2616. Only
++ * accepts ',' as a delimiter, does not accept quoted strings, and errors on
++ * any separator.
++ * @param p The pool to allocate from
++ * @param tok The line to read tokens from
++ * @param tokens Pointer to an array of tokens. If not NULL, must be an array
++ * of char*, otherwise it will be allocated on @a p when a token is found
++ * @param skip_invalid If true, when an invalid separator is encountered, it
++ * will be ignored.
++ * @return NULL on success, an error string otherwise.
++ * @remark *tokens may be NULL on output if NULL in input and no token is found
++ */
++AP_DECLARE(const char *) ap_parse_token_list_strict(apr_pool_t *p, const char *tok,
++ apr_array_header_t **tokens,
++ int skip_invalid);
++
++/**
+ * Retrieve a token, spacing over it and adjusting the pointer to
+ * the first non-white byte afterwards. Note that these tokens
+ * are delimited by semis and commas and can also be delimited
+diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c
+index 67dc939..58daa21 100644
+--- a/modules/proxy/proxy_util.c
++++ b/modules/proxy/proxy_util.c
+@@ -2847,68 +2847,59 @@ PROXY_DECLARE(proxy_balancer_shared *) ap_proxy_find_balancershm(ap_slotmem_prov
+ typedef struct header_connection {
+ apr_pool_t *pool;
+ apr_array_header_t *array;
+- const char *first;
+- unsigned int closed:1;
++ const char *error;
++ int is_req;
+ } header_connection;
+
+ static int find_conn_headers(void *data, const char *key, const char *val)
+ {
+ header_connection *x = data;
+- const char *name;
+-
+- do {
+- while (*val == ',' || *val == ';') {
+- val++;
+- }
+- name = ap_get_token(x->pool, &val, 0);
+- if (!strcasecmp(name, "close")) {
+- x->closed = 1;
+- }
+- if (!x->first) {
+- x->first = name;
+- }
+- else {
+- const char **elt;
+- if (!x->array) {
+- x->array = apr_array_make(x->pool, 4, sizeof(char *));
+- }
+- elt = apr_array_push(x->array);
+- *elt = name;
+- }
+- } while (*val);
+
+- return 1;
++ x->error = ap_parse_token_list_strict(x->pool, val, &x->array, !x->is_req);
++ return !x->error;
+ }
+
+ /**
+ * Remove all headers referred to by the Connection header.
++ * Returns -1 on error. Otherwise, returns 1 if 'Close' was seen in
++ * the Connection header tokens, and 0 if not.
+ */
+ static int ap_proxy_clear_connection(request_rec *r, apr_table_t *headers)
+ {
+- const char **name;
++ int closed = 0;
+ header_connection x;
+
+ x.pool = r->pool;
+ x.array = NULL;
+- x.first = NULL;
+- x.closed = 0;
++ x.error = NULL;
++ x.is_req = (headers == r->headers_in);
+
+ apr_table_unset(headers, "Proxy-Connection");
+
+ apr_table_do(find_conn_headers, &x, headers, "Connection", NULL);
+- if (x.first) {
+- /* fast path - no memory allocated for one header */
+- apr_table_unset(headers, "Connection");
+- apr_table_unset(headers, x.first);
++ apr_table_unset(headers, "Connection");
++
++ if (x.error) {
++ ap_log_rerror(APLOG_MARK, APLOG_NOTICE, 0, r, APLOGNO()
++ "Error parsing Connection header: %s", x.error);
++ return -1;
+ }
++
+ if (x.array) {
+- /* two or more headers */
+- while ((name = apr_array_pop(x.array))) {
+- apr_table_unset(headers, *name);
++ int i;
++ for (i = 0; i < x.array->nelts; i++) {
++ const char *name = APR_ARRAY_IDX(x.array, i, const char *);
++ ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO()
++ "Removing header '%s' listed in Connection header",
++ name);
++ if (!strcasecmp(name, "close")) {
++ closed = 1;
++ }
++ apr_table_unset(headers, name);
+ }
+ }
+
+- return x.closed;
++ return closed;
+ }
+
+ PROXY_DECLARE(int) ap_proxy_create_hdrbrgd(apr_pool_t *p,
+@@ -3095,7 +3086,9 @@ PROXY_DECLARE(int) ap_proxy_create_hdrbrgd(apr_pool_t *p,
+ * apr is compiled with APR_POOL_DEBUG.
+ */
+ headers_in_copy = apr_table_copy(r->pool, r->headers_in);
+- ap_proxy_clear_connection(r, headers_in_copy);
++ if (ap_proxy_clear_connection(r, headers_in_copy) < 0) {
++ return HTTP_BAD_REQUEST;
++ }
+ /* send request headers */
+ headers_in_array = apr_table_elts(headers_in_copy);
+ headers_in = (const apr_table_entry_t *) headers_in_array->elts;
+diff --git a/server/util.c b/server/util.c
+index e0ba5c2..541c9f0 100644
+--- a/server/util.c
++++ b/server/util.c
+@@ -1449,6 +1449,95 @@ AP_DECLARE(int) ap_find_etag_weak(apr_pool_t *p, const char *line,
+ return find_list_item(p, line, tok, AP_ETAG_WEAK);
+ }
+
++/* Grab a list of tokens of the format 1#token (from RFC7230) */
++AP_DECLARE(const char *) ap_parse_token_list_strict(apr_pool_t *p,
++ const char *str_in,
++ apr_array_header_t **tokens,
++ int skip_invalid)
++{
++ int in_leading_space = 1;
++ int in_trailing_space = 0;
++ int string_end = 0;
++ const char *tok_begin;
++ const char *cur;
++
++ if (!str_in) {
++ return NULL;
++ }
++
++ tok_begin = cur = str_in;
++
++ while (!string_end) {
++ const unsigned char c = (unsigned char)*cur;
++
++ if (!TEST_CHAR(c, T_HTTP_TOKEN_STOP) && c != '\0') {
++ /* Non-separator character; we are finished with leading
++ * whitespace. We must never have encountered any trailing
++ * whitespace before the delimiter (comma) */
++ in_leading_space = 0;
++ if (in_trailing_space) {
++ return "Encountered illegal whitespace in token";
++ }
++ }
++ else if (c == ' ' || c == '\t') {
++ /* "Linear whitespace" only includes ASCII CRLF, space, and tab;
++ * we can't get a CRLF since headers are split on them already,
++ * so only look for a space or a tab */
++ if (in_leading_space) {
++ /* We're still in leading whitespace */
++ ++tok_begin;
++ }
++ else {
++ /* We must be in trailing whitespace */
++ ++in_trailing_space;
++ }
++ }
++ else if (c == ',' || c == '\0') {
++ if (!in_leading_space) {
++ /* If we're out of the leading space, we know we've read some
++ * characters of a token */
++ if (*tokens == NULL) {
++ *tokens = apr_array_make(p, 4, sizeof(char *));
++ }
++ APR_ARRAY_PUSH(*tokens, char *) =
++ apr_pstrmemdup((*tokens)->pool, tok_begin,
++ (cur - tok_begin) - in_trailing_space);
++ }
++ /* We're allowed to have null elements, just don't add them to the
++ * array */
++
++ tok_begin = cur + 1;
++ in_leading_space = 1;
++ in_trailing_space = 0;
++ string_end = (c == '\0');
++ }
++ else {
++ /* Encountered illegal separator char */
++ if (skip_invalid) {
++ /* Skip to the next separator */
++ const char *temp;
++ temp = ap_strchr_c(cur, ',');
++ if(!temp) {
++ temp = ap_strchr_c(cur, '\0');
++ }
++
++ /* Act like we haven't seen a token so we reset */
++ cur = temp - 1;
++ in_leading_space = 1;
++ in_trailing_space = 0;
++ }
++ else {
++ return apr_psprintf(p, "Encountered illegal separator "
++ "'\\x%.2x'", (unsigned int)c);
++ }
++ }
++
++ ++cur;
++ }
++
++ return NULL;
++}
++
+ /* Retrieve a token, spacing over it and returning a pointer to
+ * the first non-white byte afterwards. Note that these tokens
+ * are delimited by semis and commas; and can also be delimited
+--
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch b/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
index baa739fd44..c90279d449 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
@@ -4,23 +4,6 @@
#
# Upstream-Status: Inappropriate [configuration]
---- a/configure
-+++ b/configure
-@@ -22365,13 +22365,7 @@
- #define APACHE_MPM_DIR "$MPM_DIR"
- _ACEOF
-
--
--perlbin=`$ac_aux_dir/PrintPath perl`
--if test "x$perlbin" = "x"; then
-- perlbin="/replace/with/path/to/perl/interpreter"
--fi
--
--
-+perlbin='/usr/bin/perl'
-
- BSD_MAKEFILE=no
- ap_make_include=include
--- a/configure.in
+++ b/configure.in
@@ -638,10 +638,7 @@
diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.9.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb
index 33e197ab8a..55d507f757 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.9.bb
+++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb
@@ -16,16 +16,24 @@ SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2 \
file://apache-ssl-ltmain-rpath.patch \
file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \
file://npn-patch-2.4.7.patch \
+ file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+ file://configure-allow-to-disable-selinux-support.patch \
file://init \
- file://apache2-volatile.conf"
+ file://apache2-volatile.conf \
+ file://apache2.service \
+ file://apache-CVE-2014-0117.patch \
+ "
LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
-SRC_URI[md5sum] = "2ef4e65353497606b24fa9bb3e5a3c40"
-SRC_URI[sha256sum] = "f78cc90dfa47caf3d83ad18fd6b4e85f237777c1733fc9088594b70ce2847603"
+SRC_URI[md5sum] = "44543dff14a4ebc1e9e2d86780507156"
+SRC_URI[sha256sum] = "176c4dac1a745f07b7b91e7f4fd48f9c48049fa6f088efe758d61d9738669c6a"
S = "${WORKDIR}/httpd-${PV}"
-inherit autotools update-rc.d
+inherit autotools update-rc.d pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "apache2.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
@@ -51,6 +59,9 @@ EXTRA_OECONF = "--enable-ssl \
--enable-mpms-shared \
ac_cv_have_threadsafe_pollset=no"
+PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+
do_install_append() {
install -d ${D}/${sysconfdir}/init.d
cat ${WORKDIR}/init | \
@@ -80,6 +91,11 @@ do_install_append() {
install -d ${D}${sysconfdir}/tmpfiles.d/
install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
fi
+
+ install -d ${D}${systemd_unitdir}/system
+ 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
}
SYSROOT_PREPROCESS_FUNCS += "apache_sysroot_preprocess"
@@ -102,7 +118,7 @@ INITSCRIPT_NAME = "apache2"
INITSCRIPT_PARAMS = "defaults 91 20"
LEAD_SONAME = "libapr-1.so.0"
-PACKAGES = "${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
+PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
${sysconfdir}/${BPN}/magic \
@@ -119,11 +135,16 @@ FILES_${PN}-dev = "${datadir}/${BPN}/build \
${libdir}/apr*.exp \
${includedir}/${BPN} \
${libdir}/*.la \
- ${libdir}/*.a"
+ ${libdir}/*.a \
+ ${bindir}/apxs \
+ "
+
# manual to manual
FILES_${PN}-doc += " ${datadir}/${BPN}/manual"
+FILES_${PN}-scripts += "${bindir}/dbmmanage"
+
#
# override this too - here is the default, less datadir
#
@@ -140,3 +161,4 @@ FILES_${PN} += "${libdir}/lib*.so ${libdir}/pkgconfig/*"
FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
RDEPENDS_${PN} += "openssl libgcc"
+RDEPENDS_${PN}-scripts += "perl ${PN}"
diff --git a/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch b/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch
new file mode 100644
index 0000000000..63096db0a3
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch
@@ -0,0 +1,52 @@
+From d8837756f2a48adcfe5d645c39cf163d96eac76c Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen.kooi@linaro.org>
+Date: Tue, 17 Jun 2014 09:10:57 +0200
+Subject: [PATCH] configure: use pkg-config for PCRE detection
+
+Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
+Upstream-Status: pending
+---
+ configure.in | 27 +++++----------------------
+ 1 file changed, 5 insertions(+), 22 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 864d7c7..da4138e 100644
+--- a/configure.in
++++ b/configure.in
+@@ -215,28 +215,11 @@ fi
+ AC_ARG_WITH(pcre,
+ APACHE_HELP_STRING(--with-pcre=PATH,Use external PCRE library))
+
+-AC_PATH_PROG(PCRE_CONFIG, pcre-config, false)
+-if test -d "$with_pcre" && test -x "$with_pcre/bin/pcre-config"; then
+- PCRE_CONFIG=$with_pcre/bin/pcre-config
+-elif test -x "$with_pcre"; then
+- PCRE_CONFIG=$with_pcre
+-fi
+-
+-if test "$PCRE_CONFIG" != "false"; then
+- if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else
+- AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG])
+- fi
+- case `$PCRE_CONFIG --version` in
+- [[1-5].*])
+- AC_MSG_ERROR([Need at least pcre version 6.0])
+- ;;
+- esac
+- AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG])
+- APR_ADDTO(PCRE_INCLUDES, [`$PCRE_CONFIG --cflags`])
+- APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs`])
+-else
+- AC_MSG_ERROR([pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/])
+-fi
++PKG_CHECK_MODULES([PCRE], [libpcre], [
++ AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library])
++], [
++ AC_MSG_ERROR([$PCRE_PKG_ERRORS])
++])
+ APACHE_SUBST(PCRE_LIBS)
+
+ AC_MSG_NOTICE([])
+--
+1.9.3
+
diff --git a/meta-webserver/recipes-httpd/apache2/files/apache2.service b/meta-webserver/recipes-httpd/apache2/files/apache2.service
new file mode 100644
index 0000000000..9b5548c761
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/files/apache2.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=The Apache HTTP Server
+After=network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=simple
+Environment=LANG=C
+ExecStart=@SBINDIR@/httpd -DFOREGROUND -D SSL -D PHP5 -k start
+ExecStop=@BASE_BINDIR@/kill -WINCH ${MAINPID}
+KillSignal=SIGCONT
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch b/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch
new file mode 100644
index 0000000000..5b5c297077
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch
@@ -0,0 +1,40 @@
+From d23dd33e373340f6fddf11904839d1a118824401 Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Mon, 1 Dec 2014 02:08:27 -0500
+Subject: [PATCH] apache2: allow to disable selinux support
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+---
+ configure.in | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index df94ee5..8c3ab21 100644
+--- a/configure.in
++++ b/configure.in
+@@ -466,10 +466,16 @@ getloadavg
+ dnl confirm that a void pointer is large enough to store a long integer
+ APACHE_CHECK_VOID_PTR_LEN
+
+-AC_CHECK_LIB(selinux, is_selinux_enabled, [
+- AC_DEFINE(HAVE_SELINUX, 1, [Defined if SELinux is supported])
+- APR_ADDTO(AP_LIBS, [-lselinux])
+-])
++# SELinux support
++AC_ARG_ENABLE(selinux,APACHE_HELP_STRING(--enable-selinux,Enable SELinux support [default=auto]),
++ [],[enable_selinux=auto])
++
++if test x$enable_selinux != xno; then
++ AC_CHECK_LIB(selinux, is_selinux_enabled, [
++ AC_DEFINE(HAVE_SELINUX, 1, [Defined if SELinux is supported])
++ APR_ADDTO(AP_LIBS, [-lselinux])
++ ])
++fi
+
+ AC_CACHE_CHECK([for gettid()], ac_cv_gettid,
+ [AC_TRY_RUN(#define _GNU_SOURCE
+--
+1.7.9.5
+
diff --git a/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb b/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
index 054858ed33..451e97cb74 100644
--- a/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
+++ b/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
@@ -22,6 +22,7 @@ inherit autotools pkgconfig binconfig update-rc.d systemd
PACKAGECONFIG ??= ""
PACKAGECONFIG[ffmpeg] = "--with-ffmpeg,--without-ffmpeg,libav"
PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[geoip] = "--with-geoip,--without-geoip,geoip"
EXTRA_OECONF = "--disable-static \
--disable-nls \
diff --git a/meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb b/meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb
index 57005c5ef2..b9fa5cde87 100644
--- a/meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb
+++ b/meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb
@@ -6,7 +6,7 @@ DEPENDS = "libxml2 libxslt"
SECTION = "net"
-SRC_URI = "http://hiawatha-webserver.org/files/${PN}-${PV}.tar.gz \
+SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \
file://hiawatha-init \
file://hiawatha.service "
diff --git a/meta-webserver/recipes-httpd/monkey/files/monkey.init b/meta-webserver/recipes-httpd/monkey/files/monkey.init
new file mode 100644
index 0000000000..40b21182e1
--- /dev/null
+++ b/meta-webserver/recipes-httpd/monkey/files/monkey.init
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/bin/monkey
+NAME=monkey
+DESC="Monkey HTTP Server"
+OPTS="--daemon"
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start -x "$DAEMON" -- $OPTS
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop -x "$DAEMON"
+ echo "$NAME."
+ ;;
+ restart|force-reload)
+ echo -n "Restarting $DESC: "
+ start-stop-daemon --stop -x "$DAEMON"
+ sleep 1
+ start-stop-daemon --start -x "$DAEMON" -- $OPTS
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-webserver/recipes-httpd/monkey/files/monkey.service b/meta-webserver/recipes-httpd/monkey/files/monkey.service
new file mode 100644
index 0000000000..f9aa57f91e
--- /dev/null
+++ b/meta-webserver/recipes-httpd/monkey/files/monkey.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Monkey HTTP Server
+After=network.target remote-fs.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/monkey --daemon
+PIDFile=/var/run/monkey.pid.2001
+TimeoutSec=10
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb
new file mode 100644
index 0000000000..a4963afcd3
--- /dev/null
+++ b/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb
@@ -0,0 +1,64 @@
+SUMMARY = "Fast and Lightweight HTTP Server for Linux"
+HOMEPAGE = "http://monkey-project.com"
+BUGTRACKER = "https://github.com/monkey/monkey/issues"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+
+SECTION = "net"
+
+SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \
+ file://monkey.service \
+ file://monkey.init"
+
+SRC_URI[md5sum] = "b794724ac38cfedee2a5d27c175bc87e"
+SRC_URI[sha256sum] = "662bbafc614d32f645059e6e00258fed640665594f5b7f11cf4c4763cf09ddcf"
+
+EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \
+ --logdir=${localstatedir}/log/monkey/ \
+ --pidfile=${localstatedir}/run/monkey.pid \
+ --default-user=www-data \
+ --datadir=${localstatedir}/www/monkey/ \
+ --sysconfdir=${sysconfdir}/monkey/ \
+ --enable-plugins=* \
+ --disable-plugins=polarssl \
+ --debug \
+ --malloc-libc"
+
+inherit autotools-brokensep pkgconfig update-rc.d systemd
+
+INITSCRIPT_NAME = "monkey"
+INITSCRIPT_PARAMS = "defaults 70"
+
+SYSTEMD_SERVICE_${PN} = "monkey.service"
+
+FILES_${PN} += "${localstatedir}/www/monkey/"
+
+CONFFILES_${PN} = "${sysconfdir}/monkey/monkey.conf \
+ ${sysconfdir}/monkey/sites/default \
+ ${sysconfdir}/monkey/monkey.mime \
+ ${sysconfdir}/monkey/plugins.load \
+ ${sysconfdir}/monkey/plugins/proxy_reverse/proxy_reverse.conf \
+ ${sysconfdir}/monkey/plugins/mandril/mandril.conf \
+ ${sysconfdir}/monkey/plugins/fastcgi/fastcgi.conf \
+ ${sysconfdir}/monkey/plugins/logger/logger.conf \
+ ${sysconfdir}/monkey/plugins/cgi/cgi.conf \
+ ${sysconfdir}/monkey/plugins/cheetah/cheetah.conf \
+ ${sysconfdir}/monkey/plugins/dirlisting/dirhtml.conf \
+ ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/header.theme \
+ ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/footer.theme \
+ ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/entry.theme \
+ ${sysconfdir}/monkey/plugins/auth/README \
+ ${sysconfdir}/monkey/plugins/auth/monkey.users \
+ "
+
+do_install_append() {
+
+ mkdir -p ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/monkey.init ${D}${sysconfdir}/init.d/monkey
+
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/monkey.service ${D}/${systemd_unitdir}/system
+ fi
+}
diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd/init b/meta-webserver/recipes-httpd/sthttpd/sthttpd/init
index 70f6797a75..f5f7b01243 100644
--- a/meta-webserver/recipes-httpd/sthttpd/sthttpd/init
+++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd/init
@@ -18,7 +18,7 @@ test -x "$thttpd" || exit 0
case "$1" in
start)
echo -n "Starting thttpd"
- start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR
+ start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE
echo "."
;;
stop)
@@ -31,7 +31,7 @@ case "$1" in
;;
restart)
echo -n "Stopping thttpd"
- start-stop-daemon --stop --quiet --exec $thttpd -- -d @@SRVDIR
+ start-stop-daemon --stop --quiet --exec $thttpd -- -C @@CONFFILE
echo "."
echo -n "Waiting for thttpd to die off"
for i in 1 2 3 ;
@@ -41,7 +41,7 @@ case "$1" in
done
echo ""
echo -n "Starting thttpd"
- start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR
+ start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE
echo "."
;;
*)
diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf b/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf
new file mode 100644
index 0000000000..397984f368
--- /dev/null
+++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf
@@ -0,0 +1 @@
+dir=@@SRVDIR
diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service b/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service
index e2dae61fd0..f1095007c4 100644
--- a/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service
+++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service
@@ -3,7 +3,7 @@ Description=Tiny/Turbo/Throttling Web Server
[Service]
Type=forking
-ExecStart=/usr/sbin/thttpd -d @@SRVDIR -c cgi-bin/* -i /var/run/thttpd.pid
+ExecStart=/usr/sbin/thttpd -C @@CONFFILE -c cgi-bin/* -i /var/run/thttpd.pid
PIDFile=/var/run/thttpd.pid
[Install]
diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb b/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb
index 0abd13169e..703492167f 100644
--- a/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb
+++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dc
SRC_URI = "http://opensource.dyc.edu/pub/sthttpd/sthttpd-${PV}.tar.gz \
file://thttpd.service \
+ file://thttpd.conf \
file://init"
SRC_URI[md5sum] = "e645a85a97d3cb883011a35bc2211815"
@@ -15,19 +16,23 @@ S = "${WORKDIR}/sthttpd-${PV}"
inherit autotools update-rc.d systemd
-EXTRA_OEMAKE += "'WEBDIR=${servicedir}/www'"
+SRV_DIR ?= "${servicedir}/www"
+
+EXTRA_OEMAKE += "'WEBDIR=${SRV_DIR}'"
do_install_append () {
install -d ${D}${sysconfdir}/init.d
install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/thttpd
- sed -i -e 's,@@SRVDIR,${servicedir}/www,g' ${D}${sysconfdir}/init.d/thttpd
+ install -c -m 755 ${WORKDIR}/thttpd.conf ${D}${sysconfdir}
+ sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${sysconfdir}/init.d/thttpd
+ sed -i -e 's,@@SRVDIR,${SRV_DIR},g' ${D}${sysconfdir}/thttpd.conf
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/thttpd
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/thttpd.service ${D}${systemd_unitdir}/system
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_unitdir}/system/thttpd.service
sed -i 's!/var/!${localstatedir}/!g' ${D}${systemd_unitdir}/system/thttpd.service
- sed -i -e 's,@@SRVDIR,${servicedir}/www,g' ${D}${systemd_unitdir}/system/thttpd.service
+ sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${systemd_unitdir}/system/thttpd.service
}
INITSCRIPT_NAME = "thttpd"
@@ -35,6 +40,6 @@ INITSCRIPT_PARAMS = "defaults"
SYSTEMD_SERVICE_${PN} = "thttpd.service"
-FILES_${PN} += "${servicedir}"
-FILES_${PN}-dbg += "${servicedir}/www/cgi-bin/.debug"
+FILES_${PN} += "${SRV_DIR}"
+FILES_${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug"
diff --git a/meta-webserver/recipes-php/modphp/modphp5.inc b/meta-webserver/recipes-php/modphp/modphp5.inc
deleted file mode 100644
index a1d550de30..0000000000
--- a/meta-webserver/recipes-php/modphp/modphp5.inc
+++ /dev/null
@@ -1,104 +0,0 @@
-SECTION = "console/network"
-DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the apache php module."
-LICENSE = "PHP-3.0"
-INC_PR = "r1"
-DEPENDS = "apache2-native apache2 zlib bzip2 libmcrypt"
-
-SRC_URI = "http://www.php.net/distributions/php-${PV}.tar.bz2 \
- file://configure.patch \
- file://pthread-check-threads-m4.patch \
- file://70_mod_php5.conf \
-"
-
-S = "${WORKDIR}/php-${PV}"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5bb09683f8f09b15b7076f4b4c31d61f"
-
-inherit autotools
-
-CFLAGS += " -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
-
-EXTRA_OECONF = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs \
- --with-pic \
- --enable-maintainer-zts \
- --without-mysql \
- --disable-cgi \
- --disable-cli \
- --disable-pdo \
- --without-pear \
- --without-iconv \
- --disable-ipv6 \
- --disable-xml \
- --disable-xmlreader \
- --disable-xmlwriter \
- --disable-simplexml \
- --disable-libxml \
- --disable-dom \
- --disable-rpath \
- --libdir=${libdir}/php5 \
- --with-zlib --with-zlib-dir=${STAGING_DIR_TARGET}${exec_prefix} \
- --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
- --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
- --enable-zip \
- --enable-mbstring \
- --with-config-file-path=${sysconfdir}/php/apache2-php5 \
- ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)}"
-
-PACKAGECONFIG ??= "mysql"
-PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config,--without-mysqli,mysql5"
-PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,mysql5"
-
-acpaths = ""
-
-do_configure_prepend () {
- rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4
- find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_BINDIR_NATIVE}/httpd!'
-}
-
-do_configure_append() {
- # No libtool, we really don't want rpath set...
- sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool
- sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool
-}
-
-do_install () {
- install -d ${D}${libdir}/apache2/modules
- install -d ${D}${sysconfdir}/apache2/modules.d
- install -d ${D}${sysconfdir}/php/apache2-php5
- install -m 755 libs/libphp5.so ${D}${libdir}/apache2/modules
- install -m 644 ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d
- sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf
- cat ${S}/php.ini-production | \
- sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
- > ${D}${sysconfdir}/php/apache2-php5/php.ini
-
- install -d ${D}${bindir}
- install -m 755 scripts/phpize ${D}${bindir}
- install -m 755 scripts/php-config ${D}${bindir}
- cat aclocal-copy/libtool.m4 aclocal-copy/lt~obsolete.m4 aclocal-copy/ltoptions.m4 \
- aclocal-copy/ltsugar.m4 aclocal-copy/ltversion.m4 > ${S}/build/libtool.m4
-
- oe_runmake install-build install-headers INSTALL_ROOT=${D}
-}
-
-SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess"
-
-php_sysroot_preprocess () {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
-
- sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize
- sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config
-}
-
-# phpize is not scanned for absolute paths by default (but php-config is).
-#
-SSTATE_SCAN_FILES += "phpize"
-
-RDEPENDS_${PN} = "apache2"
-
-FILES_${PN} = "${libdir}/apache2 ${sysconfdir}"
-FILES_${PN}-dev += "${bindir}/phpize ${bindir}/php-config ${libdir}/php5"
-FILES_${PN}-dbg += "${libdir}/apache2/modules/.debug"
-
diff --git a/meta-webserver/recipes-php/modphp/modphp_5.5.12.bb b/meta-webserver/recipes-php/modphp/modphp_5.5.12.bb
deleted file mode 100644
index 3f4e8f2ff5..0000000000
--- a/meta-webserver/recipes-php/modphp/modphp_5.5.12.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-include modphp5.inc
-
-EXTRA_OECONF += "--disable-opcache"
-
-SRC_URI[md5sum] = "943af92c2e67bba29429bdd9acf9cbd4"
-SRC_URI[sha256sum] = "519ee29e28532782676f3d8e31a808ffbfee383e0279ccc8cbd2b12ed53c2335"
-
diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.0.bb b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.3.4.bb
index 0298f6b9df..76068e2cf6 100644
--- a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.0.bb
+++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.3.4.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a \
SRC_URI = "${SOURCEFORGE_MIRROR}/phpmyadmin/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
file://apache.conf"
-SRC_URI[md5sum] = "f787bcf5c98a1702d9c8c653e72eb689"
-SRC_URI[sha256sum] = "fef460aa493f696b8536c273ef126bb142b88dd15c7ef584aca90d2ea07d3bbc"
+SRC_URI[md5sum] = "f811243e241ee81defb97e014ca713ef"
+SRC_URI[sha256sum] = "91258e07e04e25c5e49284b194ebff8ffa807ad38832fbe802cc6af3f7cb96d3"
S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
@@ -18,6 +18,8 @@ inherit allarch
do_install() {
install -d ${D}${datadir}/${BPN}
cp -a * ${D}${datadir}/${BPN}
+ # Don't install patches to target
+ rm -rf ${D}${datadir}/${BPN}/patches
install -d ${D}${sysconfdir}/apache2/conf.d
install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
@@ -29,3 +31,4 @@ do_install() {
FILES_${PN} = "${datadir}/${BPN} \
${sysconfdir}/apache2/conf.d"
+RDEPENDS_${PN} += "bash"
diff --git a/meta-webserver/recipes-php/xdebug/xdebug_2.2.5.bb b/meta-webserver/recipes-php/xdebug/xdebug_2.2.6.bb
index ffff13565e..1ecac88f03 100644
--- a/meta-webserver/recipes-php/xdebug/xdebug_2.2.5.bb
+++ b/meta-webserver/recipes-php/xdebug/xdebug_2.2.6.bb
@@ -2,13 +2,12 @@ SUMMARY = "Debugging and profiling extension for PHP"
LICENSE = "Xdebug"
LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16"
-DEPENDS = "modphp"
-
+DEPENDS = "php"
SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
-SRC_URI[md5sum] = "7e571ce8eb6fa969fd8263969019849d"
-SRC_URI[sha256sum] = "adc6fe92dcff2368be94d20a5997aadb4d46d74551e2dd6602a704a35a195a6f"
+SRC_URI[md5sum] = "f216356861e27284580d0208060ea7fa"
+SRC_URI[sha256sum] = "6dd1cba0605e75009331aa3625a19ef49ade5a75aa9fe2ff8a818108d2cce84e"
inherit autotools
diff --git a/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch b/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch
new file mode 100644
index 0000000000..51ddeaac22
--- /dev/null
+++ b/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch
@@ -0,0 +1,17 @@
+Upstream-Status: Pending
+
+Fix EOF not declared issue, following is the error log.
+fcgio.cpp:70:72: error: 'EOF' was not declared in this scope
+ if (FCGX_PutStr(pbase(), plen, this->fcgx) != plen) return EOF;
+
+Signed-off-by: Yang Haibo <b40869@freescale.com>
+--- fcgi-ori/libfcgi/fcgio.cpp 2014-07-28 18:01:00.000000000 +0800
++++ fcgi-2.4.0/libfcgi/fcgio.cpp 2014-07-28 18:01:22.000000000 +0800
+@@ -22,6 +22,7 @@
+ #define DLLAPI __declspec(dllexport)
+ #endif
+
++#include <stdio.h>
+ #include <limits.h>
+ #include "fcgio.h"
+
diff --git a/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch b/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch
new file mode 100644
index 0000000000..eca694adc9
--- /dev/null
+++ b/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Pending
+
+use automake options "foreign" to set the strictness as appropriate
+
+Signed-off-by: Yang Haibo <b40869@freescale.com>
+--- fcgi-ori/configure.in 2014-08-05 14:58:35.000000000 +0800
++++ fcgi-2.4.0/configure.in 2014-08-05 14:59:08.000000000 +0800
+@@ -4,8 +4,8 @@
+ dnl generate the file "configure", which is run during the build
+ dnl to configure the system for the local environment.
+
+-AC_INIT
+-AM_INIT_AUTOMAKE(fcgi, 2.4.0)
++AC_INIT([fcgi], [2.4.0])
++AM_INIT_AUTOMAKE([foreign])
+
+ AM_CONFIG_HEADER(fcgi_config.h)
+
diff --git a/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb b/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb
new file mode 100644
index 0000000000..ed718aefd9
--- /dev/null
+++ b/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "FastCGI is a protocol for interfacing interactive programs with a web server."
+HOMEPAGE = "http://www.fastcgi.com"
+LICENSE = "OML"
+LIC_FILES_CHKSUM = "file://LICENSE.TERMS;md5=e3aacac3a647af6e7e31f181cda0a06a"
+
+SRC_URI = "http://fossies.org/linux/www/${BP}.tar.gz \
+ file://Fix_EOF_not_declared_issue.patch \
+ file://add_foreign_to_AM_INIT_AUTOMAKE.patch \
+"
+SRC_URI[md5sum] = "d15060a813b91383a9f3c66faf84867e"
+SRC_URI[sha256sum] = "66fc45c6b36a21bf2fbbb68e90f780cc21a9da1fffbae75e76d2b4402d3f05b9"
+
+inherit autotools
+
+PARALLEL_MAKE = ""
diff --git a/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch b/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch
index 140ae7e450..177d8a372e 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch
@@ -24,7 +24,7 @@ index 22891c0..1c67494 100755
# Try exportfs -r first
-if ($config{'apply_cmd'} && &find_byname("nfsd") && &find_byname("mountd")) {
+if ($config{'apply_cmd'} && &find_byname("mountd")) {
- local $out = &backquote_logged("$config{'apply_cmd'} 2>&1 </dev/null");
+ my $out = &backquote_logged("$config{'apply_cmd'} 2>&1 </dev/null");
if (!$? && $out !~ /invalid|error|failed/i) {
# Looks like it worked!
--
diff --git a/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch b/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch
index 135492d713..5563227d55 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch
@@ -5,9 +5,17 @@
# Upstream-status: Pending
#
# Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---- webmin-1.570.orig/init/index.cgi
-+++ webmin-1.570/init/index.cgi
-@@ -48,19 +48,20 @@ elsif ($init_mode eq "init" && $access{'
+# Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ init/index.cgi | 27 ++++++++++++++-------------
+ init/init-lib.pl | 5 +++--
+ 2 files changed, 17 insertions(+), 15 deletions(-)
+
+diff --git a/init/index.cgi b/init/index.cgi
+index d48b793..30dafd4 100755
+--- a/init/index.cgi
++++ b/init/index.cgi
+@@ -45,19 +45,20 @@ elsif ($init_mode eq "init" && $access{'bootup'}) {
: "$config{'init_dir'}/$ac[0]");
}
@runlevels = &list_runlevels();
@@ -41,11 +49,11 @@
# For each action, look at /etc/rc*.d/* files to see if it is
# started at boot
-Index: webmin-1.570/init/init-lib.pl
-===================================================================
---- webmin-1.570.orig/init/init-lib.pl
-+++ webmin-1.570/init/init-lib.pl
-@@ -108,15 +108,17 @@ List boot time action names from init.d,
+diff --git a/init/init-lib.pl b/init/init-lib.pl
+index ead21ed..b41794b 100755
+--- a/init/init-lib.pl
++++ b/init/init-lib.pl
+@@ -119,8 +119,9 @@ List boot time action names from init.d, such as httpd and cron.
=cut
sub list_actions
{
@@ -56,12 +64,15 @@ Index: webmin-1.570/init/init-lib.pl
opendir(DIR, $dir);
foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) {
if ($f eq "." || $f eq ".." || $f =~ /\.bak$/ || $f eq "functions" ||
- $f eq "core" || $f eq "README" || $f eq "rc" || $f eq "rcS" ||
+@@ -128,7 +129,7 @@ foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) {
-d "$dir/$f" || $f =~ /\.swp$/ || $f eq "skeleton" ||
$f =~ /\.lock$/ || $f =~ /\.dpkg-(old|dist)$/ ||
-- $f =~ /^\.depend\./ || $f eq '.legacy-bootordering') { next; }
-+ $f =~ /^\.depend\./ || $f eq '.legacy-bootordering' ||
-+ grep {$_ eq $f} @exclude ) { next; }
+ $f =~ /^\.depend\./ || $f eq '.legacy-bootordering' ||
+- $f =~ /^mandrake/) { next; }
++ $f =~ /^mandrake/ || grep {$_ eq $f} @exclude ) { next; }
if (@stbuf = stat("$dir/$f")) {
push(@rv, "$f $stbuf[1]");
}
+--
+2.0.0
+
diff --git a/meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch b/meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch
new file mode 100644
index 0000000000..75e5bd1eaf
--- /dev/null
+++ b/meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch
@@ -0,0 +1,25 @@
+From 6f04699d5d417122b67e8118fd1955c769f17e76 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Tue, 2 Sep 2014 00:11:05 -0700
+Subject: [PATCH] ajaxterm/ajaxterm/qweb.py: fix hardcode of python2.3
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ ajaxterm/ajaxterm/qweb.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ajaxterm/ajaxterm/qweb.py b/ajaxterm/ajaxterm/qweb.py
+index 20c5092..c658a6b 100644
+--- a/ajaxterm/ajaxterm/qweb.py
++++ b/ajaxterm/ajaxterm/qweb.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python2.3
++#!/usr/bin/env python
+ #
+ # vim:set et ts=4 fdc=0 fdn=2 fdl=0:
+ #
+--
+1.7.9.5
+
diff --git a/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb b/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb
index 8822b92fb3..c6523c53d8 100644
--- a/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb
+++ b/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb
@@ -15,12 +15,14 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \
file://samba-config-fix.patch \
file://proftpd-config-fix.patch \
file://net-lib.pl.patch \
- file://media-tomb.patch"
+ file://media-tomb.patch \
+ file://remove-python2.3.patch \
+ "
-SRC_URI[md5sum] = "e93bc5057a5b7d7e31ecb2bb228d7044"
-SRC_URI[sha256sum] = "3d36153406d8e5d3dcaeadba34dfb5cdbc4060b75c38339174ac97b2277f284b"
+SRC_URI[md5sum] = "e5261114a6a6ed10caf570d3239ed5b7"
+SRC_URI[sha256sum] = "1a6a8aa62c32c04932b902d17fc1864ee8f3fba03012bd25f709aa65e7e9b0f2"
-inherit allarch perlnative update-rc.d
+inherit perlnative update-rc.d
do_configure() {
# Remove binaries and plugins for other platforms
@@ -36,12 +38,12 @@ do_configure() {
rm -rf stunnel squid sarg pptp-client pptp-server jabber openslp sentry cluster-* vgetty burner heartbeat
# Adjust configs
- mv init/config-debian-linux init/config-generic-linux
+ [ -f init/config-debian-linux ] && mv init/config-debian-linux init/config-generic-linux
sed -i "s/shutdown_command=.*/shutdown_command=poweroff/" init/config-generic-linux
echo "exclude=bootmisc.sh,single,halt,reboot,hostname.sh,modutils.sh,mountall.sh,mountnfs.sh,networking,populate-volatile.sh,rmnologin.sh,save-rtc.sh,umountfs,umountnfs.sh,hwclock.sh,checkroot.sh,banner.sh,udev,udev-cache,devpts.sh,psplash.sh,sendsigs,fbsetup,bootlogd,stop-bootlogd,sysfs.sh,syslog,syslog.busybox,urandom,webmin,functions.initscripts,read-only-rootfs-hook.sh" >> init/config-generic-linux
echo "excludefs=devpts,devtmpfs,usbdevfs,proc,tmpfs,sysfs,debugfs" >> mount/config-generic-linux
- mv exports/config-debian-linux exports/config-generic-linux
+ [ -f exports/config-debian-linux ] && mv exports/config-debian-linux exports/config-generic-linux
sed -i "s/killall -HUP rpc.nfsd && //" exports/config-generic-linux
sed -i "s/netstd_nfs/nfsserver/g" exports/config-generic-linux
@@ -65,6 +67,9 @@ do_configure() {
sed -i "s/find_pid_command=.*/find_pid_command=pidof NAME/" config-generic-linux
}
+WEBMIN_LOGIN ?= "admin"
+WEBMIN_PASSWORD ?= "password"
+
do_install() {
install -d ${D}${sysconfdir}
install -d ${D}${sysconfdir}/webmin
@@ -77,6 +82,7 @@ do_install() {
install -d ${D}${libexecdir}/webmin
cp -pPR ${S}/* ${D}${libexecdir}/webmin
rm -f ${D}${libexecdir}/webmin/webmin-init
+ rm -f ${D}${libexecdir}/webmin/ajaxterm/ajaxterm/configure.initd.gentoo
rm -rf ${D}${libexecdir}/webmin/patches
# Run setup script
@@ -92,8 +98,8 @@ do_install() {
export real_os_type="${DISTRO_NAME}"
export real_os_version="${DISTRO_VERSION}"
export port=10000
- export login=admin
- export password=password
+ export login=${WEBMIN_LOGIN}
+ export password=${WEBMIN_PASSWORD}
export ssl=0
export atboot=1
export no_pam=1
@@ -108,16 +114,17 @@ INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ."
RDEPENDS_${PN} += "perl perl-module-socket perl-module-exporter perl-module-exporter-heavy perl-module-carp perl-module-strict"
RDEPENDS_${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix perl-module-autoloader"
RDEPENDS_${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant"
-RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm perl-module-sdbm-file perl-module-timelocal perl-module-feature"
+RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm perl-module-sdbm-file perl-module-feature"
-PACKAGES_DYNAMIC += "webmin-module-*"
+PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*"
RRECOMMENDS_${PN} += "webmin-module-system-status"
-RDEPENDS_webmin-module-proc = "procps"
-RDEPENDS_webmin-module-raid = "mdadm"
-RDEPENDS_webmin-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix"
-RRECOMMENDS_webmin-module-fdisk = "parted"
-RRECOMMENDS_webmin-module-lvm = "lvm2"
+PACKAGES += "${PN}-module-proc ${PN}-module-raid ${PN}-module-exports ${PN}-module-fdisk ${PN}-module-lvm"
+RDEPENDS_${PN}-module-proc = "procps"
+RDEPENDS_${PN}-module-raid = "mdadm"
+RDEPENDS_${PN}-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix"
+RRECOMMENDS_${PN}-module-fdisk = "parted"
+RRECOMMENDS_${PN}-module-lvm = "lvm2"
python populate_packages_prepend() {
import os, os.path
@@ -125,12 +132,17 @@ python populate_packages_prepend() {
wadir = bb.data.expand('${libexecdir}/webmin', d)
wadir_image = bb.data.expand('${D}', d) + wadir
modules = []
+ themes = []
for mod in os.listdir(wadir_image):
modinfo = os.path.join(wadir_image, mod, "module.info")
+ themeinfo = os.path.join(wadir_image, mod, "theme.info")
if os.path.exists(modinfo):
modules.append(mod)
+ elif os.path.exists(themeinfo):
+ themes.append(mod)
do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True)
+ do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True)
}
# Time-savers
diff --git a/meta-xfce/classes/xfce-app.bbclass b/meta-xfce/classes/xfce-app.bbclass
index c60ad3d67a..8780ebfd9d 100644
--- a/meta-xfce/classes/xfce-app.bbclass
+++ b/meta-xfce/classes/xfce-app.bbclass
@@ -1,4 +1,4 @@
inherit xfce
-SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2"
+SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2"
diff --git a/meta-xfce/classes/xfce-git.bbclass b/meta-xfce/classes/xfce-git.bbclass
index c4be554053..3fc18d275d 100644
--- a/meta-xfce/classes/xfce-git.bbclass
+++ b/meta-xfce/classes/xfce-git.bbclass
@@ -1,5 +1,7 @@
do_configure_prepend() {
+ cd ${S}
NOCONFIGURE=yes ./autogen.sh
+ cd ${B}
}
AUTOTOOLS_COPYACLOCAL = "1"
diff --git a/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb b/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb
new file mode 100644
index 0000000000..c846e7802f
--- /dev/null
+++ b/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Gigolo is a frontend to easily manage connections to remote filesystems using GIO/GVfs"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "gtk+ intltool-native xfce4-dev-tools-native"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "4abc6fde56572adf3ec3a0181092584c"
+SRC_URI[sha256sum] = "553fc78fe4e7bd2f01f3851baea7e63f6414fe652dfb4b08c60b5c4b2b909164"
diff --git a/meta-xfce/recipes-apps/orage/orage_4.8.4.bb b/meta-xfce/recipes-apps/orage/orage_4.10.0.bb
index cf3081e378..8164c3c147 100644
--- a/meta-xfce/recipes-apps/orage/orage_4.8.4.bb
+++ b/meta-xfce/recipes-apps/orage/orage_4.10.0.bb
@@ -6,8 +6,8 @@ DEPENDS = "gtk+ xfce4-panel libical popt"
inherit xfce-app
-SRC_URI[md5sum] = "d5105981a9d77ed22be42615d70f3cc0"
-SRC_URI[sha256sum] = "b19df727da9da48b979e238ac7113c803976de80bd1e2dadf6d84b864956dfd5"
+SRC_URI[md5sum] = "b33fa272d92f539a224a7a40b1926dfc"
+SRC_URI[sha256sum] = "6cb854f3437e31bab23abfce97bd10afa1636a9a1480d80e14e26c85d06be7c0"
PACKAGECONFIG ??= ""
PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
diff --git a/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.2.bb b/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.2.bb
index 08af66dd6f..eb554ce0a9 100644
--- a/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.2.bb
+++ b/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.2.bb
@@ -7,6 +7,10 @@ DEPENDS = "libxfce4util libxfce4ui xfconf gtk+ dbus dbus-glib"
inherit xfce-app
+do_compile_prepend() {
+ mkdir -p xfce4-notifyd
+}
+
FILES_${PN} += " \
${libdir}/xfce4/notifyd \
${datadir}/themes \
diff --git a/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.1.bb b/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.1.bb
index 4cda352a81..0e2e327f03 100644
--- a/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.1.bb
+++ b/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.1.bb
@@ -11,5 +11,9 @@ SRC_URI += "file://0001-Fix-panel-plugin-build.patch"
SRC_URI[md5sum] = "d0ffea2052a8e70154cf13789070711f"
SRC_URI[sha256sum] = "40419892bd28989315eed053c159bba0f4264ed8c6c6738806024e481eab9492"
+do_compile_prepend() {
+ mkdir -p lib
+}
+
FILES_${PN} += "${datadir}/xfce4/panel/plugins \
${libdir}/xfce4/panel/plugins"
diff --git a/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.0.1.bb b/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.0.1.bb
new file mode 100644
index 0000000000..e59710823a
--- /dev/null
+++ b/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.0.1.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Easy to use task manager"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit xfce-app
+
+DEPENDS = "gtk+ cairo libwnck xfce4-dev-tools-native exo-native"
+
+SRC_URI[md5sum] = "b8a707b25e32c1a296eb50d609aa49b8"
+SRC_URI[sha256sum] = "f5aa2796dd9971f8ae400238bfcdd9fa1322dba1466d1e6fd5bf8ee7e88bee86"
diff --git a/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_git.bb b/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_git.bb
deleted file mode 100644
index 289cf55b78..0000000000
--- a/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Easy to use task manager"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-git xfce-app
-
-DEPENDS = "gtk+ cairo libwnck xfce4-dev-tools-native exo-native"
-
-SRC_URI = " \
- git://git.xfce.org/apps/xfce4-taskmanager;protocol=git \
- file://0001-do-not-build-documantation-Makefile-has-no-install-t.patch \
-"
-
-SRCREV = "e5d958738b6d2828a4c8353df67d3c1656c46af5"
-S = "${WORKDIR}/git"
-PV = "1.0.0+git${SRCPV}"
-
-EXTRA_OECONF += "--enable-maintainer-mode"
diff --git a/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.2.bb b/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb
index 8b2619d77e..1049b27a8d 100644
--- a/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.2.bb
+++ b/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb
@@ -8,5 +8,5 @@ inherit xfce-app
FILES_${PN} += "${datadir}/xfce4 \
${datadir}/gnome-control-center"
-SRC_URI[md5sum] = "d5cdb302bd770c9f2d30262c26639006"
-SRC_URI[sha256sum] = "3d92422288d26311880af694bb4e02c9235997ca307a5e85001bf6bef65c3b35"
+SRC_URI[md5sum] = "6a2816d8b0933cd707ed456ceb731399"
+SRC_URI[sha256sum] = "912f4716c2395a14a80620ef982b4af1e2a67a8df9a1ef0b802ecae826057e08"
diff --git a/meta-xfce/recipes-art/xfce4-icon-theme/xfce4-icon-theme_4.4.3.bb b/meta-xfce/recipes-art/xfce4-icon-theme/xfce4-icon-theme_4.4.3.bb
index ac104e2fd1..1e4b06bfe4 100644
--- a/meta-xfce/recipes-art/xfce4-icon-theme/xfce4-icon-theme_4.4.3.bb
+++ b/meta-xfce/recipes-art/xfce4-icon-theme/xfce4-icon-theme_4.4.3.bb
@@ -7,7 +7,7 @@ DEPENDS = "intltool-native xfce4-dev-tools-native"
inherit xfce
-SRC_URI = "http://archive.xfce.org/src/art/${PN}/${@'${PV}'[0:3]}/${PN}-${PV}.tar.bz2"
+SRC_URI = "http://archive.xfce.org/src/art/${BPN}/${@'${PV}'[0:3]}/${BP}.tar.bz2"
SRC_URI[md5sum] = "73ce2977b84f634a6a6c5d9c27e336db"
SRC_URI[sha256sum] = "d4786692d56b8a563f66a5f260f1f13ade11e86c78cbcb25a9f9a5fc47cf66fa"
diff --git a/meta-xfce/recipes-art/xfwm4-themes/xfwm4-themes_4.10.0.bb b/meta-xfce/recipes-art/xfwm4-themes/xfwm4-themes_4.10.0.bb
index fc1062fecf..7030f7a267 100644
--- a/meta-xfce/recipes-art/xfwm4-themes/xfwm4-themes_4.10.0.bb
+++ b/meta-xfce/recipes-art/xfwm4-themes/xfwm4-themes_4.10.0.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit xfce
-SRC_URI = "http://archive.xfce.org/src/art/${PN}/${@'${PV}'[0:4]}/${PN}-${PV}.tar.bz2"
+SRC_URI = "http://archive.xfce.org/src/art/${BPN}/${@'${PV}'[0:4]}/${BP}.tar.bz2"
SRC_URI[md5sum] = "eaa58362053a3549c8be0b32efd3c54f"
SRC_URI[sha256sum] = "3214d5f00e9703b5e8c9e7c3287d606dedec7285ceb4d5db332e93ada66fd575"
diff --git a/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb b/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb
index 8e8e691299..7bcffe541c 100644
--- a/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb
+++ b/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb
@@ -5,6 +5,8 @@ DEPENDS = "libxfce4util garcon xfconf libxfce4ui xfce4-panel exo vala xfce4-dev-
inherit xfce
+PNBLACKLIST[xfce4-vala] ?= "Fails to build since vala upgrade to 0.26.1"
+
SRC_URI = "http://archive.xfce.org/src/bindings/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "0bbb1d6e473e0fe9b335b7b1b49d8a71"
SRC_URI[sha256sum] = "07a8f2b7c09fcdd3d86e0c52adea3c58ca011d0142a93997a01b4af77260ae7b"
diff --git a/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.3.bb b/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.6.bb
index 06f0d94402..aee4a3dc20 100644
--- a/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.3.bb
+++ b/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.6.bb
@@ -8,8 +8,10 @@ inherit xfce-panel-plugin
DEPENDS += "xfconf xproto libxtst"
-SRC_URI[md5sum] = "61f3be97efa379cb358980c94e14692a"
-SRC_URI[sha256sum] = "4424447067cb2c3972c375330d2e1d19f12e59c41bd03e111c2e6e9e174a5067"
+SRC_URI[md5sum] = "f7f2440647493243cbd7787eaee92fcb"
+SRC_URI[sha256sum] = "23043f99c3e5257d1f3d68b5ee5125e3469c15620d098e22c6250386197f48a5"
PACKAGECONFIG ??= ""
PACKAGECONFIG[unique] = "--enable-unique,--disable-unique,libunique"
+
+FILES_${PN} += "${datadir}/appdata"
diff --git a/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.3.bb b/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.5.bb
index 95d1d66c89..76cd5d4dfc 100644
--- a/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.3.bb
+++ b/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.5.bb
@@ -6,8 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit xfce-panel-plugin
-SRC_URI = "http://www.e-quake.org/wp-uploads/2013/09/xfce4-equake-plugin-${PV}.tar.gz"
-SRC_URI[md5sum] = "fa1e934f5b7e522efc4e30a99278f908"
-SRC_URI[sha256sum] = "ea37e691606dbcd705f98cecccabd69b870c7acd008f47faae6d0fee21fe14a2"
+SRC_URI[md5sum] = "7c520e2f1cd0cc5e33d8346b12e31c02"
+SRC_URI[sha256sum] = "43bbc781575c357c13ac6720eb8e8485115099411d5382668e106de58ab0e416"
FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-equake-plugin"
diff --git a/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb b/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb
new file mode 100644
index 0000000000..00859a176f
--- /dev/null
+++ b/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Multi-protocol, multi-mailbox mail watcher for the Xfce4 panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-mailwatch-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "gnutls libgcrypt"
+
+SRC_URI[md5sum] = "7263114ec0f2987a3aff15afeeb45577"
+SRC_URI[sha256sum] = "624acc8229a8593c0dfeb28f883f4958119a715cc81cecdbaf29efc8ab1edcad"
diff --git a/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.5.0.bb b/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.6.0.bb
index f68365c6e2..c76340fcf1 100644
--- a/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.5.0.bb
+++ b/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.6.0.bb
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b6952d9a47fc2ad0f315510e1290455f"
inherit xfce-panel-plugin
-SRC_URI[md5sum] = "84c39fb123e07e1c7caaf006d9383656"
-SRC_URI[sha256sum] = "6996051669a13d4791a5a453747801dc2f7f6fa5546785622d80b34966283d44"
+SRC_URI[md5sum] = "8f3ec883efb0775052eeea816bbd8a23"
+SRC_URI[sha256sum] = "07b044025a75f02b84e8848d6f81b0fcbb0cd9b8a4bf919cb7f0777b096b27a4"
PACKAGECONFIG ??= ""
PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
diff --git a/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb b/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb
index 1883a0c7d5..487a5b854b 100644
--- a/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb
+++ b/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb
@@ -1,6 +1,6 @@
SUMMARY = "Panel plugin displaying stats from a wireless lan interface"
HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-wavelan-plugin"
-LICENSE = "BenediktMeurer FlorianRivoal"
+LICENSE = "BenediktMeurer & FlorianRivoal"
LIC_FILES_CHKSUM = "file://COPYING;md5=e1e5872df9c5cf1a23f16493d9104920"
inherit xfce-panel-plugin
diff --git a/meta-xfce/recipes-panel-plugins/weather/files/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch b/meta-xfce/recipes-panel-plugins/weather/files/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch
new file mode 100644
index 0000000000..d4ad24054b
--- /dev/null
+++ b/meta-xfce/recipes-panel-plugins/weather/files/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch
@@ -0,0 +1,162 @@
+From 1ff71669644a0b824a8a5ba9b40771ee4fb8a76b Mon Sep 17 00:00:00 2001
+From: Harald Judt <h.judt@gmx.at>
+Date: Wed, 28 May 2014 20:08:02 +0200
+Subject: [PATCH 1/2] Make plugin ready for met.no locationforecast-1.2 API
+ (bug #10916).
+
+http://api.yr.no/weatherapi/locationforecastlts/1.1/documentation#version_1_2___2014_05_20
+
+The updated API version uses CamelCase symbol names instead of UPPERCASE
+ones and has added some new names (like 'Drizzle'), which unfortunately
+have not been documented (yet?).
+
+What's more, the typo 'celcius' has been replaced by the fixed 'celsius',
+but luckily the plugin will not be affected by that change.
+
+What's a bit more unfortunate is that the existing icon themes do not
+cover the new symbol names, so one would have to create quite a lot of
+new icons. Also, new translations would have to be added for the symbols,
+and maybe existing ones would have to be altered. To prevent this, we're
+simply going to map the new symbols to existing ones as good as possible.
+This should be good enough for the time being.
+
+Upstream-Status: Applied
+---
+ panel-plugin/weather-parsers.c | 3 +-
+ panel-plugin/weather-translate.c | 70 +++++++++++++++++++++++++++++++++++++++-
+ panel-plugin/weather-translate.h | 2 ++
+ 3 files changed, 73 insertions(+), 2 deletions(-)
+
+diff --git a/panel-plugin/weather-parsers.c b/panel-plugin/weather-parsers.c
+index 0f321ba..5a9b30a 100644
+--- a/panel-plugin/weather-parsers.c
++++ b/panel-plugin/weather-parsers.c
+@@ -28,6 +28,7 @@
+ #define _XOPEN_SOURCE
+ #define _XOPEN_SOURCE_EXTENDED 1
+ #include "weather-parsers.h"
++#include "weather-translate.h"
+ #include "weather-debug.h"
+
+ #include <time.h>
+@@ -220,8 +221,8 @@ parse_location(xmlNode *cur_node,
+ }
+ if (NODE_IS_TYPE(child_node, "symbol")) {
+ g_free(loc->symbol);
+- loc->symbol = PROP(child_node, "id");
+ loc->symbol_id = strtol(PROP(child_node, "number"), NULL, 10);
++ loc->symbol = g_strdup(get_symbol_for_id(loc->symbol_id));
+ }
+ }
+
+diff --git a/panel-plugin/weather-translate.c b/panel-plugin/weather-translate.c
+index 0c1606d..c38919a 100644
+--- a/panel-plugin/weather-translate.c
++++ b/panel-plugin/weather-translate.c
+@@ -29,6 +29,7 @@
+ #include "weather-translate.h"
+
+ #define DAY_LOC_N (sizeof(gchar) * 100)
++#define NODATA "NODATA"
+
+
+ static const gchar *moon_phases[] = {
+@@ -117,7 +118,7 @@ static const symbol_desc symbol_to_desc[] = {
+
+ { 15, "FOG", N_("Fog"), N_("Fog") },
+
+- /* Symbols 16-19 are used for polar days */
++ /* Symbols 16-19 are used for polar days (unused beginning with API version 1.2) */
+ { 16, "SUN", N_("Sunny"), N_("Clear") },
+ { 17, "LIGHTCLOUD", N_("Lightly cloudy"), N_("Lightly cloudy") },
+ { 18, "LIGHTRAINSUN", N_("Rain showers"), N_("Rain showers") },
+@@ -133,6 +134,73 @@ static const symbol_desc symbol_to_desc[] = {
+ #define NUM_SYMBOLS (sizeof(symbol_to_desc) / sizeof(symbol_to_desc[0]))
+
+
++/*
++ * API version 1.2, published in May 2014, introduced new symbols. We
++ * try to match these with existing symbols, in order to be compatible
++ * with existing icon themes and to maintain translation completeness.
++ *
++ * See http://api.met.no/weatherapi/weathericon/1.1/documentation
++ * for a list of symbols. For a list of symbols with descriptions,
++ * see http://om.yr.no/forklaring/symbol.
++ */
++gint
++replace_symbol_id(gint id)
++{
++ /* Symbol ids greater than 100 are used for indicating polar
++ * night. These ids are over the ordinary id + 100. Since we
++ * don't support polar icons, we can simply subtract 100 to
++ * get the non-polar symbol ids.
++ */
++ if (id > 100)
++ id -= 100;
++
++ switch (id) {
++ case 24: return 22; /* Light rain showers and thunder */
++ case 25: return 6; /* Heavy rain showers and thunder */
++ case 26: return 20; /* Light sleet showers and thunder */
++ case 27: return 20; /* Heavy sleet showers and thunder */
++ case 28: return 21; /* Light snow showers and thunder */
++ case 29: return 21; /* Heavy snow showers and thunder */
++ case 30: return 22; /* Light rain and thunder */
++ case 31: return 23; /* Light sleet and thunder */
++ case 32: return 23; /* Heavy sleet and thunder */
++ case 33: return 14; /* Light snow and thunder */
++ case 34: return 14; /* Heavy snow and thunder */
++
++ /* symbols 35-39 are unused */
++
++ case 40: return 5; /* Light rain showers */
++ case 41: return 5; /* Heavy rain showers */
++ case 42: return 7; /* Light sleet showers */
++ case 43: return 7; /* Heavy sleet showers */
++ case 44: return 8; /* Light snow showers */
++ case 45: return 8; /* Heavy snow showers */
++ case 46: return 9; /* Light rain */
++ case 47: return 12; /* Light sleet */
++ case 48: return 12; /* Heavy sleet */
++ case 49: return 13; /* Light snow */
++ case 50: return 13; /* Heavy snow */
++ default: return id;
++ }
++}
++
++
++const gchar *
++get_symbol_for_id(gint id)
++{
++ if (G_UNLIKELY(id < 1))
++ return NODATA;
++
++ if (id >= NUM_SYMBOLS)
++ id = replace_symbol_id(id);
++
++ if (id < NUM_SYMBOLS)
++ return symbol_to_desc[id-1].symbol;
++
++ return NODATA;
++}
++
++
+ const gchar *
+ translate_desc(const gchar *desc,
+ const gboolean nighttime)
+diff --git a/panel-plugin/weather-translate.h b/panel-plugin/weather-translate.h
+index 2116795..854e24f 100644
+--- a/panel-plugin/weather-translate.h
++++ b/panel-plugin/weather-translate.h
+@@ -24,6 +24,8 @@
+
+ G_BEGIN_DECLS
+
++const gchar *get_symbol_for_id(gint id);
++
+ const gchar *translate_desc(const gchar *desc,
+ gboolean nighttime);
+
+--
+1.8.3.1
+
diff --git a/meta-xfce/recipes-panel-plugins/weather/files/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch b/meta-xfce/recipes-panel-plugins/weather/files/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch
new file mode 100644
index 0000000000..4c385a469c
--- /dev/null
+++ b/meta-xfce/recipes-panel-plugins/weather/files/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch
@@ -0,0 +1,27 @@
+From 7df303bc5fa649299e18efeb5d4b801614030488 Mon Sep 17 00:00:00 2001
+From: Harald Judt <h.judt@gmx.at>
+Date: Tue, 3 Jun 2014 19:59:05 +0200
+Subject: [PATCH 2/2] Switch to met.no locationforecastLTS-1.2 API (bug
+ #10916).
+
+Upstream-Status: Applied
+---
+ panel-plugin/weather.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/panel-plugin/weather.c b/panel-plugin/weather.c
+index efa8559..63451fd 100644
+--- a/panel-plugin/weather.c
++++ b/panel-plugin/weather.c
+@@ -660,7 +660,7 @@ update_handler(plugin_data *data)
+ /* build url */
+ url =
+ g_strdup_printf("http://api.yr.no/weatherapi"
+- "/locationforecastlts/1.1/?lat=%s;lon=%s;msl=%d",
++ "/locationforecastlts/1.2/?lat=%s;lon=%s;msl=%d",
+ data->lat, data->lon, data->msl);
+
+ /* start receive thread */
+--
+1.8.3.1
+
diff --git a/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.3.bb b/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.3.bb
index d03a259047..6e4c86db5f 100644
--- a/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.3.bb
+++ b/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.3.bb
@@ -7,6 +7,10 @@ inherit xfce-panel-plugin
DEPENDS += "libsoup-2.4 dbus-glib upower"
+SRC_URI += " \
+ file://0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch \
+ file://0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch \
+"
SRC_URI[md5sum] = "755b33089c02afe88abb39253003a7f3"
SRC_URI[sha256sum] = "40a6a22be7653b15a47174a430da89040f178695b48e5e01e77990050f715ce4"
diff --git a/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb b/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb
new file mode 100644
index 0000000000..dd3d8fd6e2
--- /dev/null
+++ b/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "An alternate menu for the Xfce desktop environment"
+HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin cmake
+
+SRC_URI = "http://gottcode.org/${BPN}/${BPN}-${PV}-src.tar.bz2"
+SRC_URI[md5sum] = "f4de7546588952f84df8a4ad3552c526"
+SRC_URI[sha256sum] = "a104b2266675a3ea3c7b98aab7b075a351d813ea29098504031a62f365e5a0fc"
diff --git a/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb b/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb
index 88fb74c288..ef8e55fa64 100644
--- a/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb
+++ b/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb
@@ -6,7 +6,7 @@ DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo"
DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
PR = "r4"
-inherit xfce pythonnative perlnative
+inherit xfce pythonnative perlnative gtk-doc
# SRC_URI must follow inherited one
SRC_URI += " \
diff --git a/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb b/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb
index cfc113178a..44ae51f072 100644
--- a/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb
+++ b/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb
@@ -2,10 +2,10 @@ DESCRIPTION="Xfce Menu Library"
SECTION = "x11/libs"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
-DEPENDS = "glib-2.0 xfce4-dev-tools-native libxfce4util"
+DEPENDS = "glib-2.0 xfce4-dev-tools-native libxfce4util intltool-native"
PR = "r1"
-inherit xfce
+inherit xfce gtk-doc
SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
SRC_URI[md5sum] = "c3cf89c836be0ddb281c81e4808fb68b"
diff --git a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb
index 52792f585e..6534f940cf 100644
--- a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb
+++ b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb
@@ -4,7 +4,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
DEPENDS = "perl-native glib-2.0 gtk+ intltool libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice"
-inherit autotools gettext xfce xfce-git
+inherit autotools gettext gtk-doc xfce xfce-git
SRC_URI = " \
git://git.xfce.org/xfce/libxfce4ui;protocol=git \
diff --git a/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb b/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb
index b4e15e84a1..4a79f8233d 100644
--- a/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb
+++ b/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb
@@ -4,7 +4,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0"
-inherit xfce
+inherit xfce gtk-doc
SRC_URI[md5sum] = "11eec87e8eda2bc62512c2416cb807a1"
SRC_URI[sha256sum] = "e82cd1ad715c02a385b3cf6646cb89aa3c4724446dac1d7e424971df12f6cfbb"
diff --git a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
index 7fcb3880e1..28cfc7f0f0 100644
--- a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
+++ b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
@@ -6,10 +6,6 @@ PR = "r5"
inherit packagegroup
-RPROVIDES_${PN} += "task-xfce-base"
-RREPLACES_${PN} += "task-xfce-base"
-RCONFLICTS_${PN} += "task-xfce-base"
-
RDEPENDS_${PN} = " \
xfwm4 \
xfce4-session \
diff --git a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
index aef2f706b7..af8977d383 100644
--- a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
+++ b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
@@ -7,10 +7,6 @@ PR = "r10"
inherit packagegroup
-RPROVIDES_${PN} += "task-xfce-extended"
-RREPLACES_${PN} += "task-xfce-extended"
-RCONFLICTS_${PN} += "task-xfce-extended"
-
# mandatory
RDEPENDS_${PN} = " \
packagegroup-xfce-base \
@@ -40,10 +36,12 @@ RRECOMMENDS_${PN} = " \
xfce4-fsguard-plugin \
xfce4-battery-plugin \
xfce4-mount-plugin \
- xfce4-brightness-plugin \
+ xfce4-powermanager-plugin \
xfce4-closebutton-plugin \
xfce4-equake-plugin \
xfce4-notes-plugin \
+ xfce4-whiskermenu-plugin \
+ xfce4-mailwatch-plugin \
\
thunar-media-tags-plugin \
thunar-archive-plugin \
@@ -54,4 +52,5 @@ RRECOMMENDS_${PN} = " \
xfce4-mixer \
ristretto \
xfce4-taskmanager \
+ gigolo \
"
diff --git a/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb b/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb
index aa67fdfa05..36c5ed07eb 100644
--- a/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb
+++ b/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb
@@ -2,13 +2,13 @@ SUMMARY = "File manager for the Xfce Desktop Environment"
SECTION = "x11"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify xfce4-panel"
+DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify xfce4-panel udev"
inherit xfce
SRC_URI[md5sum] = "4f10d5d5576ce5127308d6badbac3afa"
SRC_URI[sha256sum] = "9a2706f6881ac29cda9f0b0325d179153bc09e37bcbafcab9823c1c1ec89579d"
-SRC_URI = "http://archive.xfce.org/src/xfce/${PN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2"
+SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2"
S = "${WORKDIR}/Thunar-${PV}/"
diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch b/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch
new file mode 100644
index 0000000000..5ecc35e37a
--- /dev/null
+++ b/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch
@@ -0,0 +1,45 @@
+From f5c283b1251ad005da7342e654cd2ec5ae9e5fb2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 26 Sep 2014 13:44:36 +0200
+Subject: [PATCH] configure: use pkg-config for freetype2
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ acinclude.m4 | 16 +---------------
+ 1 file changed, 1 insertion(+), 15 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 66e79d1..4c70b00 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -52,21 +52,7 @@ if test x"$ac_tumbler_font_thumbnailer" = x"yes"; then
+ PKG_CHECK_MODULES([GDK_PIXBUF], [gdk-pixbuf-2.0 >= 2.14],
+ [
+ dnl Check for FreeType 2.x
+- FREETYPE_LIBS=""
+- FREETYPE_CFLAGS=""
+- AC_PATH_PROG([FREETYPE_CONFIG], [freetype-config], [no])
+- if test x"$FREETYPE_CONFIG" != x"no"; then
+- AC_MSG_CHECKING([FREETYPE_CFLAGS])
+- FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
+- AC_MSG_RESULT([$FREETYPE_CFLAGS])
+-
+- AC_MSG_CHECKING([FREETYPE_LIBS])
+- FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
+- AC_MSG_RESULT([$FREETYPE_LIBS])
+- else
+- dnl We can only build the font thumbnailer if FreeType 2.x is available
+- ac_tumbler_font_thumbnailer=no
+- fi
++ PKG_CHECK_MODULES(FREETYPE, freetype2, , [ac_tumbler_font_thumbnailer=no])
+ AC_SUBST([FREETYPE_CFLAGS])
+ AC_SUBST([FREETYPE_LIBS])
+ ], [ac_tumbler_font_thumbnailer=no])
+--
+1.8.3.1
+
diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.29.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb
index 3860716ab6..5359545337 100644
--- a/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.29.bb
+++ b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb
@@ -2,12 +2,13 @@ DESCRIPTION="Thumbnail service implementing the thumbnail management D-Bus speci
SECTION = "x11/libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "dbus-glib freetype gdk-pixbuf poppler curl xfce4-dev-tools-native"
+DEPENDS = "dbus-glib freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
-inherit xfce
+inherit xfce gtk-doc
-SRC_URI[md5sum] = "f844215c5e3918eae58abdd85f146780"
-SRC_URI[sha256sum] = "c3bac4ee609e22be6c7f01a4fdf6086bc6b57940d82f99570a2d9d547a32fc93"
+SRC_URI[md5sum] = "2524e39439c13238565160da0b6fed2d"
+SRC_URI[sha256sum] = "e7c20d79c830465f8b3b792893f05e8b8d5ba90aec4973e7517e07ef31537304"
+SRC_URI += "file://0001-configure-use-pkg-config-for-freetype2.patch"
INSANE_SKIP_${PN} = "dev-so"
@@ -16,6 +17,9 @@ do_install_append() {
ln -sf ${libdir}/tumbler-1/plugins/cache/tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so
}
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
+
FILES_${PN} += "${datadir}/dbus-1/services \
${libdir}/tumbler-1/tumblerd \
${libdir}/tumbler-1/plugins/*.so \
diff --git a/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch
new file mode 100644
index 0000000000..8e6bd35425
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch
@@ -0,0 +1,13 @@
+diff --git a/scripts/Makefile.am b/scripts/Makefile.am
+index f2f0600..8e677dc 100644
+--- a/scripts/Makefile.am
++++ b/scripts/Makefile.am
+@@ -10,7 +10,7 @@ bin_SCRIPTS = \
+ xdt-autogen \
+ xdt-commit
+
+-xdt-autogen: Makefile $(srcdir)/xdt-autogen.in
++xdt-autogen: Makefile xdt-autogen.in
+ rm -f xdt-autogen xdt-autogen.gen
+ sed -e 's,\@DATADIR\@,$(datadir),g' \
+ xdt-autogen.in \
diff --git a/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb
index 3312fbdfe3..5884ef64c8 100644
--- a/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb
+++ b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb
@@ -5,17 +5,22 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
DEPENDS = "glib-2.0"
-inherit autotools
+inherit autotools pkgconfig
BBCLASSEXTEND = "native"
-SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2"
+SRC_URI = " \
+ http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2 \
+ file://xdt-autogen_dependency.patch \
+"
SRC_URI[md5sum] = "36112d0256092c30bd1b47105c547edf"
SRC_URI[sha256sum] = "2dccdd4935716a97db28464ba2403572ce03134fd7adf294e1a59eaf297e6555"
do_install_append() {
install -d ${D}${datadir}/aclocal
- install -m 644 m4macros/*.m4 ${D}${datadir}/aclocal/
+ install -m 644 ${S}/m4macros/*.m4 ${D}${datadir}/aclocal/
}
FILES_${PN} += "${datadir}/xfce4/dev-tools/m4macros/*.m4"
+
+RDEPENDS_${PN} = "bash"
diff --git a/meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-Add-shutdown-reboot-functionality-for-systemd.patch b/meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-Add-shutdown-reboot-functionality-for-systemd.patch
deleted file mode 100644
index d5c5487b82..0000000000
--- a/meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-Add-shutdown-reboot-functionality-for-systemd.patch
+++ /dev/null
@@ -1,677 +0,0 @@
-From 023333688f73ed26097c693d43f76e4b7d5698e2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 7 Jun 2013 18:38:42 +0200
-Subject: [PATCH] Add shutdown/reboot functionality for systemd
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Submitted [2]
-
-[1] http://git.xfce.org/xfce/xfce4-session/commit/?id=ae28aef315a7a6b90f1649ce6d1f30b842791cbf
-[2] https://bugzilla.xfce.org/show_bug.cgi?id=10167
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 2 +
- src/Makefile.am | 14 +++-
- src/xfpm-manager.c | 29 ++++++-
- src/xfpm-power.c | 66 ++++++++++++++-
- src/xfpm-systemd.c | 245 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/xfpm-systemd.h | 60 +++++++++++++
- 6 files changed, 411 insertions(+), 5 deletions(-)
- create mode 100644 src/xfpm-systemd.c
- create mode 100644 src/xfpm-systemd.h
-
-diff --git a/configure.ac b/configure.ac
-index 633b340..1db2036 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -95,6 +95,8 @@ if test "x$ac_cv_enable_polkit" = "xno"; then
- polkit="no"
- else
- AC_MSG_RESULT([yes])
-+ m4_define([polkit_minimum_version], [0.100])
-+ XDT_CHECK_PACKAGE([SYSTEMD], [polkit-gobject-1], [polkit_minimum_version])
- AC_DEFINE(ENABLE_POLKIT, 1 , [PolicyKit support])
- polkit="yes"
- fi
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 0435bed..9b7fdd0 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -18,8 +18,6 @@ xfce4_power_manager_SOURCES = \
- xfpm-xfconf.h \
- xfpm-disks.c \
- xfpm-disks.h \
-- xfpm-console-kit.c \
-- xfpm-console-kit.h \
- egg-idletime.c \
- egg-idletime.h \
- xfpm-backlight.c \
-@@ -39,6 +37,16 @@ xfce4_power_manager_SOURCES = \
- xfpm-errors.c \
- xfpm-errors.h
-
-+if ENABLE_POLKIT
-+xfce4_power_manager_SOURCES += \
-+ xfpm-systemd.c \
-+ xfpm-systemd.h
-+else
-+xfce4_power_manager_SOURCES += \
-+ xfpm-console-kit.c \
-+ xfpm-console-kit.h
-+endif
-+
- xfce4_power_manager_CFLAGS = \
- -I$(top_srcdir) \
- -I$(top_srcdir)/common \
-@@ -52,6 +60,7 @@ xfce4_power_manager_CFLAGS = \
- $(LIBXFCE4UI_CFLAGS) \
- $(XFCONF_CFLAGS) \
- $(LIBNOTIFY_CFLAGS) \
-+ $(SYSTEMD_CFLAGS) \
- $(XRANDR_CFLAGS) \
- $(DPMS_CFLAGS) \
- $(PLATFORM_CPPFLAGS) \
-@@ -70,6 +79,7 @@ xfce4_power_manager_LDADD = \
- $(LIBXFCE4UI_LIBS) \
- $(XFCONF_LIBS) \
- $(LIBNOTIFY_LIBS) \
-+ $(SYSTEMD_LIBS) \
- $(XRANDR_LIBS) \
- $(DPMS_LIBS)
-
-diff --git a/src/xfpm-manager.c b/src/xfpm-manager.c
-index 472ee3e..9bfb53c 100644
---- a/src/xfpm-manager.c
-+++ b/src/xfpm-manager.c
-@@ -43,7 +43,6 @@
- #include "xfpm-disks.h"
- #include "xfpm-dpms.h"
- #include "xfpm-manager.h"
--#include "xfpm-console-kit.h"
- #include "xfpm-button.h"
- #include "xfpm-backlight.h"
- #include "xfpm-inhibit.h"
-@@ -58,6 +57,12 @@
- #include "xfpm-enum-types.h"
- #include "xfpm-dbus-monitor.h"
-
-+#ifdef ENABLE_POLKIT
-+#include "xfpm-systemd.h"
-+#else
-+#include "xfpm-console-kit.h"
-+#endif
-+
- static void xfpm_manager_finalize (GObject *object);
-
- static void xfpm_manager_dbus_class_init (XfpmManagerClass *klass);
-@@ -80,7 +85,11 @@ struct XfpmManagerPrivate
- XfpmButton *button;
- XfpmXfconf *conf;
- XfpmBacklight *backlight;
-+#ifdef ENABLE_POLKIT
-+ XfpmSystemd *systemd;
-+#else
- XfpmConsoleKit *console;
-+#endif
- XfpmDBusMonitor *monitor;
- XfpmDisks *disks;
- XfpmInhibit *inhibit;
-@@ -131,7 +140,11 @@ xfpm_manager_finalize (GObject *object)
- g_object_unref (manager->priv->button);
- g_object_unref (manager->priv->conf);
- g_object_unref (manager->priv->client);
-+#ifdef ENABLE_POLKIT
-+ g_object_unref (manager->priv->systemd);
-+#else
- g_object_unref (manager->priv->console);
-+#endif
- g_object_unref (manager->priv->monitor);
- g_object_unref (manager->priv->disks);
- g_object_unref (manager->priv->inhibit);
-@@ -201,7 +214,11 @@ static void
- xfpm_manager_shutdown (XfpmManager *manager)
- {
- GError *error = NULL;
-+#ifdef ENABLE_POLKIT
-+ xfpm_systemd_shutdown (manager->priv->systemd, &error );
-+#else
- xfpm_console_kit_shutdown (manager->priv->console, &error );
-+#endif
-
- if ( error )
- {
-@@ -521,7 +538,11 @@ void xfpm_manager_start (XfpmManager *manager)
- manager->priv->power = xfpm_power_get ();
- manager->priv->button = xfpm_button_new ();
- manager->priv->conf = xfpm_xfconf_new ();
-+#ifdef ENABLE_POLKIT
-+ manager->priv->systemd = xfpm_systemd_new ();
-+#else
- manager->priv->console = xfpm_console_kit_new ();
-+#endif
- manager->priv->monitor = xfpm_dbus_monitor_new ();
- manager->priv->disks = xfpm_disks_new ();
- manager->priv->inhibit = xfpm_inhibit_new ();
-@@ -603,9 +624,15 @@ GHashTable *xfpm_manager_get_config (XfpmManager *manager)
-
- hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
-
-+#ifdef ENABLE_POLKIT
-+ g_object_get (G_OBJECT (manager->priv->systemd),
-+ "can-shutdown", &can_shutdown,
-+ NULL);
-+#else
- g_object_get (G_OBJECT (manager->priv->console),
- "can-shutdown", &can_shutdown,
- NULL);
-+#endif
-
- g_object_get (G_OBJECT (manager->priv->power),
- "auth-suspend", &auth_suspend,
-diff --git a/src/xfpm-power.c b/src/xfpm-power.c
-index 796bef8..391c7fc 100644
---- a/src/xfpm-power.c
-+++ b/src/xfpm-power.c
-@@ -39,7 +39,6 @@
- #include "xfpm-xfconf.h"
- #include "xfpm-notify.h"
- #include "xfpm-errors.h"
--#include "xfpm-console-kit.h"
- #include "xfpm-inhibit.h"
- #include "xfpm-polkit.h"
- #include "xfpm-network-manager.h"
-@@ -51,6 +50,12 @@
- #include "xfpm-enum-types.h"
- #include "egg-idletime.h"
-
-+#ifdef ENABLE_POLKIT
-+#include "xfpm-systemd.h"
-+#else
-+#include "xfpm-console-kit.h"
-+#endif
-+
- static void xfpm_power_finalize (GObject *object);
-
- static void xfpm_power_get_property (GObject *object,
-@@ -75,7 +80,11 @@ struct XfpmPowerPrivate
-
- GHashTable *hash;
-
-+#ifdef ENABLE_POLKIT
-+ XfpmSystemd *systemd;
-+#else
- XfpmConsoleKit *console;
-+#endif
- XfpmInhibit *inhibit;
- XfpmXfconf *conf;
- GtkStatusIcon *adapter_icon;
-@@ -680,9 +689,15 @@ xfpm_power_add_actions_to_notification (XfpmPower *power, NotifyNotification *n)
- {
- gboolean can_shutdown;
-
-+#ifdef ENABLE_POLKIT
-+ g_object_get (G_OBJECT (power->priv->systemd),
-+ "can-shutdown", &can_shutdown,
-+ NULL);
-+#else
- g_object_get (G_OBJECT (power->priv->console),
- "can-shutdown", &can_shutdown,
- NULL);
-+#endif
-
- if ( power->priv->can_hibernate && power->priv->auth_hibernate )
- {
-@@ -756,9 +771,15 @@ xfpm_power_show_critical_action_gtk (XfpmPower *power)
- const gchar *message;
- gboolean can_shutdown;
-
-+#ifdef ENABLE_POLKIT
-+ g_object_get (G_OBJECT (power->priv->systemd),
-+ "can-shutdown", &can_shutdown,
-+ NULL);
-+#else
- g_object_get (G_OBJECT (power->priv->console),
- "can-shutdown", &can_shutdown,
- NULL);
-+#endif
-
- message = _("System is running on low power. "\
- "Save your work to avoid losing data");
-@@ -1327,7 +1348,11 @@ xfpm_power_init (XfpmPower *power)
- power->priv->inhibit = xfpm_inhibit_new ();
- power->priv->notify = xfpm_notify_new ();
- power->priv->conf = xfpm_xfconf_new ();
-+#ifdef ENABLE_POLKIT
-+ power->priv->systemd = xfpm_systemd_new ();
-+#else
- power->priv->console = xfpm_console_kit_new ();
-+#endif
-
- g_signal_connect_swapped (power->priv->conf, "notify::" SHOW_TRAY_ICON_CFG,
- G_CALLBACK (xfpm_power_refresh_adaptor_visible), power);
-@@ -1445,7 +1470,11 @@ xfpm_power_finalize (GObject *object)
- g_object_unref (power->priv->inhibit);
- g_object_unref (power->priv->notify);
- g_object_unref (power->priv->conf);
-+#ifdef ENABLE_POLKIT
-+ g_object_unref (power->priv->systemd);
-+#else
- g_object_unref (power->priv->console);
-+#endif
-
- xfpm_power_hide_adapter_icon (power);
-
-@@ -1607,9 +1636,15 @@ static gboolean xfpm_power_dbus_shutdown (XfpmPower *power,
- {
- gboolean can_reboot;
-
-+#ifdef ENABLE_POLKIT
-+ g_object_get (G_OBJECT (power->priv->systemd),
-+ "can-shutdown", &can_reboot,
-+ NULL);
-+#else
- g_object_get (G_OBJECT (power->priv->console),
- "can-shutdown", &can_reboot,
- NULL);
-+#endif
-
- if ( !can_reboot)
- {
-@@ -1618,7 +1653,11 @@ static gboolean xfpm_power_dbus_shutdown (XfpmPower *power,
- return FALSE;
- }
-
-+#ifdef ENABLE_POLKIT
-+ xfpm_systemd_shutdown (power->priv->systemd, error);
-+#else
- xfpm_console_kit_shutdown (power->priv->console, error);
-+#endif
-
- return TRUE;
- }
-@@ -1628,9 +1667,15 @@ static gboolean xfpm_power_dbus_reboot (XfpmPower *power,
- {
- gboolean can_reboot;
-
-+#ifdef ENABLE_POLKIT
-+ g_object_get (G_OBJECT (power->priv->systemd),
-+ "can-restart", &can_reboot,
-+ NULL);
-+#else
- g_object_get (G_OBJECT (power->priv->console),
- "can-restart", &can_reboot,
- NULL);
-+#endif
-
- if ( !can_reboot)
- {
-@@ -1639,7 +1684,11 @@ static gboolean xfpm_power_dbus_reboot (XfpmPower *power,
- return FALSE;
- }
-
-+#ifdef ENABLE_POLKIT
-+ xfpm_systemd_reboot (power->priv->systemd, error);
-+#else
- xfpm_console_kit_reboot (power->priv->console, error);
-+#endif
-
- return TRUE;
- }
-@@ -1694,10 +1743,16 @@ static gboolean xfpm_power_dbus_can_reboot (XfpmPower * power,
- gboolean * OUT_can_reboot,
- GError ** error)
- {
-+#ifdef ENABLE_POLKIT
-+ g_object_get (G_OBJECT (power->priv->systemd),
-+ "can-reboot", OUT_can_reboot,
-+ NULL);
-+#else
- g_object_get (G_OBJECT (power->priv->console),
- "can-reboot", OUT_can_reboot,
- NULL);
--
-+#endif
-+
- return TRUE;
- }
-
-@@ -1705,9 +1760,16 @@ static gboolean xfpm_power_dbus_can_shutdown (XfpmPower * power,
- gboolean * OUT_can_shutdown,
- GError ** error)
- {
-+#ifdef ENABLE_POLKIT
-+ g_object_get (G_OBJECT (power->priv->systemd),
-+ "can-shutdown", OUT_can_shutdown,
-+ NULL);
-+#else
- g_object_get (G_OBJECT (power->priv->console),
- "can-shutdown", OUT_can_shutdown,
- NULL);
-+#endif
-+
- return TRUE;
- }
-
-diff --git a/src/xfpm-systemd.c b/src/xfpm-systemd.c
-new file mode 100644
-index 0000000..cc1cba1
---- /dev/null
-+++ b/src/xfpm-systemd.c
-@@ -0,0 +1,245 @@
-+/*
-+ * * Copyright (C) 2009-2011 Ali <aliov@xfce.org>
-+ * * Copyright (C) 2013 Andreas Müller <schnitzeltony@googlemail.com>
-+ *
-+ * Licensed under the GNU General Public License Version 2
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include <config.h>
-+#endif
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#include <dbus/dbus-glib.h>
-+#include <polkit/polkit.h>
-+
-+#include "xfpm-systemd.h"
-+
-+
-+static void xfpm_systemd_finalize (GObject *object);
-+
-+static void xfpm_systemd_get_property (GObject *object,
-+ guint prop_id,
-+ GValue *value,
-+ GParamSpec *pspec);
-+
-+#define XFPM_SYSTEMD_GET_PRIVATE(o) \
-+(G_TYPE_INSTANCE_GET_PRIVATE ((o), XFPM_TYPE_SYSTEMD, XfpmSystemdPrivate))
-+
-+struct XfpmSystemdPrivate
-+{
-+ gboolean can_shutdown;
-+ gboolean can_restart;
-+
-+ PolkitAuthority *authority;
-+ PolkitSubject *subject;
-+};
-+
-+enum
-+{
-+ PROP_0,
-+ PROP_CAN_RESTART,
-+ PROP_CAN_SHUTDOWN
-+};
-+
-+G_DEFINE_TYPE (XfpmSystemd, xfpm_systemd, G_TYPE_OBJECT)
-+
-+#define SYSTEMD_DBUS_NAME "org.freedesktop.login1"
-+#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1"
-+#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager"
-+#define SYSTEMD_REBOOT_ACTION "Reboot"
-+#define SYSTEMD_POWEROFF_ACTION "PowerOff"
-+#define SYSTEMD_REBOOT_TEST "org.freedesktop.login1.reboot"
-+#define SYSTEMD_POWEROFF_TEST "org.freedesktop.login1.power-off"
-+
-+static void
-+xfpm_systemd_class_init (XfpmSystemdClass *klass)
-+{
-+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
-+
-+ object_class->finalize = xfpm_systemd_finalize;
-+
-+ object_class->get_property = xfpm_systemd_get_property;
-+
-+ g_object_class_install_property (object_class,
-+ PROP_CAN_RESTART,
-+ g_param_spec_boolean ("can-restart",
-+ NULL, NULL,
-+ FALSE,
-+ G_PARAM_READABLE));
-+
-+ g_object_class_install_property (object_class,
-+ PROP_CAN_SHUTDOWN,
-+ g_param_spec_boolean ("can-shutdown",
-+ NULL, NULL,
-+ FALSE,
-+ G_PARAM_READABLE));
-+
-+ g_type_class_add_private (klass, sizeof (XfpmSystemdPrivate));
-+}
-+
-+static gboolean
-+xfpm_systemd_can_method (XfpmSystemd *systemd,
-+ gboolean *can_method,
-+ const gchar *method)
-+{
-+ PolkitAuthorizationResult *res;
-+ GError *local_error = NULL;
-+
-+ *can_method = FALSE;
-+ res = polkit_authority_check_authorization_sync (systemd->priv->authority,
-+ systemd->priv->subject,
-+ method,
-+ NULL,
-+ POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE,
-+ NULL,
-+ &local_error);
-+ if ( local_error )
-+ {
-+ g_critical ("Unable to get %s : %s", method, local_error->message);
-+ g_error_free (local_error);
-+ }
-+
-+ if(res)
-+ {
-+ *can_method = polkit_authorization_result_get_is_authorized (res) ||
-+ polkit_authorization_result_get_is_challenge (res);
-+ g_object_unref (G_OBJECT (res));
-+ }
-+}
-+
-+static void
-+xfpm_systemd_init (XfpmSystemd *systemd)
-+{
-+ PolkitAuthorizationResult *res;
-+
-+ systemd->priv = XFPM_SYSTEMD_GET_PRIVATE (systemd);
-+ systemd->priv->authority = polkit_authority_get_sync (NULL, NULL);
-+ systemd->priv->subject = polkit_unix_process_new (getpid());
-+ systemd->priv->can_shutdown = FALSE;
-+ systemd->priv->can_restart = FALSE;
-+
-+ if(systemd->priv->authority && systemd->priv->subject)
-+ {
-+ xfpm_systemd_can_method (systemd,
-+ &systemd->priv->can_shutdown,
-+ SYSTEMD_POWEROFF_TEST);
-+ xfpm_systemd_can_method (systemd,
-+ &systemd->priv->can_restart,
-+ SYSTEMD_REBOOT_TEST);
-+ }
-+}
-+
-+static void xfpm_systemd_get_property (GObject *object,
-+ guint prop_id,
-+ GValue *value,
-+ GParamSpec *pspec)
-+{
-+ XfpmSystemd *systemd;
-+ systemd = XFPM_SYSTEMD (object);
-+
-+ switch (prop_id)
-+ {
-+ case PROP_CAN_SHUTDOWN:
-+ g_value_set_boolean (value, systemd->priv->can_shutdown);
-+ break;
-+ case PROP_CAN_RESTART:
-+ g_value_set_boolean (value, systemd->priv->can_restart);
-+ break;
-+ default:
-+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-+ break;
-+ }
-+}
-+
-+static void
-+xfpm_systemd_finalize (GObject *object)
-+{
-+ XfpmSystemd *systemd;
-+
-+ systemd = XFPM_SYSTEMD (object);
-+
-+ if(systemd->priv->authority)
-+ g_object_unref (G_OBJECT (systemd->priv->authority));
-+ if(systemd->priv->subject)
-+ g_object_unref (G_OBJECT (systemd->priv->subject));
-+
-+ G_OBJECT_CLASS (xfpm_systemd_parent_class)->finalize (object);
-+}
-+
-+XfpmSystemd *
-+xfpm_systemd_new (void)
-+{
-+ static gpointer systemd_obj = NULL;
-+
-+ if ( G_LIKELY (systemd_obj != NULL ) )
-+ {
-+ g_object_ref (systemd_obj);
-+ }
-+ else
-+ {
-+ systemd_obj = g_object_new (XFPM_TYPE_SYSTEMD, NULL);
-+ g_object_add_weak_pointer (systemd_obj, &systemd_obj);
-+ }
-+
-+ return XFPM_SYSTEMD (systemd_obj);
-+}
-+
-+static void
-+xfpm_systemd_try_method (XfpmSystemd *systemd,
-+ const gchar *method,
-+ GError **error)
-+{
-+ GDBusConnection *bus;
-+ GError *local_error = NULL;
-+
-+ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, error);
-+ if (G_LIKELY (bus != NULL))
-+ {
-+ g_dbus_connection_call_sync (bus,
-+ SYSTEMD_DBUS_NAME,
-+ SYSTEMD_DBUS_PATH,
-+ SYSTEMD_DBUS_INTERFACE,
-+ method,
-+ g_variant_new ("(b)", TRUE),
-+ NULL, 0, G_MAXINT, NULL,
-+ &local_error);
-+ g_object_unref (G_OBJECT (bus));
-+
-+ if (local_error != NULL)
-+ {
-+ g_propagate_error (error, local_error);
-+ }
-+ }
-+}
-+
-+void xfpm_systemd_shutdown (XfpmSystemd *systemd, GError **error)
-+{
-+ xfpm_systemd_try_method (systemd,
-+ SYSTEMD_POWEROFF_ACTION,
-+ error);
-+}
-+
-+void xfpm_systemd_reboot (XfpmSystemd *systemd, GError **error)
-+{
-+ xfpm_systemd_try_method (systemd,
-+ SYSTEMD_REBOOT_ACTION,
-+ error);
-+}
-diff --git a/src/xfpm-systemd.h b/src/xfpm-systemd.h
-new file mode 100644
-index 0000000..2890e08
---- /dev/null
-+++ b/src/xfpm-systemd.h
-@@ -0,0 +1,60 @@
-+/*
-+ * * Copyright (C) 2009-2011 Ali <aliov@xfce.org>
-+ * * Copyright (C) 2013 Andreas Müller <schnitzeltony@googlemail.com>
-+ *
-+ * Licensed under the GNU General Public License Version 2
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ */
-+
-+#ifndef __XFPM_SYSTEMD_H
-+#define __XFPM_SYSTEMD_H
-+
-+#include <glib-object.h>
-+
-+G_BEGIN_DECLS
-+
-+#define XFPM_TYPE_SYSTEMD (xfpm_systemd_get_type () )
-+#define XFPM_SYSTEMD(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XFPM_TYPE_SYSTEMD, XfpmSystemd))
-+#define XFPM_IS_SYSTEMD(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFPM_TYPE_SYSTEMD))
-+
-+typedef struct XfpmSystemdPrivate XfpmSystemdPrivate;
-+
-+typedef struct
-+{
-+ GObject parent;
-+ XfpmSystemdPrivate *priv;
-+
-+} XfpmSystemd;
-+
-+typedef struct
-+{
-+ GObjectClass parent_class;
-+
-+} XfpmSystemdClass;
-+
-+GType XFPM_SYSTEMD_get_type (void) G_GNUC_CONST;
-+
-+XfpmSystemd *XFPM_SYSTEMD_new (void);
-+
-+void XFPM_SYSTEMD_shutdown (XfpmSystemd *systemd,
-+ GError **error);
-+
-+void XFPM_SYSTEMD_reboot (XfpmSystemd *systemd,
-+ GError **error);
-+
-+G_END_DECLS
-+
-+#endif /* __XFPM_SYSTEMD_H */
---
-1.7.6.5
-
diff --git a/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.2.0.bb b/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.1.bb
index 6e92186ab9..a4aaf668d7 100644
--- a/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.2.0.bb
+++ b/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.1.bb
@@ -10,9 +10,8 @@ inherit xfce
DEPENDS = "gtk+ glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \
libxrandr virtual/libx11 libxext xfce4-panel"
-SRC_URI += "file://0001-Add-shutdown-reboot-functionality-for-systemd.patch"
-
-RDEPENDS_${PN} = "networkmanager udisks upower ${@base_contains('DISTRO_FEATURES','systemd','','consolekit',d)}"
+SRC_URI[md5sum] = "808a2630487d75e6eae915e464b7fda3"
+SRC_URI[sha256sum] = "16a9e9bf3e0f8480d05b248817fbdc59e701e9161d3d0c7e53f3de28ed491f58"
EXTRA_OECONF = " \
--enable-network-manager \
@@ -22,12 +21,22 @@ EXTRA_OECONF = " \
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','',d)}"
PACKAGECONFIG[systemd] = "--enable-polkit, --disable-polkit, polkit"
-PACKAGES += "xfce4-brightness-plugin"
-FILES_${PN} += "${datadir}/polkit-1"
-FILES_xfce4-brightness-plugin = " \
- ${libdir}/xfce4/panel-plugins/xfce4-brightness-plugin \
- ${datadir}/xfce4/panel-plugins/xfce4-brightness-plugin.desktop \
+PACKAGES += "xfce4-powermanager-plugin"
+
+FILES_${PN} += " \
+ ${datadir}/polkit-1 \
+ ${datadir}/appdata \
"
-SRC_URI[md5sum] = "935599b7114b0a4b0e2c9a5d6c72524c"
-SRC_URI[sha256sum] = "d7fb98a540284b62f4201527de17d4b24123f9d26c9f49131dd497c8387184e9"
+FILES_xfce4-powermanager-plugin = " \
+ ${libdir}/xfce4 \
+ ${datadir}/xfce4 \
+"
+
+RDEPENDS_xfce4-powermanager-plugin = "${PN}"
+RDEPENDS_${PN} = "networkmanager udisks upower ${@base_contains('DISTRO_FEATURES','systemd','','consolekit',d)}"
+
+# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin
+RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
+RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
+RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch
index 4d8e01d59f..5de14fc8e2 100644
--- a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch
@@ -223,15 +223,15 @@ index 0000000..c9e5a9f
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)@cursordir@;
-+ $(INSTALL_DATA) index.theme $(DESTDIR)/@cursordir@/..
-+ $(INSTALL_DATA) invisible wait $(DESTDIR)@cursordir@/
++ $(INSTALL_DATA) $(srcdir)/index.theme $(DESTDIR)/@cursordir@/..
++ $(INSTALL_DATA) $(srcdir)/invisible $(srcdir)/wait $(DESTDIR)@cursordir@/
+ for CURSOR in $(CURSOR_NAMES_INVISIBLE); do \
+ echo '-- Installing invisible cursor '$$CURSOR; \
-+ ln -s invisible $(DESTDIR)@cursordir@/$$CURSOR; \
++ ln -s $(srcdir)/invisible $(DESTDIR)@cursordir@/$$CURSOR; \
+ done
+ for CURSOR in $(CURSOR_NAMES); do \
+ echo '-- Installing visible cursor '$$CURSOR; \
-+ ln -s wait $(DESTDIR)@cursordir@/$$CURSOR; \
++ ln -s $(srcdir)/wait $(DESTDIR)@cursordir@/$$CURSOR; \
+ done
+
diff --git a/cursors/index.theme b/cursors/index.theme
diff --git a/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb b/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb
index bb8c33709f..30d0de3775 100644
--- a/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb
+++ b/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb
@@ -2,9 +2,9 @@ SUMMARY = "Xfce configuration daemon and utilities"
SECTION = "x11/wm"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "dbus-glib libxfce4util perl"
+DEPENDS = "dbus-glib libxfce4util perl intltool-native xfce4-dev-tools-native"
-inherit xfce
+inherit xfce gtk-doc
EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl"
diff --git a/toolchain-layer/conf/layer.conf b/toolchain-layer/conf/layer.conf
index ca81eb148a..b377f12360 100644
--- a/toolchain-layer/conf/layer.conf
+++ b/toolchain-layer/conf/layer.conf
@@ -23,3 +23,8 @@ BBFILE_PATTERN_toolchain-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_toolchain-layer = "6"
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_toolchain-layer = "1"
+
+LAYERDEPENDS_toolchain-layer = "core"