aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-efl/classes/efl.bbclass2
-rw-r--r--meta-efl/conf/layer.conf6
-rw-r--r--meta-efl/recipes-devtools/python/python-efl.inc4
-rw-r--r--meta-efl/recipes-devtools/python/python-efl_1.10.1.bb4
-rw-r--r--meta-efl/recipes-devtools/python/python-efl_1.13.0.bb4
-rw-r--r--meta-efl/recipes-devtools/python/python-efl_git.bb7
-rw-r--r--meta-efl/recipes-efl/e17/diskio_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.inc4
-rw-r--r--meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch29
-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.bb9
-rw-r--r--meta-efl/recipes-efl/e17/elbow_git.bb24
-rw-r--r--meta-efl/recipes-efl/e17/ephoto_svn.bb2
-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/exquisite-theme-illume.bb2
-rw-r--r--meta-efl/recipes-efl/e17/exquisite_svn.bb2
-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/terminology.inc4
-rw-r--r--meta-efl/recipes-efl/e17/terminology_0.5.1.bb8
-rw-r--r--meta-efl/recipes-efl/e17/terminology_0.8.0.bb8
-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.inc11
-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/0003-edje_cc-Avoid-segfault-when-strcmp-NULL-items.patch30
-rw-r--r--meta-efl/recipes-efl/efl/efl_1.13.0.bb (renamed from meta-efl/recipes-efl/efl/efl_1.11.0.bb)9
-rw-r--r--meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb2
-rw-r--r--meta-efl/recipes-efl/efl/elementary.inc5
-rw-r--r--meta-efl/recipes-efl/efl/elementary_1.13.0.bb (renamed from meta-efl/recipes-efl/efl/elementary_1.11.0.bb)4
-rw-r--r--meta-efl/recipes-efl/efl/emotion-generic-players_1.11.0.bb8
-rw-r--r--meta-efl/recipes-efl/efl/emotion-generic-players_1.13.0.bb8
-rw-r--r--meta-efl/recipes-efl/efl/entrance_svn.bb2
-rw-r--r--meta-efl/recipes-efl/efl/epdf_svn.bb2
-rw-r--r--meta-efl/recipes-efl/efl/evas-generic-loaders_1.11.0.bb8
-rw-r--r--meta-efl/recipes-efl/efl/evas-generic-loaders_1.13.0.bb8
-rw-r--r--meta-efl/recipes-efl/efl/expedite.inc2
-rw-r--r--meta-efl/recipes-efl/efl/imlib2_git.bb2
-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/0004-WebMemorySamplerLinux-Fix-type-limits-warning.patch32
-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.bb13
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl_svn.bb22
-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-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-gnome/conf/layer.conf6
-rw-r--r--meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb2
-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/network-manager-applet_0.9.8.10.bb6
-rw-r--r--meta-gnome/recipes-connectivity/obex/obexd_0.48.bb2
-rw-r--r--meta-gnome/recipes-devtools/glade/glade3_%.bbappend (renamed from meta-gnome/recipe-devtools/glade/glade3_%.bbappend)0
-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/gcr/gcr_3.8.2.bb4
-rwxr-xr-xmeta-gnome/recipes-gnome/gdm/gdm/gdm4
-rw-r--r--meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb4
-rw-r--r--meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0002-bluetooth-client-use-valid-interface-names.patch122
-rw-r--r--meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb6
-rw-r--r--meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb3
-rw-r--r--meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb2
-rw-r--r--meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb1
-rw-r--r--meta-gnome/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.14.1.bb15
-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.inc1
-rw-r--r--meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb4
-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/zenity/zenity_2.32.1.bb2
-rw-r--r--meta-gnome/recipes-support/tracker/tracker_0.14.2.bb2
-rw-r--r--meta-gpe/conf/layer.conf6
-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.bb9
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut_git.bb25
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc.inc1
-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.bb1
-rw-r--r--meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb26
-rw-r--r--meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.19.bb (renamed from meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb)2
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb2
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb2
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp.inc2
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb2
-rw-r--r--meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb2
-rwxr-xr-xmeta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.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/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/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.inc8
-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.bb1
-rw-r--r--meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb16
-rw-r--r--meta-networking/MAINTAINERS4
-rw-r--r--meta-networking/conf/layer.conf4
-rw-r--r--meta-networking/licenses/copyleft-next-0.3.0219
-rw-r--r--meta-networking/licenses/radvd37
-rw-r--r--meta-networking/recipes-connectivity/crda/crda-3.13/crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch35
-rw-r--r--meta-networking/recipes-connectivity/crda/crda-3.13/crda-Fix-the-linking-order-to-avoid-compilation-erro.patch51
-rw-r--r--meta-networking/recipes-connectivity/crda/crda-3.13/do-not-run-ldconfig-if-destdir-is-set.patch21
-rw-r--r--meta-networking/recipes-connectivity/crda/crda-3.13/fix-linking-of-libraries-used-by-reglib.patch50
-rw-r--r--meta-networking/recipes-connectivity/crda/crda_1.1.3.bb38
-rw-r--r--meta-networking/recipes-connectivity/crda/crda_3.13.bb43
-rw-r--r--meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb (renamed from meta-networking/recipes-connectivity/cyassl/cyassl_3.1.0.bb)7
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb2
-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.bb3
-rw-r--r--meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb13
-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/cyrus-sasl/cyrus-sasl/saslauthd.conf11
-rw-r--r--meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.service12
-rw-r--r--meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb33
-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/iscsi-initiator-utils_2.0-873.bb2
-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/main.cf_2.04
-rw-r--r--meta-networking/recipes-daemons/postfix/files/postfix.service9
-rw-r--r--meta-networking/recipes-daemons/postfix/postfix.inc291
-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-sftp.patch142
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/proftpd.service7
-rw-r--r--meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb73
-rw-r--r--meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb113
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch621
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd/ptpd-use-pkgconfig.patch35
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd/ptpd.conf7
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd/ptpd.service10
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb26
-rw-r--r--meta-networking/recipes-daemons/radvd/files/radvd.default1
-rw-r--r--meta-networking/recipes-daemons/radvd/files/radvd.service5
-rw-r--r--meta-networking/recipes-daemons/radvd/radvd.inc6
-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-empty-file-put-error.patch33
-rw-r--r--meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.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-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/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.bb6
-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/ripngd.service2
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga.inc5
-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-support/dnsmasq/dnsmasq_2.71.bb10
-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/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/ipsec-tools/ipsec-tools/racoon.conf8
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample40
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service11
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb22
-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.bb25
-rw-r--r--meta-networking/recipes-support/mtr/files/configure.patch12
-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)10
-rw-r--r--meta-networking/recipes-support/nis/files/libdl.patch12
-rw-r--r--meta-networking/recipes-support/nis/files/no-selinux.patch16
-rw-r--r--meta-networking/recipes-support/nis/nis.inc2
-rw-r--r--meta-networking/recipes-support/nis/yp-tools_2.14.bb (renamed from meta-networking/recipes-support/nis/yp-tools_2.12.bb)23
-rw-r--r--meta-networking/recipes-support/nis/ypbind-mt_1.38.bb (renamed from meta-networking/recipes-support/nis/ypbind-mt_1.36.bb)37
-rw-r--r--meta-networking/recipes-support/ntp/files/CVE-2013-5211.patch112
-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)9
-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)38
-rw-r--r--meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb6
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf1
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn/openvpn@.service12
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb31
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb67
-rw-r--r--meta-networking/recipes-support/pimd/pimd_2.1.8.bb7
-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.bb8
-rw-r--r--meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb (renamed from meta-networking/recipes-support/strongswan/strongswan_5.2.0.bb)4
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/add-ptest.patch38
-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.bb8
-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.bb1
-rw-r--r--meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb (renamed from meta-networking/recipes-support/traceroute/traceroute_2.0.20.bb)9
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb (renamed from meta-networking/recipes-support/wireshark/wireshark_1.12.1.bb)20
-rw-r--r--meta-oe/classes/breakpad.bbclass2
-rw-r--r--meta-oe/conf/layer.conf6
-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/licenses/unRAR41
-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.bb1
-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-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.bb6
-rw-r--r--meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb2
-rw-r--r--meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb2
-rw-r--r--meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init27
-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_1.12.2.bb8
-rw-r--r--meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb2
-rw-r--r--meta-oe/recipes-connectivity/libmbim/libmbim_1.12.2.bb16
-rw-r--r--meta-oe/recipes-connectivity/libqmi/libqmi_1.12.2.bb16
-rw-r--r--meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.2.bb40
-rw-r--r--meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb29
-rw-r--r--meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb3
-rw-r--r--meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb1
-rw-r--r--meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb (renamed from meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.0.bb)4
-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/samba/samba-basic.inc1
-rw-r--r--meta-oe/recipes-connectivity/samba/samba.inc53
-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/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/zeroc-ice/zeroc-ice_3.5.1.bb2
-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/meta/distro-feed-configs.bb3
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-basic.bb3
-rw-r--r--meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch44
-rw-r--r--meta-oe/recipes-core/toybox/toybox_0.5.0.bb (renamed from meta-oe/recipes-core/toybox/toybox_0.4.9.bb)6
-rw-r--r--meta-oe/recipes-devtools/geany/geany_1.24.1.bb (renamed from meta-oe/recipes-devtools/geany/geany_1.23.bb)4
-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)9
-rw-r--r--meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb2
-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_git.bb3
-rw-r--r--meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb19
-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.inc132
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch8
-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.bb23
-rw-r--r--meta-oe/recipes-devtools/php/php_5.5.21.bb236
-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)4
-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/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-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_5.4.1.bb4
-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/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/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/indent/indent_2.2.10.bb22
-rw-r--r--meta-oe/recipes-extended/iotop/iotop_0.4.4.bb2
-rw-r--r--meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch21
-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)6
-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/libqb/libqb_0.17.1.bb26
-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.bb57
-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.bb1
-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/p7zip/files/do_not_override_compiler_and_do_not_strip.patch31
-rw-r--r--meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb17
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb2
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-group-rule.inc1
-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_1.4.8.bb20
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch45
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf2
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate4
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb10
-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
-rw-r--r--meta-oe/recipes-extended/subsurface/subsurface/libm.patch17
-rw-r--r--meta-oe/recipes-extended/subsurface/subsurface/pkgconfig.patch22
-rw-r--r--meta-oe/recipes-extended/subsurface/subsurface_git.bb25
-rw-r--r--meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb6
-rw-r--r--meta-oe/recipes-extended/tiptop/tiptop_2.2.bb26
-rw-r--r--meta-oe/recipes-extended/tmux/tmux_1.6.bb2
-rw-r--r--meta-oe/recipes-extended/zram/zram/init4
-rw-r--r--meta-oe/recipes-extended/zsh/zsh.inc4
-rw-r--r--meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb2
-rw-r--r--meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb2
-rw-r--r--meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch38
-rw-r--r--meta-oe/recipes-graphics/gimp/gimp/freetype.patch30
-rw-r--r--meta-oe/recipes-graphics/gimp/gimp_2.8.14.bb (renamed from meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb)13
-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/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch62
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm_git.bb28
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb4
-rw-r--r--meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb4
-rw-r--r--meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb4
-rw-r--r--meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb21
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.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/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/xmessage_1.0.4.bb10
-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/xwud_1.0.4.bb12
-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.bb1
-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.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb4
-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
-rwxr-xr-xmeta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm9
-rw-r--r--meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb4
-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/linux/linux.inc16
-rw-r--r--meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.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.bb43
-rw-r--r--meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb12
-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)5
-rw-r--r--meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb4
-rw-r--r--meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.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)14
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb6
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch17
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite/fix-the-configure-script-and-freexl.patch200
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite_3.0.1.bb9
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb (renamed from meta-oe/recipes-navigation/libspatialite/libspatialite.inc)15
-rw-r--r--meta-oe/recipes-navigation/navit/navit.inc2
-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-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/sylpheed_2.7.1.bb2
-rw-r--r--meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb2
-rw-r--r--meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb2
-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)6
-rw-r--r--meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb23
-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.bb35
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb9
-rw-r--r--meta-oe/recipes-support/dstat/dstat_0.7.2.bb23
-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.bb3
-rw-r--r--meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb29
-rw-r--r--meta-oe/recipes-support/fbtest/fb-test_git.bb11
-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/fltk/fltk_1.1.10.bb2
-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/imagemagick/imagemagick/do-not-install-magick-baseconfig.h-repeatedly.patch49
-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)21
-rw-r--r--meta-oe/recipes-support/lcov/lcov_1.11.bb28
-rw-r--r--meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb2
-rw-r--r--meta-oe/recipes-support/libcap-ng/libcap-ng/python.patch39
-rw-r--r--meta-oe/recipes-support/libcap-ng/libcap-ng_0.7.4.bb37
-rw-r--r--meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch7377
-rw-r--r--meta-oe/recipes-support/libftdi/libftdi_0.19.bb31
-rw-r--r--meta-oe/recipes-support/libftdi/libftdi_1.1.bb29
-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/libp11/libp11_0.2.8.bb23
-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/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.bb4
-rw-r--r--meta-oe/recipes-support/links/links.inc2
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors/sensord.service11
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb21
-rw-r--r--meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch21
-rw-r--r--meta-oe/recipes-support/log4c/log4c_1.2.4.bb15
-rw-r--r--meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb22
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2.inc2
-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/mcelog/mcelog_1.04.bb28
-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/mysql/mariadb-native_5.5.41.bb (renamed from meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb)4
-rw-r--r--meta-oe/recipes-support/mysql/mariadb.inc (renamed from meta-oe/recipes-support/mysql/mariadb_5.5.39.inc)24
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch41
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/my.cnf10
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/mysqld.service1
-rw-r--r--meta-oe/recipes-support/mysql/mariadb_5.5.41.bb (renamed from meta-oe/recipes-support/mysql/mariadb_5.5.39.bb)5
-rw-r--r--meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb2
-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/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)10
-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/slapd.service10
-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)95
-rw-r--r--meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb2
-rw-r--r--meta-oe/recipes-support/opensc/opensc_0.14.0.bb45
-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/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/picocom/picocom_1.7.bb (renamed from meta-oe/recipes-support/picocom/picocom_1.6.bb)7
-rw-r--r--meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb29
-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/postgresql.inc11
-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/rng-tools/files/default3
-rw-r--r--meta-oe/recipes-support/rng-tools/rng-tools_4.bb24
-rw-r--r--meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch44
-rw-r--r--meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb43
-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/synergy/synergy_1.3.8.bb6
-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/logwriter-still-free-the-unconsumed-item.patch47
-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/syslog-ng.inc2
-rw-r--r--meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb4
-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/tomoyo-tools/tomoyo-tools_2.5.0.bb29
-rw-r--r--meta-oe/recipes-support/utouch/utouch-mtview_git.bb4
-rw-r--r--meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb2
-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.373.bb)23
-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-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/libcurses/libcurses-perl_1.32.bb26
-rw-r--r--meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.71.bb25
-rw-r--r--meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb25
-rw-r--r--meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb8
-rw-r--r--meta-python/conf/layer.conf6
-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-cmd2_0.6.7.bb20
-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-django-south_1.0.2.bb19
-rw-r--r--meta-python/recipes-devtools/python/python-django_1.6.10.bb20
-rw-r--r--meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb33
-rw-r--r--meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb19
-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-python/recipes-devtools/python/python-lxml_3.0.2.bb)10
-rw-r--r--meta-python/recipes-devtools/python/python-markupsafe_0.23.bb19
-rw-r--r--meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch19
-rw-r--r--meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb4
-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-msgpack_0.4.5.bb17
-rw-r--r--meta-python/recipes-devtools/python/python-pep8_1.4.6.bb23
-rw-r--r--meta-python/recipes-devtools/python/python-pip_1.3.1.bb14
-rw-r--r--meta-python/recipes-devtools/python/python-pip_1.5.6.bb15
-rw-r--r--meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb25
-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-pytz_2014.7.bb19
-rw-r--r--meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch26
-rw-r--r--meta-python/recipes-devtools/python/python-pyzmq_14.5.0.bb27
-rw-r--r--meta-python/recipes-devtools/python/python-requests_2.5.1.bb17
-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.bb29
-rw-r--r--meta-python/recipes-devtools/python/python-ujson_1.33.bb21
-rw-r--r--meta-ruby/conf/layer.conf6
-rw-r--r--meta-ruby/recipes-devtools/ruby/ruby.inc2
-rw-r--r--meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb3
-rw-r--r--meta-systemd/oe-core/recipes-extended/at/at/atd.service9
-rw-r--r--meta-systemd/oe-core/recipes-extended/at/at_%.bbappend12
-rw-r--r--meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend (renamed from meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend)1
-rw-r--r--meta-webserver/README16
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/apache-CVE-2014-0117.patch289
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb8
-rw-r--r--meta-webserver/recipes-httpd/apache2/files/apache2.service2
-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/monkey/monkey_1.5.4.bb (renamed from meta-webserver/recipes-httpd/monkey/monkey_1.5.3.bb)4
-rw-r--r--meta-webserver/recipes-php/modphp/modphp5.inc104
-rw-r--r--meta-webserver/recipes-php/modphp/modphp_5.5.15.bb7
-rw-r--r--meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.3.4.bb (renamed from meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.7.bb)6
-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-webadmin/webmin/webmin_1.700.bb1
-rw-r--r--meta-xfce/classes/xfce-app.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-screenshooter/files/0001-Fix-panel-plugin-build.patch43
-rw-r--r--meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.2.bb (renamed from meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.1.bb)12
-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-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/cpufreq/xfce4-cpufreq-plugin_1.1.0.bb15
-rw-r--r--meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.1.bb9
-rw-r--r--meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.4.bb2
-rw-r--r--meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.6.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/eyes/xfce4-eyes-plugin_4.4.3.bb (renamed from meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.2.bb)4
-rw-r--r--meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb15
-rw-r--r--meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb11
-rw-r--r--meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.4.bb (renamed from meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.0.bb)4
-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/systemload/xfce4-systemload-plugin_1.1.2.bb (renamed from meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.1.bb)4
-rw-r--r--meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb10
-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/xfce4-weather-plugin_0.8.5.bb (renamed from meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.3.bb)4
-rw-r--r--meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_1.4.2.bb (renamed from meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb)4
-rw-r--r--meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.0.bb2
-rw-r--r--meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb6
-rw-r--r--meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb2
-rw-r--r--meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb3
-rw-r--r--meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb2
-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--toolchain-layer/conf/layer.conf5
760 files changed, 21743 insertions, 13607 deletions
diff --git a/meta-efl/classes/efl.bbclass b/meta-efl/classes/efl.bbclass
index fb96ef0362..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 :(
diff --git a/meta-efl/conf/layer.conf b/meta-efl/conf/layer.conf
index 53f4ff47bb..ed132aabba 100644
--- a/meta-efl/conf/layer.conf
+++ b/meta-efl/conf/layer.conf
@@ -8,6 +8,12 @@ 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"
diff --git a/meta-efl/recipes-devtools/python/python-efl.inc b/meta-efl/recipes-devtools/python/python-efl.inc
index 9780518898..92a26eddba 100644
--- a/meta-efl/recipes-devtools/python/python-efl.inc
+++ b/meta-efl/recipes-devtools/python/python-efl.inc
@@ -46,7 +46,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*.so \
${libdir}/${PYTHON_DIR}/site-packages/efl/ecore \
"
FILES_python-eldbus = " \
@@ -55,7 +55,7 @@ FILES_python-eldbus = " \
"
FILES_python-edje = " \
${libdir}/${PYTHON_DIR}/site-packages/edje/ \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/edje*so \
+ ${libdir}/${PYTHON_DIR}/site-packages/efl/edje*.so \
"
FILES_python-elementary = " \
${libdir}/${PYTHON_DIR}/site-packages/elementary/ \
diff --git a/meta-efl/recipes-devtools/python/python-efl_1.10.1.bb b/meta-efl/recipes-devtools/python/python-efl_1.10.1.bb
deleted file mode 100644
index 2f7d3ed1b2..0000000000
--- a/meta-efl/recipes-devtools/python/python-efl_1.10.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI[md5sum] = "1cc68d6cd77d9d20d07c91188d523a9a"
-SRC_URI[sha256sum] = "a6c803bdd205e08c2d1e3199abd095552bc7ca4be6faafaf3b3f6db1d78c80ef"
diff --git a/meta-efl/recipes-devtools/python/python-efl_1.13.0.bb b/meta-efl/recipes-devtools/python/python-efl_1.13.0.bb
new file mode 100644
index 0000000000..ef9f80bcd9
--- /dev/null
+++ b/meta-efl/recipes-devtools/python/python-efl_1.13.0.bb
@@ -0,0 +1,4 @@
+require ${BPN}.inc
+
+SRC_URI[md5sum] = "98b1ca3e0feeecf8b993f9c415ff22e5"
+SRC_URI[sha256sum] = "16b8234ee763fab27071e7d708accbdb0cd43eecdfdb08775853bf380e558f8d"
diff --git a/meta-efl/recipes-devtools/python/python-efl_git.bb b/meta-efl/recipes-devtools/python/python-efl_git.bb
index b776f7da37..83a01ac696 100644
--- a/meta-efl/recipes-devtools/python/python-efl_git.bb
+++ b/meta-efl/recipes-devtools/python/python-efl_git.bb
@@ -1,8 +1,9 @@
require ${BPN}.inc
-SRCREV = "c1497e10288589ff9834f3d4da17461b8a3a1c15"
-PV = "1.10.0+git${SRCPV}"
+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.10"
+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/diskio_svn.bb b/meta-efl/recipes-efl/e17/diskio_svn.bb
index 01a65761eb..a26186e44c 100644
--- a/meta-efl/recipes-efl/e17/diskio_svn.bb
+++ b/meta-efl/recipes-efl/e17/diskio_svn.bb
@@ -5,4 +5,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \
PV = "0.0.1+svnr${SRCPV}"
PR = "${INC_PR}.0"
+PNBLACKLIST[diskio] ?= "broken: switch to https://git.enlightenment.org/enlightenment/modules/diskio.git/ and fix 0.0.1+svnr82070-r0.0/E-MODULES-EXTRA/diskio/e-module-diskio.edc:58. invalid state name: 'off'. "default" state must always be first."
+
require e-module.inc
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 0ff26ef9cd..45637f366e 100644
--- a/meta-efl/recipes-efl/e17/e-wm.inc
+++ b/meta-efl/recipes-efl/e17/e-wm.inc
@@ -1,10 +1,10 @@
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)} \
diff --git a/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch b/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch
deleted file mode 100644
index 14899d5147..0000000000
--- a/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8526270c418a5dc3d737a8eaff315209433f69d2 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Mon, 25 Aug 2014 16:06:03 +0200
-Subject: [PATCH] configure.ac: add foreign
-
-* fixes:
- | configure.ac:312: error: required file './ABOUT-NLS' not found
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 62c0f6d..49b290b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -34,7 +34,7 @@ AH_BOTTOM([
- #endif /* EFL_CONFIG_H__ */
- ])
-
--AM_INIT_AUTOMAKE([1.11 dist-bzip2 -Wno-portability])
-+AM_INIT_AUTOMAKE([1.11 dist-bzip2 -Wno-portability foreign])
- AM_SILENT_RULES([yes])
-
- AC_USE_SYSTEM_EXTENSIONS
---
-2.0.4
-
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
index 4bf1b96936..18738781bd 100644
--- a/meta-efl/recipes-efl/e17/e-wm_git.bb
+++ b/meta-efl/recipes-efl/e17/e-wm_git.bb
@@ -1,14 +1,13 @@
require ${BPN}.inc
-PV = "0.18.999+0.19-alpha2+git${SRCPV}"
-DEFAULT_PREFERENCE = "-1"
+PV = "0.19.2+git${SRCPV}"
+DEFAULT_PREFERENCE = "-2"
SRC_URI = " \
- git://git.enlightenment.org/core/enlightenment.git \
- file://0001-configure.ac-add-foreign.patch \
+ git://git.enlightenment.org/core/enlightenment.git;branch=enlightenment-0.19 \
file://enlightenment_start.oe \
file://applications.menu \
"
S = "${WORKDIR}/git"
-SRCREV = "525b963133d7168226b8e07ba26730212a8b7e82"
+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/ephoto_svn.bb b/meta-efl/recipes-efl/e17/ephoto_svn.bb
index 3255ab835c..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"
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/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/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/terminology.inc b/meta-efl/recipes-efl/e17/terminology.inc
index 9dd2264d53..24f789f59f 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=9a8682b561bdfa219d59483a679ed80a"
+LICENSE = "MIT & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4efac6b05b3256ba7da66301ac1ee6c6"
DEPENDS = "evas ecore edje elementary eina eet emotion"
inherit e gettext
diff --git a/meta-efl/recipes-efl/e17/terminology_0.5.1.bb b/meta-efl/recipes-efl/e17/terminology_0.5.1.bb
deleted file mode 100644
index 642b658467..0000000000
--- a/meta-efl/recipes-efl/e17/terminology_0.5.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "d46cda519cf198cb19970146d31a9e8b"
-SRC_URI[sha256sum] = "ceef9e5a73f1dfdb412d074df1ead684fd31f630414c65eac8cd89fea13315ad"
diff --git a/meta-efl/recipes-efl/e17/terminology_0.8.0.bb b/meta-efl/recipes-efl/e17/terminology_0.8.0.bb
new file mode 100644
index 0000000000..6e520ab68f
--- /dev/null
+++ b/meta-efl/recipes-efl/e17/terminology_0.8.0.bb
@@ -0,0 +1,8 @@
+require ${BPN}.inc
+
+SRC_URI = "\
+ ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
+"
+
+SRC_URI[md5sum] = "9f664d3205deaad956c253081cebf9fb"
+SRC_URI[sha256sum] = "7a10d44b023cf6134c2483304e4ad33bea6df0f11266aec482f54fa67a3ce628"
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 c82780b996..b765bf0d09 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
@@ -25,10 +25,14 @@ EXTRA_OECONF_append_class-target = " \
--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 \
@@ -42,6 +46,8 @@ 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 luajit"
@@ -191,6 +197,7 @@ FILES_efreet = " \
FILES_eet = " \
${bindir}/eet \
${bindir}/vieet \
+ ${bindir}/diffeet \
${libdir}/libeet${SOLIBS} \
"
FILES_emotion = " \
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..fa85f817e2 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 27aedcdcdafbf079dc022bab72ec309cf7db3172 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 c108b1b..f019bfc 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -2769,7 +2769,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then
+@@ -3474,7 +3474,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.3.0
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..aa7fd4bf51
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch
@@ -0,0 +1,51 @@
+From b3cbe31c38a088af7b0dade82545475fc9b72492 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/modules/evas/model_loaders/eet/evas_model_load_eet.c | 1 +
+ src/modules/evas/model_savers/eet/evas_model_save_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/modules/evas/model_loaders/eet/evas_model_load_eet.c b/src/modules/evas/model_loaders/eet/evas_model_load_eet.c
+index 815b9f1..bff2cea 100644
+--- a/src/modules/evas/model_loaders/eet/evas_model_load_eet.c
++++ b/src/modules/evas/model_loaders/eet/evas_model_load_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/modules/evas/model_savers/eet/evas_model_save_eet.c b/src/modules/evas/model_savers/eet/evas_model_save_eet.c
+index e445dca..2e1cf4e 100644
+--- a/src/modules/evas/model_savers/eet/evas_model_save_eet.c
++++ b/src/modules/evas/model_savers/eet/evas_model_save_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.3.0
+
diff --git a/meta-efl/recipes-efl/efl/efl/0003-edje_cc-Avoid-segfault-when-strcmp-NULL-items.patch b/meta-efl/recipes-efl/efl/efl/0003-edje_cc-Avoid-segfault-when-strcmp-NULL-items.patch
new file mode 100644
index 0000000000..55d7b543c8
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/efl/0003-edje_cc-Avoid-segfault-when-strcmp-NULL-items.patch
@@ -0,0 +1,30 @@
+From 84259714c2376fdb919299e8e01af1ccc6fbe2c0 Mon Sep 17 00:00:00 2001
+From: Stefan Schmidt <s.schmidt@samsung.com>
+Date: Thu, 12 Feb 2015 15:24:27 +0100
+Subject: [PATCH 3/3] edje_cc: Avoid segfault when strcmp NULL items
+
+Martin reported a porblem with one of the SHR project edc files after an upgrade
+to 1.13. The segfault itself is easy enough to fix here but I think there might
+be other problems with the edc after this segfault is gone. We will see.
+
+Fixes T2106
+---
+ src/bin/edje/edje_cc_out.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
+index 4f582c7..bc85444 100755
+--- a/src/bin/edje/edje_cc_out.c
++++ b/src/bin/edje/edje_cc_out.c
+@@ -386,7 +386,7 @@ check_source_links(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef, Eina_L
+ EINA_LIST_FOREACH(edje_collections, l, pc_source)
+ {
+ /* Find sourced group */
+- if (strcmp(ep->source, pc_source->part) == 0)
++ if (ep->source && pc_source->part && strcmp(ep->source, pc_source->part) == 0)
+ {
+ /* Go through every part to find parts with type GROUP */
+ for (i = 0; i < pc_source->parts_count; ++i)
+--
+2.3.0
+
diff --git a/meta-efl/recipes-efl/efl/efl_1.11.0.bb b/meta-efl/recipes-efl/efl/efl_1.13.0.bb
index 45ee389e70..b243b817e4 100644
--- a/meta-efl/recipes-efl/efl/efl_1.11.0.bb
+++ b/meta-efl/recipes-efl/efl/efl_1.13.0.bb
@@ -2,10 +2,13 @@ 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 \
+ file://0003-edje_cc-Avoid-segfault-when-strcmp-NULL-items.patch \
"
-SRC_URI[md5sum] = "83a1e983d7e9d3efcbba9a7a29cad54d"
-SRC_URI[sha256sum] = "0a8ab66e012820cad7dd78de371f8dcbbd79cb316302e1e6c354181de35d727f"
+SRC_URI[md5sum] = "c73f00e1e25b3b660e15ef754c76541d"
+SRC_URI[sha256sum] = "7ff797d4cd01143edc1258a287be3ddfb11264f0b855878d8f5ad5129dee9357"
# 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
@@ -21,5 +24,3 @@ PARALLEL_MAKE_class-native = ""
#Makefile:2163: recipe for target 'all-recursive' failed
# autotools-brokensep
B = "${S}"
-
-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 c5e75b96c8..f0a92dfe9a 100644
--- a/meta-efl/recipes-efl/efl/elementary.inc
+++ b/meta-efl/recipes-efl/efl/elementary.inc
@@ -12,6 +12,7 @@ EXTRA_OECONF_append_class-target = "\
--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"
@@ -23,8 +24,8 @@ PACKAGECONFIG[ewebkit] = "--with-elementary-web-backend=ewebkit,--with-elementar
PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings"
do_configure_prepend() {
- # prefix returned eolian paths with STAGING_DIR_HOST also use $PKG_CONFIG instead of pkg-config directly
- sed -i "s^DEPS_EOLIAN_FLAGS=\`pkg-config --variable=eolian_flags eo evas edje ecore\`$^DEPS_EOLIAN_FLAGS=\`\$PKG_CONFIG --variable=eolian_flags eo evas edje ecore | sed 's#-I${prefix}#-I${STAGING_DIR_HOST}${prefix}#g'\`^g" ${S}/configure.ac
+ # 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() {
diff --git a/meta-efl/recipes-efl/efl/elementary_1.11.0.bb b/meta-efl/recipes-efl/efl/elementary_1.13.0.bb
index d188c23765..e7be246c87 100644
--- a/meta-efl/recipes-efl/efl/elementary_1.11.0.bb
+++ b/meta-efl/recipes-efl/efl/elementary_1.13.0.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] = "cfcf3b0620cbb6e86021286631274d9a"
-SRC_URI[sha256sum] = "47ee79f7fc4e355557e6809e2001468bc8e40939562e3a96f689969ab67c17b4"
+SRC_URI[md5sum] = "e8464cc2d89585cfe189584c7081845b"
+SRC_URI[sha256sum] = "52f1b4304f22156ab53d2d13b8d8f15c58a110a3bc3f31a13fc357eb9527778c"
# 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.11.0.bb b/meta-efl/recipes-efl/efl/emotion-generic-players_1.11.0.bb
deleted file mode 100644
index 4cb74f5e2d..0000000000
--- a/meta-efl/recipes-efl/efl/emotion-generic-players_1.11.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "432febd580ed1a4d7d7b42984ee4c693"
-SRC_URI[sha256sum] = "5d2e7923a6e4e909df2f9fc3bf7508086ea04b0146e62015dbc93a8bf58bca74"
diff --git a/meta-efl/recipes-efl/efl/emotion-generic-players_1.13.0.bb b/meta-efl/recipes-efl/efl/emotion-generic-players_1.13.0.bb
new file mode 100644
index 0000000000..e42c5163b7
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/emotion-generic-players_1.13.0.bb
@@ -0,0 +1,8 @@
+require ${BPN}.inc
+
+SRC_URI = "\
+ ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
+"
+
+SRC_URI[md5sum] = "36e5fc6a2bc83b1ab90c5c72b344f00e"
+SRC_URI[sha256sum] = "23a3966d38cafece2c39d1e9904f26da11b9b282676f2d1fd8e54807251b363e"
diff --git a/meta-efl/recipes-efl/efl/entrance_svn.bb b/meta-efl/recipes-efl/efl/entrance_svn.bb
index 198fe03404..337473705d 100644
--- a/meta-efl/recipes-efl/efl/entrance_svn.bb
+++ b/meta-efl/recipes-efl/efl/entrance_svn.bb
@@ -11,6 +11,8 @@ SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep \
"
S = "${WORKDIR}/${SRCNAME}"
+PNBLACKLIST[entrance] ?= "broken: switch to https://git.enlightenment.org/misc/entrance.git and fix 0.0.4+svnr82070-r7/entrance/data/themes/old/default.edc:678. invalid state name: 'defaault'. "default" state must always be first."
+
PACKAGECONFIG ??= ""
PACKAGECONFIG[consolekit] = "--enable-consolekit,--disable-consolekit,consolekit"
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_1.11.0.bb b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.11.0.bb
deleted file mode 100644
index 0b98b11553..0000000000
--- a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.11.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "b99fd8dc1e79efacd4e212374a4f0668"
-SRC_URI[sha256sum] = "4cf55717d75214d22e6c9955bd5b2e74656cc454f011496bac74ae3df6c924e2"
diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.13.0.bb b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.13.0.bb
new file mode 100644
index 0000000000..cae8df70f3
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.13.0.bb
@@ -0,0 +1,8 @@
+require ${BPN}.inc
+
+SRC_URI = "\
+ ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
+"
+
+SRC_URI[md5sum] = "45df9e4816ceba40219db0167c549e1e"
+SRC_URI[sha256sum] = "c3bcb7d418b8cea79bbaf0731d008e527697b44239ff6b69064df785ca94df9b"
diff --git a/meta-efl/recipes-efl/efl/expedite.inc b/meta-efl/recipes-efl/efl/expedite.inc
index 30ba063069..60e85974cb 100644
--- a/meta-efl/recipes-efl/efl/expedite.inc
+++ b/meta-efl/recipes-efl/efl/expedite.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "Expedite is a comprehensive benchmarking suite for Evas"
DEPENDS = "eet evas libsdl"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=d70bc65d46237e4ef386beebe7d0fe5b"
INC_PR = "r0"
diff --git a/meta-efl/recipes-efl/efl/imlib2_git.bb b/meta-efl/recipes-efl/efl/imlib2_git.bb
index 8c6ac66192..355b3341f6 100644
--- a/meta-efl/recipes-efl/efl/imlib2_git.bb
+++ b/meta-efl/recipes-efl/efl/imlib2_git.bb
@@ -1,5 +1,5 @@
SUMMARY = "A graphic library for file loading, saving, rendering, and manipulation"
-LICENSE = "MIT BSD"
+LICENSE = "MIT & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
DEPENDS = "freetype libpng jpeg virtual/libx11 libxext"
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 c769c7fbbf..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/0004-WebMemorySamplerLinux-Fix-type-limits-warning.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0004-WebMemorySamplerLinux-Fix-type-limits-warning.patch
deleted file mode 100644
index f30987ba30..0000000000
--- a/meta-efl/recipes-efl/webkit/webkit-efl/0004-WebMemorySamplerLinux-Fix-type-limits-warning.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ed7972510df191d9fabe7aff2f688cbc45f0c955 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 20 Jul 2014 10:52:17 +0200
-Subject: [PATCH] WebMemorySamplerLinux: Fix type-limits warning
-
-* otherwise it fails with:
- webkit-efl/2.3.4+svnr164189-r0/efl-webkit/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp:70:16:
- error: comparison is always false due to limited range of data type [-Werror=type-limits]
- | if (ch == EOF || (isASCIISpace(ch) && index)) // Break on non-initial ASCII space.
- | ^
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp b/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp
-index 7cb70d4..6bb78d8 100644
---- a/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp
-+++ b/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp
-@@ -67,7 +67,7 @@ static inline String nextToken(FILE* file)
- unsigned int index = 0;
- while (index < maxBuffer) {
- char ch = fgetc(file);
-- if (ch == EOF || (isASCIISpace(ch) && index)) // Break on non-initial ASCII space.
-+ if (isASCIISpace(ch) && index) // Break on non-initial ASCII space.
- break;
- if (!isASCIISpace(ch)) {
- buffer[index] = ch;
---
-2.0.0
-
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 748ecea11c..0000000000
--- a/meta-efl/recipes-efl/webkit/webkit-efl_2.3.4+svnr164189.bb
+++ /dev/null
@@ -1,13 +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 \
- file://0004-WebMemorySamplerLinux-Fix-type-limits-warning.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-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-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-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/gnome-mplayer/gnome-mplayer_1.0.5.bb b/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb
index c5ac6e23fb..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,7 +5,7 @@ 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"
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/network-manager-applet_0.9.8.10.bb b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb
index e3c76638cc..00cea746c0 100644
--- a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb
+++ b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb
@@ -2,7 +2,7 @@ SUMMARY = "GTK+ applet for NetworkManager"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "polkit-gnome libnotify libsecret networkmanager dbus-glib gconf gnome-keyring libgnome-keyring iso-codes"
+DEPENDS = "libnotify libsecret networkmanager dbus-glib gconf gnome-keyring libgnome-keyring iso-codes"
inherit gnomebase gtk-icon-cache
@@ -10,6 +10,8 @@ GNOME_COMPRESS_TYPE = "xz"
SRC_URI += " \
file://0001-remove-classes-and-properties-which-are-not-supporte.patch \
+ 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] = "5148348c139229c6a753f815f3f11e1c"
SRC_URI[archive.sha256sum] = "46fee9a1e667d1826e6a94bb6bd2e6bdbde535fc995e534542f5f7e8b8dae0cb"
@@ -20,10 +22,10 @@ EXTRA_OECONF += " \
"
PACKAGECONFIG[bluetooth] = "--with-bluetooth,--without-bluetooth,gnome-bluetooth,gnome-bluetooth"
+PACKAGECONFIG[modemmanager] = "--with-modem-manager-1,--without-modem-manager-1,modemmanager"
PACKAGECONFIG ??= ""
do_configure_append() {
- rm config.log
# Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
for i in $(find ${B} -name "Makefile") ; do
sed -i -e s:-Werror::g $i
diff --git a/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb b/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb
index 26869fe110..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"
diff --git a/meta-gnome/recipe-devtools/glade/glade3_%.bbappend b/meta-gnome/recipes-devtools/glade/glade3_%.bbappend
index 3abacfb866..3abacfb866 100644
--- a/meta-gnome/recipe-devtools/glade/glade3_%.bbappend
+++ b/meta-gnome/recipes-devtools/glade/glade3_%.bbappend
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/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/gdm b/meta-gnome/recipes-gnome/gdm/gdm/gdm
index 43eae95177..bb5b418645 100755
--- a/meta-gnome/recipes-gnome/gdm/gdm/gdm
+++ b/meta-gnome/recipes-gnome/gdm/gdm/gdm
@@ -4,8 +4,8 @@
# Should-Start: console-screen acpid dbus hal network-manager
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
+# Default-Start: 5
+# Default-Stop: 0 1 2 3 6
# Short-Description: GNOME Display Manager
# Description: Debian init script for the GNOME Display Manager
### END INIT INFO
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..fcd51ff3aa 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 += " \
@@ -86,7 +88,7 @@ RCONFLICTS_${PN} += "${PN}-systemd"
SYSTEMD_SERVICE_${PN} = "gdm.service"
INITSCRIPT_NAME = "gdm"
-INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
+INITSCRIPT_PARAMS = "start 99 5 . stop 20 0 1 2 3 6 ."
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm"
diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0002-bluetooth-client-use-valid-interface-names.patch b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0002-bluetooth-client-use-valid-interface-names.patch
new file mode 100644
index 0000000000..99049a0cab
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0002-bluetooth-client-use-valid-interface-names.patch
@@ -0,0 +1,122 @@
+From 1555f85b222db0d536efe277d31b57b2a8b938f4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Thu, 12 Feb 2015 01:19:41 +0100
+Subject: [PATCH] bluetooth-client: use valid interface names
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate[version unmaintained upstream]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ lib/bluetooth-client.c | 12 ++++++------
+ lib/bluetooth-client.xml | 6 +++---
+ lib/test-agent.c | 2 +-
+ 3 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/lib/bluetooth-client.c b/lib/bluetooth-client.c
+index d62d56d..02e194c 100644
+--- a/lib/bluetooth-client.c
++++ b/lib/bluetooth-client.c
+@@ -721,7 +721,7 @@ static void add_device(DBusGProxy *adapter, GtkTreeIter *parent,
+ BLUEZ_DEVICE_INTERFACE, path);
+
+ if (device != NULL)
+- device_get_properties(device, &hash, NULL);
++ org_bluez_device_get_properties(device, &hash, NULL);
+ } else
+ device = NULL;
+
+@@ -945,7 +945,7 @@ static void adapter_added(DBusGProxy *manager,
+ adapter = dbus_g_proxy_new_from_proxy(manager,
+ BLUEZ_ADAPTER_INTERFACE, path);
+
+- adapter_get_properties(adapter, &hash, NULL);
++ org_bluez_adapter_get_properties(adapter, &hash, NULL);
+ if (hash != NULL) {
+ value = g_hash_table_lookup(hash, "Address");
+ address = value ? g_value_get_string(value) : NULL;
+@@ -1178,7 +1178,7 @@ static void bluetooth_client_init(BluetoothClient *client)
+ dbus_g_proxy_connect_signal(priv->manager, "DefaultAdapterChanged",
+ G_CALLBACK(default_adapter_changed), client, NULL);
+
+- manager_list_adapters(priv->manager, &array, NULL);
++ org_bluez_manager_list_adapters(priv->manager, &array, NULL);
+ if (array != NULL) {
+ int i;
+
+@@ -1189,7 +1189,7 @@ static void bluetooth_client_init(BluetoothClient *client)
+ }
+ }
+
+- manager_default_adapter(priv->manager, &default_path, NULL);
++ org_bluez_manager_default_adapter(priv->manager, &default_path, NULL);
+ if (default_path != NULL) {
+ default_adapter_changed(priv->manager, default_path, client);
+ g_free(default_path);
+@@ -1541,7 +1541,7 @@ gboolean bluetooth_client_start_discovery(BluetoothClient *client)
+ if (adapter == NULL)
+ return FALSE;
+
+- adapter_start_discovery(adapter, NULL);
++ org_bluez_adapter_start_discovery(adapter, NULL);
+
+ g_object_unref(adapter);
+
+@@ -1568,7 +1568,7 @@ gboolean bluetooth_client_stop_discovery(BluetoothClient *client)
+ if (adapter == NULL)
+ return FALSE;
+
+- adapter_stop_discovery(adapter, NULL);
++ org_bluez_adapter_stop_discovery(adapter, NULL);
+
+ g_object_unref(adapter);
+
+diff --git a/lib/bluetooth-client.xml b/lib/bluetooth-client.xml
+index 2326277..38c7fb0 100644
+--- a/lib/bluetooth-client.xml
++++ b/lib/bluetooth-client.xml
+@@ -1,7 +1,7 @@
+ <?xml version="1.0" encoding="UTF-8" ?>
+
+ <node name="/">
+- <interface name="manager">
++ <interface name="org.bluez.manager">
+ <method name="DefaultAdapter">
+ <arg type="o" direction="out"/>
+ </method>
+@@ -16,7 +16,7 @@
+ </method>
+ </interface>
+
+- <interface name="adapter">
++ <interface name="org.bluez.adapter">
+ <method name="GetProperties">
+ <arg type="a{sv}" direction="out"/>
+ </method>
+@@ -44,7 +44,7 @@
+ </method>
+ </interface>
+
+- <interface name="device">
++ <interface name="org.bluez.device">
+ <method name="GetProperties">
+ <arg type="a{sv}" direction="out"/>
+ </method>
+diff --git a/lib/test-agent.c b/lib/test-agent.c
+index 8d60da6..83464eb 100644
+--- a/lib/test-agent.c
++++ b/lib/test-agent.c
+@@ -40,7 +40,7 @@ static gboolean agent_pincode(DBusGMethodInvocation *context,
+ GValue *value;
+ const gchar *address, *name;
+
+- device_get_properties(device, &hash, NULL);
++ org_bluez_device_get_properties(device, &hash, NULL);
+
+ if (hash != NULL) {
+ value = g_hash_table_lookup(hash, "Address");
+--
+1.9.3
+
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 4fd38a0a91..8711b8af0b 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
@@ -11,8 +11,10 @@ DEPENDS = "obexd gnome-doc-utils-native gnome-doc-utils gconf gtk+ dbus-glib lib
inherit gnomebase gtk-icon-cache
-SRC_URI += "file://0001-bluetooth-input-Fix-compile-errors.patch \
- "
+SRC_URI += " \
+ file://0001-bluetooth-input-Fix-compile-errors.patch \
+ file://0002-bluetooth-client-use-valid-interface-names.patch \
+"
SRC_URI[archive.md5sum] = "f129686fe46c4c98eb70a0cc85d59cae"
SRC_URI[archive.sha256sum] = "57b1f06c96a1b85e1c19ff919d708cc38e95edae658881ed99968c325839a973"
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
index 87060f3dcc..611499affc 100644
--- 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
@@ -4,6 +4,9 @@ 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
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-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 729d750bf5..f45acab17a 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
@@ -15,6 +15,7 @@ S = "${WORKDIR}/git"
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio glib-2.0 libcanberra"
+PACKAGECONFIG[smartcard] = "--enable-smartcard-support,--disable-smartcard-support,nss"
EXTRA_OECONF = " \
--x-includes=${STAGING_INCDIR} \
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/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.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/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/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/zenity/zenity_2.32.1.bb b/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb
index 3ea179e7c7..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,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
PR = "r2"
-PNBLACKLIST[zenity] = "BROKEN: doesn't build with B!=S"
+PNBLACKLIST[zenity] ?= "BROKEN: doesn't build with B!=S"
DEPENDS = "gtk+ glib-2.0 libnotify gnome-doc-utils"
diff --git a/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
index d41218372a..104e490a3a 100644
--- a/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
+++ b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
@@ -1,7 +1,7 @@
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 gst-plugins-base libgnome-keyring poppler tiff enca libgsf libunistring giflib taglib bzip2 upower gtk+3 libgee"
+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/"
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-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 1fb5f0da5f..9061c272fc 100644
--- a/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb
+++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb
@@ -42,7 +42,14 @@ 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"
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
index ea55a4dfbd..77c137c463 100644
--- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
+++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
@@ -13,8 +13,10 @@ SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git"
S = "${WORKDIR}/git"
-do_configure() {
- ./configure --prefix=${prefix} \
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+EXTRA_OECONF = "--prefix=${prefix} \
--libdir=${libdir} \
--datadir=${datadir} \
--sysconfdir=${sysconfdir} \
@@ -23,20 +25,31 @@ do_configure() {
--bindir=${bindir} \
--includedir=${includedir} \
--localstatedir=${localstatedir} \
+ --systemdsystemunitdir=${systemd_unitdir}/system"
+
+do_configure() {
+ ./configure ${EXTRA_OECONF}
}
do_install() {
oe_runmake install DESTDIR=${D}
}
-FILES_${PN} += "${datadir}/bash-completion \
- ${libdir}/kernel \
+PACKAGES =+ "${PN}-bash-completion"
+
+FILES_${PN}-bash-completion = "${datadir}/bash-completion"
+
+FILES_${PN} += " ${libdir}/kernel \
+ ${systemd_unitdir} \
"
+CONFFILES_${PN} += "${sysconfdir}/dracut.conf"
+
+RDEPENDS_${PN} = "systemd findutils cpio util-linux-blkid util-linux-getopt bash ldd"
+RDEPENDS_${PN}-bash-completion = "bash-completion"
-# '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 \
+ busybox \
coreutils \
"
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc
index f3e9972a4f..9f445e1cb2 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -24,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/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.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.17.bb b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb
deleted file mode 100644
index f3296c7e86..0000000000
--- a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-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-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.19.bb
index a823e0fb31..f6d2fa02a4 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.19.bb
@@ -1,4 +1,4 @@
-require recipes-kernel/linux/linux-yocto-tiny_3.10.bb
+require recipes-kernel/linux/linux-yocto-tiny_${PV}.bb
SUMMARY = "Yocto tiny kernel embedding a minimalistic kexecboot initramfs"
PACKAGES = ""
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb
index 9fda51db76..9457abc5c2 100644
--- a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb
+++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb
@@ -4,6 +4,6 @@ inherit gtk-doc
PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3"
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.14/${BPN}-${PV}.tar.xz"
+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.12.6.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb
index b1b793b68e..b8cfa27d4a 100644
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb
@@ -1,6 +1,6 @@
require gupnp-av.inc
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.12/${BPN}-${PV}.tar.xz"
+SRC_URI = "${GNOME_MIRROR}/${BPN}/0.12/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "f56cdb269376a9e6cb062eb9960ccf57"
SRC_URI[sha256sum] = "e0553d60dd7c7277c65c02a68a270c4dcb9036a4c7075c902fc8111c6a5e6a44"
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.20.12.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb
index bba86a9d11..c8c6164c3b 100644
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb
@@ -1,6 +1,6 @@
require gupnp.inc
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.20/${BPN}-${PV}.tar.xz"
+SRC_URI = "${GNOME_MIRROR}/${BPN}/0.20/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "c01aa6d3a78792b3a24591f036dd91f4"
SRC_URI[sha256sum] = "205d47b950a1b7190df1115f454cb38a44d71aacfec75d4287299e400e139b69"
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-multimedia/coriander/coriander_2.0.2.bb b/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb
index 81e218f07d..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,7 @@ LICENSE = "GPL-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "gtk+ libgnomeui libraw1394 libdc1394 libxv tiff"
-PNBLACKLIST[coriander] = "BROKEN: fails to use SDL probably because libsdl-config was removed, error: unknown type name 'SDL_Overlay'"
+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/renderer-service-upnp_0.3.0.bb b/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb
index f82eae0eb3..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,7 +5,7 @@ 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})"
+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"
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 9d9dc8429d..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,7 +6,7 @@ HOMEPAGE = "http://mpg123.de/"
BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/"
SECTION = "multimedia"
-DEPENDS = "tslib libsdl jack openal-soft portaudio-v19 audiofile esound"
+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)
@@ -15,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/mpd_0.18.9.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb
index a2410ce700..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 tcp-wrappers openal-soft yajl jack faad2 flac libao fluidsynth libcdio wavpack libopus mpg123 libmms libmodplug"
+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/${BPN}/stable/${BP}.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/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 88605dfaa7..0362f3919d 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc.inc
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc.inc
@@ -10,12 +10,14 @@ DEPENDS = "libfribidi libtool libgcrypt libgcrypt-native gst-plugins-bad \
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 \
+ 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 pkgconfig
+inherit autotools gettext pkgconfig distro_features_check
+# depends on libxinerama libxpm xcb-util-keysyms
+REQUIRED_DISTRO_FEATURES = "x11"
ARM_INSTRUCTION_SET = "arm"
@@ -50,6 +52,8 @@ 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_prepend() {
cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/ || true
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 b4047d3be4..418f77cfcf 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb
@@ -8,6 +8,7 @@ SRC_URI += "file://0001-enable-subdir-objects.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 49ced8fd92..bbb2d1b5b2 100644
--- a/meta-networking/MAINTAINERS
+++ b/meta-networking/MAINTAINERS
@@ -29,3 +29,7 @@ COMMON
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/conf/layer.conf b/meta-networking/conf/layer.conf
index d99d738bee..63bb07d5a8 100644
--- a/meta-networking/conf/layer.conf
+++ b/meta-networking/conf/layer.conf
@@ -14,7 +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"
+LAYERDEPENDS_networking-layer += "openembedded-layer"
+LAYERDEPENDS_networking-layer += "meta-python"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-networking/licenses/copyleft-next-0.3.0 b/meta-networking/licenses/copyleft-next-0.3.0
new file mode 100644
index 0000000000..a66d5bf5ee
--- /dev/null
+++ b/meta-networking/licenses/copyleft-next-0.3.0
@@ -0,0 +1,219 @@
+ copyleft-next 0.3.0 ("this License")
+ Release date: 2013-05-16
+
+1. License Grants; No Trademark License
+
+ Subject to the terms of this License, I grant You:
+
+ a) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
+ copyright license, to reproduce, Distribute, prepare derivative works
+ of, publicly perform and publicly display My Work.
+
+ b) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
+ patent license under Licensed Patents to make, have made, use, sell,
+ offer for sale, and import Covered Works.
+
+ This License does not grant any rights in My name, trademarks, service
+ marks, or logos.
+
+2. Distribution: General Conditions
+
+ You may Distribute Covered Works, provided that You (i) inform
+ recipients how they can obtain a copy of this License; (ii) satisfy the
+ applicable conditions of sections 3 through 6; and (iii) preserve all
+ Legal Notices contained in My Work (to the extent they remain
+ pertinent). "Legal Notices" means copyright notices, license notices,
+ license texts, and author attributions, but does not include logos,
+ other graphical images, trademarks or trademark legends.
+
+3. Conditions for Distributing Derived Works; Outbound GPL Compatibility
+
+ If You Distribute a Derived Work, You must license the entire Derived
+ Work as a whole under this License, with prominent notice of such
+ licensing. This condition may not be avoided through such means as
+ separate Distribution of portions of the Derived Work. You may
+ additionally license the Derived Work under the GPL, so that the
+ recipient may further Distribute the Derived Work under either this
+ License or the GPL.
+
+4. Condition Against Further Restrictions; Inbound License Compatibility
+
+ When Distributing a Covered Work, You may not impose further
+ restrictions on the exercise of rights in the Covered Work granted under
+ this License. This condition is not excused merely because such
+ restrictions result from Your compliance with conditions or obligations
+ extrinsic to this License (such as a court order or an agreement with a
+ third party).
+
+ However, You may Distribute a Covered Work incorporating material
+ governed by a license that is both OSI-Approved and FSF-Free as of the
+ release date of this License, provided that Your Distribution complies
+ with such other license.
+
+5. Conditions for Distributing Object Code
+
+ You may Distribute an Object Code form of a Covered Work, provided that
+ you accompany the Object Code with a URL through which the Corresponding
+ Source is made available, at no charge, by some standard or customary
+ means of providing network access to source code.
+
+ If you Distribute the Object Code in a physical product or tangible
+ storage medium ("Product"), the Corresponding Source must be available
+ through such URL for two years from the date of Your most recent
+ Distribution of the Object Code in the Product. However, if the Product
+ itself contains or is accompanied by the Corresponding Source (made
+ available in a customarily accessible manner), You need not also comply
+ with the first paragraph of this section.
+
+ Each recipient of the Covered Work from You is an intended third-party
+ beneficiary of this License solely as to this section 5, with the right
+ to enforce its terms.
+
+6. Symmetrical Licensing Condition for Upstream Contributions
+
+ If You Distribute a work to Me specifically for inclusion in or
+ modification of a Covered Work (a "Patch"), and no explicit licensing
+ terms apply to the Patch, You license the Patch under this License, to
+ the extent of Your copyright in the Patch. This condition does not
+ negate the other conditions of this License, if applicable to the Patch.
+
+7. Nullification of Copyleft/Proprietary Dual Licensing
+
+ If I offer to license, for a fee, a Covered Work under terms other than
+ a license that is OSI-Approved or FSF-Free as of the release date of this
+ License or a numbered version of copyleft-next released by the
+ Copyleft-Next Project, then the license I grant You under section 1 is no
+ longer subject to the conditions in sections 2 through 5.
+
+8. Copyleft Sunset
+
+ The conditions in sections 2 through 5 no longer apply once fifteen
+ years have elapsed from the date of My first Distribution of My Work
+ under this License.
+
+9. Pass-Through
+
+ When You Distribute a Covered Work, the recipient automatically receives
+ a license to My Work from Me, subject to the terms of this License.
+
+10. Termination
+
+ Your license grants under section 1 are automatically terminated if You
+
+ a) fail to comply with the conditions of this License, unless You cure
+ such noncompliance within thirty days after becoming aware of it, or
+
+ b) initiate a patent infringement litigation claim (excluding
+ declaratory judgment actions, counterclaims, and cross-claims)
+ alleging that any part of My Work directly or indirectly infringes
+ any patent.
+
+ Termination of Your license grants extends to all copies of Covered
+ Works You subsequently obtain. Termination does not terminate the
+ rights of those who have received copies or rights from You subject to
+ this License.
+
+ To the extent permission to make copies of a Covered Work is necessary
+ merely for running it, such permission is not terminable.
+
+11. Later License Versions
+
+ The Copyleft-Next Project may release new versions of copyleft-next,
+ designated by a distinguishing version number ("Later Versions").
+ Unless I explicitly remove the option of Distributing Covered Works
+ under Later Versions, You may Distribute Covered Works under any Later
+ Version.
+
+** 12. No Warranty **
+** **
+** My Work is provided "as-is", without warranty. You bear the risk **
+** of using it. To the extent permitted by applicable law, each **
+** Distributor of My Work excludes the implied warranties of title, **
+** merchantability, fitness for a particular purpose and **
+** non-infringement. **
+
+** 13. Limitation of Liability **
+** **
+** To the extent permitted by applicable law, in no event will any **
+** Distributor of My Work be liable to You for any damages **
+** whatsoever, whether direct, indirect, special, incidental, or **
+** consequential damages, whether arising under contract, tort **
+** (including negligence), or otherwise, even where the Distributor **
+** knew or should have known about the possibility of such damages. **
+
+14. Severability
+
+ The invalidity or unenforceability of any provision of this License
+ does not affect the validity or enforceability of the remainder of
+ this License. Such provision is to be reformed to the minimum extent
+ necessary to make it valid and enforceable.
+
+15. Definitions
+
+ "Copyleft-Next Project" means the project that maintains the source
+ code repository at <https://gitorious.org/copyleft-next/> as of the
+ release date of this License.
+
+ "Corresponding Source" of a Covered Work in Object Code form means (i)
+ the Source Code form of the Covered Work; (ii) all scripts,
+ instructions and similar information that are reasonably necessary for
+ a skilled developer to generate such Object Code from the Source Code
+ provided under (i); and (iii) a list clearly identifying all Separate
+ Works (other than those provided in compliance with (ii)) that were
+ specifically used in building and (if applicable) installing the
+ Covered Work (for example, a specified proprietary compiler including
+ its version number). Corresponding Source must be machine-readable.
+
+ "Covered Work" means My Work or a Derived Work.
+
+ "Derived Work" means a work of authorship that copies from, modifies,
+ adapts, is based on, is a derivative work of, transforms, translates or
+ contains all or part of My Work, such that copyright permission is
+ required. The following are not Derived Works: (i) Mere Aggregation;
+ (ii) a mere reproduction of My Work; and (iii) if My Work fails to
+ explicitly state an expectation otherwise, a work that merely makes
+ reference to My Work.
+
+ "Distribute" means to distribute, transfer or make a copy available to
+ someone else, such that copyright permission is required.
+
+ "Distributor" means Me and anyone else who Distributes a Covered Work.
+
+ "FSF-Free" means classified as 'free' by the Free Software Foundation.
+
+ "GPL" means a version of the GNU General Public License or the GNU
+ Affero General Public License.
+
+ "I"/"Me"/"My" refers to the individual or legal entity that places My
+ Work under this License. "You"/"Your" refers to the individual or legal
+ entity exercising rights in My Work under this License. A legal entity
+ includes each entity that controls, is controlled by, or is under
+ common control with such legal entity. "Control" means (a) the power to
+ direct the actions of such legal entity, whether by contract or
+ otherwise, or (b) ownership of more than fifty percent of the
+ outstanding shares or beneficial ownership of such legal entity.
+
+ "Licensed Patents" means all patent claims licensable royalty-free by
+ Me, now or in the future, that are necessarily infringed by making,
+ using, or selling My Work, and excludes claims that would be infringed
+ only as a consequence of further modification of My Work.
+
+ "Mere Aggregation" means an aggregation of a Covered Work with a
+ Separate Work.
+
+ "My Work" means the particular work of authorship I license to You
+ under this License.
+
+ "Object Code" means any form of a work that is not Source Code.
+
+ "OSI-Approved" means approved as 'Open Source' by the Open Source
+ Initiative.
+
+ "Separate Work" means a work that is separate from and independent of a
+ particular Covered Work and is not by its nature an extension or
+ enhancement of the Covered Work, and/or a runtime library, standard
+ library or similar component that is used to generate an Object Code
+ form of a Covered Work.
+
+ "Source Code" means the preferred form of a work for making
+ modifications to it.
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/crda/crda-3.13/crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch b/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch
new file mode 100644
index 0000000000..36464004dc
--- /dev/null
+++ b/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch
@@ -0,0 +1,35 @@
+From: "John W. Linville" <linville@tuxdriver.com>
+Date: Fri, 14 Feb 2014 13:58:44 -0500
+Subject: [PATCH] crda: Add DESTDIR support in install-libreg* rules in Makefile
+Origin: https://git.kernel.org/?p=linux/kernel/git/mcgrof/crda.git/commit?id=2cabb2588da56735369131b709f191453c080be0
+
+Upstream-Status: Backport
+
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
+---
+ Makefile | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 0b2f0d7..1f25509 100644
+--- a/Makefile
++++ b/Makefile
+@@ -120,13 +120,13 @@ $(LIBREG): regdb.h reglib.h reglib.c
+
+ install-libreg-headers:
+ $(NQ) ' INSTALL libreg-headers'
+- $(Q)mkdir -p $(INCLUDE_DIR)
+- $(Q)cp *.h $(INCLUDE_DIR)/
++ $(Q)mkdir -p $(DESTDIR)/$(INCLUDE_DIR)
++ $(Q)cp *.h $(DESTDIR)/$(INCLUDE_DIR)/
+
+ install-libreg:
+ $(NQ) ' INSTALL libreg'
+- $(Q)mkdir -p $(LIBDIR)
+- $(Q)cp $(LIBREG) $(LIBDIR)/
++ $(Q)mkdir -p $(DESTDIR)/$(LIBDIR)
++ $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/
+ $(Q)ldconfig
+
+ %.o: %.c regdb.h $(LIBREG)
diff --git a/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Fix-the-linking-order-to-avoid-compilation-erro.patch b/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Fix-the-linking-order-to-avoid-compilation-erro.patch
new file mode 100644
index 0000000000..68b4b13e90
--- /dev/null
+++ b/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Fix-the-linking-order-to-avoid-compilation-erro.patch
@@ -0,0 +1,51 @@
+From: Krishna Chaitanya <chaitanya.mgit@gmail.com>
+Date: Mon, 16 Dec 2013 21:57:39 +0530
+Subject: [PATCH] crda: Fix the linking order to avoid compilation error
+Origin: https://git.kernel.org/?p=linux/kernel/git/mcgrof/crda.git/commit?id=fefefdb2c52c8fbedbb339b4badb8226cad7e7e0
+
+While linking the crda.o and libreg.so, first put crda.o
+and then -lreg. This fixed the below error:
+
+ GEN keys-gcrypt.c
+ Trusted pubkeys: pubkeys/linville.key.pub.pem
+ CC libreg.so
+ CC crda.o
+ LD crda
+crda.o: In function `main':
+crda/crda.c:196: undefined reference to `reglib_get_rd_alpha2'
+collect2: ld returned 1 exit status
+make: *** [crda] Error 1
+
+Note: This still doesn't fix the below error (will send another mail)
+
+ CHK /usr/lib/crda/regulatory.bin
+Database signature verification failed.
+Invalid or empty regulatory file, note: a binary regulatory file should be used.
+make: *** [verify] Error 234
+
+Upstream-Status: Backport
+
+Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
+Signed-off-by: Chaitanya T K <chaitanya.mgit@gmail.com>
+---
+ Makefile | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 4a351c6..0b2f0d7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -28,10 +28,11 @@ RUNTIME_PUBKEY_DIR?=/etc/wireless-regdb/pubkeys
+ CFLAGS += -O2 -fpic
+ CFLAGS += -std=gnu99 -Wall -Werror -pedantic
+ CFLAGS += -Wall -g
+-LDLIBS += -lm
+ LDLIBREG += -lreg
++LDLIBS += $(LDLIBREG)
++LDLIBS += -lm
+ LIBREG += libreg.so
+-LDFLAGS += -L ./ $(LDLIBREG)
++LDFLAGS += -L ./
+
+ all: all_noverify verify
+
diff --git a/meta-networking/recipes-connectivity/crda/crda-3.13/do-not-run-ldconfig-if-destdir-is-set.patch b/meta-networking/recipes-connectivity/crda/crda-3.13/do-not-run-ldconfig-if-destdir-is-set.patch
new file mode 100644
index 0000000000..3ef35ee549
--- /dev/null
+++ b/meta-networking/recipes-connectivity/crda/crda-3.13/do-not-run-ldconfig-if-destdir-is-set.patch
@@ -0,0 +1,21 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sat, 23 Aug 2014 12:27:34 -0700
+Subject: crda: Do not run ldconfig if DESTDIR is set
+
+Upstream-Status: Backport [http://www.spinics.net/lists/linux-wireless/msg126028.html]
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+
+--- a/Makefile
++++ b/Makefile
+@@ -132,7 +132,9 @@ install-libreg:
+ $(NQ) ' INSTALL libreg'
+ $(Q)mkdir -p $(DESTDIR)/$(LIBDIR)
+ $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/
++ifndef DESTDIR
+ $(Q)ldconfig
++endif
+
+ %.o: %.c regdb.h $(LIBREG)
+ $(NQ) ' CC ' $@
diff --git a/meta-networking/recipes-connectivity/crda/crda-3.13/fix-linking-of-libraries-used-by-reglib.patch b/meta-networking/recipes-connectivity/crda/crda-3.13/fix-linking-of-libraries-used-by-reglib.patch
new file mode 100644
index 0000000000..aceb56df74
--- /dev/null
+++ b/meta-networking/recipes-connectivity/crda/crda-3.13/fix-linking-of-libraries-used-by-reglib.patch
@@ -0,0 +1,50 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sat, 23 Aug 2014 12:26:37 -0700
+Subject: Fix linking of libraries used by libreg
+
+The math and crypto libraries are called by and need to be linked to
+libreg.so, not to the executables.
+
+Upstream-Status: Backport [http://www.spinics.net/lists/linux-wireless/msg126027.html]
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+
+--- a/Makefile
++++ b/Makefile
+@@ -30,7 +30,7 @@ CFLAGS += -std=gnu99 -Wall -Werror -peda
+ CFLAGS += -Wall -g
+ LDLIBREG += -lreg
+ LDLIBS += $(LDLIBREG)
+-LDLIBS += -lm
++LIBREGLDLIBS += -lm
+ LIBREG += libreg.so
+ LDFLAGS += -L ./
+
+@@ -40,7 +40,7 @@ all_noverify: $(LIBREG) crda intersect r
+
+ ifeq ($(USE_OPENSSL),1)
+ CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config --cflags openssl`
+-LDLIBS += `pkg-config --libs openssl`
++LIBREGLDLIBS += `pkg-config --libs openssl`
+
+ ifeq ($(RUNTIME_PUBKEY_ONLY),1)
+ CFLAGS += -DRUNTIME_PUBKEY_ONLY
+@@ -51,7 +51,7 @@ endif
+
+ else
+ CFLAGS += -DUSE_GCRYPT
+-LDLIBS += -lgcrypt
++LIBREGLDLIBS += -lgcrypt
+
+ $(LIBREG): keys-gcrypt.c
+
+@@ -121,7 +121,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(
+
+ $(LIBREG): regdb.h reglib.h reglib.c
+ $(NQ) ' CC ' $@
+- $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^
++ $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ $(LIBREGLDLIBS)
+
+ install-libreg-headers:
+ $(NQ) ' INSTALL libreg-headers'
diff --git a/meta-networking/recipes-connectivity/crda/crda_1.1.3.bb b/meta-networking/recipes-connectivity/crda/crda_1.1.3.bb
deleted file mode 100644
index 0bb899860b..0000000000
--- a/meta-networking/recipes-connectivity/crda/crda_1.1.3.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Wireless Central Regulatory Domain Agent"
-HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
-
-
-DEPENDS = "python-m2crypto-native python-native libgcrypt libnl"
-
-SRC_URI = "http://wireless.kernel.org/download/crda/${BP}.tar.bz2;name=crda \
- http://wireless.kernel.org/download/wireless-regdb/regulatory.bins/2013.01.11-regulatory.bin;name=bin \
-"
-SRC_URI[crda.md5sum] = "29579185e06a75675507527243d28e5c"
-SRC_URI[crda.sha256sum] = "aa8a7fe92f0765986c421a5b6768a185375ac210393df0605ee132f6754825f0"
-SRC_URI[bin.md5sum] = "e0c8a5ca63fb8bf803213f9a0c90b50b"
-SRC_URI[bin.sha256sum] = "b1ee0b20c123c612dfdb6851ab42c01666f66fb583e0e590942f19bb54cf84be"
-
-inherit python-dir pythonnative
-# Recursive make problem
-EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D}"
-
-do_compile() {
- oe_runmake all_noverify
-}
-
-do_install() {
- oe_runmake SBINDIR=${sbindir}/ install
-
- install -d ${D}${libdir}/crda/
-
- install -m 0644 ${WORKDIR}/2013.01.11-regulatory.bin ${D}${libdir}/crda/regulatory.bin
-}
-
-
-RDEPENDS_${PN} = "udev"
-FILES_${PN} += "${libdir}crda/regulatory.bin \
- ${base_libdir}/udev/rules.d/85-regulatory.rules \
-"
diff --git a/meta-networking/recipes-connectivity/crda/crda_3.13.bb b/meta-networking/recipes-connectivity/crda/crda_3.13.bb
new file mode 100644
index 0000000000..2ccced42e6
--- /dev/null
+++ b/meta-networking/recipes-connectivity/crda/crda_3.13.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Wireless Central Regulatory Domain Agent"
+HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA"
+
+LICENSE = "copyleft-next-0.3.0 & ISC"
+LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe \
+ file://${WORKDIR}/wireless-regdb-2014.11.18/LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
+
+DEPENDS = "python-m2crypto-native python-native"
+
+SRC_URI = "https://www.kernel.org/pub/software/network/crda/${BP}.tar.xz;name=crda \
+ https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2014.11.18.tar.xz;name=bin \
+ file://crda-Fix-the-linking-order-to-avoid-compilation-erro.patch \
+ file://crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch \
+ file://do-not-run-ldconfig-if-destdir-is-set.patch \
+ file://fix-linking-of-libraries-used-by-reglib.patch \
+"
+SRC_URI[crda.md5sum] = "66b1b0417c1ad19f0009a5c0c0c1aebc"
+SRC_URI[crda.sha256sum] = "2f85da7ab0170b140d6ed62596c8f268d4a7dedecf84cac7182ada979742ff59"
+
+SRC_URI[bin.md5sum] = "d750c402c5510add7380edcb1d9b75b2"
+SRC_URI[bin.sha256sum] = "eab6b50f30748a8b0065ba38cf3df05aac161a5861ae0a6c3cfd01d38a71c9dd"
+
+inherit python-dir pythonnative
+# Recursive make problem
+EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg'"
+
+do_compile() {
+ oe_runmake all_noverify
+}
+
+do_install() {
+ oe_runmake SBINDIR=${sbindir}/ install
+
+ install -d ${D}${libdir}/crda/
+
+ install -m 0644 ${WORKDIR}/wireless-regdb-2014.11.18/regulatory.bin ${D}${libdir}/crda/regulatory.bin
+}
+
+
+RDEPENDS_${PN} = "udev libgcrypt libnl"
+FILES_${PN} += "${libdir}crda/regulatory.bin \
+ ${base_libdir}/udev/rules.d/85-regulatory.rules \
+"
diff --git a/meta-networking/recipes-connectivity/cyassl/cyassl_3.1.0.bb b/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb
index e3edab6f1d..b6f852dc2a 100644
--- a/meta-networking/recipes-connectivity/cyassl/cyassl_3.1.0.bb
+++ b/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb
@@ -1,4 +1,4 @@
-SUMMARY = "CyaSSL Embedded SSL Library"
+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 \
@@ -11,7 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "http://www.yassl.com/${BP}.zip"
-SRC_URI[md5sum] = "72477eb50697e759d309c49cb1aef18a"
-SRC_URI[sha256sum] = "85a79009d2a7468910dfb1e4b975e0b00a42c695f4f1a2adc16d2507b5d0b03e"
+SRC_URI[md5sum] = "0303eb0f2f9065a1207d9104ab0eba7c"
+SRC_URI[sha256sum] = "e51583ea1e4d64537553922d67a96360312811dffef58d4c05506aa98a296fe3"
inherit autotools
+
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb
index 2bae3ee8f5..e46133efb2 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb
@@ -23,7 +23,7 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
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)}"
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 cf74827558..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"
diff --git a/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb
index 8f5175e797..17d6792520 100644
--- a/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb
+++ b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb
@@ -5,6 +5,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
DEPENDS = "libpcap libpcre daq libdnet util-linux"
+# Blacklist:
+#
+# http://errors.yoctoproject.org/Errors/Details/8936/
+#
+# snort failure is again very nasty, because it's m4 which eats all
+# available memory and swap before it's killed by OOM killer.
+#
+# Luckily it always picked m4
+#
+# [Wed Feb 18 19:00:51 2015] Out of memory: Kill process 28522 (m4) score 961 or sacrifice child
+# [Wed Feb 18 19:10:51 2015] Out of memory: Kill process 45228 (m4) score 958 or sacrifice child
+# ...
+PNBLACKLIST[snort] ?= "BROKEN: autotools processing causes OOM condition on configure"
SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \
file://snort.init \
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/cyrus-sasl/cyrus-sasl/saslauthd.conf b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.conf
new file mode 100644
index 0000000000..a91a9d3340
--- /dev/null
+++ b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.conf
@@ -0,0 +1,11 @@
+# Directory in which to place saslauthd's listening socket, pid file, and so
+# on. This directory must already exist.
+SOCKETDIR=@LOCALSTATEDIR@/run/saslauthd
+
+# Mechanism to use when checking passwords. Run "saslauthd -v" to get a list
+# of which mechanism your installation was compiled with the ablity to use.
+MECH=pam
+
+# Additional flags to pass to saslauthd on the command line. See saslauthd(8)
+# for the list of accepted flags.
+FLAGS=
diff --git a/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.service b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.service
new file mode 100644
index 0000000000..96dbae3782
--- /dev/null
+++ b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=SASL authentication daemon.
+After=syslog.target
+
+[Service]
+Type=forking
+PIDFile=@LOCALSTATEDIR@/run/saslauthd/saslauthd.pid
+EnvironmentFile=@SYSCONFDIR@/default/saslauthd
+ExecStart=@SBINDIR@/saslauthd -m $SOCKETDIR -a $MECH $FLAGS
+
+[Install]
+WantedBy=multi-user.target
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 ea9cd1c240..c235a1b954 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
@@ -10,15 +10,17 @@ SRC_URI = "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${PV}.tar.gz \
file://debian_patches_0009_sasldb_al.diff \
file://debian_patches_0014_avoid_pic_overwrite.diff \
file://sasl.h-include-stddef.h-for-size_t-on-NetBSD.patch \
+ file://saslauthd.service \
+ file://saslauthd.conf \
"
-inherit autotools-brokensep pkgconfig useradd
+inherit autotools-brokensep pkgconfig useradd systemd
EXTRA_OECONF += "--with-dblib=berkeley \
--with-bdb-libdir=${STAGING_LIBDIR} \
--with-bdb-incdir=${STAGING_INCDIR} \
--with-bdb=db-5.3 \
- --with-plugindir="${libdir}/sasl2/" \
+ --with-plugindir="${libdir}/sasl2" \
andrew_cv_runpath_switch=none"
PACKAGECONFIG ??= "ntlm \
@@ -51,17 +53,42 @@ do_compile_prepend () {
cd ..
}
+do_install_append() {
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/saslauthd.service ${D}${systemd_unitdir}/system
+
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/saslauthd.service
+ sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/saslauthd.service
+ sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/saslauthd.service
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/saslauthd/ - - - -" > ${D}${sysconfdir}/tmpfiles.d/saslauthd.conf
+
+ install -d ${D}${sysconfdir}/default/
+ install -m 0644 ${WORKDIR}/saslauthd.conf ${D}${sysconfdir}/default/saslauthd
+ sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/default/saslauthd
+ fi
+}
+
USERADD_PACKAGES = "${PN}-bin"
GROUPADD_PARAM_${PN}-bin = "--system mail"
USERADD_PARAM_${PN}-bin = "--system --home=/var/spool/mail -g mail cyrus"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "saslauthd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
SRC_URI[md5sum] = "a7f4e5e559a0e37b3ffc438c9456e425"
SRC_URI[sha256sum] = "8fbc5136512b59bb793657f36fadda6359cae3b08f01fd16b3d406f1345b7bc3"
PACKAGES =+ "${PN}-bin"
FILES_${PN} += "${libdir}/sasl2/*.so*"
-FILES_${PN}-bin += "${bindir}"
+FILES_${PN}-bin += "${bindir} \
+ ${sysconfdir}/default/saslauthd \
+ ${systemd_unitdir}/system/saslauthd.service \
+ ${sysconfdir}/tmpfiles.d/saslauthd.conf"
FILES_${PN}-dev += "${libdir}/sasl2/*.la"
FILES_${PN}-dbg += "${libdir}/sasl2/.debug"
FILES_${PN}-staticdev += "${libdir}/sasl2/*.a"
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/iscsi-initiator-utils_2.0-873.bb b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb
index d48cf24eb6..f510ce51bf 100644
--- 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
@@ -69,6 +69,8 @@ do_install () {
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 - - - -" \
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/main.cf_2.0 b/meta-networking/recipes-daemons/postfix/files/main.cf_2.0
index a128faa0a1..9e1077f6b0 100644
--- a/meta-networking/recipes-daemons/postfix/files/main.cf_2.0
+++ b/meta-networking/recipes-daemons/postfix/files/main.cf_2.0
@@ -24,13 +24,13 @@ virtual_gid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 4`
# General stuff here again
-config_directory = /etc/postfix
+#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
+daemon_directory = /usr/lib/postfix
mail_owner = postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 450
diff --git a/meta-networking/recipes-daemons/postfix/files/postfix.service b/meta-networking/recipes-daemons/postfix/files/postfix.service
index 6ea9214780..02ea640b25 100644
--- a/meta-networking/recipes-daemons/postfix/files/postfix.service
+++ b/meta-networking/recipes-daemons/postfix/files/postfix.service
@@ -5,10 +5,11 @@ Conflicts=sendmail.service exim.service
[Service]
Type=forking
-PIDFile=/var/spool/postfix/pid/master.pid
-ExecStart=/usr/sbin/postfix start
-ExecReload=/usr/sbin/postfix reload
-ExecStop=/usr/sbin/postfix stop
+PIDFile=@LOCALSTATEDIR@/spool/postfix/pid/master.pid
+ExecStartPre=-@LIBEXECDIR@/aliasesdb
+ExecStart=@SBINDIR@/postfix start
+ExecReload=@SBINDIR@/postfix reload
+ExecStop=@SBINDIR@/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
index c58787ed65..a6909e9b5b 100644
--- a/meta-networking/recipes-daemons/postfix/postfix.inc
+++ b/meta-networking/recipes-daemons/postfix/postfix.inc
@@ -7,8 +7,8 @@ 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)} \
+ ${@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"
@@ -16,13 +16,14 @@ 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://makedefs.patch \
+ file://install.patch \
+ file://main.cf_2.0 \
+ file://postfix \
+ file://internal_recipient \
+ file://postfix.service \
+ file://aliasesdb \
+"
S = "${WORKDIR}/postfix-${PV}"
@@ -48,9 +49,9 @@ export SYSLIBS = "${LDFLAGS}"
# ldap support
export CCARGS-ldap = "\
- ${@base_contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}"
+ ${@base_contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}"
export AUXLIBS-ldap = "\
- ${@base_contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}"
+ ${@base_contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}"
# no native openldap
export CCARGS-ldap_virtclass-native = ""
@@ -59,9 +60,9 @@ 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)}"
+ ${@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)}"
+ ${@base_contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}"
export CCARGS-sasl_virtclass-native = ""
export AUXLIBS-sasl_virtclass-native = ""
@@ -75,130 +76,138 @@ export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf"
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
+ 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"
+ export POSTCONF="bin/postconf"
}
SYSTEMD_SERVICE_${PN} = "postfix.service"
-SYSTEMD_AUTO_ENABLE = "disable"
do_install () {
- sh ./postfix-install 'install_root=${D}' \
- 'config_directory=${sysconfdir}/postfix' \
- 'daemon_directory=${exec_prefix}/libexec/postfix' \
- '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 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
+ 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 -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_unitdir}/system/postfix.service
+ sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/postfix.service
+ sed -i -e 's#@SBINDIR@#${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
+ 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"
@@ -209,22 +218,22 @@ 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
+ 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}/* \
- ${exec_prefix}/libexec/postfix/* ${systemd_unitdir}/*"
-FILES_${PN}-dbg += "${exec_prefix}/libexec/postfix/.debug"
+ ${libexecdir}/* ${systemd_unitdir}/*"
+FILES_${PN}-dbg += "${libexecdir}/.debug"
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-sftp.patch b/meta-networking/recipes-daemons/proftpd/files/proftpd-sftp.patch
deleted file mode 100644
index 8c71263b05..0000000000
--- a/meta-networking/recipes-daemons/proftpd/files/proftpd-sftp.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-proftpd/mod_sftp: fix too much memory allocation bug of mod_sftp
-
-This patch fixes the too much memory allocation bug of the mod_sftp by
-ensuring both that a) the received response count matches the number of
-challenges sent, and b) that the received response count is not too high
-(as an additional sanity check); the upper bound is still set to 500.
-
-The patch is picked from: http://bugs.proftpd.org/show_bug.cgi?id=3973
-
-Upstream-Status: Backport CVE-2013-4359
-
-diff --git a/contrib/mod_sftp/kbdint.c b/contrib/mod_sftp/kbdint.c
-index 0271fb2..de651fa 100644
---- a/contrib/mod_sftp/kbdint.c
-+++ b/contrib/mod_sftp/kbdint.c
-@@ -1,6 +1,6 @@
- /*
- * ProFTPD - mod_sftp keyboard-interactive driver mgmt
-- * Copyright (c) 2008-2009 TJ Saunders
-+ * Copyright (c) 2008-2013 TJ Saunders
- *
- * 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
-@@ -31,6 +31,8 @@
- #include "utf8.h"
- #include "kbdint.h"
-
-+#define SFTP_KBDINT_MAX_RESPONSES 500
-+
- struct kbdint_driver {
- struct kbdint_driver *next, *prev;
-
-@@ -252,8 +254,8 @@ int sftp_kbdint_send_challenge(const char *user, const char *instruction,
- return res;
- }
-
--int sftp_kbdint_recv_response(pool *p, unsigned int *count,
-- const char ***responses) {
-+int sftp_kbdint_recv_response(pool *p, unsigned int expected_count,
-+ unsigned int *rcvd_count, const char ***responses) {
- register unsigned int i;
- char *buf;
- cmd_rec *cmd;
-@@ -264,7 +266,7 @@ int sftp_kbdint_recv_response(pool *p, unsigned int *count,
- int res;
-
- if (p == NULL ||
-- count == NULL ||
-+ rcvd_count == NULL ||
- responses == NULL) {
- errno = EINVAL;
- return -1;
-@@ -299,6 +301,29 @@ int sftp_kbdint_recv_response(pool *p, unsigned int *count,
-
- resp_count = sftp_msg_read_int(pkt->pool, &buf, &buflen);
-
-+ /* Ensure that the number of responses sent by the client is the same
-+ * as the number of challenges sent, lest a malicious client attempt to
-+ * trick us into allocating too much memory (Bug#3973).
-+ */
-+ if (resp_count != expected_count) {
-+ (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
-+ "sent %lu %s, but received %lu %s", (unsigned long) expected_count,
-+ expected_count != 1 ? "challenges" : "challenge",
-+ (unsigned long) resp_count, resp_count != 1 ? "responses" : "response");
-+ destroy_pool(pkt->pool);
-+ errno = EPERM;
-+ return -1;
-+ }
-+
-+ if (resp_count > SFTP_KBDINT_MAX_RESPONSES) {
-+ (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
-+ "received too many responses (%lu > max %lu), rejecting",
-+ (unsigned long) resp_count, (unsigned long) SFTP_KBDINT_MAX_RESPONSES);
-+ destroy_pool(pkt->pool);
-+ errno = EPERM;
-+ return -1;
-+ }
-+
- list = make_array(p, resp_count, sizeof(char *));
- for (i = 0; i < resp_count; i++) {
- char *resp;
-@@ -307,7 +332,7 @@ int sftp_kbdint_recv_response(pool *p, unsigned int *count,
- *((char **) push_array(list)) = pstrdup(p, sftp_utf8_decode_str(p, resp));
- }
-
-- *count = (unsigned int) resp_count;
-+ *rcvd_count = (unsigned int) resp_count;
- *responses = ((const char **) list->elts);
- return 0;
- }
-diff --git a/contrib/mod_sftp/mod_sftp.h.in b/contrib/mod_sftp/mod_sftp.h.in
-index 3e91390..c547be0 100644
---- a/contrib/mod_sftp/mod_sftp.h.in
-+++ b/contrib/mod_sftp/mod_sftp.h.in
-@@ -1,6 +1,6 @@
- /*
- * ProFTPD - mod_sftp
-- * Copyright (c) 2008-2011 TJ Saunders
-+ * Copyright (c) 2008-2013 TJ Saunders
- *
- * 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
-@@ -174,7 +174,8 @@ int sftp_kbdint_register_driver(const char *name, sftp_kbdint_driver_t *driver);
- int sftp_kbdint_unregister_driver(const char *name);
- int sftp_kbdint_send_challenge(const char *, const char *, unsigned int,
- sftp_kbdint_challenge_t *);
--int sftp_kbdint_recv_response(pool *, unsigned int *, const char ***);
-+int sftp_kbdint_recv_response(pool *, unsigned int, unsigned int *,
-+ const char ***);
-
- /* API for modules that which to register keystores, for the
- * SFTPAuthorizedHostKeys and SFTPAuthorizedUserKeys directives.
-diff --git a/contrib/mod_sftp_pam.c b/contrib/mod_sftp_pam.c
-index 6c32df0..81aa113 100644
---- a/contrib/mod_sftp_pam.c
-+++ b/contrib/mod_sftp_pam.c
-@@ -179,22 +179,13 @@ static int sftppam_converse(int nmsgs, PR_PAM_CONST struct pam_message **msgs,
- return PAM_CONV_ERR;
- }
-
-- if (sftp_kbdint_recv_response(sftppam_driver.driver_pool, &recvd_count,
-- &recvd_responses) < 0) {
-+ if (sftp_kbdint_recv_response(sftppam_driver.driver_pool, list->nelts,
-+ &recvd_count, &recvd_responses) < 0) {
- pr_trace_msg(trace_channel, 3,
- "error receiving keyboard-interactive responses: %s", strerror(errno));
- return PAM_CONV_ERR;
- }
-
-- /* Make sure that the count of responses matches the challenge count. */
-- if (recvd_count != list->nelts) {
-- (void) pr_log_writefile(sftp_logfd, MOD_SFTP_PAM_VERSION,
-- "sent %d %s, but received %u %s", nmsgs,
-- list->nelts != 1 ? "challenges" : "challenge", recvd_count,
-- recvd_count != 1 ? "responses" : "response");
-- return PAM_CONV_ERR;
-- }
--
- res = calloc(nmsgs, sizeof(struct pam_response));
- if (res == NULL) {
- pr_log_pri(PR_LOG_CRIT, "Out of memory!");
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 a5e766af5d..0000000000
--- a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb
+++ /dev/null
@@ -1,73 +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 = "r4"
-
-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 \
- file://proftpd-sftp.patch \
-"
-
-SRC_URI[md5sum] = "0871e0b93c9c3c88ca950b6d9a04aed2"
-SRC_URI[sha256sum] = "9f659585cea90fc6af34a0ffae4a90e4ed37abe92dbd9b6c311f95a436c961cb"
-
-inherit autotools-brokensep 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}"
-
-RDEPENDS_${PN} += "perl"
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/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/ptpd-use-pkgconfig.patch b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-use-pkgconfig.patch
new file mode 100644
index 0000000000..e4578dda74
--- /dev/null
+++ b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-use-pkgconfig.patch
@@ -0,0 +1,35 @@
+From 4c850b92a1cf8cfa19677c66bcde2edfab1a4490 Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Tue, 24 Feb 2015 23:02:14 -0500
+Subject: [PATCH] ptpd: use pkgconfig
+
+Yocto uses pkg-config for libpcap, rather than pcap-config, so use that
+instead as the source for libs and cflags.
+
+Upstream-status: Inappropriate [ embedded specific ]
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index dc9541f..288f547 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -112,10 +112,10 @@ case "$try_pcap" in
+ yes)
+ case "$PATH_PCAP_CONFIG" in
+ /*)
+- PCAP_LIBS=`$PATH_PCAP_CONFIG --libs`
++ PCAP_LIBS=`$PATH_PCAP_CONFIG --libs libpcap`
+ AC_SUBST([PCAP_LIBS])
+ # Separate CPPFLAGS and CFLAGS
+- foo=`$PATH_PCAP_CONFIG --cflags`
++ foo=`$PATH_PCAP_CONFIG --cflags libpcap`
+ PCAP_CPPFLAGS=
+ PCAP_CFLAGS=
+ for i in $foo; do
+--
+1.9.1
+
diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.conf b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.conf
new file mode 100644
index 0000000000..ddd571036f
--- /dev/null
+++ b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.conf
@@ -0,0 +1,7 @@
+#
+# PTPD Configuration
+#
+# See man ptpd2 for arguments.
+#
+# Example arguments
+PTPDARGS="-d 1 -i eth0"
diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.service b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.service
new file mode 100644
index 0000000000..f84799eb5f
--- /dev/null
+++ b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=ptpd time precision daemon
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/ptpd
+ExecStart=@BINDIR@/ptpd2 $PTPDARGS
+
+[Install]
+WantedBy=multi-user.target
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
index db74e44631..0dcfc1f7d6 100644
--- a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb
+++ b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://README;md5=2452033fe374283f29579898663b1aa8"
DEPENDS = "libpcap"
-inherit autotools
+inherit autotools systemd
# return something like '1.2.3' or '1.2.3/rc1'
#
@@ -21,7 +21,12 @@ def get_sub(d):
except:
return parts[0]
-SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz"
+SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz \
+ file://ptpd-add-dpaa-etsec-support.patch \
+ file://ptpd-use-pkgconfig.patch \
+ file://ptpd.service \
+ file://ptpd.conf \
+"
SRC_URI[md5sum] = "1ef2f1f2825080a865bbce0eb61246d4"
SRC_URI[sha256sum] = "2802aab758649bb222859dfcb62a5d282709ccb4d3f1df3f26f739cc091d0c8d"
@@ -30,10 +35,25 @@ S = "${WORKDIR}/ptpd-${PV}"
EXTRA_OEMAKE = ""
-EXTRA_OECONF += "--disable-snmp"
+EXTRA_OECONF += "--disable-snmp --with-pcap-config=pkg-config"
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
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/ptpd.service ${D}${systemd_unitdir}/system
+
+ sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/ptpd.service
+ sed -i -e 's#@BINDIR@#${bindir}#g' ${D}${systemd_unitdir}/system/ptpd.service
+
+ install -d ${D}${sysconfdir}/default/
+ install -m 0644 ${WORKDIR}/ptpd.conf ${D}${sysconfdir}/default/ptpd
+ fi
}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "ptpd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
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
index 3aac7b27db..e60798a6b3 100644
--- a/meta-networking/recipes-daemons/radvd/files/radvd.service
+++ b/meta-networking/recipes-daemons/radvd/files/radvd.service
@@ -4,11 +4,8 @@ After=network.target
ConditionPathExists=@SYSCONFDIR@/radvd.conf
[Service]
-Type=forking
-PIDFile=/var/run/radvd/radvd.pid
EnvironmentFile=-@SYSCONFDIR@/default/radvd
-ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/radvd
-ExecStart=@SBINDIR@/radvd $OPTIONS
+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 85d1a85b13..6b595b07f3 100644
--- a/meta-networking/recipes-daemons/radvd/radvd.inc
+++ b/meta-networking/recipes-daemons/radvd/radvd.inc
@@ -17,7 +17,8 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=73ebbf7182ae996e65e8fadc9a8c45db"
SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz \
file://radvd.init \
file://radvd.service \
- file://volatiles.03_radvd"
+ file://volatiles.03_radvd \
+ file://radvd.default"
inherit autotools update-rc.d useradd pkgconfig systemd
@@ -44,6 +45,9 @@ do_install_append () {
-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 ${S}/$i ${D}${docdir}/radvd; \
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-empty-file-put-error.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-empty-file-put-error.patch
deleted file mode 100644
index aa29d9ce1c..0000000000
--- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-empty-file-put-error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-tftp-hpa: bug fix on empty file put error
-
-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. Fix it.
-
-Upstream-Status: pending
-
-Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
----
- tftpd/tftpd.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
---- a/tftpd/tftpd.c
-+++ b/tftpd/tftpd.c
-@@ -1692,7 +1692,7 @@ static void tftp_recvfile(const struct f
- syslog(LOG_WARNING, "tftpd: write(ack): %m");
- goto abort;
- }
-- if(write_behind(file, pf->f_convert) < 0) {
-+ if(write_behind(file, pf->f_convert) < -1) {
- nak(ENOSPACE, NULL);
- (void)fclose(file);
- goto abort;
-@@ -1727,7 +1727,7 @@ static void tftp_recvfile(const struct f
- goto abort;
- }
- } while (size == segsize);
-- if(write_behind(file, pf->f_convert) < 0) {
-+ if(write_behind(file, pf->f_convert) < -1) {
- nak(ENOSPACE, NULL);
- (void)fclose(file);
- goto abort;
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 e58a4b1851..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
@@ -25,7 +25,7 @@ SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.t
file://init \
file://add-error-check-for-disk-filled-up.patch \
file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \
- file://tftp-hpa-bug-fix-on-empty-file-put-error.patch \
+ file://fix-writing-emtpy-file.patch \
"
SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21"
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-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/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.1.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb
index eb97748306..a76de0d3b8 100644
--- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://README;beginline=3;endline=8;md5=7f7f00ba639ac8e8deb5
DEPENDS = "openssl libnl pciutils"
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 \
@@ -35,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"
}
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/ripngd.service b/meta-networking/recipes-protocols/quagga/files/ripngd.service
index 936b81fb9e..72562d5f7c 100644
--- a/meta-networking/recipes-protocols/quagga/files/ripngd.service
+++ b/meta-networking/recipes-protocols/quagga/files/ripngd.service
@@ -1,4 +1,4 @@
-i[Unit]
+[Unit]
Description=RIP routing daemon for IPv6
BindTo=zebra.service
After=zebra.service
diff --git a/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-networking/recipes-protocols/quagga/quagga.inc
index 9bdd4d590a..2c0817b83f 100644
--- a/meta-networking/recipes-protocols/quagga/quagga.inc
+++ b/meta-networking/recipes-protocols/quagga/quagga.inc
@@ -62,7 +62,7 @@ EXTRA_OECONF = "--sysconfdir=${sysconfdir}/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 \
@@ -135,6 +135,7 @@ do_install () {
# 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
@@ -160,7 +161,7 @@ pkg_postinst_${PN} () {
# 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"
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-support/dnsmasq/dnsmasq_2.71.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.71.bb
deleted file mode 100644
index ccc567e7fa..0000000000
--- a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.71.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require dnsmasq.inc
-
-SRC_URI += "\
- file://parallel-make.patch \
- file://lua.patch \
-"
-
-SRC_URI[dnsmasq-2.71.md5sum] = "15a68f7f6cc0119e843f67d2f79598f1"
-SRC_URI[dnsmasq-2.71.sha256sum] = "7d8c64f66a396442e01b639df3ea6b4e02ba88cbe206c80be8de68b6841634c4"
-
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/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/ipsec-tools/ipsec-tools/racoon.conf b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf
new file mode 100644
index 0000000000..6b507508b1
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf
@@ -0,0 +1,8 @@
+# Defaults for racoon service
+# sourced by racoon.service
+# installed at /etc/default/racoon by the maintainer scripts
+#
+# This is a POSIX shell fragment
+#
+# Arguments to pass to racoon
+RACOON_ARGS=""
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample
new file mode 100644
index 0000000000..2948a4a35b
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample
@@ -0,0 +1,40 @@
+#
+# NOTE: This file will not be used if you use racoon-tool(8) to manage your
+# IPsec connections. racoon-tool will process racoon-tool.conf(5) and
+# generate a configuration (/var/lib/racoon/racoon.conf) and use it, instead
+# of this file.
+#
+# Simple racoon.conf
+#
+#
+# Please look in /usr/share/doc/racoon/examples for
+# examples that come with the source.
+#
+# Please read racoon.conf(5) for details, and alsoread setkey(8).
+#
+#
+# Also read the Linux IPSEC Howto up at
+# http://www.ipsec-howto.org/t1.html
+#
+log notify;
+path pre_shared_key "/etc/racoon/psk.txt";
+path certificate "/etc/racoon/certs";
+
+#remote 172.31.1.1 {
+# exchange_mode main,aggressive;
+# proposal {
+# encryption_algorithm 3des;
+# hash_algorithm sha1;
+# authentication_method pre_shared_key;
+# dh_group modp1024;
+# }
+# generate_policy off;
+#}
+#
+#sainfo address 192.168.203.10[any] any address 192.168.22.0/24[any] any {
+# pfs_group modp768;
+# encryption_algorithm 3des;
+# authentication_algorithm hmac_md5;
+# compression_algorithm deflate;
+#}
+
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service
new file mode 100644
index 0000000000..a10e770279
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Racoon IKEv1 key management daemon for IPSEC
+After=syslog.target network.target
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/default/racoon
+ExecStart=@SBINDIR@/racoon $RACOON_ARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
index 8cc55ef8a3..9704b138c7 100644
--- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
@@ -15,11 +15,14 @@ SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${PV
file://racoon-check-invalid-ivm.patch \
file://glibc-2.20.patch \
file://racoon-Resend-UPDATE-message-when-received-EINTR-message.patch \
+ file://racoon.conf.sample \
+ file://racoon.conf \
+ file://racoon.service \
"
SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41"
SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d"
-inherit autotools
+inherit autotools systemd
# Options:
# --enable-adminport enable admin port
@@ -54,6 +57,7 @@ EXTRA_OECONF = "--with-kernel-headers=${STAGING_INCDIR} \
--enable-shared \
--enable-dpd \
--enable-natt=yes \
+ --sysconfdir=${sysconfdir}/racoon \
${@base_contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6=yes', '', d)}"
# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530527
@@ -62,3 +66,19 @@ CFLAGS += "-fno-strict-aliasing"
PACKAGECONFIG ??= ""
PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,"
PACKAGECONFIG[selinux] = "--enable-security-context,--disable-security-context,libselinux,"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/racoon
+ install -m 0644 ${WORKDIR}/racoon.conf.sample ${D}${sysconfdir}/racoon/racoon.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/racoon.service ${D}${systemd_unitdir}/system
+
+ sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/racoon.service
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/racoon.service
+
+ install -d ${D}${sysconfdir}/default/
+ install -m 0644 ${WORKDIR}/racoon.conf ${D}${sysconfdir}/default/racoon
+ fi
+}
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
index e2551e1149..c07b3c6e91 100644
--- 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
@@ -1,13 +1,18 @@
SUMMARY = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project"
+HOMEPAGE = "http://lksctp.org"
SECTION = "libs"
-LICENSE = "LGPLv2"
+LICENSE = "LGPLv2.1 & GPLv2"
LIC_FILES_CHKSUM = " \
file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \
file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \
"
-SRC_URI = "${SOURCEFORGE_MIRROR}/lksctp/${BP}.tar.gz"
+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"
@@ -16,13 +21,21 @@ SRC_URI[sha256sum] = "0903dd526b7f30a89d5031aa2c82757612becc38ed7bc6e4f972f8deae
#| /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] = "BROKEN: fails to link against sctp_connectx symbol"
+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
+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"
@@ -31,16 +44,16 @@ PACKAGES =+ "${PN}-withsctp ${PN}-utils"
FILES_${PN} = " \
${libdir}/libsctp.so.${SOLIBVERSION} \
+ ${libdir}/libsctp.so.${SOLIBMAJORVERSION} \
"
FILES_${PN}-withsctp = " \
${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION} \
+ ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \
"
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 \
diff --git a/meta-networking/recipes-support/mtr/files/configure.patch b/meta-networking/recipes-support/mtr/files/configure.patch
deleted file mode 100644
index c978b879ec..0000000000
--- a/meta-networking/recipes-support/mtr/files/configure.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: mtr-0.82/configure.in
-===================================================================
---- mtr-0.82.orig/configure.in 2014-07-16 19:52:56.306026346 +0000
-+++ mtr-0.82/configure.in 2014-07-17 21:59:03.208587150 +0000
-@@ -1,5 +1,5 @@
--AC_INIT(mtr.c)
--AM_INIT_AUTOMAKE(mtr, 0.82)
-+AC_INIT(mtr.c, 0.82)
-+AM_INIT_AUTOMAKE([foreign])
-
-
- AC_SUBST(GTK_OBJ)
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 b9a1ea2863..a60bd347e7 100644
--- a/meta-networking/recipes-support/mtr/mtr_0.82.bb
+++ b/meta-networking/recipes-support/mtr/mtr_0.86.bb
@@ -5,14 +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://configure.patch \
- 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/nis/files/libdl.patch b/meta-networking/recipes-support/nis/files/libdl.patch
deleted file mode 100644
index 605af319f9..0000000000
--- a/meta-networking/recipes-support/nis/files/libdl.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- pwdutils-2.6/configure.in.orig 2005-04-19 20:22:36.603052192 -0700
-+++ pwdutils-2.6/configure.in 2005-04-19 21:09:45.308023672 -0700
-@@ -178,6 +178,9 @@
- AC_CHECK_LIB(ldap, main, LDAP_LIBS="-lldap $LDAP_LIBS" found_ldap_lib=yes,,$LDAP_LIBS)
- fi
-
-+ dnl this always needs dl
-+ AC_CHECK_LIB(dl, dlopen, LDAP_LIBS="$LDAP_LIBS -ldl")
-+
- if test -z "$found_ldap_lib" -a \( $with_ldap_lib = auto -o $with_ldap_lib = netscape5 \); then
- AC_CHECK_LIB(ldap50, main, LDAP_LIBS="-lldap50 -lssldap50 -lssl3 -lnss3 -lnspr4 -lprldap50 -lplc4 -lplds4" found_ldap_lib=yes need_pthread=true,, -lpthread)
- fi
diff --git a/meta-networking/recipes-support/nis/files/no-selinux.patch b/meta-networking/recipes-support/nis/files/no-selinux.patch
deleted file mode 100644
index 71da3e3931..0000000000
--- a/meta-networking/recipes-support/nis/files/no-selinux.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- pwdutils-2.6/lib/copy_xattr.c.orig 2005-04-16 17:15:52.916660880 -0700
-+++ pwdutils-2.6/lib/copy_xattr.c 2005-04-16 17:18:10.345768480 -0700
-@@ -127,8 +127,11 @@
-
- if (lsetxattr (to, name, value, size, 0) != 0)
- {
-- if (strcmp (name, "security.selinux") == 0 &&
-- is_selinux_enabled() == 0)
-+ if (strcmp (name, "security.selinux") == 0
-+#if defined(WITH_SELINUX)
-+ && is_selinux_enabled() == 0
-+#endif
-+ )
- fprintf (stderr,
- _("SELinux not enabled, ignore attribute %s for `%s'.\n"),
- name, to);
diff --git a/meta-networking/recipes-support/nis/nis.inc b/meta-networking/recipes-support/nis/nis.inc
index 075d2756d9..eaff949615 100644
--- a/meta-networking/recipes-support/nis/nis.inc
+++ b/meta-networking/recipes-support/nis/nis.inc
@@ -7,7 +7,7 @@ DESCRIPTION = "NIS Server and Tools"
HOMEPAGE = "http://www.linux-nis.org/nis/"
SECTION = "console/network"
LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
inherit autotools gettext pkgconfig
diff --git a/meta-networking/recipes-support/nis/yp-tools_2.12.bb b/meta-networking/recipes-support/nis/yp-tools_2.14.bb
index 0017845508..8c6837bac9 100644
--- a/meta-networking/recipes-support/nis/yp-tools_2.12.bb
+++ b/meta-networking/recipes-support/nis/yp-tools_2.14.bb
@@ -1,29 +1,32 @@
# This package builds tools to manage NIS
# The source package is utils/net/NIS/yp-tools
#
-PR = "r3"
-DESCRIPTION="\
+require nis.inc
+
+SUMMARY = "NIS client programs"
+DESCRIPTION = " \
Network Information Service tools. \
This package contains ypcat, ypmatch, ypset, \
ypwhich, yppasswd, domainname, nisdomainname \
-and ypdomainname."
+and ypdomainname. \
+\
+This is the final IPv4-only version of yp-tools. \
+"
-require nis.inc
SRC_URI = "http://www.linux-nis.org/download/yp-tools/${BP}.tar.bz2 \
file://domainname.service \
"
-
-SRC_URI[md5sum] = "ce1e06d86caa285fa8cd76fdf103f51e"
-SRC_URI[sha256sum] = "6ae8321666eea7837da343eea90ea30273fb74943ad111d5a4befd2afb252063"
-
-CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true"
+SRC_URI[md5sum] = "ba1f121c17e3ad65368be173b977cd13"
+SRC_URI[sha256sum] = "d01f70fadc643a55107a0edc47c6be99d0306bcc4f66df56f65e74238b0124c9"
inherit systemd
+SYSTEMD_SERVICE_${PN} = "domainname.service"
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "domainname.service"
+
+CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true"
do_install_append() {
install -d ${D}${systemd_unitdir}/system
diff --git a/meta-networking/recipes-support/nis/ypbind-mt_1.36.bb b/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb
index 35ef16a89a..f7e6b43d93 100644
--- a/meta-networking/recipes-support/nis/ypbind-mt_1.36.bb
+++ b/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb
@@ -1,8 +1,9 @@
# This package builds the NIS ypbind daemon
# The source package is utils/net/NIS/ypbind-mt
#
-PR = "r3"
-DESCRIPTION="\
+require nis.inc
+
+DESCRIPTION = " \
Multithreaded NIS bind service (ypbind-mt). \
ypbind-mt is a complete new implementation of a NIS \
binding daemon for Linux. It has the following \
@@ -11,23 +12,28 @@ Uses threads for better response. Supports multiple \
domain bindings. Supports /var/yp/binding/* file \
for Linux libc 4/5 and glibc 2.x. Supports a list \
of known secure NIS server (/etc/yp.conf) Binds to \
-the server which answered as first."
-HOMEPAGE="http://www.linux-nis.org/nis/ypbind-mt/index.html"
-
-require nis.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=082c9a0886c7c3db1bc862b5b62ffe08"
+the server which answered as first. \
+\
+This is the final IPv4-only version of ypbind-mt. \
+"
+HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html"
+DEPENDS = "yp-tools"
+# ypbind-mt now provides all the functionality of ypbind
+# and is used in place of it.
+PROVIDES += "ypbind"
SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \
file://ypbind-yocto.init \
file://ypbind.service \
"
-SRC_URI[md5sum] = "135834db97d78ff6d79fdee2810b4056"
-SRC_URI[sha256sum] = "0eff76c1849f4b38ea1a60280d8397c4240369c641fe5402ce57edf1a90958c7"
+SRC_URI[md5sum] = "094088c0e282fa7f3b3dd6cc51d0a4e1"
+SRC_URI[sha256sum] = "1930ce19f6ccfe10400f3497b31867f71690d2bcd3f5b575199fa915559b7746"
-# ypbind-mt now provides all the functionality of ypbind
-# and is used in place of it.
-PROVIDES += "ypbind"
+inherit systemd update-rc.d
+
+SYSTEMD_SERVICE_${PN} = "ypbind.service"
+INITSCRIPT_NAME = "ypbind"
+INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ."
CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true"
@@ -37,16 +43,11 @@ do_install_append () {
install -m 0755 ${WORKDIR}/ypbind-yocto.init ${D}${sysconfdir}/init.d/ypbind
- # TODO, use update-rc.d
- ln -s ../init.d/ypbind ${D}${sysconfdir}/rcS.d/S44ypbind
-
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system
}
-inherit systemd
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "ypbind.service"
diff --git a/meta-networking/recipes-support/ntp/files/CVE-2013-5211.patch b/meta-networking/recipes-support/ntp/files/CVE-2013-5211.patch
deleted file mode 100644
index ddcb044e60..0000000000
--- a/meta-networking/recipes-support/ntp/files/CVE-2013-5211.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-ntp: fix CVE-2013-5211
-
-Upstream-status: Backport
-
-The monlist feature in ntp_request.c in ntpd in NTP before
-4.2.7p26 allows remote attackers to cause a denial of service
-(traffic amplification) via forged (1) REQ_MON_GETLIST or
-(2) REQ_MON_GETLIST_1 requests, as exploited in the wild
-in December 2013.
-
-Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
-
---- a/ntpd/ntp_request.c
-+++ b/ntpd/ntp_request.c
-@@ -1912,44 +1912,11 @@ mon_getlist_0(
- struct req_pkt *inpkt
- )
- {
-- register struct info_monitor *im;
-- register struct mon_data *md;
-- extern struct mon_data mon_mru_list;
-- extern int mon_enabled;
--
- #ifdef DEBUG
- if (debug > 2)
- printf("wants monitor 0 list\n");
- #endif
-- if (!mon_enabled) {
-- req_ack(srcadr, inter, inpkt, INFO_ERR_NODATA);
-- return;
-- }
-- im = (struct info_monitor *)prepare_pkt(srcadr, inter, inpkt,
-- v6sizeof(struct info_monitor));
-- for (md = mon_mru_list.mru_next; md != &mon_mru_list && im != 0;
-- md = md->mru_next) {
-- im->lasttime = htonl((u_int32)((current_time -
-- md->firsttime) / md->count));
-- im->firsttime = htonl((u_int32)(current_time - md->lasttime));
-- im->restr = htonl((u_int32)md->flags);
-- im->count = htonl((u_int32)(md->count));
-- if (IS_IPV6(&md->rmtadr)) {
-- if (!client_v6_capable)
-- continue;
-- im->addr6 = SOCK_ADDR6(&md->rmtadr);
-- im->v6_flag = 1;
-- } else {
-- im->addr = NSRCADR(&md->rmtadr);
-- if (client_v6_capable)
-- im->v6_flag = 0;
-- }
-- im->port = md->rmtport;
-- im->mode = md->mode;
-- im->version = md->version;
-- im = (struct info_monitor *)more_pkt();
-- }
-- flush_pkt();
-+ req_ack(srcadr, inter, inpkt, INFO_ERR_NODATA);
- }
-
- /*
-@@ -1962,50 +1929,7 @@ mon_getlist_1(
- struct req_pkt *inpkt
- )
- {
-- register struct info_monitor_1 *im;
-- register struct mon_data *md;
-- extern struct mon_data mon_mru_list;
-- extern int mon_enabled;
--
-- if (!mon_enabled) {
-- req_ack(srcadr, inter, inpkt, INFO_ERR_NODATA);
-- return;
-- }
-- im = (struct info_monitor_1 *)prepare_pkt(srcadr, inter, inpkt,
-- v6sizeof(struct info_monitor_1));
-- for (md = mon_mru_list.mru_next; md != &mon_mru_list && im != 0;
-- md = md->mru_next) {
-- im->lasttime = htonl((u_int32)((current_time -
-- md->firsttime) / md->count));
-- im->firsttime = htonl((u_int32)(current_time - md->lasttime));
-- im->restr = htonl((u_int32)md->flags);
-- im->count = htonl((u_int32)md->count);
-- if (IS_IPV6(&md->rmtadr)) {
-- if (!client_v6_capable)
-- continue;
-- im->addr6 = SOCK_ADDR6(&md->rmtadr);
-- im->v6_flag = 1;
-- im->daddr6 = SOCK_ADDR6(&md->interface->sin);
-- } else {
-- im->addr = NSRCADR(&md->rmtadr);
-- if (client_v6_capable)
-- im->v6_flag = 0;
-- if (MDF_BCAST == md->cast_flags)
-- im->daddr = NSRCADR(&md->interface->bcast);
-- else if (md->cast_flags) {
-- im->daddr = NSRCADR(&md->interface->sin);
-- if (!im->daddr)
-- im->daddr = NSRCADR(&md->interface->bcast);
-- } else
-- im->daddr = 4;
-- }
-- im->flags = htonl(md->cast_flags);
-- im->port = md->rmtport;
-- im->mode = md->mode;
-- im->version = md->version;
-- im = (struct info_monitor_1 *)more_pkt();
-- }
-- flush_pkt();
-+ req_ack(srcadr, inter, inpkt, INFO_ERR_NODATA);
- }
-
- /*
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 3cd1c6c585..d1b9c49076 100755
--- a/meta-networking/recipes-support/ntp/files/ntpd
+++ b/meta-networking/recipes-support/ntp/ntp/ntpd
@@ -20,6 +20,9 @@ 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
@@ -68,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 f55a39a923..e802ee700b 100644
--- a/meta-networking/recipes-support/ntp/ntp.inc
+++ b/meta-networking/recipes-support/ntp/ntp_4.2.8.bb
@@ -6,16 +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"
-DEPENDS = "pps-tools"
-
-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 \
@@ -25,18 +21,28 @@ 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://CVE-2013-5211.patch \
+ 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"
# NB: debug is default-enabled by NTP; keep it default-enabled here.
@@ -57,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
@@ -65,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
@@ -111,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 \
@@ -123,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-volatile.conf b/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf
new file mode 100644
index 0000000000..4a3dc4a460
--- /dev/null
+++ b/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf
@@ -0,0 +1 @@
+d /var/run/openvpn 0755 root root -
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.3.4.bb b/meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb
deleted file mode 100644
index 48e04b702d..0000000000
--- a/meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb
+++ /dev/null
@@ -1,31 +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 iproute2 ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-inherit autotools
-
-SRC_URI = "http://swupdate.openvpn.org/community/releases/openvpn-${PV}.tar.gz \
- file://openvpn"
-
-SRC_URI[md5sum] = "04d47237907faabe9d046970ffe44b2e"
-SRC_URI[sha256sum] = "af506d5f48568fa8d2f2435cb3fad35f9a9a8f263999ea6df3ba296960cec85a"
-
-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)}"
-EXTRA_OECONF += "IPROUTE=/bin/ip"
-
-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"
-
-FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
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..08f30b50f5
--- /dev/null
+++ b/meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb
@@ -0,0 +1,67 @@
+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 \
+ file://openvpn-volatile.conf"
+
+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
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
+ 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
index da097ce825..f0323618dd 100644
--- a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb
+++ b/meta-networking/recipes-support/pimd/pimd_2.1.8.bb
@@ -8,3 +8,10 @@ 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
index 06d6d28fa9..0eaa7ca4cf 100644
--- a/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb
+++ b/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb
@@ -3,8 +3,14 @@ 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"
+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/strongswan_5.2.0.bb b/meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb
index 0997fd03c1..6b913190c2 100644
--- a/meta-networking/recipes-support/strongswan/strongswan_5.2.0.bb
+++ b/meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb
@@ -11,8 +11,8 @@ SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
file://fix-funtion-parameter.patch \
"
-SRC_URI[md5sum] = "5cee4ee1a6ccb74400758b3ace54d46e"
-SRC_URI[sha256sum] = "b00c30bd2e60ff2e5fc85f54bbad54fe246585812fdf212dbe777a5258da26ce"
+SRC_URI[md5sum] = "dd3717c0aa59ab4591ca1812941ebb82"
+SRC_URI[sha256sum] = "ea51ab33b5bb39fecaf10668833a9936583b42145948ae9da1ab98f74e939215"
EXTRA_OECONF = "--enable-gmp \
--enable-openssl \
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.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.bb b/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb
index 58bcb980f5..1fdaf308d8 100644
--- a/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb
+++ b/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb
@@ -11,12 +11,14 @@ SRC_URI = " \
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] = "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}"
PACKAGECONFIG ??= "openssl ipv6"
@@ -43,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/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 4bce270e4b..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"
diff --git a/meta-networking/recipes-support/traceroute/traceroute_2.0.20.bb b/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb
index 4b49c76863..7bdbe16175 100644
--- a/meta-networking/recipes-support/traceroute/traceroute_2.0.20.bb
+++ b/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb
@@ -7,7 +7,7 @@ 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"
+LICENSE = "GPL-2.0+ & LGPL-2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
@@ -17,8 +17,10 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/${BP}/${BP}.tar.gz \
file://filter-out-the-patches-from-subdirs.patch \
"
-SRC_URI[md5sum] = "559f104e155e0e14ee0c717776a745fa"
-SRC_URI[sha256sum] = "2facba9525c95428d7bff3a313fc6ecfd8c529c678ae666c73015558a0edc271"
+SRC_URI[md5sum] = "79289adabd6f3ebf9160fc0815ab3150"
+SRC_URI[sha256sum] = "f7ac93ef30b13a587292b8d6a7e2538a65bc978a3a576eab238c392b884e96e0"
+
+EXTRA_OEMAKE = "VPATH=${STAGING_LIBDIR}"
do_compile() {
export LDFLAGS="${TARGET_LDFLAGS} -L${S}/libsupp"
@@ -38,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/wireshark_1.12.1.bb b/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb
index 147c513955..f16d0f68fa 100644
--- a/meta-networking/recipes-support/wireshark/wireshark_1.12.1.bb
+++ b/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb
@@ -4,7 +4,7 @@ SECTION = "network"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://README.linux;md5=631e077455b7972172eb149195e065b0"
-DEPENDS = "perl-native libcap libpcap pcre expat glib-2.0 libnl sbc"
+DEPENDS = "perl-native pcre expat glib-2.0 sbc"
SRC_URI = " \
http://wiresharkdownloads.riverbed.com/wireshark/src/wireshark-${PV}.tar.bz2 \
@@ -13,8 +13,8 @@ SRC_URI = " \
PE = "1"
-SRC_URI[md5sum] = "14b3e3d8979d1eb27ff085bb5f400e67"
-SRC_URI[sha256sum]= "82b26bd416ec15903b27785e35a622687008a743342054e96eaaeaa249be584b"
+SRC_URI[md5sum] = "e6318b8451d4e56d39bd911da296ef19"
+SRC_URI[sha256sum] = "69950b9dcb1a630982b5f680554d73d27ee0dc856fc6aeef88c8d04eb5ac33ea"
inherit autotools pkgconfig
@@ -23,11 +23,13 @@ ARM_INSTRUCTION_SET = "arm"
# Works with either gtk+ or gtk3.
WHICH_GTK = "gtk3"
-PACKAGECONFIG ??= "gnutls gcrypt"
+PACKAGECONFIG ??= "libcap gnutls libnl"
PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "${WHICH_GTK} graphics", "", d)}"
PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)}"
+PACKAGECONFIG[libcap] = "--with-libcap=${STAGING_DIR_HOST}, --with-libcap=no, libcap"
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"
@@ -35,8 +37,16 @@ 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"
-EXTRA_OECONF = "--with-qt=no --enable-usr-local=no --enable-tshark --with-c-ares=no"
+# 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 --with-pcap=no --enable-pcap-ng-default"
do_configure_prepend() {
# force to use fallback
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/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/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/licenses/unRAR b/meta-oe/licenses/unRAR
new file mode 100644
index 0000000000..5f78b728da
--- /dev/null
+++ b/meta-oe/licenses/unRAR
@@ -0,0 +1,41 @@
+ ****** ***** ****** unRAR - free utility for RAR archives
+ ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ****** ******* ****** License for use and distribution of
+ ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ** ** ** ** ** ** FREE portable version
+ ~~~~~~~~~~~~~~~~~~~~~
+
+ The source code of unRAR utility is freeware. This means:
+
+ 1. All copyrights to RAR and the utility unRAR are exclusively
+ owned by the author - Alexander Roshal.
+
+ 2. The unRAR sources may be used in any software to handle RAR
+ archives without limitations free of charge, but cannot be used
+ to re-create the RAR compression algorithm, which is proprietary.
+ Distribution of modified unRAR sources in separate form or as a
+ part of other software is permitted, provided that it is clearly
+ stated in the documentation and source comments that the code may
+ not be used to develop a RAR (WinRAR) compatible archiver.
+
+ 3. The unRAR utility may be freely distributed. No person or company
+ may charge a fee for the distribution of unRAR without written
+ permission from the copyright holder.
+
+ 4. THE RAR ARCHIVER AND THE UNRAR UTILITY ARE DISTRIBUTED "AS IS".
+ NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT
+ YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS,
+ DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING
+ OR MISUSING THIS SOFTWARE.
+
+ 5. Installing and using the unRAR utility signifies acceptance of
+ these terms and conditions of the license.
+
+ 6. If you don't agree with terms of the license you must remove
+ unRAR files from your storage devices and cease to use the
+ utility.
+
+ Thank you for your interest in RAR and unRAR.
+
+
+ Alexander L. Roshal \ No newline at end of file
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 1bd554bc90..20adc0db93 100644
--- a/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
+++ b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298"
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-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 851b050ebb..4ce6a1901e 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -3,7 +3,8 @@ 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"
@@ -15,9 +16,10 @@ 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"
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 a98d5075cd..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,7 +2,7 @@ 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"
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 4826452866..acae8689d5 100644
--- a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
+++ b/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
@@ -9,7 +9,7 @@ DEPENDS = "glib-2.0"
X11DEPENDS = " libxpm gtk+"
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-PACKAGECONFIG[bluez] = "--enable-bluetooth,--disable-bluetooth,bluez4"
+PACKAGECONFIG[bluez4] = "--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"
diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init
index 79f74b681e..8ba4e07940 100644
--- a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init
+++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init
@@ -8,6 +8,23 @@ 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: "
@@ -16,20 +33,24 @@ case "$1" in
;;
stop)
echo -n "Stopping $DESC: "
- start-stop-daemon -K -x $DAEMON
+ start-stop-daemon -K --oknodo -x $DAEMON
echo "$NAME."
;;
restart)
$0 stop
- $0 start
+ 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}"
+ echo "Usage: $0 {start|stop|restart|reload|status}"
exit 1
;;
esac
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_1.12.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb
index 0b14d3cdf6..c492496b64 100644
--- a/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb
+++ b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb
@@ -22,6 +22,7 @@ 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 \
@@ -32,7 +33,7 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}-signed.tar
SRC_URI[md5sum] = "357f1312b7720a0a591e22db0f7829fe"
SRC_URI[sha256sum] = "09bd180107b5c2b3b7378c57c023fb02a103d4cac39d6f2dd600275d7a4f3744"
-S = "${WORKDIR}/${P}/src/"
+S = "${WORKDIR}/${BP}/src/"
PACKAGECONFIG ??= "openssl"
PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
@@ -53,9 +54,12 @@ 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}/${P}.tar.gz -C ${WORKDIR}/
+ tar xzf ${WORKDIR}/${BP}.tar.gz -C ${WORKDIR}/
}
python do_unpack() {
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/libmbim/libmbim_1.12.2.bb b/meta-oe/recipes-connectivity/libmbim/libmbim_1.12.2.bb
new file mode 100644
index 0000000000..4364bb0e02
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libmbim/libmbim_1.12.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
+DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 udev"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "921fb5ab3f13f1e00833e009d8f3b4f6"
+SRC_URI[sha256sum] = "949351d3e3d69b81e40a49f1d187944c26149e0647a415f0227ccdc112047b29"
diff --git a/meta-oe/recipes-connectivity/libqmi/libqmi_1.12.2.bb b/meta-oe/recipes-connectivity/libqmi/libqmi_1.12.2.bb
new file mode 100644
index 0000000000..789692b581
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libqmi/libqmi_1.12.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
+DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "5b3b6b37a57e2fa828fd4cb6f86d7a9f"
+SRC_URI[sha256sum] = "d1661d73b510482b29b93b7e396756c433d35360b3d44c72afa7921339a98624"
diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.2.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.2.bb
new file mode 100644
index 0000000000..6dfd0e256f
--- /dev/null
+++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.2.bb
@@ -0,0 +1,40 @@
+SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
+DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit autotools gettext gtk-doc systemd
+
+DEPENDS = "glib-2.0 libmbim libqmi polkit udev dbus-glib"
+
+SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz"
+SRC_URI[md5sum] = "fe74eaa9a77e51e552b4356b4c7195cb"
+SRC_URI[sha256sum] = "07d332fbe6f45f788f740810951e04042aaf023bd5ecf8ef0b3a06e37703585d"
+
+S = "${WORKDIR}/ModemManager-${PV}"
+
+FILES_${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/polkit-1 \
+ ${libdir}/ModemManager \
+ ${systemd_unitdir}/system \
+"
+
+FILES_${PN}-dev += " \
+ ${datadir}/dbus-1 \
+ ${libdir}/ModemManager/*.la \
+"
+
+FILES_${PN}-staticdev += " \
+ ${libdir}/ModemManager/*.a \
+"
+
+FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
+
+SYSTEMD_SERVICE_${PN} = "ModemManager.service"
+# no need to start on boot - dbus will start on demand
+SYSTEMD_AUTO_ENABLE = "disable"
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
deleted file mode 100644
index 5ff18da057..0000000000
--- a/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DEPENDS = "ppp udev glib-2.0 dbus-glib"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-
-inherit gnomebase gettext
-
-SRC_URI = "${GNOME_MIRROR}/ModemManager/${@gnome_verdir("${PV}")}/ModemManager-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "f32640f6672d997ec0887307186e9639"
-SRC_URI[sha256sum] = "d4468300cf4aa7baf21c8564fa515e578056f34de5a64f452b053331f89e8ae2"
-
-S = "${WORKDIR}/ModemManager-${PV}"
-
-FILES_${PN}-dbg += "${libdir}/ModemManager/.debug \
- ${libdir}/pppd/*/.debug"
-FILES_${PN}-dev += "${datadir}/dbus-1/interfaces \
- ${libdir}/pppd/*/*.la \
- ${libdir}/ModemManager/*.la"
-FILES_${PN}-staticdev += "\
- ${libdir}/ModemManager/*.a \
- ${libdir}/pppd/*/*.a"
-FILES_${PN} += "${datadir}/dbus-1/*services/ \
- ${libdir}/ModemManager/*.so \
- ${libdir}/pppd/*/*.so \
- ${base_libdir}/udev"
-
-RRECOMMENDS_${PN} += "ppp"
diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb
index 0792e8ed17..8d37c980e0 100644
--- a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb
+++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb
@@ -30,6 +30,7 @@ EXTRA_OECONF = " \
--with-dhclient=${base_sbindir}/dhclient \
--with-iptables=${sbindir}/iptables \
--with-tests \
+ --with-dnsmasq=${bindir}/dnsmasq \
"
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)}"
@@ -80,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 4a2b2b1d60..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,6 +3,7 @@ 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"
diff --git a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.0.bb b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb
index 91acb1d3c2..762ecd6279 100644
--- a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.0.bb
+++ b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb
@@ -4,8 +4,8 @@ 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] = "b1f902c658c772cda464754678d8deb6"
-SRC_URI[sha256sum] = "53702ea2ab809af0f923e387458e2cad191d9549f50410035fe82ce5e6ccc4fa"
+SRC_URI[md5sum] = "aa8d4d0b949f508c0da25a9c20bd7da7"
+SRC_URI[sha256sum] = "1ec3c1141593b91c57bf1051657a1d64fb87da38760c7128a9622b107990f2f2"
DEPENDS = "popt openssl"
diff --git a/meta-oe/recipes-connectivity/rfkill/rfkill_0.4.bb b/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
index a9f523cbef..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/${BPN}/${BP}.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/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 3da056223b..abfd5ca7ba 100644
--- a/meta-oe/recipes-connectivity/samba/samba.inc
+++ b/meta-oe/recipes-connectivity/samba/samba.inc
@@ -2,17 +2,33 @@ SECTION = "console/network"
LICENSE = "GPL-3.0"
DEPENDS = "readline virtual/libiconv zlib popt"
-SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \
+SAMBA_MIRROR = "http://samba.org/samba/ftp"
+
+MIRRORS += "\
+${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \
+${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
+"
+
+SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
file://volatiles.03_samba \
file://smb.conf \
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 +44,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 \
@@ -44,6 +60,8 @@ PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
PACKAGECONFIG[fam] = "--enable-fam,--disable-fam,gamin"
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 +121,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/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/soft66/soft66_git.bb b/meta-oe/recipes-connectivity/soft66/soft66_git.bb
index 050bf98aa2..b6495267c9 100644
--- a/meta-oe/recipes-connectivity/soft66/soft66_git.bb
+++ b/meta-oe/recipes-connectivity/soft66/soft66_git.bb
@@ -1,9 +1,9 @@
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"
+PNBLACKLIST[soft66] ?= "BROKEN: depends on broken libftdi"
DEPENDS = "libftdi"
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/zeroc-ice/zeroc-ice_3.5.1.bb b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb
index e39aa188c3..2b6f56ed4f 100644
--- 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
@@ -18,7 +18,7 @@ SRC_URI[sha256sum] = "989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b7049
#| /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"
+PNBLACKLIST[zeroc-ice] ?= "BROKEN: not compatible with default db version"
S = "${WORKDIR}/Ice-${PV}"
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/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 20b16527e9..4f2992cb6f 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
@@ -9,6 +9,7 @@ PR = "r13"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
+inherit bluetooth
# Poke extra recomendations into the list using your machine.conf
#
@@ -45,7 +46,7 @@ RRECOMMENDS_${PN} = "\
${@base_contains("MACHINE_FEATURES", "alsa", "alsa-utils-alsamixer", "", d)} \
${@base_contains("MACHINE_FEATURES", "usbgadget", "kernel-module-g-ether kernel-module-g-serial kernel-module-g-mass-storage", "", d)} \
\
- ${@base_contains("DISTRO_FEATURES", "bluetooth", "bluez4", "", d)} \
+ ${@base_contains("DISTRO_FEATURES", "bluetooth", "${BLUEZ}", "", d)} \
${@base_contains("DISTRO_FEATURES", "wifi", "iw wpa-supplicant", "", d)} \
\
tzdata \
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
index 2213559438..e071f22b16 100644
--- 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
@@ -1,4 +1,4 @@
-From cbd9ac1d0769338411297d2cb97f1608c17c8ae9 Mon Sep 17 00:00:00 2001
+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
@@ -8,11 +8,16 @@ 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 +-
@@ -37,8 +42,21 @@ Upstream-status: Inappropriate
toys/posix/tee.c | 2 +-
toys/posix/uniq.c | 2 +-
toys/posix/who.c | 2 +-
- 24 files changed, 28 insertions(+), 28 deletions(-)
+ 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
@@ -66,7 +84,7 @@ index 6544265..a93327f 100644
config CHVT
bool "chvt"
diff --git a/toys/other/ifconfig.c b/toys/other/ifconfig.c
-index a84e26a..66c7179 100644
+index f5d4215..5e7c54c 100644
--- a/toys/other/ifconfig.c
+++ b/toys/other/ifconfig.c
@@ -6,7 +6,7 @@
@@ -226,10 +244,10 @@ index 8e57ca1..0c6c640 100644
config SYSCTL
bool "sysctl"
diff --git a/toys/posix/cut.c b/toys/posix/cut.c
-index 38f136e..87a1f0d 100644
+index 7f10c5e..1ab3ce8 100644
--- a/toys/posix/cut.c
+++ b/toys/posix/cut.c
-@@ -4,7 +4,7 @@
+@@ -5,7 +5,7 @@
*
* http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cut.html
@@ -265,7 +283,7 @@ index e8517d4..3ac4373 100644
config HEAD
bool "head"
diff --git a/toys/posix/id.c b/toys/posix/id.c
-index a03a097..cfe0b59 100644
+index b4d9c00..df79419 100644
--- a/toys/posix/id.c
+++ b/toys/posix/id.c
@@ -6,10 +6,10 @@
@@ -274,11 +292,11 @@ index a03a097..cfe0b59 100644
-USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_BIN))
+USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_USR|TOYFLAG_BIN))
- USE_ID_GROUPS(OLDTOY(groups, id, NULL, TOYFLAG_USR|TOYFLAG_BIN))
--USE_ID_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_BIN))
--USE_ID_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_BIN))
-+USE_ID_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_USR|TOYFLAG_BIN))
-+USE_ID_LOGNAME(OLDTOY(whoami, id, ">0", 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"
@@ -335,7 +353,7 @@ index 0388510..5574088 100644
config TEE
bool "tee"
diff --git a/toys/posix/uniq.c b/toys/posix/uniq.c
-index bd41d4a..374ceab 100644
+index 3cfdb94..c127cfe 100644
--- a/toys/posix/uniq.c
+++ b/toys/posix/uniq.c
@@ -4,7 +4,7 @@
@@ -361,5 +379,5 @@ index 2c8a2e6..d5cd001 100644
config WHO
bool "who"
--
-2.0.4
+2.1.2
diff --git a/meta-oe/recipes-core/toybox/toybox_0.4.9.bb b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb
index ec76bd61a1..9bdba4da5c 100644
--- a/meta-oe/recipes-core/toybox/toybox_0.4.9.bb
+++ b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb
@@ -3,11 +3,11 @@ 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] = "a8f1022175689defec51cf5a71c41326"
-SRC_URI[sha256sum] = "e6dc9052826a3bdae1923e3301c9e3542e890af5ed66534052943f8412255bff"
+SRC_URI[md5sum] = "2cb6e8b34134038d86048e117f77765f"
+SRC_URI[sha256sum] = "2718b42154be041435df48d5b5140f4e307767c36b1017e0c8d0da7f75b327a7"
LICENSE = "BSD-0-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=57cc240a6204b2ea8c68450d42f9d33f"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
SECTION = "base"
diff --git a/meta-oe/recipes-devtools/geany/geany_1.23.bb b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb
index 593ba66016..f765e2c8d2 100644
--- a/meta-oe/recipes-devtools/geany/geany_1.23.bb
+++ b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb
@@ -10,7 +10,7 @@ SRC_URI = " \
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 69d9eae1a5..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,17 +2,16 @@ 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"
+ file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
DEPENDS = "gtk+ gnome-doc-utils-native gnome-common libxml2"
-PR = "r1"
-
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"
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/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.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index 507747ae18..69848483d7 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -17,12 +17,15 @@ 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 () {
( cd ${S}; ./autogen.sh )
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/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 6bdae78fb8..0000000000
--- a/meta-oe/recipes-devtools/php/php.inc
+++ /dev/null
@@ -1,132 +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}/.. \
- ${COMMON_EXTRA_OECONF} \
-"
-EXTRA_OECONF_virtclass-native = " \
- --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
- --without-iconv \
- ${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
index 823007e687..51a5e43b60 100644
--- 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
@@ -1,7 +1,7 @@
-From 0ff5d4adc9f5950d66738272b3ba88ef74f69117 Mon Sep 17 00:00:00 2001
+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] acinclude: use pkgconfig for libxml2 config
+Subject: [PATCH 3/8] acinclude: use pkgconfig for libxml2 config
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Upstream-Status: pending
@@ -10,10 +10,10 @@ Upstream-Status: pending
1 file changed, 23 insertions(+), 40 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4
-index 9c7a305..211dbd3 100644
+index 206fcbf..a6c0d84 100644
--- a/acinclude.m4
+++ b/acinclude.m4
-@@ -2529,48 +2529,31 @@ dnl
+@@ -2530,48 +2530,31 @@ dnl
dnl Common setup macro for libxml
dnl
AC_DEFUN([PHP_SETUP_LIBXML], [
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 3c9d3c0e89..0000000000
--- a/meta-oe/recipes-devtools/php/php_5.4.14.bb
+++ /dev/null
@@ -1,23 +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 \
- file://0001-acinclude-use-pkgconfig-for-libxml2-config.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.21.bb b/meta-oe/recipes-devtools/php/php_5.5.21.bb
new file mode 100644
index 0000000000..4ad198a584
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php_5.5.21.bb
@@ -0,0 +1,236 @@
+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] = "8fe631ac52a3df9d6429faad81cf2562"
+SRC_URI[sha256sum] = "62e9429975c4ca5d7067a5052d5388fbf2ac8c51eeee581d59b04cc5a8da83fe"
+
+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/protobuf/protobuf_2.4.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb
index 8386206ea1..a0db7bf95d 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb
+++ b/meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb
@@ -12,8 +12,8 @@ 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-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/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-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 e3c706cc4a..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 ${HOST_CC_ARCH}' '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_5.4.1.bb b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb
index 46752c895f..92b231c81e 100644
--- a/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb
+++ b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb
@@ -35,8 +35,10 @@ 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 that is currently only available in meta-virtualization layer
+# 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} \
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 a36c250851..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}/${BPN}/${BP}.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/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/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/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 111b072f29..d6292453f4 100644
--- a/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb
+++ b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb
@@ -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/lcdproc_0.5.5.bb b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb
index 6d66af65fc..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,9 +1,7 @@
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,"
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/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/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..001b3dedc2
--- /dev/null
+++ b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb
@@ -0,0 +1,57 @@
+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}${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/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 ab01471d0b..174f6fe0a8 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
+++ b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
SRC_URI = " \
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"
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/p7zip/files/do_not_override_compiler_and_do_not_strip.patch b/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch
new file mode 100644
index 0000000000..a3b02c5dc0
--- /dev/null
+++ b/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch
@@ -0,0 +1,31 @@
+do not override compiler and do not strip
+
+The default makefile sets the compiler to g++ or gcc. This leads to a wrong architecture when cross-compiling.
+Remove the hardcoded compiler and just append the flags to CXX and CC.
+
+Upstream-Status: Pending
+Signed-off-by: Raphael Freudiger <raphael.freudiger@siemens.com>
+Reviewed-By: Pascal Bach <pascal.bach@siemens.com>
+
+Index: p7zip_9.20.1/makefile.machine
+=====================================================================
+--- p7zip_9.20.1/makefile.machine 2011-03-13 12:54:57.000000000 +0100
++++ p7zip_9.20.1/makefile.machine 2015-02-03 08:39:44.427696944 +0100
+@@ -4,14 +4,14 @@
+
+ OPTFLAGS=-O
+
+-ALLFLAGS=${OPTFLAGS} -pipe -s \
++ALLFLAGS=${OPTFLAGS} -pipe \
+ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
+ -DNDEBUG -D_REENTRANT -DENV_UNIX \
+ -D_7ZIP_LARGE_PAGES \
+ $(LOCAL_FLAGS)
+
+-CXX=g++ $(ALLFLAGS)
+-CC=gcc $(ALLFLAGS)
++CXX+=$(ALLFLAGS)
++CC+=$(ALLFLAGS)
+ CC_SHARED=-fPIC
+ LINK_SHARED=-fPIC -shared
+
diff --git a/meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb b/meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb
new file mode 100644
index 0000000000..8905ae9d0a
--- /dev/null
+++ b/meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "7-zip is a commandline utility handling 7z archives."
+HOMEPAGE = "http://www.7-zip.org/"
+LICENSE = "LGPL-2.1+ & unRAR"
+LIC_FILES_CHKSUM = "file://DOCS/copying.txt;md5=ecfc54c9e37b63ac58900061ce2eab5a \
+ file://DOCS/unRarLicense.txt;md5=9c87ddde469ef94aed153b0951d088de"
+
+SRC_URI = "http://downloads.sourceforge.net/p7zip/p7zip/${PV}/p7zip_${PV}_src_all.tar.bz2 \
+ file://do_not_override_compiler_and_do_not_strip.patch"
+SRC_URI[md5sum] = "bd6caaea567dc0d995c990c5cc883c89"
+SRC_URI[sha256sum] = "49557e7ffca08100f9fc687f4dfc5aea703ca207640c76d9dee7b66f03cb4782"
+
+S = "${WORKDIR}/${PN}_${PV}"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/bin/* ${D}${bindir}
+}
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 b262b5ef8f..f5480e780f 100644
--- a/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb
+++ b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb
@@ -10,6 +10,8 @@ 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 = "\
diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule.inc b/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
index 8d1a89aa3e..3435e93a0f 100644
--- a/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
+++ b/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
@@ -7,3 +7,4 @@ do_install_prepend() {
install -m 700 -d ${D}${sysconfdir}/polkit-1/rules.d
chown polkitd:polkitd ${D}${sysconfdir}/polkit-1/rules.d
}
+USERADD_PARAM_${PN}_prepend = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;"
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_1.4.8.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb
index 449a923489..6bc5e98633 100644
--- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb
@@ -4,7 +4,7 @@ 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"
SRCREV = "1850e00a17e25e93c39e608f4e2da50f29c5c712"
PV = "1.4.8"
@@ -17,7 +17,7 @@ SRC_URI = "\
S = "${WORKDIR}/git"
-inherit autotools-brokensep gettext pythonnative perlnative python-dir
+inherit autotools-brokensep gettext pythonnative perlnative python-dir cpan-base
EXTRA_AUTORECONF = "-I m4"
@@ -56,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
@@ -71,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
@@ -86,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
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.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/rsyslog.logrotate b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
index ba1120af44..94ec517b21 100644
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
@@ -9,7 +9,7 @@
delaycompress
compress
postrotate
- /etc/init.d/rsyslog reload 2> /dev/null || true
+ /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
@@ -34,6 +34,6 @@
delaycompress
sharedscripts
postrotate
- /etc/init.d/rsyslog reload 2> /dev/null || true
+ /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
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 aeca09a278..5ab6a309de 100644
--- a/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb
@@ -25,6 +25,7 @@ SRC_URI = "http://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \
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"
@@ -37,7 +38,7 @@ EXTRA_OECONF += "--enable-cached-man-pages"
# first line is default yes in configure
PACKAGECONFIG ??= " \
zlib rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
- imdiag gnutls \
+ imdiag gnutls imfile \
${@base_contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \
${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench ${VALGRIND}', '', d)} \
@@ -57,6 +58,7 @@ PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
# default no in configure
PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
+PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
@@ -125,10 +127,10 @@ INITSCRIPT_PARAMS = "defaults"
# higher than sysklogd's 100
ALTERNATIVE_PRIORITY = "110"
-ALTERNATIVE_${PN} = "rsyslogd syslog-conf syslog-logrotate"
+ALTERNATIVE_${PN} = "syslogd syslog-conf syslog-logrotate"
-ALTERNATIVE_LINK_NAME[rsyslogd] = "${base_sbindir}/syslogd"
-ALTERNATIVE_TARGET[rsyslogd] = "${sbindir}/rsyslogd"
+ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
+ALTERNATIVE_TARGET[syslogd] = "${sbindir}/rsyslogd"
ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
ALTERNATIVE_TARGET[syslog-conf] = "${sysconfdir}/rsyslog.conf"
ALTERNATIVE_LINK_NAME[syslog-logrotate] = "${sysconfdir}/logrotate.d/syslog"
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/subsurface/subsurface/libm.patch b/meta-oe/recipes-extended/subsurface/subsurface/libm.patch
deleted file mode 100644
index 79956089df..0000000000
--- a/meta-oe/recipes-extended/subsurface/subsurface/libm.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-| /media/build1/poky/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.9.0/ld: divelist.o: undefined reference to symbol 'pow@@GLIBC_2.0'
-| /media/build1/poky/build1/tmp/sysroots/qemux86/lib/libm.so.6: error adding symbols: DSO missing from command line
-| collect2: error: ld returned 1 exit status
-
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile 2014-07-17 20:59:03.152489041 +0000
-+++ git/Makefile 2014-07-17 20:59:19.020489473 +0000
-@@ -50,7 +50,7 @@
- LIBDIVECOMPUTERCFLAGS = -I$(LIBDIVECOMPUTERINCLUDES)
- LIBDIVECOMPUTER = $(LIBDIVECOMPUTERARCHIVE) $(LIBUSB)
-
--LIBS = $(LIBXML2) $(LIBGTK) $(LIBDIVECOMPUTER) -lpthread
-+LIBS = $(LIBXML2) $(LIBGTK) $(LIBDIVECOMPUTER) -lpthread -lm
-
- OBJS = main.o dive.o profile.o info.o equipment.o divelist.o \
- parse-xml.o save-xml.o libdivecomputer.o print.o uemis.o \
diff --git a/meta-oe/recipes-extended/subsurface/subsurface/pkgconfig.patch b/meta-oe/recipes-extended/subsurface/subsurface/pkgconfig.patch
deleted file mode 100644
index 1f294fc88f..0000000000
--- a/meta-oe/recipes-extended/subsurface/subsurface/pkgconfig.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile 2014-07-17 20:53:23.620479788 +0000
-+++ git/Makefile 2014-07-17 20:56:07.992484267 +0000
-@@ -45,7 +45,7 @@
- # about it if it doesn't.
- LIBUSB = $(shell pkg-config --libs libusb-1.0 2> /dev/null)
-
--LIBXML2 = $(shell xml2-config --libs)
-+LIBXML2 = $(shell pkg-config --libs libxml-2.0)
- LIBGTK = $(shell pkg-config --libs gtk+-2.0 glib-2.0 gconf-2.0)
- LIBDIVECOMPUTERCFLAGS = -I$(LIBDIVECOMPUTERINCLUDES)
- LIBDIVECOMPUTER = $(LIBDIVECOMPUTERARCHIVE) $(LIBUSB)
-@@ -71,7 +71,7 @@
- $(INSTALL) $(MANFILES) $(MANDIR)
-
- parse-xml.o: parse-xml.c dive.h
-- $(CC) $(CFLAGS) `pkg-config --cflags glib-2.0` -c `xml2-config --cflags` parse-xml.c
-+ $(CC) $(CFLAGS) `pkg-config --cflags glib-2.0` -c `pkg-config --cflags libxml-2.0` parse-xml.c
-
- save-xml.o: save-xml.c dive.h
- $(CC) $(CFLAGS) `pkg-config --cflags glib-2.0` -c save-xml.c
diff --git a/meta-oe/recipes-extended/subsurface/subsurface_git.bb b/meta-oe/recipes-extended/subsurface/subsurface_git.bb
index fc50eb6806..22b9d2fd70 100644
--- a/meta-oe/recipes-extended/subsurface/subsurface_git.bb
+++ b/meta-oe/recipes-extended/subsurface/subsurface_git.bb
@@ -4,29 +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"
-SRC_URI = "git://subsurface.hohndel.org/subsurface.git \
- file://pkgconfig.patch \
- file://libm.patch"
+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"
+#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/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 5ce99ea06e..b4294d75ee 100644
--- a/meta-oe/recipes-extended/tmux/tmux_1.6.bb
+++ b/meta-oe/recipes-extended/tmux/tmux_1.6.bb
@@ -5,7 +5,7 @@ SECTION = "console/utils"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=8685b4455330a940fab1ff451aa941a0"
-DEPENDS = "ncurses libevent sed-native"
+DEPENDS = "ncurses libevent"
SRC_URI = "${SOURCEFORGE_MIRROR}/tmux/${BP}.tar.gz"
SRC_URI[md5sum] = "3e37db24aa596bf108a0442a81c845b3"
diff --git a/meta-oe/recipes-extended/zram/zram/init b/meta-oe/recipes-extended/zram/zram/init
index d12616936c..7b6cbf414c 100644
--- a/meta-oe/recipes-extended/zram/zram/init
+++ b/meta-oe/recipes-extended/zram/zram/init
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
### BEGIN INIT INFO
# Provides: zram
# Required-Start:
@@ -26,7 +26,7 @@ start() {
#default Factor % = 90 change this value here or create /etc/default/zram
FACTOR=90
#& put the above single line in /etc/default/zram with the value you want
- [ -f /etc/default/zram ] && source /etc/default/zram || true
+ [ -f /etc/default/zram ] && . /etc/default/zram || true
factor=$FACTOR # percentage
# get the amount of memory in the machine
diff --git a/meta-oe/recipes-extended/zsh/zsh.inc b/meta-oe/recipes-extended/zsh/zsh.inc
index 86a546e6e9..b8fce807aa 100644
--- a/meta-oe/recipes-extended/zsh/zsh.inc
+++ b/meta-oe/recipes-extended/zsh/zsh.inc
@@ -8,8 +8,6 @@ SECTION = "base/shell"
LICENSE = "zsh"
LIC_FILES_CHKSUM = "file://LICENCE;md5=b7bc853894664be455a922db9805288e"
-PNBLACKLIST[zsh] = "BROKEN: doesn't build with B!=S (gnu-configize executed in ${B})"
-
DEPENDS = "ncurses bison-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
@@ -38,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-graphics/clutter/clutter-box2d_git.bb b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb
index b19110af23..194d1046fd 100644
--- a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb
+++ b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6
# 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"
+PNBLACKLIST[clutter-box2d] ?= "BROKEN: doesn't build with B!=S"
SRCREV = "de5452e56b537a11fd7f9453d048ff4b4793b5a2"
PV = "0.12.1+git${SRCPV}"
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 1d4e3317ab..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,7 +8,7 @@ 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)"
+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"
diff --git a/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch b/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch
new file mode 100644
index 0000000000..fecd0121c3
--- /dev/null
+++ b/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch
@@ -0,0 +1,38 @@
+From 72ad76841d87e857428693d812a961935284ac62 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Thu, 12 Feb 2015 15:57:47 +0100
+Subject: [PATCH] configure-ac: do not check for freetype-config
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+freetype-config is not allowed in our environment - see also binconfig-disabled
+
+Upstream-Status: inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 26812b6..abec714 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -647,13 +647,6 @@ if test "x$fontconfig_ok" = xno; then
+ fi
+
+
+-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+-if test "x$FREETYPE_CONFIG" != "xno" ; then
+- AC_MSG_CHECKING([for freetype libraries])
+- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
+- AC_MSG_RESULT($FREETYPE_LIBS)
+-fi
+-AC_SUBST(FREETYPE_LIBS)
+
+
+ ##########################################
+--
+1.9.3
+
diff --git a/meta-oe/recipes-graphics/gimp/gimp/freetype.patch b/meta-oe/recipes-graphics/gimp/gimp/freetype.patch
deleted file mode 100644
index ed6c097915..0000000000
--- a/meta-oe/recipes-graphics/gimp/gimp/freetype.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Include the freetype headers via macros ( recommended way)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
-
-From 6c73f28b6d87a2afd11974552a075bffec52347f Mon Sep 17 00:00:00 2001
-From: Michael Natterer <mitch@gimp.org>
-Date: Fri, 29 Nov 2013 20:57:46 +0000
-Subject: Bug 719560 - Build failure with freetype 2.5.1
-
-Apply patch from su-v that fixes the freetype include to
-the madness devised and recommended by freetype.
----
-diff --git a/app/text/gimpfont.c b/app/text/gimpfont.c
-index 4045ca9..66c6e52 100644
---- a/app/text/gimpfont.c
-+++ b/app/text/gimpfont.c
-@@ -28,7 +28,9 @@
-
- #define PANGO_ENABLE_ENGINE 1 /* Argh */
- #include <pango/pango-ot.h>
--#include <freetype/tttables.h>
-+
-+#include <ft2build.h>
-+#include FT_TRUETYPE_TABLES_H
-
- #include "text-types.h"
-
---
-cgit v0.9.2
diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.14.bb
index a893dc259a..7d52cf18ef 100644
--- a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb
+++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.14.bb
@@ -7,16 +7,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
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
+inherit gnome gtk-doc
PACKAGECONFIG ??= ""
PACKAGECONFIG[helpbrowser] = "--with-webkit, --without-webkit, webkit-gtk"
-SRC_URI = "http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \
- file://freetype.patch \
- "
-SRC_URI[md5sum] = "84c964aab7044489af69f7319bb59b47"
-SRC_URI[sha256sum] = "e7fd8b19f989138d826003c75f56bd5b6f136eef597e86e3978ede0bba470ae6"
+SRC_URI = " \
+ http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \
+ file://0001-configure-ac-do-not-check-for-freetype-config.patch \
+"
+SRC_URI[md5sum] = "233c948203383fa078434cc3f8f925cb"
+SRC_URI[sha256sum] = "d82a958641c9c752d68e35f65840925c08e314cea90222ad845892a40e05b22d"
EXTRA_OECONF = "--disable-python \
--without-wmf"
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/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 dc40fb2d3c..29b8dc5828 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/
@@ -48,10 +50,12 @@ do_compile_append() {
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 librsvg-gtk"
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/numlockx/numlockx_1.2.bb b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
index 47ec504478..08d7f5b52a 100644
--- a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
+++ b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
@@ -10,7 +10,9 @@ SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/numlockx/numlockx-${PV}.tar.g
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 7c1d4a0128..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 pkgconfig
+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"
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/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/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/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/xmessage_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb
new file mode 100644
index 0000000000..9960706d0c
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "Display a message or query in a window"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
+
+DEPENDS += "libxaw"
+
+SRC_URI[md5sum] = "2dd5ae46fa18abc9331bc26250a25005"
+SRC_URI[sha256sum] = "bcdf4b461c439bb3ade6e1e41c47d6218b912da8e9396b7ad70856db2f95ab68"
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/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-driver/xf86-input-mtev_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb
index a1943be0ae..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,7 +5,7 @@ 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)"
+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"
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/xf86-video-geode_2.11.16.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb
index 4e8df46c78..478d08805d 100644
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb
@@ -4,6 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e7f3e39474aeea5af381a8e103dafc36"
SUMMARY = "X.org server -- Geode GX2/LX display driver"
PR = "${INC_PR}.0"
+SRC_URI += "file://0001-Add-config.h-include-to-src-lx_memory.c.patch"
SRC_URI[md5sum] = "35fa387f6a33f6b22a56ce4bda424392"
SRC_URI[sha256sum] = "38fc1f55e29fb7985b90c9021a4b7e5295d42888bd669174f42f3b7f681fc1a7"
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
index 7db03eb96e..d425ce5157 100644
--- 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
@@ -9,5 +9,9 @@ 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
index 685d647db6..a7c284a2f5 100644
--- 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
@@ -9,5 +9,9 @@ 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 fd6c992dc6..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,7 +1,9 @@
SUMMARY = "Xorg 100 DPI font set"
LICENSE = "Custom"
-inherit packagegroup
+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/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-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm
index d2e2f866c3..5d7e8a2f36 100755
--- a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm
+++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm
@@ -1,4 +1,13 @@
#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides: xserver
+# Required-Start: $local_fs $remote_fs dbus
+# Required-Stop: $local_fs $remote_fs
+# Default-Start: 5
+# Default-Stop: 0 1 2 3 6
+### END INIT INFO
+
. /etc/init.d/functions
diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb
index 47470fbfe1..f9bf007a42 100644
--- a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb
+++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb
@@ -15,8 +15,8 @@ S = "${WORKDIR}"
inherit allarch update-rc.d systemd
INITSCRIPT_NAME = "xserver-nodm"
-INITSCRIPT_PARAMS = "start 01 5 2 . stop 01 0 1 6 ."
-INITSCRIPT_PARAMS_shr = "start 90 5 2 . stop 90 0 1 6 ."
+INITSCRIPT_PARAMS = "start 01 5 . stop 01 0 1 2 3 6 ."
+INITSCRIPT_PARAMS_shr = "start 90 5 . stop 90 0 1 2 3 6 ."
do_install() {
install -d ${D}${sysconfdir}/init.d
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/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 ecfc9882d6..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/${BP}.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/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
deleted file mode 100644
index 811175ce8c..0000000000
--- a/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "FFmpeg derived postprocessing library"
-HOMEPAGE = "http://git.videolan.org/?p=libpostproc.git;a=summary"
-SECTION = "libs"
-DEPENDS = "libav"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-PV = "52.3.0+git${SRCPV}"
-
-SRCREV = "811db3b957dfde24aef2d0f82e297e5bf552d873"
-SRC_URI = "git://github.com/lu-zero/postproc;protocol=https"
-
-S = "${WORKDIR}/git"
-
-inherit autotools lib_package pkgconfig
-
-FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
-BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
-
-EXTRA_FFCONF_armv7a = "--cpu=cortex-a8"
-EXTRA_FFCONF ?= ""
-
-EXTRA_OECONF = " \
- --enable-shared \
- --enable-pthreads \
- --enable-gpl \
- --enable-postproc \
- \
- --cross-prefix=${TARGET_PREFIX} \
- --prefix=${prefix} \
- \
- --arch=${TARGET_ARCH} \
- --target-os="linux" \
- --enable-cross-compile \
- --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
- --extra-ldflags="${TARGET_LDFLAGS}" \
- --sysroot="${STAGING_DIR_TARGET}" \
- ${EXTRA_FFCONF} \
-"
-
-do_configure() {
- ${S}/configure ${EXTRA_OECONF}
-}
diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
index 65fab1fda3..2de26b0a40 100644
--- a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
+++ b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
@@ -3,7 +3,7 @@ SECTION = "multimedia"
HOMEPAGE = "http://www.mplayerhq.hu/"
DEPENDS = "libvpx libdvdread libtheora virtual/libsdl ffmpeg xsp zlib \
libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses \
- libxv virtual/libx11 libass speex faad2"
+ libxv virtual/libx11 libass speex faad2 libxscrnsaver"
RDEPENDS_${PN} = "mplayer-common"
PROVIDES = "mplayer"
@@ -13,8 +13,6 @@ RCONFLICTS_${PN} = "mplayer"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
-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 +34,7 @@ CONFFILES_${PN} += "/usr/etc/mplayer/input.conf \
/usr/etc/mplayer/codecs.conf \
"
-inherit autotools pkgconfig
+inherit autotools-brokensep pkgconfig
EXTRA_OECONF = " \
--prefix=/usr \
@@ -109,9 +107,14 @@ EXTRA_OECONF = " \
EXTRA_OECONF_append_armv6 = " --enable-armv6"
EXTRA_OECONF_append_armv7a = " --enable-armv6 --enable-neon"
+PACKAGECONFIG ??= "vorbis postproc"
PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
PACKAGECONFIG[a52] = "--enable-liba52,--disable-liba52,liba52"
PACKAGECONFIG[lame] = ",,lame"
+PACKAGECONFIG[postproc] = ",--disable-libpostproc,libpostproc"
+PACKAGECONFIG[vorbis] = ",--disable-libvorbis,libvorbis"
+PACKAGECONFIG[portaudio] = ",--disable-portaudio,portaudio-v19"
+PACKAGECONFIG[mpg123] = ",--disable-mpg123,mpg123"
FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O4 -ffast-math"
BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
@@ -141,4 +144,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/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 c3a13703a8..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
@@ -12,8 +12,8 @@ inherit autotools gettext pkgconfig
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"
@@ -22,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/xpext/xpext_1.0-5.bb b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
index 1ca8b1ff70..d65546d0b9 100644
--- a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
+++ b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
@@ -9,7 +9,9 @@ SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${BPN}/${BPN}_${
file://auxdir.patch;striplevel=0"
S = "${WORKDIR}/xpext-1.0"
-inherit autotools pkgconfig
+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 968d342b13..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
@@ -7,7 +7,9 @@ SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${BPN}_${PV}
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/gdal/gdal_1.10.1.bb b/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb
index 14f1a5704b..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,14 +1,14 @@
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}/${BP}.tar.xz"
-SRC_URI[md5sum] = "f354c614aea76e5630e4edbf06e5c292"
-SRC_URI[sha256sum] = "e6c9c6c4480228c943af29120d87435ddfe9ca460458bc60b91639fb8d443791"
+SRC_URI[md5sum] = "2e126d7c6605691d38f3e71b945f5c73"
+SRC_URI[sha256sum] = "20e1042cff15a71038459a299732fb342428aea9912f32df30c85790fcab6302"
inherit autotools-brokensep lib_package binconfig
@@ -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.10.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb
index 6d3adc18da..93cf1aec72 100644
--- a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb
+++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb
@@ -20,7 +20,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3"
SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320"
-inherit scons update-rc.d python-dir pythonnative systemd
+inherit scons update-rc.d python-dir pythonnative systemd bluetooth
INITSCRIPT_NAME = "gpsd"
INITSCRIPT_PARAMS = "defaults 35"
@@ -30,8 +30,8 @@ SYSTEMD_OESCONS = "${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false
export STAGING_INCDIR
export STAGING_LIBDIR
-PACKAGECONFIG ??= "bluez"
-PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez4"
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}"
+PACKAGECONFIG[bluez4] = "bluez='true',bluez='false',bluez4"
EXTRA_OESCONS = " \
sysroot=${STAGING_DIR_TARGET} \
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch b/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch
new file mode 100644
index 0000000000..28bd7dad87
--- /dev/null
+++ b/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch
@@ -0,0 +1,17 @@
+https://www.gaia-gis.it/fossil/libspatialite/tktview?name=abeeaad448
+
+Upstream-Status: Submitted [rpm5-devel@rpm5.org]
+
+Index: libspatialite-4.2.0/configure.ac
+===================================================================
+--- libspatialite-4.2.0.orig/configure.ac
++++ libspatialite-4.2.0/configure.ac
+@@ -260,7 +260,7 @@ if test x"$enable_geos" != "xno"; then
+ fi
+ # Extract the linker and include flags
+ GEOS_LDFLAGS=`$GEOSCONFIG --ldflags`
+- GEOS_CFLAGS=-I`$GEOSCONFIG --includes`
++ GEOS_CFLAGS=`$GEOSCONFIG --cflags`
+ AC_SUBST([GEOS_LDFLAGS])
+ AC_SUBST([GEOS_CFLAGS])
+ # Ensure that we can parse geos_c.h
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite/fix-the-configure-script-and-freexl.patch b/meta-oe/recipes-navigation/libspatialite/libspatialite/fix-the-configure-script-and-freexl.patch
deleted file mode 100644
index 0cd0c3f6ac..0000000000
--- a/meta-oe/recipes-navigation/libspatialite/libspatialite/fix-the-configure-script-and-freexl.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-From upstream fossil repo, extracted via git, dropping configure.ac for amalgamation
-
-From: sandro <sandro>
-Date: Sat, 21 Jan 2012 16:53:28 +0000
-Subject: [PATCH] fixing the ./configure script: --enable-geocallbacks=no is
- the new default and fixing some flaws for
- --enable-freexl=no
-
----
- configure | 20 ++++++++++----------
- configure.ac | 20 ++++++++++----------
- src/shapefiles/shapefiles.c | 2 ++
- 4 files changed, 32 insertions(+), 30 deletions(-)
-
-diff --git a/configure b/configure
-index e8cf620..917bfca 100755
---- a/configure
-+++ b/configure
-@@ -1410,7 +1410,7 @@ Optional Features:
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-mathsql enables SQL math functions [default=yes]
-- --enable-geocallbacks enables geometry callbacks [default=yes]
-+ --enable-geocallbacks enables geometry callbacks [default=no]
- --enable-proj enables PROJ.4 inclusion [default=yes]
- --enable-geos enables GEOS inclusion [default=yes]
- --enable-geosadvanced enables GEOS advanced features [default=yes]
-@@ -16980,7 +16980,7 @@ ac_config_files="$ac_config_files Makefile src/Makefile src/headers/Makefile src
- if test "${enable_mathsql+set}" = set; then :
- enableval=$enable_mathsql;
- else
-- mathsql=yes
-+ enable_mathsql=yes
- fi
-
- if test x"$enable_mathsql" != "xno"; then
-@@ -16998,10 +16998,10 @@ fi
- if test "${enable_geocallbacks+set}" = set; then :
- enableval=$enable_geocallbacks;
- else
-- geocallbacks=yes
-+ enable_geocallbacks=no
- fi
-
--if test x"$enable_geocallbacks" != "xno"; then
-+if test x"$enable_geocallbacks" == "xyes"; then
- OMIT_GEOCALLBACKS_FLAGS=
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_rtree_geometry_callback in -lsqlite3" >&5
- $as_echo_n "checking for sqlite3_rtree_geometry_callback in -lsqlite3... " >&6; }
-@@ -17063,7 +17063,7 @@ fi
- if test "${enable_proj+set}" = set; then :
- enableval=$enable_proj;
- else
-- proj=yes
-+ enable_proj=yes
- fi
-
- if test x"$enable_proj" != "xno"; then
-@@ -17153,7 +17153,7 @@ fi
- if test "${enable_geos+set}" = set; then :
- enableval=$enable_geos;
- else
-- geos=yes
-+ enable_geos=yes
- fi
-
- if test x"$enable_geos" != "xno"; then
-@@ -17237,7 +17237,7 @@ fi
- if test "${enable_geosadvanced+set}" = set; then :
- enableval=$enable_geosadvanced;
- else
-- geosadvanced=yes
-+ enable_geosadvanced=yes
- fi
-
- if test x"$enable_geosadvanced" != "xno"; then
-@@ -17316,7 +17316,7 @@ fi
- if test "${enable_iconv+set}" = set; then :
- enableval=$enable_iconv;
- else
-- geos=yes
-+ enable_iconv=yes
- fi
-
- if test x"$enable_iconv" != "xno"; then
-@@ -17579,7 +17579,7 @@ fi
- if test "${enable_freexl+set}" = set; then :
- enableval=$enable_freexl;
- else
-- proj=yes
-+ enable_freexl=yes
- fi
-
- if test x"$enable_freexl" != "xno"; then
-@@ -17669,7 +17669,7 @@ fi
- if test "${enable_epsg+set}" = set; then :
- enableval=$enable_epsg;
- else
-- epsg=yes
-+ enable_epsg=yes
- fi
-
- if test x"$enable_epsg" != "xno"; then
-diff --git a/configure.ac b/configure.ac
-index 216cc9f..69cb6c5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -79,7 +79,7 @@ AC_CONFIG_FILES([Makefile \
- #
- AC_ARG_ENABLE(mathsql, [AS_HELP_STRING(
- [--enable-mathsql], [enables SQL math functions [default=yes]])],
-- [], [mathsql=yes])
-+ [], [enable_mathsql=yes])
- if test x"$enable_mathsql" != "xno"; then
- OMIT_MATHSQL_FLAGS=
- else
-@@ -92,9 +92,9 @@ AC_SUBST(OMIT_MATHSQL_FLAGS)
- # --enable-geocallbacks
- #
- AC_ARG_ENABLE(geocallbacks, [AS_HELP_STRING(
-- [--enable-geocallbacks], [enables geometry callbacks [default=yes]])],
-- [], [geocallbacks=yes])
--if test x"$enable_geocallbacks" != "xno"; then
-+ [--enable-geocallbacks], [enables geometry callbacks [default=no]])],
-+ [], [enable_geocallbacks=no])
-+if test x"$enable_geocallbacks" == "xyes"; then
- OMIT_GEOCALLBACKS_FLAGS=
- AC_CHECK_LIB(sqlite3,sqlite3_rtree_geometry_callback,,AC_MSG_ERROR([obsolete 'libsqlite3' (< v.3.7.3). please retry specifying: --disable-geocallbacks]),-lm)
- else
-@@ -108,7 +108,7 @@ AC_SUBST(OMIT_GEOCALLBACKS_FLAGS)
- #
- AC_ARG_ENABLE(proj, [AS_HELP_STRING(
- [--enable-proj], [enables PROJ.4 inclusion [default=yes]])],
-- [], [proj=yes])
-+ [], [enable_proj=yes])
- if test x"$enable_proj" != "xno"; then
- OMIT_PROJ_FLAGS=
- AC_CHECK_HEADERS(proj_api.h,, [AC_MSG_ERROR([cannot find proj_api.h, bailing out])])
-@@ -124,7 +124,7 @@ AC_SUBST(OMIT_PROJ_FLAGS)
- #
- AC_ARG_ENABLE(geos, [AS_HELP_STRING(
- [--enable-geos], [enables GEOS inclusion [default=yes]])],
-- [], [geos=yes])
-+ [], [enable_geos=yes])
- if test x"$enable_geos" != "xno"; then
- OMIT_GEOS_FLAGS=
- AC_CHECK_HEADERS(geos_c.h,, [AC_MSG_ERROR([cannot find geos_c.h, bailing out])])
-@@ -134,7 +134,7 @@ if test x"$enable_geos" != "xno"; then
- #
- AC_ARG_ENABLE(geosadvanced, [AS_HELP_STRING(
- [--enable-geosadvanced], [enables GEOS advanced features [default=yes]])],
-- [], [geosadvanced=yes])
-+ [], [enable_geosadvanced=yes])
- if test x"$enable_geosadvanced" != "xno"; then
- GEOSADVANCED_FLAGS=-DGEOS_ADVANCED
- AC_SEARCH_LIBS(GEOSCoveredBy,geos_c,,AC_MSG_ERROR([obsolete 'libgeos_c' (< v.3.3.0). please retry specifying: --disable-geosadvanced.]),-lm -lgeos)
-@@ -152,7 +152,7 @@ AC_SUBST(OMIT_GEOS_FLAGS)
- #
- AC_ARG_ENABLE(iconv, [AS_HELP_STRING(
- [--enable-iconv], [enables ICONV inclusion [default=yes]])],
-- [], [geos=yes])
-+ [], [enable_iconv=yes])
- if test x"$enable_iconv" != "xno"; then
- OMIT_ICONV_FLAGS=
- AC_CHECK_HEADERS(iconv.h,, [AC_MSG_ERROR([cannot find iconv.h, bailing out])])
-@@ -172,7 +172,7 @@ AC_SUBST(OMIT_ICONV_FLAGS)
- #
- AC_ARG_ENABLE(freexl, [AS_HELP_STRING(
- [--enable-freexl], [enables FreeXL inclusion [default=yes]])],
-- [], [proj=yes])
-+ [], [enable_freexl=yes])
- if test x"$enable_freexl" != "xno"; then
- OMIT_FREEXL_FLAGS=
- AC_CHECK_HEADERS(freexl.h,, [AC_MSG_ERROR([cannot find freexl.h, bailing out])])
-@@ -188,7 +188,7 @@ AC_SUBST(OMIT_FREEXL_FLAGS)
- #
- AC_ARG_ENABLE(epsg, [AS_HELP_STRING(
- [--enable-epsg], [enables full EPSG dataset support [default=yes]])],
-- [], [epsg=yes])
-+ [], [enable_epsg=yes])
- if test x"$enable_epsg" != "xno"; then
- OMIT_EPSG_FLAGS=
- else
-diff --git a/src/shapefiles/shapefiles.c b/src/shapefiles/shapefiles.c
-index 4bf5fd0..09e3cd3 100644
---- a/src/shapefiles/shapefiles.c
-+++ b/src/shapefiles/shapefiles.c
-@@ -62,7 +62,9 @@ the terms of any one of the MPL, the GPL or the LGPL.
- #include <spatialite/gaiageo.h>
- #include <spatialite.h>
-
-+#ifndef OMIT_FREEXL
- #include <freexl.h>
-+#endif
-
- #if defined(_WIN32) && !defined(__MINGW32__)
- #define strcasecmp _stricmp
---
-1.7.9.1
-
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite_3.0.1.bb b/meta-oe/recipes-navigation/libspatialite/libspatialite_3.0.1.bb
deleted file mode 100644
index 1cb72e8283..0000000000
--- a/meta-oe/recipes-navigation/libspatialite/libspatialite_3.0.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require libspatialite.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI[md5sum] = "450d1a0d9da1bd9f770b7db3f2509f69"
-SRC_URI[sha256sum] = "4983d6584069fd5ff0cfcccccee1015088dab2db177c0dc7050ce8306b68f8e6"
-
-SRC_URI =+ "file://fix-the-configure-script-and-freexl.patch"
-
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc b/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb
index c8d7ec1e97..d66dc875be 100644
--- a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc
+++ b/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb
@@ -1,11 +1,9 @@
DESCRIPTION = "Library extending the SQLite core to support fully fledged Spatial SQL capabilities"
HOMEPAGE = "https://www.gaia-gis.it/fossil/libspatialite/"
SECTION = "libs"
-DEPENDS = "proj geos sqlite3"
+DEPENDS = "proj geos sqlite3 libxml2 zlib"
-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"
@@ -14,3 +12,12 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--enable-freexl=no"
+# package plugins for SQLite3
+PACKAGES += "${PN}-plugin"
+INSANE_SKIP_${PN}-plugin = "dev-so"
+FILES_${PN}-plugin += "${libdir}/mod_*"
+
+SRC_URI[md5sum] = "83305ed694a77152120d1f74c5151779"
+SRC_URI[sha256sum] = "9f138a6854740c7827fdee53845eb1485fce3e805a7aa9fc9151f8046ebd312d"
+
+SRC_URI += "file://geos-config.patch"
diff --git a/meta-oe/recipes-navigation/navit/navit.inc b/meta-oe/recipes-navigation/navit/navit.inc
index 4347436074..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 \
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 2304b3686e..391545e39e 100644
--- a/meta-oe/recipes-navigation/omgps/omgps_svn.bb
+++ b/meta-oe/recipes-navigation/omgps/omgps_svn.bb
@@ -9,11 +9,10 @@ PV = "0.1+svnr${SRCPV}"
PR = "r2"
S = "${WORKDIR}/${PN}"
-PNBLACKLIST[omgps] = "BROKEN: sound.c:61:35: error: 'saveptr' may be used uninitialized in this function [-Werror=maybe-uninitialized]"
-
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 \
@@ -24,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 pkgconfig
diff --git a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb
index baf802703d..e307a72c19 100644
--- a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb
+++ b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb
@@ -4,7 +4,7 @@ RCONFLICTS_${PN} = "qconnman"
inherit qt4e
-PNBLACKLIST[qconnman-e] = "BROKEN: doesn't work with B!=S, ls: cannot access *.pro: No such file or directory"
+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 e2bd2edc57..2f8cca25a0 100644
--- a/meta-oe/recipes-qt/qconnman/qconnman_git.bb
+++ b/meta-oe/recipes-qt/qconnman/qconnman_git.bb
@@ -4,7 +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"
+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/sylpheed_2.7.1.bb b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb
index 214ca5826e..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,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \
PR = "r2"
-PNBLACKLIST[sylpheed] = "BROKEN: Doesn't work with B!=S"
+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 \
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 4cd3f774c1..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,7 +7,7 @@ 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"
+PNBLACKLIST[apcupsd] ?= "BROKEN: doesn't build with B!=S"
inherit autotools
diff --git a/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb b/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb
index e74fa44543..e3b4de1020 100644
--- a/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb
+++ b/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb
@@ -22,7 +22,7 @@ S = "${WORKDIR}/git"
TARGET_CC_ARCH += "${LDFLAGS}"
-EXTRA_OEMAKE = "V=1 CROSS=${TARGET_PREFIX} LIBTOOL='${HOST_SYS}-libtool --tag cc' STRIPCMD=echo"
+EXTRA_OEMAKE = "V=1 CROSS=${TARGET_PREFIX} LIBTOOL='${HOST_SYS}-libtool --tag cc' STRIPCMD=echo 'CP=cp'"
do_compile() {
oe_runmake
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 500dc572cc..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,9 +11,9 @@ 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 pkgconfig
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/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 346eaf16eb..0000000000
--- a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb
+++ /dev/null
@@ -1,35 +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 update-alternatives
-
-do_configure_prepend() {
- sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
-}
-
-do_install_append() {
- 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 tempfile; do
- mv ${D}${bindir}/$app ${D}${base_bindir}/$app
- done
- fi
-}
-
-ALTERNATIVE_PRIORITY="100"
-ALTERNATIVE_${PN} = "add-shell installkernel remove-shell run-parts savelog tempfile which"
-
-ALTERNATIVE_LINK_NAME[add-shell]="${sbindir}/add-shell"
-ALTERNATIVE_LINK_NAME[installkernel]="${sbindir}/installkernel"
-ALTERNATIVE_LINK_NAME[remove-shell]="${sbindir}/remove-shell"
-ALTERNATIVE_LINK_NAME[run-parts]="${base_bindir}/run-parts"
-ALTERNATIVE_LINK_NAME[savelog]="${bindir}/savelog"
-ALTERNATIVE_LINK_NAME[tempfile]="${base_bindir}/tempfile"
-ALTERNATIVE_LINK_NAME[which]="${bindir}/which"
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
index aa2b84db78..7f06f8f6af 100644
--- a/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb
+++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb
@@ -4,13 +4,16 @@ AUTHOR = "Harald Welte <laforge@openmoko.org>"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-SRC_URI = "http://${BPN}.gnumonks.org/releases/${BP}.tar.gz \
+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] = "56844020177d4db4c1ea2e926fe9d588"
-SRC_URI[sha256sum] = "f52a2a5489fbf9f3204a6ada05e0b47ee322e19d81c712e0c58a332d80ec3eab"
+SRC_URI[md5sum] = "1de724551604bce1962960b7a301cc08"
+SRC_URI[sha256sum] = "5d253f924fd29bc13054b664bba9aa86b865299971195969478253c1775b7e56"
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/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 efea5a3c1e..184b27e534 100644
--- a/meta-oe/recipes-support/enca/enca_1.9.bb
+++ b/meta-oe/recipes-support/enca/enca_1.9.bb
@@ -11,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"
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/fbtest/fb-test_git.bb b/meta-oe/recipes-support/fbtest/fb-test_git.bb
index 65f98c1fe4..13f9e377a8 100644
--- a/meta-oe/recipes-support/fbtest/fb-test_git.bb
+++ b/meta-oe/recipes-support/fbtest/fb-test_git.bb
@@ -11,9 +11,10 @@ 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/fltk/fltk_1.1.10.bb b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb
index fa01455312..4fd3645c66 100644
--- a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb
+++ b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb
@@ -8,6 +8,8 @@ DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
PR = "r1"
+PNBLACKLIST[fltk] ?= "broken: still uses /usr/bin/freetype-config"
+
SRC_URI = "ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/${PV}/fltk-${PV}-source.tar.bz2 \
file://disable_test.patch \
file://dso-fix.patch \
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/imagemagick/imagemagick/do-not-install-magick-baseconfig.h-repeatedly.patch b/meta-oe/recipes-support/imagemagick/imagemagick/do-not-install-magick-baseconfig.h-repeatedly.patch
deleted file mode 100644
index 114fb5ed40..0000000000
--- a/meta-oe/recipes-support/imagemagick/imagemagick/do-not-install-magick-baseconfig.h-repeatedly.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From bbdd42384d0b5f3ccb11465f63d90097579a1897 Mon Sep 17 00:00:00 2001
-From: Konrad Scherer <konrad.scherer@windriver.com>
-Date: Tue, 10 Jun 2014 15:43:16 +0800
-Subject: [PATCH] imagemagick: do not install magick-baseconfig.h repeatedly
-
-Both targets install-data-local & install-includeHEADERS will install
-header file magick-baseconfig.h to the same location, and they might
-be run in the same time while enabling parallel build:
-
-* target dependencies:
- + install-data-am: ... install-data-local ... install-includeHEADERS
-
-* make install error:
- /usr/bin/install: cannot create regular file \
- `.../usr/include/ImageMagick-6/magick/magick-baseconfig.h': \
- File exists \
- make[3]: *** [install-magickincarchHEADERS] Error 1
-
-* reproduce the error:
- $ /usr/bin/install test /tmp & /usr/bin/install test /tmp
- [1] 4052
- /usr/bin/install: cannot create regular file `/tmp/test': File exists
- [1]+ Exit 1 /usr/bin/install test /tmp
-
-Just disable the one from install-data-local to remove this race issue.
-
-Upstream-Status: pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- magick/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/magick/Makefile.am b/magick/Makefile.am
-index 2f72461..e45466c 100644
---- a/magick/Makefile.am
-+++ b/magick/Makefile.am
-@@ -468,7 +468,7 @@ MAGICK_EXTRA_DIST = \
- magick/xwdfile.h_vms
-
- # Install magick-baseconfig.h
--MAGICK_INSTALL_DATA_LOCAL_TARGETS = magick-install-data-local
-+MAGICK_INSTALL_DATA_LOCAL_TARGETS =
- magick-install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(magickincarchdir)
- $(INSTALL_HEADER) magick/magick-baseconfig.h $(DESTDIR)$(magickincarchdir)/magick-baseconfig.h
---
-1.8.2.1
-
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 847ab34932..1252020d27 100644
--- a/meta-oe/recipes-support/imagemagick/imagemagick_6.8.8.bb
+++ b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb
@@ -3,24 +3,23 @@ SECTION = "console/utils"
LICENSE = "ImageMagick"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d84c6ddd4028aa53d028b4c50f9361e"
# 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 fftw freetype"
+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 \
- file://do-not-install-magick-baseconfig.h-repeatedly.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,,jasper"
PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
@@ -40,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/libcanberra/libcanberra_0.29.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb
index cb171ac62f..0f00b209fb 100644
--- a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb
+++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb
@@ -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/libcap-ng/libcap-ng/python.patch b/meta-oe/recipes-support/libcap-ng/libcap-ng/python.patch
new file mode 100644
index 0000000000..d82ceb454b
--- /dev/null
+++ b/meta-oe/recipes-support/libcap-ng/libcap-ng/python.patch
@@ -0,0 +1,39 @@
+configure.ac - Avoid an incorrect check for python.
+Makefile.am - avoid hard coded host include paths.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+--- libcap-ng-0.6.5/configure.ac.orig 2012-01-17 13:59:03.645898989 -0600
++++ libcap-ng-0.6.5/configure.ac 2012-01-17 13:59:46.353959252 -0600
+@@ -120,17 +120,8 @@
+ else
+ AC_MSG_RESULT(testing)
+ AM_PATH_PYTHON
+-if test -f /usr/include/python${am_cv_python_version}/Python.h ; then
+- python_found="yes"
+- AC_MSG_NOTICE(Python bindings will be built)
+-else
+- python_found="no"
+- if test x$use_python = xyes ; then
+- AC_MSG_ERROR([Python explicitly required and python headers found])
+- else
+- AC_MSG_WARN("Python headers not found - python bindings will not be made")
+- fi
+-fi
++python_found="yes"
++AC_MSG_NOTICE(Python bindings will be built)
+ fi
+ AM_CONDITIONAL(HAVE_PYTHON, test ${python_found} = "yes")
+
+--- libcap-ng-0.6.5/bindings/python/Makefile.am.orig 2010-11-03 12:31:59.000000000 -0500
++++ libcap-ng-0.6.5/bindings/python/Makefile.am 2012-01-17 14:05:50.199834467 -0600
+@@ -24,7 +24,8 @@
+ CONFIG_CLEAN_FILES = *.loT *.rej *.orig
+ AM_CFLAGS = -fPIC -DPIC
+ PYLIBVER ?= python$(PYTHON_VERSION)
+-INCLUDES = -I. -I$(top_builddir) -I/usr/include/$(PYLIBVER)
++PYINC ?= /usr/include/$(PYLIBVER)
++INCLUDES = -I. -I$(top_builddir) -I$(PYINC)
+ LIBS = $(top_builddir)/src/libcap-ng.la
+ pyexec_PYTHON = capng.py
+ pyexec_LTLIBRARIES = _capng.la
diff --git a/meta-oe/recipes-support/libcap-ng/libcap-ng_0.7.4.bb b/meta-oe/recipes-support/libcap-ng/libcap-ng_0.7.4.bb
new file mode 100644
index 0000000000..8823dad390
--- /dev/null
+++ b/meta-oe/recipes-support/libcap-ng/libcap-ng_0.7.4.bb
@@ -0,0 +1,37 @@
+SUMMARY = "An alternate posix capabilities library"
+DESCRIPTION = "The libcap-ng library is intended to make programming \
+with POSIX capabilities much easier than the traditional libcap library."
+HOMEPAGE = "http://freecode.com/projects/libcap-ng"
+SECTION = "base"
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
+
+SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
+ file://python.patch"
+
+inherit lib_package autotools pythonnative
+
+SRC_URI[md5sum] = "55c57c0673b944ea1a755bcb2636dabd"
+SRC_URI[sha256sum] = "48a2083276f9820cb92dcb05d001b30733bcbf48c14c230303cac3cd08b45b6b"
+
+DEPENDS += "swig-native python"
+
+EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'"
+
+PACKAGES += "${PN}-python"
+
+FILES_${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug"
+FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}"
+
+BBCLASSEXTEND = "native"
+
+do_install_append() {
+ # Moving libcap-ng to base_libdir
+ if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
+ mkdir -p ${D}/${base_libdir}/
+ mv -f ${D}${libdir}/libcap-ng.so.* ${D}${base_libdir}/
+ relpath=${@os.path.relpath("${base_libdir}", "${libdir}")}
+ ln -sf ${relpath}/libcap-ng.so.0.0.0 ${D}${libdir}/libcap-ng.so
+ fi
+}
diff --git a/meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch b/meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch
deleted file mode 100644
index fff90a93d5..0000000000
--- a/meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch
+++ /dev/null
@@ -1,7377 +0,0 @@
-Index: libftdi-0.18/Makefile.am
-===================================================================
---- libftdi-0.18.orig/Makefile.am 2009-11-03 08:19:36.000000000 -0800
-+++ libftdi-0.18/Makefile.am 2010-08-06 21:37:38.723444001 -0700
-@@ -2,7 +2,8 @@
- # have all needed files, that a GNU package needs
- AUTOMAKE_OPTIONS = foreign 1.4
-
--SUBDIRS = src bindings $(LIBFTDI_MODULES) examples doc
-+ACLOCAL_AMFLAGS = -I m4
-+SUBDIRS = src bindings $(LIBFTDI_MODULES) doc
-
- EXTRA_DIST = libftdi.spec libftdi.spec.in COPYING.LIB COPYING.GPL LICENSE \
- README AUTHORS ChangeLog libftdi-config.in CMakeLists.txt \
-Index: libftdi-0.18/m4/libtool.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ libftdi-0.18/m4/libtool.m4 2010-08-06 21:39:28.863444000 -0700
-@@ -0,0 +1,7358 @@
-+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-+#
-+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-+# 2006, 2007, 2008 Free Software Foundation, Inc.
-+# Written by Gordon Matzigkeit, 1996
-+#
-+# This file 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.
-+
-+m4_define([_LT_COPYING], [dnl
-+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-+# 2006, 2007, 2008 Free Software Foundation, Inc.
-+# Written by Gordon Matzigkeit, 1996
-+#
-+# This file is part of GNU Libtool.
-+#
-+# GNU Libtool 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.
-+#
-+# As a special exception to the GNU General Public License,
-+# if you distribute this file as part of a program or library that
-+# is built using GNU Libtool, you may include this file under the
-+# same distribution terms that you use for the rest of that program.
-+#
-+# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
-+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-+# obtained by writing to the Free Software Foundation, Inc.,
-+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-+])
-+
-+# serial 56 LT_INIT
-+
-+
-+# LT_PREREQ(VERSION)
-+# ------------------
-+# Complain and exit if this libtool version is less that VERSION.
-+m4_defun([LT_PREREQ],
-+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
-+ [m4_default([$3],
-+ [m4_fatal([Libtool version $1 or higher is required],
-+ 63)])],
-+ [$2])])
-+
-+
-+# _LT_CHECK_BUILDDIR
-+# ------------------
-+# Complain if the absolute build directory name contains unusual characters
-+m4_defun([_LT_CHECK_BUILDDIR],
-+[case `pwd` in
-+ *\ * | *\ *)
-+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-+esac
-+])
-+
-+
-+# LT_INIT([OPTIONS])
-+# ------------------
-+AC_DEFUN([LT_INIT],
-+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
-+AC_BEFORE([$0], [LT_LANG])dnl
-+AC_BEFORE([$0], [LT_OUTPUT])dnl
-+AC_BEFORE([$0], [LTDL_INIT])dnl
-+m4_require([_LT_CHECK_BUILDDIR])dnl
-+
-+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-+dnl unless we require an AC_DEFUNed macro:
-+AC_REQUIRE([LTOPTIONS_VERSION])dnl
-+AC_REQUIRE([LTSUGAR_VERSION])dnl
-+AC_REQUIRE([LTVERSION_VERSION])dnl
-+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-+m4_require([_LT_PROG_LTMAIN])dnl
-+
-+dnl Parse OPTIONS
-+_LT_SET_OPTIONS([$0], [$1])
-+
-+# This can be used to rebuild libtool when needed
-+LIBTOOL_DEPS="$ltmain"
-+
-+# Always use our own libtool.
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/$host_alias-libtool"
-+AC_SUBST(LIBTOOL)dnl
-+
-+_LT_SETUP
-+
-+# Only expand once:
-+m4_define([LT_INIT])
-+])# LT_INIT
-+
-+# Old names:
-+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-+
-+
-+# _LT_CC_BASENAME(CC)
-+# -------------------
-+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-+m4_defun([_LT_CC_BASENAME],
-+[for cc_temp in $1""; do
-+ case $cc_temp in
-+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-+ \-*) ;;
-+ *) break;;
-+ esac
-+done
-+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-+])
-+
-+
-+# _LT_FILEUTILS_DEFAULTS
-+# ----------------------
-+# It is okay to use these file commands and assume they have been set
-+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
-+m4_defun([_LT_FILEUTILS_DEFAULTS],
-+[: ${CP="cp -f"}
-+: ${MV="mv -f"}
-+: ${RM="rm -f"}
-+])# _LT_FILEUTILS_DEFAULTS
-+
-+
-+# _LT_SETUP
-+# ---------
-+m4_defun([_LT_SETUP],
-+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+_LT_DECL([], [host_alias], [0], [The host system])dnl
-+_LT_DECL([], [host], [0])dnl
-+_LT_DECL([], [host_os], [0])dnl
-+dnl
-+_LT_DECL([], [build_alias], [0], [The build system])dnl
-+_LT_DECL([], [build], [0])dnl
-+_LT_DECL([], [build_os], [0])dnl
-+dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([LT_PATH_LD])dnl
-+AC_REQUIRE([LT_PATH_NM])dnl
-+dnl
-+AC_REQUIRE([AC_PROG_LN_S])dnl
-+test -z "$LN_S" && LN_S="ln -s"
-+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-+dnl
-+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-+dnl
-+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-+m4_require([_LT_CMD_RELOAD])dnl
-+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-+
-+_LT_CONFIG_LIBTOOL_INIT([
-+# See if we are running on zsh, and set the options which allow our
-+# commands through without removal of \ escapes INIT.
-+if test -n "\${ZSH_VERSION+set}" ; then
-+ setopt NO_GLOB_SUBST
-+fi
-+])
-+if test -n "${ZSH_VERSION+set}" ; then
-+ setopt NO_GLOB_SUBST
-+fi
-+
-+_LT_CHECK_OBJDIR
-+
-+m4_require([_LT_TAG_COMPILER])dnl
-+_LT_PROG_ECHO_BACKSLASH
-+
-+case $host_os in
-+aix3*)
-+ # AIX sometimes has problems with the GCC collect2 program. For some
-+ # reason, if we set the COLLECT_NAMES environment variable, the problems
-+ # vanish in a puff of smoke.
-+ if test "X${COLLECT_NAMES+set}" != Xset; then
-+ COLLECT_NAMES=
-+ export COLLECT_NAMES
-+ fi
-+ ;;
-+esac
-+
-+# Sed substitution that helps us do robust quoting. It backslashifies
-+# metacharacters that are still active within double-quoted strings.
-+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-+
-+# Same as above, but do not quote variable references.
-+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-+
-+# Sed substitution to delay expansion of an escaped shell variable in a
-+# double_quote_subst'ed string.
-+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-+
-+# Sed substitution to delay expansion of an escaped single quote.
-+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-+
-+# Sed substitution to avoid accidental globbing in evaled expressions
-+no_glob_subst='s/\*/\\\*/g'
-+
-+# Global variables:
-+ofile=${host_alias}-libtool
-+can_build_shared=yes
-+
-+# All known linkers require a `.a' archive for static linking (except MSVC,
-+# which needs '.lib').
-+libext=a
-+
-+with_gnu_ld="$lt_cv_prog_gnu_ld"
-+
-+old_CC="$CC"
-+old_CFLAGS="$CFLAGS"
-+
-+# Set sane defaults for various variables
-+test -z "$CC" && CC=cc
-+test -z "$LTCC" && LTCC=$CC
-+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-+test -z "$LD" && LD=ld
-+test -z "$ac_objext" && ac_objext=o
-+
-+_LT_CC_BASENAME([$compiler])
-+
-+# Only perform the check for file, if the check method requires it
-+test -z "$MAGIC_CMD" && MAGIC_CMD=file
-+case $deplibs_check_method in
-+file_magic*)
-+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-+ _LT_PATH_MAGIC
-+ fi
-+ ;;
-+esac
-+
-+# Use C for the default configuration in the libtool script
-+LT_SUPPORTED_TAG([CC])
-+_LT_LANG_C_CONFIG
-+_LT_LANG_DEFAULT_CONFIG
-+_LT_CONFIG_COMMANDS
-+])# _LT_SETUP
-+
-+
-+# _LT_PROG_LTMAIN
-+# ---------------
-+# Note that this code is called both from `configure', and `config.status'
-+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-+# `config.status' has no value for ac_aux_dir unless we are using Automake,
-+# so we pass a copy along to make sure it has a sensible value anyway.
-+m4_defun([_LT_PROG_LTMAIN],
-+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-+ltmain="$ac_aux_dir/ltmain.sh"
-+])# _LT_PROG_LTMAIN
-+
-+
-+## ------------------------------------- ##
-+## Accumulate code for creating libtool. ##
-+## ------------------------------------- ##
-+
-+# So that we can recreate a full libtool script including additional
-+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-+# in macros and then make a single call at the end using the `libtool'
-+# label.
-+
-+
-+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-+# ----------------------------------------
-+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-+m4_define([_LT_CONFIG_LIBTOOL_INIT],
-+[m4_ifval([$1],
-+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
-+ [$1
-+])])])
-+
-+# Initialize.
-+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-+
-+
-+# _LT_CONFIG_LIBTOOL([COMMANDS])
-+# ------------------------------
-+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-+m4_define([_LT_CONFIG_LIBTOOL],
-+[m4_ifval([$1],
-+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
-+ [$1
-+])])])
-+
-+# Initialize.
-+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-+
-+
-+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-+# -----------------------------------------------------
-+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-+[_LT_CONFIG_LIBTOOL([$1])
-+_LT_CONFIG_LIBTOOL_INIT([$2])
-+])
-+
-+
-+# _LT_FORMAT_COMMENT([COMMENT])
-+# -----------------------------
-+# Add leading comment marks to the start of each line, and a trailing
-+# full-stop to the whole comment if one is not present already.
-+m4_define([_LT_FORMAT_COMMENT],
-+[m4_ifval([$1], [
-+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
-+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-+)])
-+
-+
-+
-+## ------------------------ ##
-+## FIXME: Eliminate VARNAME ##
-+## ------------------------ ##
-+
-+
-+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-+# -------------------------------------------------------------------
-+# CONFIGNAME is the name given to the value in the libtool script.
-+# VARNAME is the (base) name used in the configure script.
-+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-+# VARNAME. Any other value will be used directly.
-+m4_define([_LT_DECL],
-+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
-+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
-+ [m4_ifval([$1], [$1], [$2])])
-+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
-+ m4_ifval([$4],
-+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
-+ lt_dict_add_subkey([lt_decl_dict], [$2],
-+ [tagged?], [m4_ifval([$5], [yes], [no])])])
-+])
-+
-+
-+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-+# --------------------------------------------------------
-+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-+
-+
-+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-+# ------------------------------------------------
-+m4_define([lt_decl_tag_varnames],
-+[_lt_decl_filter([tagged?], [yes], $@)])
-+
-+
-+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-+# ---------------------------------------------------------
-+m4_define([_lt_decl_filter],
-+[m4_case([$#],
-+ [0], [m4_fatal([$0: too few arguments: $#])],
-+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
-+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
-+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
-+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-+])
-+
-+
-+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-+# --------------------------------------------------
-+m4_define([lt_decl_quote_varnames],
-+[_lt_decl_filter([value], [1], $@)])
-+
-+
-+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-+# ---------------------------------------------------
-+m4_define([lt_decl_dquote_varnames],
-+[_lt_decl_filter([value], [2], $@)])
-+
-+
-+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-+# ---------------------------------------------------
-+m4_define([lt_decl_varnames_tagged],
-+[m4_assert([$# <= 2])dnl
-+_$0(m4_quote(m4_default([$1], [[, ]])),
-+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
-+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-+m4_define([_lt_decl_varnames_tagged],
-+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-+
-+
-+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-+# ------------------------------------------------
-+m4_define([lt_decl_all_varnames],
-+[_$0(m4_quote(m4_default([$1], [[, ]])),
-+ m4_if([$2], [],
-+ m4_quote(lt_decl_varnames),
-+ m4_quote(m4_shift($@))))[]dnl
-+])
-+m4_define([_lt_decl_all_varnames],
-+[lt_join($@, lt_decl_varnames_tagged([$1],
-+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-+])
-+
-+
-+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-+# ------------------------------------
-+# Quote a variable value, and forward it to `config.status' so that its
-+# declaration there will have the same value as in `configure'. VARNAME
-+# must have a single quote delimited value for this to work.
-+m4_define([_LT_CONFIG_STATUS_DECLARE],
-+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
-+
-+
-+# _LT_CONFIG_STATUS_DECLARATIONS
-+# ------------------------------
-+# We delimit libtool config variables with single quotes, so when
-+# we write them to config.status, we have to be sure to quote all
-+# embedded single quotes properly. In configure, this macro expands
-+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-+#
-+# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
-+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
-+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-+
-+
-+# _LT_LIBTOOL_TAGS
-+# ----------------
-+# Output comment and list of tags supported by the script
-+m4_defun([_LT_LIBTOOL_TAGS],
-+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-+available_tags="_LT_TAGS"dnl
-+])
-+
-+
-+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-+# -----------------------------------
-+# Extract the dictionary values for VARNAME (optionally with TAG) and
-+# expand to a commented shell variable setting:
-+#
-+# # Some comment about what VAR is for.
-+# visible_name=$lt_internal_name
-+m4_define([_LT_LIBTOOL_DECLARE],
-+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
-+ [description])))[]dnl
-+m4_pushdef([_libtool_name],
-+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
-+ [0], [_libtool_name=[$]$1],
-+ [1], [_libtool_name=$lt_[]$1],
-+ [2], [_libtool_name=$lt_[]$1],
-+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-+])
-+
-+
-+# _LT_LIBTOOL_CONFIG_VARS
-+# -----------------------
-+# Produce commented declarations of non-tagged libtool config variables
-+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
-+# section) are produced by _LT_LIBTOOL_TAG_VARS.
-+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-+[m4_foreach([_lt_var],
-+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
-+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-+
-+
-+# _LT_LIBTOOL_TAG_VARS(TAG)
-+# -------------------------
-+m4_define([_LT_LIBTOOL_TAG_VARS],
-+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
-+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-+
-+
-+# _LT_TAGVAR(VARNAME, [TAGNAME])
-+# ------------------------------
-+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-+
-+
-+# _LT_CONFIG_COMMANDS
-+# -------------------
-+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
-+# variables for single and double quote escaping we saved from calls
-+# to _LT_DECL, we can put quote escaped variables declarations
-+# into `config.status', and then the shell code to quote escape them in
-+# for loops in `config.status'. Finally, any additional code accumulated
-+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-+m4_defun([_LT_CONFIG_COMMANDS],
-+[AC_PROVIDE_IFELSE([LT_OUTPUT],
-+ dnl If the libtool generation code has been placed in $CONFIG_LT,
-+ dnl instead of duplicating it all over again into config.status,
-+ dnl then we will have config.status run $CONFIG_LT later, so it
-+ dnl needs to know what name is stored there:
-+ [AC_CONFIG_COMMANDS([libtool],
-+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
-+ dnl If the libtool generation code is destined for config.status,
-+ dnl expand the accumulated commands and init code now:
-+ [AC_CONFIG_COMMANDS([libtool],
-+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-+])#_LT_CONFIG_COMMANDS
-+
-+
-+# Initialize.
-+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-+[
-+
-+# The HP-UX ksh and POSIX shell print the target directory to stdout
-+# if CDPATH is set.
-+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-+
-+sed_quote_subst='$sed_quote_subst'
-+double_quote_subst='$double_quote_subst'
-+delay_variable_subst='$delay_variable_subst'
-+_LT_CONFIG_STATUS_DECLARATIONS
-+LTCC='$LTCC'
-+LTCFLAGS='$LTCFLAGS'
-+compiler='$compiler_DEFAULT'
-+
-+# Quote evaled strings.
-+for var in lt_decl_all_varnames([[ \
-+]], lt_decl_quote_varnames); do
-+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
-+ *[[\\\\\\\`\\"\\\$]]*)
-+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-+ ;;
-+ *)
-+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-+ ;;
-+ esac
-+done
-+
-+# Double-quote double-evaled strings.
-+for var in lt_decl_all_varnames([[ \
-+]], lt_decl_dquote_varnames); do
-+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
-+ *[[\\\\\\\`\\"\\\$]]*)
-+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-+ ;;
-+ *)
-+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-+ ;;
-+ esac
-+done
-+
-+# Fix-up fallback echo if it was mangled by the above quoting rules.
-+case \$lt_ECHO in
-+*'\\\[$]0 --fallback-echo"')dnl "
-+ lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
-+ ;;
-+esac
-+
-+_LT_OUTPUT_LIBTOOL_INIT
-+])
-+
-+
-+# LT_OUTPUT
-+# ---------
-+# This macro allows early generation of the libtool script (before
-+# AC_OUTPUT is called), incase it is used in configure for compilation
-+# tests.
-+AC_DEFUN([LT_OUTPUT],
-+[: ${CONFIG_LT=./config.lt}
-+AC_MSG_NOTICE([creating $CONFIG_LT])
-+cat >"$CONFIG_LT" <<_LTEOF
-+#! $SHELL
-+# Generated by $as_me.
-+# Run this file to recreate a libtool stub with the current configuration.
-+
-+lt_cl_silent=false
-+SHELL=\${CONFIG_SHELL-$SHELL}
-+_LTEOF
-+
-+cat >>"$CONFIG_LT" <<\_LTEOF
-+AS_SHELL_SANITIZE
-+_AS_PREPARE
-+
-+exec AS_MESSAGE_FD>&1
-+exec AS_MESSAGE_LOG_FD>>config.log
-+{
-+ echo
-+ AS_BOX([Running $as_me.])
-+} >&AS_MESSAGE_LOG_FD
-+
-+lt_cl_help="\
-+\`$as_me' creates a local libtool stub from the current configuration,
-+for use in further configure time tests before the real libtool is
-+generated.
-+
-+Usage: $[0] [[OPTIONS]]
-+
-+ -h, --help print this help, then exit
-+ -V, --version print version number, then exit
-+ -q, --quiet do not print progress messages
-+ -d, --debug don't remove temporary files
-+
-+Report bugs to <bug-libtool@gnu.org>."
-+
-+lt_cl_version="\
-+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-+configured by $[0], generated by m4_PACKAGE_STRING.
-+
-+Copyright (C) 2008 Free Software Foundation, Inc.
-+This config.lt script is free software; the Free Software Foundation
-+gives unlimited permision to copy, distribute and modify it."
-+
-+while test $[#] != 0
-+do
-+ case $[1] in
-+ --version | --v* | -V )
-+ echo "$lt_cl_version"; exit 0 ;;
-+ --help | --h* | -h )
-+ echo "$lt_cl_help"; exit 0 ;;
-+ --debug | --d* | -d )
-+ debug=: ;;
-+ --quiet | --q* | --silent | --s* | -q )
-+ lt_cl_silent=: ;;
-+
-+ -*) AC_MSG_ERROR([unrecognized option: $[1]
-+Try \`$[0] --help' for more information.]) ;;
-+
-+ *) AC_MSG_ERROR([unrecognized argument: $[1]
-+Try \`$[0] --help' for more information.]) ;;
-+ esac
-+ shift
-+done
-+
-+if $lt_cl_silent; then
-+ exec AS_MESSAGE_FD>/dev/null
-+fi
-+_LTEOF
-+
-+cat >>"$CONFIG_LT" <<_LTEOF
-+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-+_LTEOF
-+
-+cat >>"$CONFIG_LT" <<\_LTEOF
-+AC_MSG_NOTICE([creating $ofile])
-+_LT_OUTPUT_LIBTOOL_COMMANDS
-+AS_EXIT(0)
-+_LTEOF
-+chmod +x "$CONFIG_LT"
-+
-+# configure is writing to config.log, but config.lt does its own redirection,
-+# appending to config.log, which fails on DOS, as config.log is still kept
-+# open by configure. Here we exec the FD to /dev/null, effectively closing
-+# config.log, so it can be properly (re)opened and appended to by config.lt.
-+if test "$no_create" != yes; then
-+ lt_cl_success=:
-+ test "$silent" = yes &&
-+ lt_config_lt_args="$lt_config_lt_args --quiet"
-+ exec AS_MESSAGE_LOG_FD>/dev/null
-+ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-+ exec AS_MESSAGE_LOG_FD>>config.log
-+ $lt_cl_success || AS_EXIT(1)
-+fi
-+])# LT_OUTPUT
-+
-+
-+# _LT_CONFIG(TAG)
-+# ---------------
-+# If TAG is the built-in tag, create an initial libtool script with a
-+# default configuration from the untagged config vars. Otherwise add code
-+# to config.status for appending the configuration named by TAG from the
-+# matching tagged config vars.
-+m4_defun([_LT_CONFIG],
-+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+_LT_CONFIG_SAVE_COMMANDS([
-+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
-+ m4_if(_LT_TAG, [C], [
-+ # See if we are running on zsh, and set the options which allow our
-+ # commands through without removal of \ escapes.
-+ if test -n "${ZSH_VERSION+set}" ; then
-+ setopt NO_GLOB_SUBST
-+ fi
-+
-+ cfgfile="${ofile}T"
-+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-+ $RM "$cfgfile"
-+
-+ cat <<_LT_EOF >> "$cfgfile"
-+#! $SHELL
-+
-+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-+#
-+_LT_COPYING
-+_LT_LIBTOOL_TAGS
-+
-+# ### BEGIN LIBTOOL CONFIG
-+_LT_LIBTOOL_CONFIG_VARS
-+_LT_LIBTOOL_TAG_VARS
-+# ### END LIBTOOL CONFIG
-+
-+_LT_EOF
-+
-+ case $host_os in
-+ aix3*)
-+ cat <<\_LT_EOF >> "$cfgfile"
-+# AIX sometimes has problems with the GCC collect2 program. For some
-+# reason, if we set the COLLECT_NAMES environment variable, the problems
-+# vanish in a puff of smoke.
-+if test "X${COLLECT_NAMES+set}" != Xset; then
-+ COLLECT_NAMES=
-+ export COLLECT_NAMES
-+fi
-+_LT_EOF
-+ ;;
-+ esac
-+
-+ _LT_PROG_LTMAIN
-+
-+ # We use sed instead of cat because bash on DJGPP gets confused if
-+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
-+ # text mode, it properly converts lines to CR/LF. This bash problem
-+ # is reportedly fixed, but why not run on old versions too?
-+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-+ || (rm -f "$cfgfile"; exit 1)
-+
-+ _LT_PROG_XSI_SHELLFNS
-+
-+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-+ || (rm -f "$cfgfile"; exit 1)
-+
-+ mv -f "$cfgfile" "$ofile" ||
-+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-+ chmod +x "$ofile"
-+],
-+[cat <<_LT_EOF >> "$ofile"
-+
-+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-+dnl in a comment (ie after a #).
-+# ### BEGIN LIBTOOL TAG CONFIG: $1
-+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-+# ### END LIBTOOL TAG CONFIG: $1
-+_LT_EOF
-+])dnl /m4_if
-+],
-+[m4_if([$1], [], [
-+ PACKAGE='$PACKAGE'
-+ VERSION='$VERSION'
-+ TIMESTAMP='$TIMESTAMP'
-+ RM='$RM'
-+ ofile='$ofile'], [])
-+])dnl /_LT_CONFIG_SAVE_COMMANDS
-+])# _LT_CONFIG
-+
-+
-+# LT_SUPPORTED_TAG(TAG)
-+# ---------------------
-+# Trace this macro to discover what tags are supported by the libtool
-+# --tag option, using:
-+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
-+AC_DEFUN([LT_SUPPORTED_TAG], [])
-+
-+
-+# C support is built-in for now
-+m4_define([_LT_LANG_C_enabled], [])
-+m4_define([_LT_TAGS], [])
-+
-+
-+# LT_LANG(LANG)
-+# -------------
-+# Enable libtool support for the given language if not already enabled.
-+AC_DEFUN([LT_LANG],
-+[AC_BEFORE([$0], [LT_OUTPUT])dnl
-+m4_case([$1],
-+ [C], [_LT_LANG(C)],
-+ [C++], [_LT_LANG(CXX)],
-+ [Java], [_LT_LANG(GCJ)],
-+ [Fortran 77], [_LT_LANG(F77)],
-+ [Fortran], [_LT_LANG(FC)],
-+ [Windows Resource], [_LT_LANG(RC)],
-+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
-+ [_LT_LANG($1)],
-+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
-+])# LT_LANG
-+
-+
-+# _LT_LANG(LANGNAME)
-+# ------------------
-+m4_defun([_LT_LANG],
-+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
-+ [LT_SUPPORTED_TAG([$1])dnl
-+ m4_append([_LT_TAGS], [$1 ])dnl
-+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
-+ _LT_LANG_$1_CONFIG($1)])dnl
-+])# _LT_LANG
-+
-+
-+# _LT_LANG_DEFAULT_CONFIG
-+# -----------------------
-+m4_defun([_LT_LANG_DEFAULT_CONFIG],
-+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
-+ [LT_LANG(CXX)],
-+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-+
-+AC_PROVIDE_IFELSE([AC_PROG_F77],
-+ [LT_LANG(F77)],
-+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-+
-+AC_PROVIDE_IFELSE([AC_PROG_FC],
-+ [LT_LANG(FC)],
-+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-+
-+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-+dnl pulling things in needlessly.
-+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-+ [LT_LANG(GCJ)],
-+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-+ [LT_LANG(GCJ)],
-+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
-+ [LT_LANG(GCJ)],
-+ [m4_ifdef([AC_PROG_GCJ],
-+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
-+ m4_ifdef([A][M_PROG_GCJ],
-+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
-+ m4_ifdef([LT_PROG_GCJ],
-+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-+
-+AC_PROVIDE_IFELSE([LT_PROG_RC],
-+ [LT_LANG(RC)],
-+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-+])# _LT_LANG_DEFAULT_CONFIG
-+
-+# Obsolete macros:
-+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-+
-+
-+# _LT_TAG_COMPILER
-+# ----------------
-+m4_defun([_LT_TAG_COMPILER],
-+[AC_REQUIRE([AC_PROG_CC])dnl
-+
-+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-+
-+# If no C compiler was specified, use CC.
-+LTCC=${LTCC-"$CC"}
-+
-+# If no C compiler flags were specified, use CFLAGS.
-+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-+
-+# Allow CC to be a program name with arguments.
-+compiler=$CC
-+])# _LT_TAG_COMPILER
-+
-+
-+# _LT_COMPILER_BOILERPLATE
-+# ------------------------
-+# Check for compiler boilerplate output or warnings with
-+# the simple compiler test code.
-+m4_defun([_LT_COMPILER_BOILERPLATE],
-+[m4_require([_LT_DECL_SED])dnl
-+ac_outfile=conftest.$ac_objext
-+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-+_lt_compiler_boilerplate=`cat conftest.err`
-+$RM conftest*
-+])# _LT_COMPILER_BOILERPLATE
-+
-+
-+# _LT_LINKER_BOILERPLATE
-+# ----------------------
-+# Check for linker boilerplate output or warnings with
-+# the simple link test code.
-+m4_defun([_LT_LINKER_BOILERPLATE],
-+[m4_require([_LT_DECL_SED])dnl
-+ac_outfile=conftest.$ac_objext
-+echo "$lt_simple_link_test_code" >conftest.$ac_ext
-+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-+_lt_linker_boilerplate=`cat conftest.err`
-+$RM -r conftest*
-+])# _LT_LINKER_BOILERPLATE
-+
-+# _LT_REQUIRED_DARWIN_CHECKS
-+# -------------------------
-+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
-+ case $host_os in
-+ rhapsody* | darwin*)
-+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-+ AC_CHECK_TOOL([LIPO], [lipo], [:])
-+ AC_CHECK_TOOL([OTOOL], [otool], [:])
-+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
-+ _LT_DECL([], [DSYMUTIL], [1],
-+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
-+ _LT_DECL([], [NMEDIT], [1],
-+ [Tool to change global to local symbols on Mac OS X])
-+ _LT_DECL([], [LIPO], [1],
-+ [Tool to manipulate fat objects and archives on Mac OS X])
-+ _LT_DECL([], [OTOOL], [1],
-+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
-+ _LT_DECL([], [OTOOL64], [1],
-+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-+
-+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-+ [lt_cv_apple_cc_single_mod=no
-+ if test -z "${LT_MULTI_MODULE}"; then
-+ # By default we will add the -single_module flag. You can override
-+ # by either setting the environment variable LT_MULTI_MODULE
-+ # non-empty at configure time, or by adding -multi_module to the
-+ # link flags.
-+ rm -rf libconftest.dylib*
-+ echo "int foo(void){return 1;}" > conftest.c
-+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
-+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-+ _lt_result=$?
-+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-+ lt_cv_apple_cc_single_mod=yes
-+ else
-+ cat conftest.err >&AS_MESSAGE_LOG_FD
-+ fi
-+ rm -rf libconftest.dylib*
-+ rm -f conftest.*
-+ fi])
-+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-+ [lt_cv_ld_exported_symbols_list],
-+ [lt_cv_ld_exported_symbols_list=no
-+ save_LDFLAGS=$LDFLAGS
-+ echo "_main" > conftest.sym
-+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-+ [lt_cv_ld_exported_symbols_list=yes],
-+ [lt_cv_ld_exported_symbols_list=no])
-+ LDFLAGS="$save_LDFLAGS"
-+ ])
-+ case $host_os in
-+ rhapsody* | darwin1.[[012]])
-+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-+ darwin1.*)
-+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-+ darwin*) # darwin 5.x on
-+ # if running on 10.5 or later, the deployment target defaults
-+ # to the OS version, if on x86, and 10.4, the deployment
-+ # target defaults to 10.4. Don't you love it?
-+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-+ 10.[[012]]*)
-+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-+ 10.*)
-+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-+ esac
-+ ;;
-+ esac
-+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-+ _lt_dar_single_mod='$single_module'
-+ fi
-+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-+ else
-+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-+ fi
-+ if test "$DSYMUTIL" != ":"; then
-+ _lt_dsymutil='~$DSYMUTIL $lib || :'
-+ else
-+ _lt_dsymutil=
-+ fi
-+ ;;
-+ esac
-+])
-+
-+
-+# _LT_DARWIN_LINKER_FEATURES
-+# --------------------------
-+# Checks for linker and compiler features on darwin
-+m4_defun([_LT_DARWIN_LINKER_FEATURES],
-+[
-+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+ _LT_TAGVAR(hardcode_direct, $1)=no
-+ _LT_TAGVAR(hardcode_automatic, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
-+ _LT_TAGVAR(link_all_deplibs, $1)=yes
-+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-+ case $cc_basename in
-+ ifort*) _lt_dar_can_shared=yes ;;
-+ *) _lt_dar_can_shared=$GCC ;;
-+ esac
-+ if test "$_lt_dar_can_shared" = "yes"; then
-+ output_verbose_link_cmd=echo
-+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-+ m4_if([$1], [CXX],
-+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-+ fi
-+],[])
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+])
-+
-+# _LT_SYS_MODULE_PATH_AIX
-+# -----------------------
-+# Links a minimal program and checks the executable
-+# for the system default hardcoded library path. In most cases,
-+# this is /usr/lib:/lib, but when the MPI compilers are used
-+# the location of the communication and MPI libs are included too.
-+# If we don't find anything, use the default library path according
-+# to the aix ld manual.
-+m4_defun([_LT_SYS_MODULE_PATH_AIX],
-+[m4_require([_LT_DECL_SED])dnl
-+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-+lt_aix_libpath_sed='
-+ /Import File Strings/,/^$/ {
-+ /^0/ {
-+ s/^0 *\(.*\)$/\1/
-+ p
-+ }
-+ }'
-+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+# Check for a 64-bit object if we didn't find anything.
-+if test -z "$aix_libpath"; then
-+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+fi],[])
-+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-+])# _LT_SYS_MODULE_PATH_AIX
-+
-+
-+# _LT_SHELL_INIT(ARG)
-+# -------------------
-+m4_define([_LT_SHELL_INIT],
-+[ifdef([AC_DIVERSION_NOTICE],
-+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-+ [AC_DIVERT_PUSH(NOTICE)])
-+$1
-+AC_DIVERT_POP
-+])# _LT_SHELL_INIT
-+
-+
-+# _LT_PROG_ECHO_BACKSLASH
-+# -----------------------
-+# Add some code to the start of the generated configure script which
-+# will find an echo command which doesn't interpret backslashes.
-+m4_defun([_LT_PROG_ECHO_BACKSLASH],
-+[_LT_SHELL_INIT([
-+# Check that we are running under the correct shell.
-+SHELL=${CONFIG_SHELL-/bin/sh}
-+
-+case X$lt_ECHO in
-+X*--fallback-echo)
-+ # Remove one level of quotation (which was required for Make).
-+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-+ ;;
-+esac
-+
-+ECHO=${lt_ECHO-echo}
-+if test "X[$]1" = X--no-reexec; then
-+ # Discard the --no-reexec flag, and continue.
-+ shift
-+elif test "X[$]1" = X--fallback-echo; then
-+ # Avoid inline document here, it may be left over
-+ :
-+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
-+ # Yippee, $ECHO works!
-+ :
-+else
-+ # Restart under the correct shell.
-+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-+fi
-+
-+if test "X[$]1" = X--fallback-echo; then
-+ # used as fallback echo
-+ shift
-+ cat <<_LT_EOF
-+[$]*
-+_LT_EOF
-+ exit 0
-+fi
-+
-+# The HP-UX ksh and POSIX shell print the target directory to stdout
-+# if CDPATH is set.
-+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-+
-+if test -z "$lt_ECHO"; then
-+ if test "X${echo_test_string+set}" != Xset; then
-+ # find a string as large as possible, as long as the shell can cope with it
-+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
-+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
-+ then
-+ break
-+ fi
-+ done
-+ fi
-+
-+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-+ test "X$echo_testing_string" = "X$echo_test_string"; then
-+ :
-+ else
-+ # The Solaris, AIX, and Digital Unix default echo programs unquote
-+ # backslashes. This makes it impossible to quote backslashes using
-+ # echo "$something" | sed 's/\\/\\\\/g'
-+ #
-+ # So, first we look for a working echo in the user's PATH.
-+
-+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-+ for dir in $PATH /usr/ucb; do
-+ IFS="$lt_save_ifs"
-+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-+ test "X$echo_testing_string" = "X$echo_test_string"; then
-+ ECHO="$dir/echo"
-+ break
-+ fi
-+ done
-+ IFS="$lt_save_ifs"
-+
-+ if test "X$ECHO" = Xecho; then
-+ # We didn't find a better echo, so look for alternatives.
-+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
-+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
-+ test "X$echo_testing_string" = "X$echo_test_string"; then
-+ # This shell has a builtin print -r that does the trick.
-+ ECHO='print -r'
-+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
-+ test "X$CONFIG_SHELL" != X/bin/ksh; then
-+ # If we have ksh, try running configure again with it.
-+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-+ export ORIGINAL_CONFIG_SHELL
-+ CONFIG_SHELL=/bin/ksh
-+ export CONFIG_SHELL
-+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-+ else
-+ # Try using printf.
-+ ECHO='printf %s\n'
-+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-+ test "X$echo_testing_string" = "X$echo_test_string"; then
-+ # Cool, printf works
-+ :
-+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-+ test "X$echo_testing_string" = 'X\t' &&
-+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-+ test "X$echo_testing_string" = "X$echo_test_string"; then
-+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-+ export CONFIG_SHELL
-+ SHELL="$CONFIG_SHELL"
-+ export SHELL
-+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-+ test "X$echo_testing_string" = 'X\t' &&
-+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-+ test "X$echo_testing_string" = "X$echo_test_string"; then
-+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-+ else
-+ # maybe with a smaller string...
-+ prev=:
-+
-+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
-+ then
-+ break
-+ fi
-+ prev="$cmd"
-+ done
-+
-+ if test "$prev" != 'sed 50q "[$]0"'; then
-+ echo_test_string=`eval $prev`
-+ export echo_test_string
-+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-+ else
-+ # Oops. We lost completely, so just stick with echo.
-+ ECHO=echo
-+ fi
-+ fi
-+ fi
-+ fi
-+ fi
-+fi
-+
-+# Copy echo and quote the copy suitably for passing to libtool from
-+# the Makefile, instead of quoting the original, which is used later.
-+lt_ECHO=$ECHO
-+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-+ lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-+fi
-+
-+AC_SUBST(lt_ECHO)
-+])
-+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-+_LT_DECL([], [ECHO], [1],
-+ [An echo program that does not interpret backslashes])
-+])# _LT_PROG_ECHO_BACKSLASH
-+
-+
-+# _LT_ENABLE_LOCK
-+# ---------------
-+m4_defun([_LT_ENABLE_LOCK],
-+[AC_ARG_ENABLE([libtool-lock],
-+ [AS_HELP_STRING([--disable-libtool-lock],
-+ [avoid locking (might break parallel builds)])])
-+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-+
-+# Some flags need to be propagated to the compiler or linker for good
-+# libtool support.
-+case $host in
-+ia64-*-hpux*)
-+ # Find out which ABI we are using.
-+ echo 'int i;' > conftest.$ac_ext
-+ if AC_TRY_EVAL(ac_compile); then
-+ case `/usr/bin/file conftest.$ac_objext` in
-+ *ELF-32*)
-+ HPUX_IA64_MODE="32"
-+ ;;
-+ *ELF-64*)
-+ HPUX_IA64_MODE="64"
-+ ;;
-+ esac
-+ fi
-+ rm -rf conftest*
-+ ;;
-+*-*-irix6*)
-+ # Find out which ABI we are using.
-+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
-+ if AC_TRY_EVAL(ac_compile); then
-+ if test "$lt_cv_prog_gnu_ld" = yes; then
-+ case `/usr/bin/file conftest.$ac_objext` in
-+ *32-bit*)
-+ LD="${LD-ld} -melf32bsmip"
-+ ;;
-+ *N32*)
-+ LD="${LD-ld} -melf32bmipn32"
-+ ;;
-+ *64-bit*)
-+ LD="${LD-ld} -melf64bmip"
-+ ;;
-+ esac
-+ else
-+ case `/usr/bin/file conftest.$ac_objext` in
-+ *32-bit*)
-+ LD="${LD-ld} -32"
-+ ;;
-+ *N32*)
-+ LD="${LD-ld} -n32"
-+ ;;
-+ *64-bit*)
-+ LD="${LD-ld} -64"
-+ ;;
-+ esac
-+ fi
-+ fi
-+ rm -rf conftest*
-+ ;;
-+
-+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-+ # Find out which ABI we are using.
-+ echo 'int i;' > conftest.$ac_ext
-+ if AC_TRY_EVAL(ac_compile); then
-+ case `/usr/bin/file conftest.o` in
-+ *32-bit*)
-+ case $host in
-+ x86_64-*kfreebsd*-gnu)
-+ LD="${LD-ld} -m elf_i386_fbsd"
-+ ;;
-+ x86_64-*linux*)
-+ LD="${LD-ld} -m elf_i386"
-+ ;;
-+ ppc64-*linux*|powerpc64-*linux*)
-+ LD="${LD-ld} -m elf32ppclinux"
-+ ;;
-+ s390x-*linux*)
-+ LD="${LD-ld} -m elf_s390"
-+ ;;
-+ sparc64-*linux*)
-+ LD="${LD-ld} -m elf32_sparc"
-+ ;;
-+ esac
-+ ;;
-+ *64-bit*)
-+ case $host in
-+ x86_64-*kfreebsd*-gnu)
-+ LD="${LD-ld} -m elf_x86_64_fbsd"
-+ ;;
-+ x86_64-*linux*)
-+ LD="${LD-ld} -m elf_x86_64"
-+ ;;
-+ ppc*-*linux*|powerpc*-*linux*)
-+ LD="${LD-ld} -m elf64ppc"
-+ ;;
-+ s390*-*linux*|s390*-*tpf*)
-+ LD="${LD-ld} -m elf64_s390"
-+ ;;
-+ sparc*-*linux*)
-+ LD="${LD-ld} -m elf64_sparc"
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ fi
-+ rm -rf conftest*
-+ ;;
-+
-+*-*-sco3.2v5*)
-+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-+ SAVE_CFLAGS="$CFLAGS"
-+ CFLAGS="$CFLAGS -belf"
-+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-+ [AC_LANG_PUSH(C)
-+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-+ AC_LANG_POP])
-+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-+ CFLAGS="$SAVE_CFLAGS"
-+ fi
-+ ;;
-+sparc*-*solaris*)
-+ # Find out which ABI we are using.
-+ echo 'int i;' > conftest.$ac_ext
-+ if AC_TRY_EVAL(ac_compile); then
-+ case `/usr/bin/file conftest.o` in
-+ *64-bit*)
-+ case $lt_cv_prog_gnu_ld in
-+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
-+ *)
-+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-+ LD="${LD-ld} -64"
-+ fi
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ fi
-+ rm -rf conftest*
-+ ;;
-+esac
-+
-+need_locks="$enable_libtool_lock"
-+])# _LT_ENABLE_LOCK
-+
-+
-+# _LT_CMD_OLD_ARCHIVE
-+# -------------------
-+m4_defun([_LT_CMD_OLD_ARCHIVE],
-+[AC_CHECK_TOOL(AR, ar, false)
-+test -z "$AR" && AR=ar
-+test -z "$AR_FLAGS" && AR_FLAGS=cru
-+_LT_DECL([], [AR], [1], [The archiver])
-+_LT_DECL([], [AR_FLAGS], [1])
-+
-+AC_CHECK_TOOL(STRIP, strip, :)
-+test -z "$STRIP" && STRIP=:
-+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-+
-+AC_CHECK_TOOL(RANLIB, ranlib, :)
-+test -z "$RANLIB" && RANLIB=:
-+_LT_DECL([], [RANLIB], [1],
-+ [Commands used to install an old-style archive])
-+
-+# Determine commands to create old-style static archives.
-+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-+old_postinstall_cmds='chmod 644 $oldlib'
-+old_postuninstall_cmds=
-+
-+if test -n "$RANLIB"; then
-+ case $host_os in
-+ openbsd*)
-+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-+ ;;
-+ *)
-+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-+ ;;
-+ esac
-+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-+fi
-+_LT_DECL([], [old_postinstall_cmds], [2])
-+_LT_DECL([], [old_postuninstall_cmds], [2])
-+_LT_TAGDECL([], [old_archive_cmds], [2],
-+ [Commands used to build an old-style archive])
-+])# _LT_CMD_OLD_ARCHIVE
-+
-+
-+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-+# ----------------------------------------------------------------
-+# Check whether the given compiler option works
-+AC_DEFUN([_LT_COMPILER_OPTION],
-+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+m4_require([_LT_DECL_SED])dnl
-+AC_CACHE_CHECK([$1], [$2],
-+ [$2=no
-+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-+ lt_compiler_flag="$3"
-+ # Insert the option either (1) after the last *FLAGS variable, or
-+ # (2) before a word containing "conftest.", or (3) at the end.
-+ # Note that $ac_compile itself does not contain backslashes and begins
-+ # with a dollar sign (not a hyphen), so the echo should work correctly.
-+ # The option is referenced via a variable to avoid confusing sed.
-+ lt_compile=`echo "$ac_compile" | $SED \
-+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-+ -e 's:$: $lt_compiler_flag:'`
-+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-+ (eval "$lt_compile" 2>conftest.err)
-+ ac_status=$?
-+ cat conftest.err >&AS_MESSAGE_LOG_FD
-+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-+ if (exit $ac_status) && test -s "$ac_outfile"; then
-+ # The compiler can only warn and ignore the option if not recognized
-+ # So say no if there are warnings other than the usual output.
-+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-+ $2=yes
-+ fi
-+ fi
-+ $RM conftest*
-+])
-+
-+if test x"[$]$2" = xyes; then
-+ m4_if([$5], , :, [$5])
-+else
-+ m4_if([$6], , :, [$6])
-+fi
-+])# _LT_COMPILER_OPTION
-+
-+# Old name:
-+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-+
-+
-+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-+# [ACTION-SUCCESS], [ACTION-FAILURE])
-+# ----------------------------------------------------
-+# Check whether the given linker option works
-+AC_DEFUN([_LT_LINKER_OPTION],
-+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+m4_require([_LT_DECL_SED])dnl
-+AC_CACHE_CHECK([$1], [$2],
-+ [$2=no
-+ save_LDFLAGS="$LDFLAGS"
-+ LDFLAGS="$LDFLAGS $3"
-+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
-+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-+ # The linker can only warn and ignore the option if not recognized
-+ # So say no if there are warnings
-+ if test -s conftest.err; then
-+ # Append any errors to the config.log.
-+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
-+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-+ if diff conftest.exp conftest.er2 >/dev/null; then
-+ $2=yes
-+ fi
-+ else
-+ $2=yes
-+ fi
-+ fi
-+ $RM -r conftest*
-+ LDFLAGS="$save_LDFLAGS"
-+])
-+
-+if test x"[$]$2" = xyes; then
-+ m4_if([$4], , :, [$4])
-+else
-+ m4_if([$5], , :, [$5])
-+fi
-+])# _LT_LINKER_OPTION
-+
-+# Old name:
-+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-+
-+
-+# LT_CMD_MAX_LEN
-+#---------------
-+AC_DEFUN([LT_CMD_MAX_LEN],
-+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+# find the maximum length of command line arguments
-+AC_MSG_CHECKING([the maximum length of command line arguments])
-+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-+ i=0
-+ teststring="ABCD"
-+
-+ case $build_os in
-+ msdosdjgpp*)
-+ # On DJGPP, this test can blow up pretty badly due to problems in libc
-+ # (any single argument exceeding 2000 bytes causes a buffer overrun
-+ # during glob expansion). Even if it were fixed, the result of this
-+ # check would be larger than it should be.
-+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
-+ ;;
-+
-+ gnu*)
-+ # Under GNU Hurd, this test is not required because there is
-+ # no limit to the length of command line arguments.
-+ # Libtool will interpret -1 as no limit whatsoever
-+ lt_cv_sys_max_cmd_len=-1;
-+ ;;
-+
-+ cygwin* | mingw* | cegcc*)
-+ # On Win9x/ME, this test blows up -- it succeeds, but takes
-+ # about 5 minutes as the teststring grows exponentially.
-+ # Worse, since 9x/ME are not pre-emptively multitasking,
-+ # you end up with a "frozen" computer, even though with patience
-+ # the test eventually succeeds (with a max line length of 256k).
-+ # Instead, let's just punt: use the minimum linelength reported by
-+ # all of the supported platforms: 8192 (on NT/2K/XP).
-+ lt_cv_sys_max_cmd_len=8192;
-+ ;;
-+
-+ amigaos*)
-+ # On AmigaOS with pdksh, this test takes hours, literally.
-+ # So we just punt and use a minimum line length of 8192.
-+ lt_cv_sys_max_cmd_len=8192;
-+ ;;
-+
-+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-+ # This has been around since 386BSD, at least. Likely further.
-+ if test -x /sbin/sysctl; then
-+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-+ elif test -x /usr/sbin/sysctl; then
-+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-+ else
-+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
-+ fi
-+ # And add a safety zone
-+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-+ ;;
-+
-+ interix*)
-+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
-+ lt_cv_sys_max_cmd_len=196608
-+ ;;
-+
-+ osf*)
-+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-+ # nice to cause kernel panics so lets avoid the loop below.
-+ # First set a reasonable default.
-+ lt_cv_sys_max_cmd_len=16384
-+ #
-+ if test -x /sbin/sysconfig; then
-+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
-+ esac
-+ fi
-+ ;;
-+ sco3.2v5*)
-+ lt_cv_sys_max_cmd_len=102400
-+ ;;
-+ sysv5* | sco5v6* | sysv4.2uw2*)
-+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-+ if test -n "$kargmax"; then
-+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
-+ else
-+ lt_cv_sys_max_cmd_len=32768
-+ fi
-+ ;;
-+ *)
-+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-+ if test -n "$lt_cv_sys_max_cmd_len"; then
-+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-+ else
-+ # Make teststring a little bigger before we do anything with it.
-+ # a 1K string should be a reasonable start.
-+ for i in 1 2 3 4 5 6 7 8 ; do
-+ teststring=$teststring$teststring
-+ done
-+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-+ # If test is not a shell built-in, we'll probably end up computing a
-+ # maximum length that is only half of the actual maximum length, but
-+ # we can't tell.
-+ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
-+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
-+ test $i != 17 # 1/2 MB should be enough
-+ do
-+ i=`expr $i + 1`
-+ teststring=$teststring$teststring
-+ done
-+ # Only check the string length outside the loop.
-+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-+ teststring=
-+ # Add a significant safety factor because C++ compilers can tack on
-+ # massive amounts of additional arguments before passing them to the
-+ # linker. It appears as though 1/2 is a usable value.
-+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-+ fi
-+ ;;
-+ esac
-+])
-+if test -n $lt_cv_sys_max_cmd_len ; then
-+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-+else
-+ AC_MSG_RESULT(none)
-+fi
-+max_cmd_len=$lt_cv_sys_max_cmd_len
-+_LT_DECL([], [max_cmd_len], [0],
-+ [What is the maximum length of a command?])
-+])# LT_CMD_MAX_LEN
-+
-+# Old name:
-+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-+
-+
-+# _LT_HEADER_DLFCN
-+# ----------------
-+m4_defun([_LT_HEADER_DLFCN],
-+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-+])# _LT_HEADER_DLFCN
-+
-+
-+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-+# ----------------------------------------------------------------
-+m4_defun([_LT_TRY_DLOPEN_SELF],
-+[m4_require([_LT_HEADER_DLFCN])dnl
-+if test "$cross_compiling" = yes; then :
-+ [$4]
-+else
-+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-+ lt_status=$lt_dlunknown
-+ cat > conftest.$ac_ext <<_LT_EOF
-+[#line __oline__ "configure"
-+#include "confdefs.h"
-+
-+#if HAVE_DLFCN_H
-+#include <dlfcn.h>
-+#endif
-+
-+#include <stdio.h>
-+
-+#ifdef RTLD_GLOBAL
-+# define LT_DLGLOBAL RTLD_GLOBAL
-+#else
-+# ifdef DL_GLOBAL
-+# define LT_DLGLOBAL DL_GLOBAL
-+# else
-+# define LT_DLGLOBAL 0
-+# endif
-+#endif
-+
-+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-+ find out it does not work in some platform. */
-+#ifndef LT_DLLAZY_OR_NOW
-+# ifdef RTLD_LAZY
-+# define LT_DLLAZY_OR_NOW RTLD_LAZY
-+# else
-+# ifdef DL_LAZY
-+# define LT_DLLAZY_OR_NOW DL_LAZY
-+# else
-+# ifdef RTLD_NOW
-+# define LT_DLLAZY_OR_NOW RTLD_NOW
-+# else
-+# ifdef DL_NOW
-+# define LT_DLLAZY_OR_NOW DL_NOW
-+# else
-+# define LT_DLLAZY_OR_NOW 0
-+# endif
-+# endif
-+# endif
-+# endif
-+#endif
-+
-+void fnord() { int i=42;}
-+int main ()
-+{
-+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-+ int status = $lt_dlunknown;
-+
-+ if (self)
-+ {
-+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
-+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-+ /* dlclose (self); */
-+ }
-+ else
-+ puts (dlerror ());
-+
-+ return status;
-+}]
-+_LT_EOF
-+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-+ lt_status=$?
-+ case x$lt_status in
-+ x$lt_dlno_uscore) $1 ;;
-+ x$lt_dlneed_uscore) $2 ;;
-+ x$lt_dlunknown|x*) $3 ;;
-+ esac
-+ else :
-+ # compilation failed
-+ $3
-+ fi
-+fi
-+rm -fr conftest*
-+])# _LT_TRY_DLOPEN_SELF
-+
-+
-+# LT_SYS_DLOPEN_SELF
-+# ------------------
-+AC_DEFUN([LT_SYS_DLOPEN_SELF],
-+[m4_require([_LT_HEADER_DLFCN])dnl
-+if test "x$enable_dlopen" != xyes; then
-+ enable_dlopen=unknown
-+ enable_dlopen_self=unknown
-+ enable_dlopen_self_static=unknown
-+else
-+ lt_cv_dlopen=no
-+ lt_cv_dlopen_libs=
-+
-+ case $host_os in
-+ beos*)
-+ lt_cv_dlopen="load_add_on"
-+ lt_cv_dlopen_libs=
-+ lt_cv_dlopen_self=yes
-+ ;;
-+
-+ mingw* | pw32* | cegcc*)
-+ lt_cv_dlopen="LoadLibrary"
-+ lt_cv_dlopen_libs=
-+ ;;
-+
-+ cygwin*)
-+ lt_cv_dlopen="dlopen"
-+ lt_cv_dlopen_libs=
-+ ;;
-+
-+ darwin*)
-+ # if libdl is installed we need to link against it
-+ AC_CHECK_LIB([dl], [dlopen],
-+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-+ lt_cv_dlopen="dyld"
-+ lt_cv_dlopen_libs=
-+ lt_cv_dlopen_self=yes
-+ ])
-+ ;;
-+
-+ *)
-+ AC_CHECK_FUNC([shl_load],
-+ [lt_cv_dlopen="shl_load"],
-+ [AC_CHECK_LIB([dld], [shl_load],
-+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-+ [AC_CHECK_FUNC([dlopen],
-+ [lt_cv_dlopen="dlopen"],
-+ [AC_CHECK_LIB([dl], [dlopen],
-+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-+ [AC_CHECK_LIB([svld], [dlopen],
-+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-+ [AC_CHECK_LIB([dld], [dld_link],
-+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-+ ])
-+ ])
-+ ])
-+ ])
-+ ])
-+ ;;
-+ esac
-+
-+ if test "x$lt_cv_dlopen" != xno; then
-+ enable_dlopen=yes
-+ else
-+ enable_dlopen=no
-+ fi
-+
-+ case $lt_cv_dlopen in
-+ dlopen)
-+ save_CPPFLAGS="$CPPFLAGS"
-+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-+
-+ save_LDFLAGS="$LDFLAGS"
-+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-+
-+ save_LIBS="$LIBS"
-+ LIBS="$lt_cv_dlopen_libs $LIBS"
-+
-+ AC_CACHE_CHECK([whether a program can dlopen itself],
-+ lt_cv_dlopen_self, [dnl
-+ _LT_TRY_DLOPEN_SELF(
-+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-+ ])
-+
-+ if test "x$lt_cv_dlopen_self" = xyes; then
-+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-+ lt_cv_dlopen_self_static, [dnl
-+ _LT_TRY_DLOPEN_SELF(
-+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
-+ ])
-+ fi
-+
-+ CPPFLAGS="$save_CPPFLAGS"
-+ LDFLAGS="$save_LDFLAGS"
-+ LIBS="$save_LIBS"
-+ ;;
-+ esac
-+
-+ case $lt_cv_dlopen_self in
-+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-+ *) enable_dlopen_self=unknown ;;
-+ esac
-+
-+ case $lt_cv_dlopen_self_static in
-+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-+ *) enable_dlopen_self_static=unknown ;;
-+ esac
-+fi
-+_LT_DECL([dlopen_support], [enable_dlopen], [0],
-+ [Whether dlopen is supported])
-+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
-+ [Whether dlopen of programs is supported])
-+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
-+ [Whether dlopen of statically linked programs is supported])
-+])# LT_SYS_DLOPEN_SELF
-+
-+# Old name:
-+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-+
-+
-+# _LT_COMPILER_C_O([TAGNAME])
-+# ---------------------------
-+# Check to see if options -c and -o are simultaneously supported by compiler.
-+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-+m4_defun([_LT_COMPILER_C_O],
-+[m4_require([_LT_DECL_SED])dnl
-+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+m4_require([_LT_TAG_COMPILER])dnl
-+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-+ $RM -r conftest 2>/dev/null
-+ mkdir conftest
-+ cd conftest
-+ mkdir out
-+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-+
-+ lt_compiler_flag="-o out/conftest2.$ac_objext"
-+ # Insert the option either (1) after the last *FLAGS variable, or
-+ # (2) before a word containing "conftest.", or (3) at the end.
-+ # Note that $ac_compile itself does not contain backslashes and begins
-+ # with a dollar sign (not a hyphen), so the echo should work correctly.
-+ lt_compile=`echo "$ac_compile" | $SED \
-+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-+ -e 's:$: $lt_compiler_flag:'`
-+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-+ (eval "$lt_compile" 2>out/conftest.err)
-+ ac_status=$?
-+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
-+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
-+ then
-+ # The compiler can only warn and ignore the option if not recognized
-+ # So say no if there are warnings
-+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-+ fi
-+ fi
-+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
-+ $RM conftest*
-+ # SGI C++ compiler will create directory out/ii_files/ for
-+ # template instantiation
-+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-+ $RM out/* && rmdir out
-+ cd ..
-+ $RM -r conftest
-+ $RM conftest*
-+])
-+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
-+ [Does compiler simultaneously support -c and -o options?])
-+])# _LT_COMPILER_C_O
-+
-+
-+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-+# ----------------------------------
-+# Check to see if we can do hard links to lock some files if needed
-+m4_defun([_LT_COMPILER_FILE_LOCKS],
-+[m4_require([_LT_ENABLE_LOCK])dnl
-+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+_LT_COMPILER_C_O([$1])
-+
-+hard_links="nottested"
-+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-+ # do not overwrite the value of need_locks provided by the user
-+ AC_MSG_CHECKING([if we can lock with hard links])
-+ hard_links=yes
-+ $RM conftest*
-+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
-+ touch conftest.a
-+ ln conftest.a conftest.b 2>&5 || hard_links=no
-+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
-+ AC_MSG_RESULT([$hard_links])
-+ if test "$hard_links" = no; then
-+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-+ need_locks=warn
-+ fi
-+else
-+ need_locks=no
-+fi
-+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-+])# _LT_COMPILER_FILE_LOCKS
-+
-+
-+# _LT_CHECK_OBJDIR
-+# ----------------
-+m4_defun([_LT_CHECK_OBJDIR],
-+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-+[rm -f .libs 2>/dev/null
-+mkdir .libs 2>/dev/null
-+if test -d .libs; then
-+ lt_cv_objdir=.libs
-+else
-+ # MS-DOS does not allow filenames that begin with a dot.
-+ lt_cv_objdir=_libs
-+fi
-+rmdir .libs 2>/dev/null])
-+objdir=$lt_cv_objdir
-+_LT_DECL([], [objdir], [0],
-+ [The name of the directory that contains temporary libtool files])dnl
-+m4_pattern_allow([LT_OBJDIR])dnl
-+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
-+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
-+])# _LT_CHECK_OBJDIR
-+
-+
-+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-+# --------------------------------------
-+# Check hardcoding attributes.
-+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-+[AC_MSG_CHECKING([how to hardcode library paths into programs])
-+_LT_TAGVAR(hardcode_action, $1)=
-+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
-+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
-+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-+
-+ # We can hardcode non-existent directories.
-+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
-+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
-+ # have to relink, otherwise we might link with an installed library
-+ # when we should be linking with a yet-to-be-installed one
-+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
-+ # Linking always hardcodes the temporary library directory.
-+ _LT_TAGVAR(hardcode_action, $1)=relink
-+ else
-+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
-+ _LT_TAGVAR(hardcode_action, $1)=immediate
-+ fi
-+else
-+ # We cannot hardcode anything, or else we can only hardcode existing
-+ # directories.
-+ _LT_TAGVAR(hardcode_action, $1)=unsupported
-+fi
-+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-+
-+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
-+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
-+ # Fast installation is not supported
-+ enable_fast_install=no
-+elif test "$shlibpath_overrides_runpath" = yes ||
-+ test "$enable_shared" = no; then
-+ # Fast installation is not necessary
-+ enable_fast_install=needless
-+fi
-+_LT_TAGDECL([], [hardcode_action], [0],
-+ [How to hardcode a shared library path into an executable])
-+])# _LT_LINKER_HARDCODE_LIBPATH
-+
-+
-+# _LT_CMD_STRIPLIB
-+# ----------------
-+m4_defun([_LT_CMD_STRIPLIB],
-+[m4_require([_LT_DECL_EGREP])
-+striplib=
-+old_striplib=
-+AC_MSG_CHECKING([whether stripping libraries is possible])
-+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-+ AC_MSG_RESULT([yes])
-+else
-+# FIXME - insert some real tests, host_os isn't really good enough
-+ case $host_os in
-+ darwin*)
-+ if test -n "$STRIP" ; then
-+ striplib="$STRIP -x"
-+ old_striplib="$STRIP -S"
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ fi
-+ ;;
-+ *)
-+ AC_MSG_RESULT([no])
-+ ;;
-+ esac
-+fi
-+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-+_LT_DECL([], [striplib], [1])
-+])# _LT_CMD_STRIPLIB
-+
-+
-+# _LT_SYS_DYNAMIC_LINKER([TAG])
-+# -----------------------------
-+# PORTME Fill in your ld.so characteristics
-+m4_defun([_LT_SYS_DYNAMIC_LINKER],
-+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+m4_require([_LT_DECL_EGREP])dnl
-+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+m4_require([_LT_DECL_OBJDUMP])dnl
-+m4_require([_LT_DECL_SED])dnl
-+AC_MSG_CHECKING([dynamic linker characteristics])
-+m4_if([$1],
-+ [], [
-+if test "$GCC" = yes; then
-+ case $host_os in
-+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-+ *) lt_awk_arg="/^libraries:/" ;;
-+ esac
-+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
-+ # if the path contains ";" then we assume it to be the separator
-+ # otherwise default to the standard path separator (i.e. ":") - it is
-+ # assumed that no part of a normal pathname contains ";" but that should
-+ # okay in the real world where ";" in dirpaths is itself problematic.
-+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-+ else
-+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-+ fi
-+ # Ok, now we have the path, separated by spaces, we can step through it
-+ # and add multilib dir if necessary.
-+ lt_tmp_lt_search_path_spec=
-+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-+ for lt_sys_path in $lt_search_path_spec; do
-+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-+ else
-+ test -d "$lt_sys_path" && \
-+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-+ fi
-+ done
-+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
-+BEGIN {RS=" "; FS="/|\n";} {
-+ lt_foo="";
-+ lt_count=0;
-+ for (lt_i = NF; lt_i > 0; lt_i--) {
-+ if ($lt_i != "" && $lt_i != ".") {
-+ if ($lt_i == "..") {
-+ lt_count++;
-+ } else {
-+ if (lt_count == 0) {
-+ lt_foo="/" $lt_i lt_foo;
-+ } else {
-+ lt_count--;
-+ }
-+ }
-+ }
-+ }
-+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-+}'`
-+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
-+else
-+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-+fi])
-+library_names_spec=
-+libname_spec='lib$name'
-+soname_spec=
-+shrext_cmds=".so"
-+postinstall_cmds=
-+postuninstall_cmds=
-+finish_cmds=
-+finish_eval=
-+shlibpath_var=
-+shlibpath_overrides_runpath=unknown
-+version_type=none
-+dynamic_linker="$host_os ld.so"
-+sys_lib_dlsearch_path_spec="/lib /usr/lib"
-+need_lib_prefix=unknown
-+hardcode_into_libs=no
-+
-+# when you set need_version to no, make sure it does not cause -set_version
-+# flags to be left without arguments
-+need_version=unknown
-+
-+case $host_os in
-+aix3*)
-+ version_type=linux
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-+ shlibpath_var=LIBPATH
-+
-+ # AIX 3 has no versioning support, so we append a major version to the name.
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ ;;
-+
-+aix[[4-9]]*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ hardcode_into_libs=yes
-+ if test "$host_cpu" = ia64; then
-+ # AIX 5 supports IA64
-+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ else
-+ # With GCC up to 2.95.x, collect2 would create an import file
-+ # for dependence libraries. The import file would start with
-+ # the line `#! .'. This would cause the generated library to
-+ # depend on `.', always an invalid library. This was fixed in
-+ # development snapshots of GCC prior to 3.0.
-+ case $host_os in
-+ aix4 | aix4.[[01]] | aix4.[[01]].*)
-+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-+ echo ' yes '
-+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-+ :
-+ else
-+ can_build_shared=no
-+ fi
-+ ;;
-+ esac
-+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-+ # soname into executable. Probably we can add versioning support to
-+ # collect2, so additional links can be useful in future.
-+ if test "$aix_use_runtimelinking" = yes; then
-+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-+ # instead of lib<name>.a to let people know that these are not
-+ # typical AIX shared libraries.
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ else
-+ # We preserve .a as extension for shared libraries through AIX4.2
-+ # and later when we are not doing run time linking.
-+ library_names_spec='${libname}${release}.a $libname.a'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ fi
-+ shlibpath_var=LIBPATH
-+ fi
-+ ;;
-+
-+amigaos*)
-+ case $host_cpu in
-+ powerpc)
-+ # Since July 2007 AmigaOS4 officially supports .so libraries.
-+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ ;;
-+ m68k)
-+ library_names_spec='$libname.ixlibrary $libname.a'
-+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
-+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-+ ;;
-+ esac
-+ ;;
-+
-+beos*)
-+ library_names_spec='${libname}${shared_ext}'
-+ dynamic_linker="$host_os ld.so"
-+ shlibpath_var=LIBRARY_PATH
-+ ;;
-+
-+bsdi[[45]]*)
-+ version_type=linux
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-+ # the default ld.so.conf also contains /usr/contrib/lib and
-+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-+ # libtool to hard-code these into programs
-+ ;;
-+
-+cygwin* | mingw* | pw32* | cegcc*)
-+ version_type=windows
-+ shrext_cmds=".dll"
-+ need_version=no
-+ need_lib_prefix=no
-+
-+ case $GCC,$host_os in
-+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-+ library_names_spec='$libname.dll.a'
-+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
-+ postinstall_cmds='base_file=`basename \${file}`~
-+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-+ dldir=$destdir/`dirname \$dlpath`~
-+ test -d \$dldir || mkdir -p \$dldir~
-+ $install_prog $dir/$dlname \$dldir/$dlname~
-+ chmod a+x \$dldir/$dlname~
-+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-+ fi'
-+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-+ dlpath=$dir/\$dldll~
-+ $RM \$dlpath'
-+ shlibpath_overrides_runpath=yes
-+
-+ case $host_os in
-+ cygwin*)
-+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-+ ;;
-+ mingw* | cegcc*)
-+ # MinGW DLLs use traditional 'lib' prefix
-+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
-+ # It is most probably a Windows format PATH printed by
-+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
-+ # path with ; separators, and with drive letters. We can handle the
-+ # drive letters (cygwin fileutils understands them), so leave them,
-+ # especially as we might pass files found there to a mingw objdump,
-+ # which wouldn't understand a cygwinified path. Ahh.
-+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-+ else
-+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-+ fi
-+ ;;
-+ pw32*)
-+ # pw32 DLLs use 'pw' prefix rather than 'lib'
-+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-+ ;;
-+ esac
-+ ;;
-+
-+ *)
-+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-+ ;;
-+ esac
-+ dynamic_linker='Win32 ld.exe'
-+ # FIXME: first we should search . and the directory the executable is in
-+ shlibpath_var=PATH
-+ ;;
-+
-+darwin* | rhapsody*)
-+ dynamic_linker="$host_os dyld"
-+ version_type=darwin
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-+ soname_spec='${libname}${release}${major}$shared_ext'
-+ shlibpath_overrides_runpath=yes
-+ shlibpath_var=DYLD_LIBRARY_PATH
-+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-+m4_if([$1], [],[
-+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
-+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-+ ;;
-+
-+dgux*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ ;;
-+
-+freebsd1*)
-+ dynamic_linker=no
-+ ;;
-+
-+freebsd* | dragonfly*)
-+ # DragonFly does not have aout. When/if they implement a new
-+ # versioning mechanism, adjust this.
-+ if test -x /usr/bin/objformat; then
-+ objformat=`/usr/bin/objformat`
-+ else
-+ case $host_os in
-+ freebsd[[123]]*) objformat=aout ;;
-+ *) objformat=elf ;;
-+ esac
-+ fi
-+ version_type=freebsd-$objformat
-+ case $version_type in
-+ freebsd-elf*)
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-+ need_version=no
-+ need_lib_prefix=no
-+ ;;
-+ freebsd-*)
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-+ need_version=yes
-+ ;;
-+ esac
-+ shlibpath_var=LD_LIBRARY_PATH
-+ case $host_os in
-+ freebsd2*)
-+ shlibpath_overrides_runpath=yes
-+ ;;
-+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-+ shlibpath_overrides_runpath=yes
-+ hardcode_into_libs=yes
-+ ;;
-+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
-+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
-+ shlibpath_overrides_runpath=no
-+ hardcode_into_libs=yes
-+ ;;
-+ *) # from 4.6 on, and DragonFly
-+ shlibpath_overrides_runpath=yes
-+ hardcode_into_libs=yes
-+ ;;
-+ esac
-+ ;;
-+
-+gnu*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ hardcode_into_libs=yes
-+ ;;
-+
-+hpux9* | hpux10* | hpux11*)
-+ # Give a soname corresponding to the major version so that dld.sl refuses to
-+ # link against other versions.
-+ version_type=sunos
-+ need_lib_prefix=no
-+ need_version=no
-+ case $host_cpu in
-+ ia64*)
-+ shrext_cmds='.so'
-+ hardcode_into_libs=yes
-+ dynamic_linker="$host_os dld.so"
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ if test "X$HPUX_IA64_MODE" = X32; then
-+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-+ else
-+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-+ fi
-+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-+ ;;
-+ hppa*64*)
-+ shrext_cmds='.sl'
-+ hardcode_into_libs=yes
-+ dynamic_linker="$host_os dld.sl"
-+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-+ ;;
-+ *)
-+ shrext_cmds='.sl'
-+ dynamic_linker="$host_os dld.sl"
-+ shlibpath_var=SHLIB_PATH
-+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ ;;
-+ esac
-+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
-+ postinstall_cmds='chmod 555 $lib'
-+ ;;
-+
-+interix[[3-9]]*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ hardcode_into_libs=yes
-+ ;;
-+
-+irix5* | irix6* | nonstopux*)
-+ case $host_os in
-+ nonstopux*) version_type=nonstopux ;;
-+ *)
-+ if test "$lt_cv_prog_gnu_ld" = yes; then
-+ version_type=linux
-+ else
-+ version_type=irix
-+ fi ;;
-+ esac
-+ need_lib_prefix=no
-+ need_version=no
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-+ case $host_os in
-+ irix5* | nonstopux*)
-+ libsuff= shlibsuff=
-+ ;;
-+ *)
-+ case $LD in # libtool.m4 will add one of these switches to LD
-+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-+ libsuff= shlibsuff= libmagic=32-bit;;
-+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-+ libsuff=32 shlibsuff=N32 libmagic=N32;;
-+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
-+ *) libsuff= shlibsuff= libmagic=never-match;;
-+ esac
-+ ;;
-+ esac
-+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-+ shlibpath_overrides_runpath=no
-+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-+ hardcode_into_libs=yes
-+ ;;
-+
-+# No shared lib support for Linux oldld, aout, or coff.
-+linux*oldld* | linux*aout* | linux*coff*)
-+ dynamic_linker=no
-+ ;;
-+
-+# This must be Linux ELF.
-+linux* | k*bsd*-gnu)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # Some binutils ld are patched to set DT_RUNPATH
-+ save_LDFLAGS=$LDFLAGS
-+ save_libdir=$libdir
-+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-+ [shlibpath_overrides_runpath=yes])])
-+ LDFLAGS=$save_LDFLAGS
-+ libdir=$save_libdir
-+
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ hardcode_into_libs=yes
-+
-+ # Append ld.so.conf contents to the search path
-+ if test -f /etc/ld.so.conf; then
-+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-+ fi
-+
-+ # We used to test for /lib/ld.so.1 and disable shared libraries on
-+ # powerpc, because MkLinux only supported shared libraries with the
-+ # GNU dynamic linker. Since this was broken with cross compilers,
-+ # most powerpc-linux boxes support dynamic linking these days and
-+ # people can always --disable-shared, the test was removed, and we
-+ # assume the GNU/Linux dynamic linker is in use.
-+ dynamic_linker='GNU/Linux ld.so'
-+ ;;
-+
-+netbsd*)
-+ version_type=sunos
-+ need_lib_prefix=no
-+ need_version=no
-+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-+ dynamic_linker='NetBSD (a.out) ld.so'
-+ else
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ dynamic_linker='NetBSD ld.elf_so'
-+ fi
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=yes
-+ hardcode_into_libs=yes
-+ ;;
-+
-+newsos6)
-+ version_type=linux
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=yes
-+ ;;
-+
-+*nto* | *qnx*)
-+ version_type=qnx
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ hardcode_into_libs=yes
-+ dynamic_linker='ldqnx.so'
-+ ;;
-+
-+openbsd*)
-+ version_type=sunos
-+ sys_lib_dlsearch_path_spec="/usr/lib"
-+ need_lib_prefix=no
-+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-+ case $host_os in
-+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-+ *) need_version=no ;;
-+ esac
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-+ case $host_os in
-+ openbsd2.[[89]] | openbsd2.[[89]].*)
-+ shlibpath_overrides_runpath=no
-+ ;;
-+ *)
-+ shlibpath_overrides_runpath=yes
-+ ;;
-+ esac
-+ else
-+ shlibpath_overrides_runpath=yes
-+ fi
-+ ;;
-+
-+os2*)
-+ libname_spec='$name'
-+ shrext_cmds=".dll"
-+ need_lib_prefix=no
-+ library_names_spec='$libname${shared_ext} $libname.a'
-+ dynamic_linker='OS/2 ld.exe'
-+ shlibpath_var=LIBPATH
-+ ;;
-+
-+osf3* | osf4* | osf5*)
-+ version_type=osf
-+ need_lib_prefix=no
-+ need_version=no
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-+ ;;
-+
-+rdos*)
-+ dynamic_linker=no
-+ ;;
-+
-+solaris*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=yes
-+ hardcode_into_libs=yes
-+ # ldd complains unless libraries are executable
-+ postinstall_cmds='chmod +x $lib'
-+ ;;
-+
-+sunos4*)
-+ version_type=sunos
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=yes
-+ if test "$with_gnu_ld" = yes; then
-+ need_lib_prefix=no
-+ fi
-+ need_version=yes
-+ ;;
-+
-+sysv4 | sysv4.3*)
-+ version_type=linux
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ case $host_vendor in
-+ sni)
-+ shlibpath_overrides_runpath=no
-+ need_lib_prefix=no
-+ runpath_var=LD_RUN_PATH
-+ ;;
-+ siemens)
-+ need_lib_prefix=no
-+ ;;
-+ motorola)
-+ need_lib_prefix=no
-+ need_version=no
-+ shlibpath_overrides_runpath=no
-+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-+ ;;
-+ esac
-+ ;;
-+
-+sysv4*MP*)
-+ if test -d /usr/nec ;then
-+ version_type=linux
-+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-+ soname_spec='$libname${shared_ext}.$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ fi
-+ ;;
-+
-+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-+ version_type=freebsd-elf
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=yes
-+ hardcode_into_libs=yes
-+ if test "$with_gnu_ld" = yes; then
-+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-+ else
-+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-+ case $host_os in
-+ sco3.2v5*)
-+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-+ ;;
-+ esac
-+ fi
-+ sys_lib_dlsearch_path_spec='/usr/lib'
-+ ;;
-+
-+tpf*)
-+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ hardcode_into_libs=yes
-+ ;;
-+
-+uts4*)
-+ version_type=linux
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ ;;
-+
-+*)
-+ dynamic_linker=no
-+ ;;
-+esac
-+AC_MSG_RESULT([$dynamic_linker])
-+test "$dynamic_linker" = no && can_build_shared=no
-+
-+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-+if test "$GCC" = yes; then
-+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-+fi
-+
-+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-+fi
-+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-+fi
-+
-+_LT_DECL([], [variables_saved_for_relink], [1],
-+ [Variables whose values should be saved in libtool wrapper scripts and
-+ restored at link time])
-+_LT_DECL([], [need_lib_prefix], [0],
-+ [Do we need the "lib" prefix for modules?])
-+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-+_LT_DECL([], [version_type], [0], [Library versioning type])
-+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
-+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-+_LT_DECL([], [shlibpath_overrides_runpath], [0],
-+ [Is shlibpath searched before the hard-coded library search path?])
-+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-+_LT_DECL([], [library_names_spec], [1],
-+ [[List of archive names. First name is the real one, the rest are links.
-+ The last name is the one that the linker finds with -lNAME]])
-+_LT_DECL([], [soname_spec], [1],
-+ [[The coded name of the library, if different from the real name]])
-+_LT_DECL([], [postinstall_cmds], [2],
-+ [Command to use after installation of a shared archive])
-+_LT_DECL([], [postuninstall_cmds], [2],
-+ [Command to use after uninstallation of a shared archive])
-+_LT_DECL([], [finish_cmds], [2],
-+ [Commands used to finish a libtool library installation in a directory])
-+_LT_DECL([], [finish_eval], [1],
-+ [[As "finish_cmds", except a single script fragment to be evaled but
-+ not shown]])
-+_LT_DECL([], [hardcode_into_libs], [0],
-+ [Whether we should hardcode library paths into libraries])
-+_LT_DECL([], [sys_lib_search_path_spec], [2],
-+ [Compile-time system search path for libraries])
-+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
-+ [Run-time system search path for libraries])
-+])# _LT_SYS_DYNAMIC_LINKER
-+
-+
-+# _LT_PATH_TOOL_PREFIX(TOOL)
-+# --------------------------
-+# find a file program which can recognize shared library
-+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-+[m4_require([_LT_DECL_EGREP])dnl
-+AC_MSG_CHECKING([for $1])
-+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-+[case $MAGIC_CMD in
-+[[\\/*] | ?:[\\/]*])
-+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-+ ;;
-+*)
-+ lt_save_MAGIC_CMD="$MAGIC_CMD"
-+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-+dnl $ac_dummy forces splitting on constant user-supplied paths.
-+dnl POSIX.2 word splitting is done only on the output of word expansions,
-+dnl not every word. This closes a longstanding sh security hole.
-+ ac_dummy="m4_if([$2], , $PATH, [$2])"
-+ for ac_dir in $ac_dummy; do
-+ IFS="$lt_save_ifs"
-+ test -z "$ac_dir" && ac_dir=.
-+ if test -f $ac_dir/$1; then
-+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
-+ if test -n "$file_magic_test_file"; then
-+ case $deplibs_check_method in
-+ "file_magic "*)
-+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-+ $EGREP "$file_magic_regex" > /dev/null; then
-+ :
-+ else
-+ cat <<_LT_EOF 1>&2
-+
-+*** Warning: the command libtool uses to detect shared libraries,
-+*** $file_magic_cmd, produces output that libtool cannot recognize.
-+*** The result is that libtool may fail to recognize shared libraries
-+*** as such. This will affect the creation of libtool libraries that
-+*** depend on shared libraries, but programs linked with such libtool
-+*** libraries will work regardless of this problem. Nevertheless, you
-+*** may want to report the problem to your system manager and/or to
-+*** bug-libtool@gnu.org
-+
-+_LT_EOF
-+ fi ;;
-+ esac
-+ fi
-+ break
-+ fi
-+ done
-+ IFS="$lt_save_ifs"
-+ MAGIC_CMD="$lt_save_MAGIC_CMD"
-+ ;;
-+esac])
-+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-+if test -n "$MAGIC_CMD"; then
-+ AC_MSG_RESULT($MAGIC_CMD)
-+else
-+ AC_MSG_RESULT(no)
-+fi
-+_LT_DECL([], [MAGIC_CMD], [0],
-+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-+])# _LT_PATH_TOOL_PREFIX
-+
-+# Old name:
-+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-+
-+
-+# _LT_PATH_MAGIC
-+# --------------
-+# find a file program which can recognize a shared library
-+m4_defun([_LT_PATH_MAGIC],
-+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-+if test -z "$lt_cv_path_MAGIC_CMD"; then
-+ if test -n "$ac_tool_prefix"; then
-+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-+ else
-+ MAGIC_CMD=:
-+ fi
-+fi
-+])# _LT_PATH_MAGIC
-+
-+
-+# LT_PATH_LD
-+# ----------
-+# find the pathname to the GNU or non-GNU linker
-+AC_DEFUN([LT_PATH_LD],
-+[AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+m4_require([_LT_DECL_SED])dnl
-+m4_require([_LT_DECL_EGREP])dnl
-+
-+AC_ARG_WITH([gnu-ld],
-+ [AS_HELP_STRING([--with-gnu-ld],
-+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
-+ [test "$withval" = no || with_gnu_ld=yes],
-+ [with_gnu_ld=no])dnl
-+
-+ac_prog=ld
-+if test "$GCC" = yes; then
-+ # Check if gcc -print-prog-name=ld gives a path.
-+ AC_MSG_CHECKING([for ld used by $CC])
-+ case $host in
-+ *-*-mingw*)
-+ # gcc leaves a trailing carriage return which upsets mingw
-+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-+ *)
-+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-+ esac
-+ case $ac_prog in
-+ # Accept absolute paths.
-+ [[\\/]]* | ?:[[\\/]]*)
-+ re_direlt='/[[^/]][[^/]]*/\.\./'
-+ # Canonicalize the pathname of ld
-+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-+ done
-+ test -z "$LD" && LD="$ac_prog"
-+ ;;
-+ "")
-+ # If it fails, then pretend we aren't using GCC.
-+ ac_prog=ld
-+ ;;
-+ *)
-+ # If it is relative, then search for the first ld in PATH.
-+ with_gnu_ld=unknown
-+ ;;
-+ esac
-+elif test "$with_gnu_ld" = yes; then
-+ AC_MSG_CHECKING([for GNU ld])
-+else
-+ AC_MSG_CHECKING([for non-GNU ld])
-+fi
-+AC_CACHE_VAL(lt_cv_path_LD,
-+[if test -z "$LD"; then
-+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-+ for ac_dir in $PATH; do
-+ IFS="$lt_save_ifs"
-+ test -z "$ac_dir" && ac_dir=.
-+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-+ lt_cv_path_LD="$ac_dir/$ac_prog"
-+ # Check to see if the program is GNU ld. I'd rather use --version,
-+ # but apparently some variants of GNU ld only accept -v.
-+ # Break only if it was the GNU/non-GNU ld that we prefer.
-+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-+ *GNU* | *'with BFD'*)
-+ test "$with_gnu_ld" != no && break
-+ ;;
-+ *)
-+ test "$with_gnu_ld" != yes && break
-+ ;;
-+ esac
-+ fi
-+ done
-+ IFS="$lt_save_ifs"
-+else
-+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
-+fi])
-+LD="$lt_cv_path_LD"
-+if test -n "$LD"; then
-+ AC_MSG_RESULT($LD)
-+else
-+ AC_MSG_RESULT(no)
-+fi
-+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-+_LT_PATH_LD_GNU
-+AC_SUBST([LD])
-+
-+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-+])# LT_PATH_LD
-+
-+# Old names:
-+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AM_PROG_LD], [])
-+dnl AC_DEFUN([AC_PROG_LD], [])
-+
-+
-+# _LT_PATH_LD_GNU
-+#- --------------
-+m4_defun([_LT_PATH_LD_GNU],
-+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-+case `$LD -v 2>&1 </dev/null` in
-+*GNU* | *'with BFD'*)
-+ lt_cv_prog_gnu_ld=yes
-+ ;;
-+*)
-+ lt_cv_prog_gnu_ld=no
-+ ;;
-+esac])
-+with_gnu_ld=$lt_cv_prog_gnu_ld
-+])# _LT_PATH_LD_GNU
-+
-+
-+# _LT_CMD_RELOAD
-+# --------------
-+# find reload flag for linker
-+# -- PORTME Some linkers may need a different reload flag.
-+m4_defun([_LT_CMD_RELOAD],
-+[AC_CACHE_CHECK([for $LD option to reload object files],
-+ lt_cv_ld_reload_flag,
-+ [lt_cv_ld_reload_flag='-r'])
-+reload_flag=$lt_cv_ld_reload_flag
-+case $reload_flag in
-+"" | " "*) ;;
-+*) reload_flag=" $reload_flag" ;;
-+esac
-+reload_cmds='$LD$reload_flag -o $output$reload_objs'
-+case $host_os in
-+ darwin*)
-+ if test "$GCC" = yes; then
-+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-+ else
-+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
-+ fi
-+ ;;
-+esac
-+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-+_LT_DECL([], [reload_cmds], [2])dnl
-+])# _LT_CMD_RELOAD
-+
-+
-+# _LT_CHECK_MAGIC_METHOD
-+# ----------------------
-+# how to check for library dependencies
-+# -- PORTME fill in with the dynamic library characteristics
-+m4_defun([_LT_CHECK_MAGIC_METHOD],
-+[m4_require([_LT_DECL_EGREP])
-+m4_require([_LT_DECL_OBJDUMP])
-+AC_CACHE_CHECK([how to recognize dependent libraries],
-+lt_cv_deplibs_check_method,
-+[lt_cv_file_magic_cmd='$MAGIC_CMD'
-+lt_cv_file_magic_test_file=
-+lt_cv_deplibs_check_method='unknown'
-+# Need to set the preceding variable on all platforms that support
-+# interlibrary dependencies.
-+# 'none' -- dependencies not supported.
-+# `unknown' -- same as none, but documents that we really don't know.
-+# 'pass_all' -- all dependencies passed with no checks.
-+# 'test_compile' -- check by making test program.
-+# 'file_magic [[regex]]' -- check by looking for files in library path
-+# which responds to the $file_magic_cmd with a given extended regex.
-+# If you have `file' or equivalent on your system and you're not sure
-+# whether `pass_all' will *always* work, you probably want this one.
-+
-+case $host_os in
-+aix[[4-9]]*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+beos*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+bsdi[[45]]*)
-+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-+ lt_cv_file_magic_cmd='/usr/bin/file -L'
-+ lt_cv_file_magic_test_file=/shlib/libc.so
-+ ;;
-+
-+cygwin*)
-+ # func_win32_libid is a shell function defined in ltmain.sh
-+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-+ lt_cv_file_magic_cmd='func_win32_libid'
-+ ;;
-+
-+mingw* | pw32*)
-+ # Base MSYS/MinGW do not provide the 'file' command needed by
-+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
-+ # unless we find 'file', for example because we are cross-compiling.
-+ if ( file / ) >/dev/null 2>&1; then
-+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-+ lt_cv_file_magic_cmd='func_win32_libid'
-+ else
-+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-+ lt_cv_file_magic_cmd='$OBJDUMP -f'
-+ fi
-+ ;;
-+
-+cegcc)
-+ # use the weaker test based on 'objdump'. See mingw*.
-+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-+ lt_cv_file_magic_cmd='$OBJDUMP -f'
-+ ;;
-+
-+darwin* | rhapsody*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+freebsd* | dragonfly*)
-+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-+ case $host_cpu in
-+ i*86 )
-+ # Not sure whether the presence of OpenBSD here was a mistake.
-+ # Let's accept both of them until this is cleared up.
-+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-+ lt_cv_file_magic_cmd=/usr/bin/file
-+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-+ ;;
-+ esac
-+ else
-+ lt_cv_deplibs_check_method=pass_all
-+ fi
-+ ;;
-+
-+gnu*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+hpux10.20* | hpux11*)
-+ lt_cv_file_magic_cmd=/usr/bin/file
-+ case $host_cpu in
-+ ia64*)
-+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-+ ;;
-+ hppa*64*)
-+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
-+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-+ ;;
-+ *)
-+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
-+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
-+ ;;
-+ esac
-+ ;;
-+
-+interix[[3-9]]*)
-+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-+ ;;
-+
-+irix5* | irix6* | nonstopux*)
-+ case $LD in
-+ *-32|*"-32 ") libmagic=32-bit;;
-+ *-n32|*"-n32 ") libmagic=N32;;
-+ *-64|*"-64 ") libmagic=64-bit;;
-+ *) libmagic=never-match;;
-+ esac
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+# This must be Linux ELF.
-+linux* | k*bsd*-gnu)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+netbsd*)
-+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-+ else
-+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
-+ fi
-+ ;;
-+
-+newos6*)
-+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
-+ lt_cv_file_magic_cmd=/usr/bin/file
-+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
-+ ;;
-+
-+*nto* | *qnx*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+openbsd*)
-+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
-+ else
-+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-+ fi
-+ ;;
-+
-+osf3* | osf4* | osf5*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+rdos*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+solaris*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
-+sysv4 | sysv4.3*)
-+ case $host_vendor in
-+ motorola)
-+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
-+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-+ ;;
-+ ncr)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+ sequent)
-+ lt_cv_file_magic_cmd='/bin/file'
-+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
-+ ;;
-+ sni)
-+ lt_cv_file_magic_cmd='/bin/file'
-+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
-+ lt_cv_file_magic_test_file=/lib/libc.so
-+ ;;
-+ siemens)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+ pc)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+ esac
-+ ;;
-+
-+tpf*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+esac
-+])
-+file_magic_cmd=$lt_cv_file_magic_cmd
-+deplibs_check_method=$lt_cv_deplibs_check_method
-+test -z "$deplibs_check_method" && deplibs_check_method=unknown
-+
-+_LT_DECL([], [deplibs_check_method], [1],
-+ [Method to check whether dependent libraries are shared objects])
-+_LT_DECL([], [file_magic_cmd], [1],
-+ [Command to use when deplibs_check_method == "file_magic"])
-+])# _LT_CHECK_MAGIC_METHOD
-+
-+
-+# LT_PATH_NM
-+# ----------
-+# find the pathname to a BSD- or MS-compatible name lister
-+AC_DEFUN([LT_PATH_NM],
-+[AC_REQUIRE([AC_PROG_CC])dnl
-+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-+[if test -n "$NM"; then
-+ # Let the user override the test.
-+ lt_cv_path_NM="$NM"
-+else
-+ lt_nm_to_check="${ac_tool_prefix}nm"
-+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-+ lt_nm_to_check="$lt_nm_to_check nm"
-+ fi
-+ for lt_tmp_nm in $lt_nm_to_check; do
-+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-+ IFS="$lt_save_ifs"
-+ test -z "$ac_dir" && ac_dir=.
-+ tmp_nm="$ac_dir/$lt_tmp_nm"
-+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-+ # Check to see if the nm accepts a BSD-compat flag.
-+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-+ # nm: unknown option "B" ignored
-+ # Tru64's nm complains that /dev/null is an invalid object file
-+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-+ */dev/null* | *'Invalid file or object type'*)
-+ lt_cv_path_NM="$tmp_nm -B"
-+ break
-+ ;;
-+ *)
-+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-+ */dev/null*)
-+ lt_cv_path_NM="$tmp_nm -p"
-+ break
-+ ;;
-+ *)
-+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-+ continue # so that we can try to find one that supports BSD flags
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ fi
-+ done
-+ IFS="$lt_save_ifs"
-+ done
-+ : ${lt_cv_path_NM=no}
-+fi])
-+if test "$lt_cv_path_NM" != "no"; then
-+ NM="$lt_cv_path_NM"
-+else
-+ # Didn't find any BSD compatible name lister, look for dumpbin.
-+ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
-+ AC_SUBST([DUMPBIN])
-+ if test "$DUMPBIN" != ":"; then
-+ NM="$DUMPBIN"
-+ fi
-+fi
-+test -z "$NM" && NM=nm
-+AC_SUBST([NM])
-+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-+
-+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
-+ [lt_cv_nm_interface="BSD nm"
-+ echo "int some_variable = 0;" > conftest.$ac_ext
-+ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
-+ (eval "$ac_compile" 2>conftest.err)
-+ cat conftest.err >&AS_MESSAGE_LOG_FD
-+ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
-+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-+ cat conftest.err >&AS_MESSAGE_LOG_FD
-+ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
-+ cat conftest.out >&AS_MESSAGE_LOG_FD
-+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-+ lt_cv_nm_interface="MS dumpbin"
-+ fi
-+ rm -f conftest*])
-+])# LT_PATH_NM
-+
-+# Old names:
-+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AM_PROG_NM], [])
-+dnl AC_DEFUN([AC_PROG_NM], [])
-+
-+
-+# LT_LIB_M
-+# --------
-+# check for math library
-+AC_DEFUN([LT_LIB_M],
-+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+LIBM=
-+case $host in
-+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
-+ # These system don't have libm, or don't need it
-+ ;;
-+*-ncr-sysv4.3*)
-+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-+ ;;
-+*)
-+ AC_CHECK_LIB(m, cos, LIBM="-lm")
-+ ;;
-+esac
-+AC_SUBST([LIBM])
-+])# LT_LIB_M
-+
-+# Old name:
-+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([AC_CHECK_LIBM], [])
-+
-+
-+# _LT_COMPILER_NO_RTTI([TAGNAME])
-+# -------------------------------
-+m4_defun([_LT_COMPILER_NO_RTTI],
-+[m4_require([_LT_TAG_COMPILER])dnl
-+
-+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-+
-+if test "$GCC" = yes; then
-+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-+
-+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-+ lt_cv_prog_compiler_rtti_exceptions,
-+ [-fno-rtti -fno-exceptions], [],
-+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-+fi
-+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
-+ [Compiler flag to turn off builtin functions])
-+])# _LT_COMPILER_NO_RTTI
-+
-+
-+# _LT_CMD_GLOBAL_SYMBOLS
-+# ----------------------
-+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([LT_PATH_NM])dnl
-+AC_REQUIRE([LT_PATH_LD])dnl
-+m4_require([_LT_DECL_SED])dnl
-+m4_require([_LT_DECL_EGREP])dnl
-+m4_require([_LT_TAG_COMPILER])dnl
-+
-+# Check for command to grab the raw symbol name followed by C symbol from nm.
-+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-+[
-+# These are sane defaults that work on at least a few old systems.
-+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-+
-+# Character class describing NM global symbol codes.
-+symcode='[[BCDEGRST]]'
-+
-+# Regexp to match symbols that can be accessed directly from C.
-+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-+
-+# Define system-specific variables.
-+case $host_os in
-+aix*)
-+ symcode='[[BCDT]]'
-+ ;;
-+cygwin* | mingw* | pw32* | cegcc*)
-+ symcode='[[ABCDGISTW]]'
-+ ;;
-+hpux*)
-+ if test "$host_cpu" = ia64; then
-+ symcode='[[ABCDEGRST]]'
-+ fi
-+ ;;
-+irix* | nonstopux*)
-+ symcode='[[BCDEGRST]]'
-+ ;;
-+osf*)
-+ symcode='[[BCDEGQRST]]'
-+ ;;
-+solaris*)
-+ symcode='[[BDRT]]'
-+ ;;
-+sco3.2v5*)
-+ symcode='[[DT]]'
-+ ;;
-+sysv4.2uw2*)
-+ symcode='[[DT]]'
-+ ;;
-+sysv5* | sco5v6* | unixware* | OpenUNIX*)
-+ symcode='[[ABDT]]'
-+ ;;
-+sysv4)
-+ symcode='[[DFNSTU]]'
-+ ;;
-+esac
-+
-+# If we're using GNU nm, then use its standard symbol codes.
-+case `$NM -V 2>&1` in
-+*GNU* | *'with BFD'*)
-+ symcode='[[ABCDGIRSTW]]' ;;
-+esac
-+
-+# Transform an extracted symbol line into a proper C declaration.
-+# Some systems (esp. on ia64) link data and code symbols differently,
-+# so use this general approach.
-+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-+
-+# Transform an extracted symbol line into symbol name and symbol address
-+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
-+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-+
-+# Handle CRLF in mingw tool chain
-+opt_cr=
-+case $build_os in
-+mingw*)
-+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-+ ;;
-+esac
-+
-+# Try without a prefix underscore, then with it.
-+for ac_symprfx in "" "_"; do
-+
-+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-+ symxfrm="\\1 $ac_symprfx\\2 \\2"
-+
-+ # Write the raw and C identifiers.
-+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-+ # Fake it for dumpbin and say T for any non-static function
-+ # and D for any global variable.
-+ # Also find C++ and __fastcall symbols from MSVC++,
-+ # which start with @ or ?.
-+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
-+" {last_section=section; section=\$ 3};"\
-+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-+" \$ 0!~/External *\|/{next};"\
-+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-+" {if(hide[section]) next};"\
-+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-+" ' prfx=^$ac_symprfx]"
-+ else
-+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-+ fi
-+
-+ # Check to see that the pipe works correctly.
-+ pipe_works=no
-+
-+ rm -f conftest*
-+ cat > conftest.$ac_ext <<_LT_EOF
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+char nm_test_var;
-+void nm_test_func(void);
-+void nm_test_func(void){}
-+#ifdef __cplusplus
-+}
-+#endif
-+int main(){nm_test_var='a';nm_test_func();return(0);}
-+_LT_EOF
-+
-+ if AC_TRY_EVAL(ac_compile); then
-+ # Now try to grab the symbols.
-+ nlist=conftest.nm
-+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
-+ # Try sorting and uniquifying the output.
-+ if sort "$nlist" | uniq > "$nlist"T; then
-+ mv -f "$nlist"T "$nlist"
-+ else
-+ rm -f "$nlist"T
-+ fi
-+
-+ # Make sure that we snagged all the symbols we need.
-+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-+ cat <<_LT_EOF > conftest.$ac_ext
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+_LT_EOF
-+ # Now generate the symbol file.
-+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-+
-+ cat <<_LT_EOF >> conftest.$ac_ext
-+
-+/* The mapping between symbol names and symbols. */
-+const struct {
-+ const char *name;
-+ void *address;
-+}
-+lt__PROGRAM__LTX_preloaded_symbols[[]] =
-+{
-+ { "@PROGRAM@", (void *) 0 },
-+_LT_EOF
-+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-+ cat <<\_LT_EOF >> conftest.$ac_ext
-+ {0, (void *) 0}
-+};
-+
-+/* This works around a problem in FreeBSD linker */
-+#ifdef FREEBSD_WORKAROUND
-+static const void *lt_preloaded_setup() {
-+ return lt__PROGRAM__LTX_preloaded_symbols;
-+}
-+#endif
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+_LT_EOF
-+ # Now try linking the two files.
-+ mv conftest.$ac_objext conftstm.$ac_objext
-+ lt_save_LIBS="$LIBS"
-+ lt_save_CFLAGS="$CFLAGS"
-+ LIBS="conftstm.$ac_objext"
-+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
-+ pipe_works=yes
-+ fi
-+ LIBS="$lt_save_LIBS"
-+ CFLAGS="$lt_save_CFLAGS"
-+ else
-+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-+ fi
-+ else
-+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-+ fi
-+ else
-+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-+ fi
-+ else
-+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-+ cat conftest.$ac_ext >&5
-+ fi
-+ rm -rf conftest* conftst*
-+
-+ # Do not use the global_symbol_pipe unless it works.
-+ if test "$pipe_works" = yes; then
-+ break
-+ else
-+ lt_cv_sys_global_symbol_pipe=
-+ fi
-+done
-+])
-+if test -z "$lt_cv_sys_global_symbol_pipe"; then
-+ lt_cv_sys_global_symbol_to_cdecl=
-+fi
-+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-+ AC_MSG_RESULT(failed)
-+else
-+ AC_MSG_RESULT(ok)
-+fi
-+
-+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
-+ [Take the output of nm and produce a listing of raw symbols and C names])
-+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
-+ [Transform the output of nm in a proper C declaration])
-+_LT_DECL([global_symbol_to_c_name_address],
-+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
-+ [Transform the output of nm in a C name address pair])
-+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
-+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
-+ [Transform the output of nm in a C name address pair when lib prefix is needed])
-+]) # _LT_CMD_GLOBAL_SYMBOLS
-+
-+
-+# _LT_COMPILER_PIC([TAGNAME])
-+# ---------------------------
-+m4_defun([_LT_COMPILER_PIC],
-+[m4_require([_LT_TAG_COMPILER])dnl
-+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-+_LT_TAGVAR(lt_prog_compiler_static, $1)=
-+
-+AC_MSG_CHECKING([for $compiler option to produce PIC])
-+m4_if([$1], [CXX], [
-+ # C++ specific cases for pic, static, wl, etc.
-+ if test "$GXX" = yes; then
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-+
-+ case $host_os in
-+ aix*)
-+ # All AIX code is PIC.
-+ if test "$host_cpu" = ia64; then
-+ # AIX 5 now supports IA64 processor
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ fi
-+ ;;
-+
-+ amigaos*)
-+ case $host_cpu in
-+ powerpc)
-+ # see comment about AmigaOS4 .so support
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+ ;;
-+ m68k)
-+ # FIXME: we need at least 68020 code to build shared libraries, but
-+ # adding the `-m68020' flag to GCC prevents building anything better,
-+ # like `-m68040'.
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-+ ;;
-+ esac
-+ ;;
-+
-+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-+ # PIC is the default for these OSes.
-+ ;;
-+ mingw* | cygwin* | os2* | pw32* | cegcc*)
-+ # This hack is so that the source file can tell whether it is being
-+ # built for inclusion in a dll (and should export symbols for example).
-+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
-+ # (--disable-auto-import) libraries
-+ m4_if([$1], [GCJ], [],
-+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-+ ;;
-+ darwin* | rhapsody*)
-+ # PIC is the default on this platform
-+ # Common symbols not allowed in MH_DYLIB files
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-+ ;;
-+ *djgpp*)
-+ # DJGPP does not support shared libraries at all
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-+ ;;
-+ interix[[3-9]]*)
-+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-+ # Instead, we relocate shared libraries at runtime.
-+ ;;
-+ sysv4*MP*)
-+ if test -d /usr/nec; then
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-+ fi
-+ ;;
-+ hpux*)
-+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
-+ # sets the default TLS model and affects inlining.
-+ case $host_cpu in
-+ hppa*64*)
-+ ;;
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+ ;;
-+ esac
-+ ;;
-+ *qnx* | *nto*)
-+ # QNX uses GNU C++, but need to define -shared option too, otherwise
-+ # it will coredump.
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-+ ;;
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+ ;;
-+ esac
-+ else
-+ case $host_os in
-+ aix[[4-9]]*)
-+ # All AIX code is PIC.
-+ if test "$host_cpu" = ia64; then
-+ # AIX 5 now supports IA64 processor
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ else
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-+ fi
-+ ;;
-+ chorus*)
-+ case $cc_basename in
-+ cxch68*)
-+ # Green Hills C++ Compiler
-+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-+ ;;
-+ esac
-+ ;;
-+ dgux*)
-+ case $cc_basename in
-+ ec++*)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ ;;
-+ ghcx*)
-+ # Green Hills C++ Compiler
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-+ ;;
-+ *)
-+ ;;
-+ esac
-+ ;;
-+ freebsd* | dragonfly*)
-+ # FreeBSD uses GNU C++
-+ ;;
-+ hpux9* | hpux10* | hpux11*)
-+ case $cc_basename in
-+ CC*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-+ if test "$host_cpu" != ia64; then
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-+ fi
-+ ;;
-+ aCC*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-+ case $host_cpu in
-+ hppa*64*|ia64*)
-+ # +Z the default
-+ ;;
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-+ ;;
-+ esac
-+ ;;
-+ *)
-+ ;;
-+ esac
-+ ;;
-+ interix*)
-+ # This is c89, which is MS Visual C++ (no shared libs)
-+ # Anyone wants to do a port?
-+ ;;
-+ irix5* | irix6* | nonstopux*)
-+ case $cc_basename in
-+ CC*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-+ # CC pic flag -KPIC is the default.
-+ ;;
-+ *)
-+ ;;
-+ esac
-+ ;;
-+ linux* | k*bsd*-gnu)
-+ case $cc_basename in
-+ KCC*)
-+ # KAI C++ Compiler
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+ ;;
-+ ecpc* )
-+ # old Intel C++ for x86_64 which still supported -KPIC.
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-+ ;;
-+ icpc* )
-+ # Intel C++, used to be incompatible with GCC.
-+ # ICC 10 doesn't accept -KPIC any more.
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-+ ;;
-+ pgCC* | pgcpp*)
-+ # Portland Group C++ compiler
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ ;;
-+ cxx*)
-+ # Compaq C++
-+ # Make sure the PIC flag is empty. It appears that all Alpha
-+ # Linux and Compaq Tru64 Unix objects are PIC.
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-+ ;;
-+ xlc* | xlC*)
-+ # IBM XL 8.0 on PPC
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-+ ;;
-+ *)
-+ case `$CC -V 2>&1 | sed 5q` in
-+ *Sun\ C*)
-+ # Sun C++ 5.9
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ ;;
-+ lynxos*)
-+ ;;
-+ m88k*)
-+ ;;
-+ mvs*)
-+ case $cc_basename in
-+ cxx*)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-+ ;;
-+ *)
-+ ;;
-+ esac
-+ ;;
-+ netbsd*)
-+ ;;
-+ *qnx* | *nto*)
-+ # QNX uses GNU C++, but need to define -shared option too, otherwise
-+ # it will coredump.
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-+ ;;
-+ osf3* | osf4* | osf5*)
-+ case $cc_basename in
-+ KCC*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-+ ;;
-+ RCC*)
-+ # Rational C++ 2.4.1
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-+ ;;
-+ cxx*)
-+ # Digital/Compaq C++
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ # Make sure the PIC flag is empty. It appears that all Alpha
-+ # Linux and Compaq Tru64 Unix objects are PIC.
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-+ ;;
-+ *)
-+ ;;
-+ esac
-+ ;;
-+ psos*)
-+ ;;
-+ solaris*)
-+ case $cc_basename in
-+ CC*)
-+ # Sun C++ 4.2, 5.x and Centerline C++
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-+ ;;
-+ gcx*)
-+ # Green Hills C++ Compiler
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-+ ;;
-+ *)
-+ ;;
-+ esac
-+ ;;
-+ sunos4*)
-+ case $cc_basename in
-+ CC*)
-+ # Sun C++ 4.x
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ ;;
-+ lcc*)
-+ # Lucid
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-+ ;;
-+ *)
-+ ;;
-+ esac
-+ ;;
-+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-+ case $cc_basename in
-+ CC*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ ;;
-+ esac
-+ ;;
-+ tandem*)
-+ case $cc_basename in
-+ NCC*)
-+ # NonStop-UX NCC 3.20
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ ;;
-+ *)
-+ ;;
-+ esac
-+ ;;
-+ vxworks*)
-+ ;;
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-+ ;;
-+ esac
-+ fi
-+],
-+[
-+ if test "$GCC" = yes; then
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-+
-+ case $host_os in
-+ aix*)
-+ # All AIX code is PIC.
-+ if test "$host_cpu" = ia64; then
-+ # AIX 5 now supports IA64 processor
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ fi
-+ ;;
-+
-+ amigaos*)
-+ case $host_cpu in
-+ powerpc)
-+ # see comment about AmigaOS4 .so support
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+ ;;
-+ m68k)
-+ # FIXME: we need at least 68020 code to build shared libraries, but
-+ # adding the `-m68020' flag to GCC prevents building anything better,
-+ # like `-m68040'.
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-+ ;;
-+ esac
-+ ;;
-+
-+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-+ # PIC is the default for these OSes.
-+ ;;
-+
-+ mingw* | cygwin* | pw32* | os2* | cegcc*)
-+ # This hack is so that the source file can tell whether it is being
-+ # built for inclusion in a dll (and should export symbols for example).
-+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
-+ # (--disable-auto-import) libraries
-+ m4_if([$1], [GCJ], [],
-+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-+ ;;
-+
-+ darwin* | rhapsody*)
-+ # PIC is the default on this platform
-+ # Common symbols not allowed in MH_DYLIB files
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-+ ;;
-+
-+ hpux*)
-+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
-+ # sets the default TLS model and affects inlining.
-+ case $host_cpu in
-+ hppa*64*)
-+ # +Z the default
-+ ;;
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+ ;;
-+ esac
-+ ;;
-+
-+ interix[[3-9]]*)
-+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-+ # Instead, we relocate shared libraries at runtime.
-+ ;;
-+
-+ msdosdjgpp*)
-+ # Just because we use GCC doesn't mean we suddenly get shared libraries
-+ # on systems that don't support them.
-+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-+ enable_shared=no
-+ ;;
-+
-+ *nto* | *qnx*)
-+ # QNX uses GNU C++, but need to define -shared option too, otherwise
-+ # it will coredump.
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-+ ;;
-+
-+ sysv4*MP*)
-+ if test -d /usr/nec; then
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-+ fi
-+ ;;
-+
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+ ;;
-+ esac
-+ else
-+ # PORTME Check for flag to pass linker flags through the system compiler.
-+ case $host_os in
-+ aix*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ if test "$host_cpu" = ia64; then
-+ # AIX 5 now supports IA64 processor
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ else
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-+ fi
-+ ;;
-+
-+ mingw* | cygwin* | pw32* | os2* | cegcc*)
-+ # This hack is so that the source file can tell whether it is being
-+ # built for inclusion in a dll (and should export symbols for example).
-+ m4_if([$1], [GCJ], [],
-+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-+ ;;
-+
-+ hpux9* | hpux10* | hpux11*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-+ # not for PA HP-UX.
-+ case $host_cpu in
-+ hppa*64*|ia64*)
-+ # +Z the default
-+ ;;
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-+ ;;
-+ esac
-+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-+ ;;
-+
-+ irix5* | irix6* | nonstopux*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ # PIC (with -KPIC) is the default.
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-+ ;;
-+
-+ linux* | k*bsd*-gnu)
-+ case $cc_basename in
-+ # old Intel for x86_64 which still supported -KPIC.
-+ ecc*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-+ ;;
-+ # icc used to be incompatible with GCC.
-+ # ICC 10 doesn't accept -KPIC any more.
-+ icc* | ifort*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-+ ;;
-+ # Lahey Fortran 8.1.
-+ lf95*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
-+ ;;
-+ pgcc* | pgf77* | pgf90* | pgf95*)
-+ # Portland Group compilers (*not* the Pentium gcc compiler,
-+ # which looks to be a dead project)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ ;;
-+ ccc*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ # All Alpha code is PIC.
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-+ ;;
-+ xl*)
-+ # IBM XL C 8.0/Fortran 10.1 on PPC
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-+ ;;
-+ *)
-+ case `$CC -V 2>&1 | sed 5q` in
-+ *Sun\ C*)
-+ # Sun C 5.9
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ ;;
-+ *Sun\ F*)
-+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ ;;
-+
-+ newsos6)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ ;;
-+
-+ *nto* | *qnx*)
-+ # QNX uses GNU C++, but need to define -shared option too, otherwise
-+ # it will coredump.
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-+ ;;
-+
-+ osf3* | osf4* | osf5*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ # All OSF/1 code is PIC.
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-+ ;;
-+
-+ rdos*)
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-+ ;;
-+
-+ solaris*)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ case $cc_basename in
-+ f77* | f90* | f95*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-+ esac
-+ ;;
-+
-+ sunos4*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ ;;
-+
-+ sysv4 | sysv4.2uw2* | sysv4.3*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ ;;
-+
-+ sysv4*MP*)
-+ if test -d /usr/nec ;then
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ fi
-+ ;;
-+
-+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ ;;
-+
-+ unicos*)
-+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-+ ;;
-+
-+ uts4*)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+ ;;
-+
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-+ ;;
-+ esac
-+ fi
-+])
-+case $host_os in
-+ # For platforms which do not support PIC, -DPIC is meaningless:
-+ *djgpp*)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-+ ;;
-+ *)
-+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
-+ ;;
-+esac
-+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
-+ [How to pass a linker flag through the compiler])
-+
-+#
-+# Check to make sure the PIC flag actually works.
-+#
-+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
-+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
-+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
-+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
-+ "" | " "*) ;;
-+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-+ esac],
-+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-+fi
-+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
-+ [Additional compiler flags for building library objects])
-+
-+#
-+# Check to make sure the static flag actually works.
-+#
-+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-+ $lt_tmp_static_flag,
-+ [],
-+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
-+ [Compiler flag to prevent dynamic linking])
-+])# _LT_COMPILER_PIC
-+
-+
-+# _LT_LINKER_SHLIBS([TAGNAME])
-+# ----------------------------
-+# See if the linker supports building shared libraries.
-+m4_defun([_LT_LINKER_SHLIBS],
-+[AC_REQUIRE([LT_PATH_LD])dnl
-+AC_REQUIRE([LT_PATH_NM])dnl
-+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+m4_require([_LT_DECL_EGREP])dnl
-+m4_require([_LT_DECL_SED])dnl
-+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-+m4_require([_LT_TAG_COMPILER])dnl
-+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-+m4_if([$1], [CXX], [
-+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-+ case $host_os in
-+ aix[[4-9]]*)
-+ # If we're using GNU nm, then we don't want the "-C" option.
-+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
-+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-+ else
-+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-+ fi
-+ ;;
-+ pw32*)
-+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-+ ;;
-+ cygwin* | mingw* | cegcc*)
-+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-+ ;;
-+ *)
-+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-+ ;;
-+ esac
-+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-+], [
-+ runpath_var=
-+ _LT_TAGVAR(allow_undefined_flag, $1)=
-+ _LT_TAGVAR(always_export_symbols, $1)=no
-+ _LT_TAGVAR(archive_cmds, $1)=
-+ _LT_TAGVAR(archive_expsym_cmds, $1)=
-+ _LT_TAGVAR(compiler_needs_object, $1)=no
-+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-+ _LT_TAGVAR(hardcode_automatic, $1)=no
-+ _LT_TAGVAR(hardcode_direct, $1)=no
-+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
-+ _LT_TAGVAR(hardcode_minus_L, $1)=no
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-+ _LT_TAGVAR(inherit_rpath, $1)=no
-+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
-+ _LT_TAGVAR(module_cmds, $1)=
-+ _LT_TAGVAR(module_expsym_cmds, $1)=
-+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
-+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
-+ # include_expsyms should be a list of space-separated symbols to be *always*
-+ # included in the symbol list
-+ _LT_TAGVAR(include_expsyms, $1)=
-+ # exclude_expsyms can be an extended regexp of symbols to exclude
-+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
-+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-+ # as well as any symbol that contains `d'.
-+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-+ # platforms (ab)use it in PIC code, but their linkers get confused if
-+ # the symbol is explicitly referenced. Since portable code cannot
-+ # rely on this symbol name, it's probably fine to never include it in
-+ # preloaded symbol tables.
-+ # Exclude shared library initialization/finalization symbols.
-+dnl Note also adjust exclude_expsyms for C++ above.
-+ extract_expsyms_cmds=
-+
-+ case $host_os in
-+ cygwin* | mingw* | pw32* | cegcc*)
-+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
-+ # When not using gcc, we currently assume that we are using
-+ # Microsoft Visual C++.
-+ if test "$GCC" != yes; then
-+ with_gnu_ld=no
-+ fi
-+ ;;
-+ interix*)
-+ # we just hope/assume this is gcc and not c89 (= MSVC++)
-+ with_gnu_ld=yes
-+ ;;
-+ openbsd*)
-+ with_gnu_ld=no
-+ ;;
-+ esac
-+
-+ _LT_TAGVAR(ld_shlibs, $1)=yes
-+ if test "$with_gnu_ld" = yes; then
-+ # If archive_cmds runs LD, not CC, wlarc should be empty
-+ wlarc='${wl}'
-+
-+ # Set some defaults for GNU ld with shared library support. These
-+ # are reset later if shared libraries are not supported. Putting them
-+ # here allows them to be overridden if necessary.
-+ runpath_var=LD_RUN_PATH
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-+ # ancient GNU ld didn't support --whole-archive et. al.
-+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-+ else
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
-+ fi
-+ supports_anon_versioning=no
-+ case `$LD -v 2>&1` in
-+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-+ *\ 2.11.*) ;; # other 2.11 versions
-+ *) supports_anon_versioning=yes ;;
-+ esac
-+
-+ # See if GNU ld supports shared libraries.
-+ case $host_os in
-+ aix[[3-9]]*)
-+ # On AIX/PPC, the GNU linker is very broken
-+ if test "$host_cpu" != ia64; then
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ cat <<_LT_EOF 1>&2
-+
-+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-+*** to be unable to reliably create shared libraries on AIX.
-+*** Therefore, libtool is disabling shared libraries support. If you
-+*** really care for shared libraries, you may want to modify your PATH
-+*** so that a non-GNU linker is found, and then restart.
-+
-+_LT_EOF
-+ fi
-+ ;;
-+
-+ amigaos*)
-+ case $host_cpu in
-+ powerpc)
-+ # see comment about AmigaOS4 .so support
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
-+ ;;
-+ m68k)
-+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ ;;
-+ esac
-+ ;;
-+
-+ beos*)
-+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-+ # support --undefined. This deserves some investigation. FIXME
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+
-+ cygwin* | mingw* | pw32* | cegcc*)
-+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-+ # as there is no search path for DLLs.
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+ _LT_TAGVAR(always_export_symbols, $1)=no
-+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-+
-+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-+ # If the export-symbols file already is a .def file (1st line
-+ # is EXPORTS), use it as is; otherwise, prepend...
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-+ cp $export_symbols $output_objdir/$soname.def;
-+ else
-+ echo EXPORTS > $output_objdir/$soname.def;
-+ cat $export_symbols >> $output_objdir/$soname.def;
-+ fi~
-+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+
-+ interix[[3-9]]*)
-+ _LT_TAGVAR(hardcode_direct, $1)=no
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-+ # Instead, shared libraries are loaded at an image base (0x10000000 by
-+ # default) and relocated if they conflict, which is a slow very memory
-+ # consuming and fragmenting process. To avoid this, we pick a random,
-+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-+ ;;
-+
-+ gnu* | linux* | tpf* | k*bsd*-gnu)
-+ tmp_diet=no
-+ if test "$host_os" = linux-dietlibc; then
-+ case $cc_basename in
-+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
-+ esac
-+ fi
-+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-+ && test "$tmp_diet" = no
-+ then
-+ tmp_addflag=
-+ tmp_sharedflag='-shared'
-+ case $cc_basename,$host_cpu in
-+ pgcc*) # Portland Group C compiler
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-+ tmp_addflag=' $pic_flag'
-+ ;;
-+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-+ tmp_addflag=' $pic_flag -Mnomain' ;;
-+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
-+ tmp_addflag=' -i_dynamic' ;;
-+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
-+ tmp_addflag=' -i_dynamic -nofor_main' ;;
-+ ifc* | ifort*) # Intel Fortran compiler
-+ tmp_addflag=' -nofor_main' ;;
-+ lf95*) # Lahey Fortran 8.1
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
-+ tmp_sharedflag='--shared' ;;
-+ xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-+ tmp_sharedflag='-qmkshrobj'
-+ tmp_addflag= ;;
-+ esac
-+ case `$CC -V 2>&1 | sed 5q` in
-+ *Sun\ C*) # Sun C 5.9
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-+ _LT_TAGVAR(compiler_needs_object, $1)=yes
-+ tmp_sharedflag='-G' ;;
-+ *Sun\ F*) # Sun Fortran 8.3
-+ tmp_sharedflag='-G' ;;
-+ esac
-+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+
-+ if test "x$supports_anon_versioning" = xyes; then
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-+ echo "local: *; };" >> $output_objdir/$libname.ver~
-+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-+ fi
-+
-+ case $cc_basename in
-+ xlf*)
-+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-+ if test "x$supports_anon_versioning" = xyes; then
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-+ echo "local: *; };" >> $output_objdir/$libname.ver~
-+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-+ fi
-+ ;;
-+ esac
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+
-+ netbsd*)
-+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-+ wlarc=
-+ else
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+ fi
-+ ;;
-+
-+ solaris*)
-+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ cat <<_LT_EOF 1>&2
-+
-+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-+*** create shared libraries on Solaris systems. Therefore, libtool
-+*** is disabling shared libraries support. We urge you to upgrade GNU
-+*** binutils to release 2.9.1 or newer. Another option is to modify
-+*** your PATH or compiler configuration so that the native linker is
-+*** used, and then restart.
-+
-+_LT_EOF
-+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+
-+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-+ case `$LD -v 2>&1` in
-+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ cat <<_LT_EOF 1>&2
-+
-+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-+*** reliably create shared libraries on SCO systems. Therefore, libtool
-+*** is disabling shared libraries support. We urge you to upgrade GNU
-+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-+*** your PATH or compiler configuration so that the native linker is
-+*** used, and then restart.
-+
-+_LT_EOF
-+ ;;
-+ *)
-+ # For security reasons, it is highly recommended that you always
-+ # use absolute paths for naming shared libraries, and exclude the
-+ # DT_RUNPATH tag from executables and libraries. But doing so
-+ # requires that you compile everything twice, which is a pain.
-+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+ esac
-+ ;;
-+
-+ sunos4*)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-+ wlarc=
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ *)
-+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+ esac
-+
-+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
-+ runpath_var=
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
-+ fi
-+ else
-+ # PORTME fill in a description of your system's linker (not GNU ld)
-+ case $host_os in
-+ aix3*)
-+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+ _LT_TAGVAR(always_export_symbols, $1)=yes
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-+ # Note: this linker hardcodes the directories in LIBPATH if there
-+ # are no directories specified by -L.
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-+ # Neither direct hardcoding nor static linking is supported with a
-+ # broken collect2.
-+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
-+ fi
-+ ;;
-+
-+ aix[[4-9]]*)
-+ if test "$host_cpu" = ia64; then
-+ # On IA64, the linker does run time linking by default, so we don't
-+ # have to do anything special.
-+ aix_use_runtimelinking=no
-+ exp_sym_flag='-Bexport'
-+ no_entry_flag=""
-+ else
-+ # If we're using GNU nm, then we don't want the "-C" option.
-+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
-+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-+ else
-+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-+ fi
-+ aix_use_runtimelinking=no
-+
-+ # Test if we are trying to use run time linking or normal
-+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-+ # need to do runtime linking.
-+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-+ for ld_flag in $LDFLAGS; do
-+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-+ aix_use_runtimelinking=yes
-+ break
-+ fi
-+ done
-+ ;;
-+ esac
-+
-+ exp_sym_flag='-bexport'
-+ no_entry_flag='-bnoentry'
-+ fi
-+
-+ # When large executables or shared objects are built, AIX ld can
-+ # have problems creating the table of contents. If linking a library
-+ # or program results in "error TOC overflow" add -mminimal-toc to
-+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
-+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-+
-+ _LT_TAGVAR(archive_cmds, $1)=''
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-+ _LT_TAGVAR(link_all_deplibs, $1)=yes
-+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-+
-+ if test "$GCC" = yes; then
-+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
-+ # We only want to do this on AIX 4.2 and lower, the check
-+ # below for broken collect2 doesn't work under 4.3+
-+ collect2name=`${CC} -print-prog-name=collect2`
-+ if test -f "$collect2name" &&
-+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-+ then
-+ # We have reworked collect2
-+ :
-+ else
-+ # We have old collect2
-+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
-+ # It fails to find uninstalled libraries when the uninstalled
-+ # path is not listed in the libpath. Setting hardcode_minus_L
-+ # to unsupported forces relinking
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
-+ fi
-+ ;;
-+ esac
-+ shared_flag='-shared'
-+ if test "$aix_use_runtimelinking" = yes; then
-+ shared_flag="$shared_flag "'${wl}-G'
-+ fi
-+ else
-+ # not using gcc
-+ if test "$host_cpu" = ia64; then
-+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-+ # chokes on -Wl,-G. The following line is correct:
-+ shared_flag='-G'
-+ else
-+ if test "$aix_use_runtimelinking" = yes; then
-+ shared_flag='${wl}-G'
-+ else
-+ shared_flag='${wl}-bM:SRE'
-+ fi
-+ fi
-+ fi
-+
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
-+ # It seems that -bexpall does not export symbols beginning with
-+ # underscore (_), so it is better to generate a list of symbols to export.
-+ _LT_TAGVAR(always_export_symbols, $1)=yes
-+ if test "$aix_use_runtimelinking" = yes; then
-+ # Warning - without using the other runtime loading flags (-brtl),
-+ # -berok will link without error, but may produce a broken library.
-+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-+ # Determine the default libpath from the value encoded in an
-+ # empty executable.
-+ _LT_SYS_MODULE_PATH_AIX
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-+ else
-+ if test "$host_cpu" = ia64; then
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-+ else
-+ # Determine the default libpath from the value encoded in an
-+ # empty executable.
-+ _LT_SYS_MODULE_PATH_AIX
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-+ # Warning - without using the other run time loading flags,
-+ # -berok will link without error, but may produce a broken library.
-+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-+ # Exported symbols can be pulled into shared objects from archives
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-+ # This is similar to how AIX traditionally builds its shared libraries.
-+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-+ fi
-+ fi
-+ ;;
-+
-+ amigaos*)
-+ case $host_cpu in
-+ powerpc)
-+ # see comment about AmigaOS4 .so support
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
-+ ;;
-+ m68k)
-+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ ;;
-+ esac
-+ ;;
-+
-+ bsdi[[45]]*)
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-+ ;;
-+
-+ cygwin* | mingw* | pw32* | cegcc*)
-+ # When not using gcc, we currently assume that we are using
-+ # Microsoft Visual C++.
-+ # hardcode_libdir_flag_spec is actually meaningless, as there is
-+ # no search path for DLLs.
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+ # Tell ltmain to make .lib files, not .a files.
-+ libext=lib
-+ # Tell ltmain to make .dll files, not .so files.
-+ shrext_cmds=".dll"
-+ # FIXME: Setting linknames here is a bad hack.
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-+ # The linker will automatically build a .lib file if we build a DLL.
-+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-+ # FIXME: Should let the user specify the lib program.
-+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-+ _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+ ;;
-+
-+ darwin* | rhapsody*)
-+ _LT_DARWIN_LINKER_FEATURES($1)
-+ ;;
-+
-+ dgux*)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ freebsd1*)
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+
-+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-+ # support. Future versions do this automatically, but an explicit c++rt0.o
-+ # does not break anything, and helps significantly (at the cost of a little
-+ # extra space).
-+ freebsd2.2*)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-+ freebsd2*)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-+ freebsd* | dragonfly*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ hpux9*)
-+ if test "$GCC" = yes; then
-+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-+ else
-+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-+ fi
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+
-+ # hardcode_minus_L: Not really in the search PATH,
-+ # but as the default location of the library.
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+ ;;
-+
-+ hpux10*)
-+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-+ else
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-+ fi
-+ if test "$with_gnu_ld" = no; then
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+ # hardcode_minus_L: Not really in the search PATH,
-+ # but as the default location of the library.
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ fi
-+ ;;
-+
-+ hpux11*)
-+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-+ case $host_cpu in
-+ hppa*64*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ ia64*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ *)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ esac
-+ else
-+ case $host_cpu in
-+ hppa*64*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ ia64*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ *)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ esac
-+ fi
-+ if test "$with_gnu_ld" = no; then
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+
-+ case $host_cpu in
-+ hppa*64*|ia64*)
-+ _LT_TAGVAR(hardcode_direct, $1)=no
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+ *)
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+
-+ # hardcode_minus_L: Not really in the search PATH,
-+ # but as the default location of the library.
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ ;;
-+ esac
-+ fi
-+ ;;
-+
-+ irix5* | irix6* | nonstopux*)
-+ if test "$GCC" = yes; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-+ # Try to use the -exported_symbol ld option, if it does not
-+ # work, assume that -exports_file does not work either and
-+ # implicitly export all symbols.
-+ save_LDFLAGS="$LDFLAGS"
-+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-+ AC_LINK_IFELSE(int foo(void) {},
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-+ )
-+ LDFLAGS="$save_LDFLAGS"
-+ else
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-+ fi
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+ _LT_TAGVAR(inherit_rpath, $1)=yes
-+ _LT_TAGVAR(link_all_deplibs, $1)=yes
-+ ;;
-+
-+ netbsd*)
-+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
-+ else
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
-+ fi
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ newsos6)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ *nto* | *qnx*)
-+ ;;
-+
-+ openbsd*)
-+ if test -f /usr/libexec/ld.so; then
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+ else
-+ case $host_os in
-+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-+ ;;
-+ *)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-+ ;;
-+ esac
-+ fi
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+
-+ os2*)
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-+ ;;
-+
-+ osf3*)
-+ if test "$GCC" = yes; then
-+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-+ else
-+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-+ fi
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+ ;;
-+
-+ osf4* | osf5*) # as osf3* with the addition of -msym flag
-+ if test "$GCC" = yes; then
-+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ else
-+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-+
-+ # Both c and cxx compiler support -rpath directly
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-+ fi
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+ ;;
-+
-+ solaris*)
-+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
-+ if test "$GCC" = yes; then
-+ wlarc='${wl}'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-+ else
-+ case `$CC -V 2>&1` in
-+ *"Compilers 5.0"*)
-+ wlarc=''
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-+ ;;
-+ *)
-+ wlarc='${wl}'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-+ ;;
-+ esac
-+ fi
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ case $host_os in
-+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-+ *)
-+ # The compiler driver will combine and reorder linker options,
-+ # but understands `-z linker_flag'. GCC discards it without `$wl',
-+ # but is careful enough not to reorder.
-+ # Supported since Solaris 2.6 (maybe 2.5.1?)
-+ if test "$GCC" = yes; then
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-+ else
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-+ fi
-+ ;;
-+ esac
-+ _LT_TAGVAR(link_all_deplibs, $1)=yes
-+ ;;
-+
-+ sunos4*)
-+ if test "x$host_vendor" = xsequent; then
-+ # Use $CC to link under sequent, because it throws in some extra .o
-+ # files that make .init and .fini sections work.
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-+ else
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-+ fi
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ sysv4)
-+ case $host_vendor in
-+ sni)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-+ ;;
-+ siemens)
-+ ## LD is ld it makes a PLAMLIB
-+ ## CC just makes a GrossModule.
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-+ _LT_TAGVAR(hardcode_direct, $1)=no
-+ ;;
-+ motorola)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-+ ;;
-+ esac
-+ runpath_var='LD_RUN_PATH'
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ sysv4.3*)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-+ ;;
-+
-+ sysv4*MP*)
-+ if test -d /usr/nec; then
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ runpath_var=LD_RUN_PATH
-+ hardcode_runpath_var=yes
-+ _LT_TAGVAR(ld_shlibs, $1)=yes
-+ fi
-+ ;;
-+
-+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ runpath_var='LD_RUN_PATH'
-+
-+ if test "$GCC" = yes; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ else
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ fi
-+ ;;
-+
-+ sysv5* | sco3.2v5* | sco5v6*)
-+ # Note: We can NOT use -z defs as we might desire, because we do not
-+ # link with -lc, and that would cause any symbols used from libc to
-+ # always be unresolved, which means just about no library would
-+ # ever link correctly. If we're not using GNU ld we use -z text
-+ # though, which does catch some bad symbols but isn't as heavy-handed
-+ # as -z defs.
-+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-+ _LT_TAGVAR(link_all_deplibs, $1)=yes
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-+ runpath_var='LD_RUN_PATH'
-+
-+ if test "$GCC" = yes; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ else
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ fi
-+ ;;
-+
-+ uts4*)
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+
-+ *)
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ esac
-+
-+ if test x$host_vendor = xsni; then
-+ case $host in
-+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
-+ ;;
-+ esac
-+ fi
-+ fi
-+])
-+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-+
-+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-+
-+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-+_LT_DECL([], [extract_expsyms_cmds], [2],
-+ [The commands to extract the exported symbol list from a shared archive])
-+
-+#
-+# Do we need to explicitly link libc?
-+#
-+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-+x|xyes)
-+ # Assume -lc should be added
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-+
-+ if test "$enable_shared" = yes && test "$GCC" = yes; then
-+ case $_LT_TAGVAR(archive_cmds, $1) in
-+ *'~'*)
-+ # FIXME: we may have to deal with multi-command sequences.
-+ ;;
-+ '$CC '*)
-+ # Test whether the compiler implicitly links with -lc since on some
-+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
-+ # to ld, don't add -lc before -lgcc.
-+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-+ $RM conftest*
-+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-+
-+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-+ soname=conftest
-+ lib=conftest
-+ libobjs=conftest.$ac_objext
-+ deplibs=
-+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
-+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
-+ compiler_flags=-v
-+ linker_flags=-v
-+ verstring=
-+ output_objdir=.
-+ libname=conftest
-+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
-+ _LT_TAGVAR(allow_undefined_flag, $1)=
-+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
-+ then
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+ else
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-+ fi
-+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-+ else
-+ cat conftest.err 1>&5
-+ fi
-+ $RM conftest*
-+ AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
-+ ;;
-+ esac
-+ fi
-+ ;;
-+esac
-+
-+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
-+ [Whether or not to add -lc for building shared libraries])
-+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
-+ [enable_shared_with_static_runtimes], [0],
-+ [Whether or not to disallow shared libs when runtime libs are static])
-+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
-+ [Compiler flag to allow reflexive dlopens])
-+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
-+ [Compiler flag to generate shared objects directly from archives])
-+_LT_TAGDECL([], [compiler_needs_object], [1],
-+ [Whether the compiler copes with passing no objects directly])
-+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
-+ [Create an old-style archive from a shared archive])
-+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
-+ [Create a temporary old-style archive to link instead of a shared archive])
-+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-+_LT_TAGDECL([], [archive_expsym_cmds], [2])
-+_LT_TAGDECL([], [module_cmds], [2],
-+ [Commands used to build a loadable module if different from building
-+ a shared archive.])
-+_LT_TAGDECL([], [module_expsym_cmds], [2])
-+_LT_TAGDECL([], [with_gnu_ld], [1],
-+ [Whether we are building with GNU ld or not])
-+_LT_TAGDECL([], [allow_undefined_flag], [1],
-+ [Flag that allows shared libraries with undefined symbols to be built])
-+_LT_TAGDECL([], [no_undefined_flag], [1],
-+ [Flag that enforces no undefined symbols])
-+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
-+ [Flag to hardcode $libdir into a binary during linking.
-+ This must work even if $libdir does not exist])
-+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
-+ [[If ld is used when linking, flag to hardcode $libdir into a binary
-+ during linking. This must work even if $libdir does not exist]])
-+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
-+ [Whether we need a single "-rpath" flag with a separated argument])
-+_LT_TAGDECL([], [hardcode_direct], [0],
-+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-+ DIR into the resulting binary])
-+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
-+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-+ DIR into the resulting binary and the resulting library dependency is
-+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
-+ library is relocated])
-+_LT_TAGDECL([], [hardcode_minus_L], [0],
-+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-+ into the resulting binary])
-+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
-+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-+ into the resulting binary])
-+_LT_TAGDECL([], [hardcode_automatic], [0],
-+ [Set to "yes" if building a shared library automatically hardcodes DIR
-+ into the library and all subsequent libraries and executables linked
-+ against it])
-+_LT_TAGDECL([], [inherit_rpath], [0],
-+ [Set to yes if linker adds runtime paths of dependent libraries
-+ to runtime path list])
-+_LT_TAGDECL([], [link_all_deplibs], [0],
-+ [Whether libtool must link a program against all its dependency libraries])
-+_LT_TAGDECL([], [fix_srcfile_path], [1],
-+ [Fix the shell variable $srcfile for the compiler])
-+_LT_TAGDECL([], [always_export_symbols], [0],
-+ [Set to "yes" if exported symbols are required])
-+_LT_TAGDECL([], [export_symbols_cmds], [2],
-+ [The commands to list exported symbols])
-+_LT_TAGDECL([], [exclude_expsyms], [1],
-+ [Symbols that should not be listed in the preloaded symbols])
-+_LT_TAGDECL([], [include_expsyms], [1],
-+ [Symbols that must always be exported])
-+_LT_TAGDECL([], [prelink_cmds], [2],
-+ [Commands necessary for linking programs (against libraries) with templates])
-+_LT_TAGDECL([], [file_list_spec], [1],
-+ [Specify filename containing input files])
-+dnl FIXME: Not yet implemented
-+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-+dnl [Compiler flag to generate thread safe objects])
-+])# _LT_LINKER_SHLIBS
-+
-+
-+# _LT_LANG_C_CONFIG([TAG])
-+# ------------------------
-+# Ensure that the configuration variables for a C compiler are suitably
-+# defined. These variables are subsequently used by _LT_CONFIG to write
-+# the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_C_CONFIG],
-+[m4_require([_LT_DECL_EGREP])dnl
-+lt_save_CC="$CC"
-+AC_LANG_PUSH(C)
-+
-+# Source file extension for C test sources.
-+ac_ext=c
-+
-+# Object file extension for compiled C test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# Code to be used in simple compile tests
-+lt_simple_compile_test_code="int some_variable = 0;"
-+
-+# Code to be used in simple link tests
-+lt_simple_link_test_code='int main(){return(0);}'
-+
-+_LT_TAG_COMPILER
-+# Save the default compiler, since it gets overwritten when the other
-+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-+compiler_DEFAULT=$CC
-+
-+# save warnings/boilerplate of simple test code
-+_LT_COMPILER_BOILERPLATE
-+_LT_LINKER_BOILERPLATE
-+
-+## CAVEAT EMPTOR:
-+## There is no encapsulation within the following macros, do not change
-+## the running order or otherwise move them around unless you know exactly
-+## what you are doing...
-+if test -n "$compiler"; then
-+ _LT_COMPILER_NO_RTTI($1)
-+ _LT_COMPILER_PIC($1)
-+ _LT_COMPILER_C_O($1)
-+ _LT_COMPILER_FILE_LOCKS($1)
-+ _LT_LINKER_SHLIBS($1)
-+ _LT_SYS_DYNAMIC_LINKER($1)
-+ _LT_LINKER_HARDCODE_LIBPATH($1)
-+ LT_SYS_DLOPEN_SELF
-+ _LT_CMD_STRIPLIB
-+
-+ # Report which library types will actually be built
-+ AC_MSG_CHECKING([if libtool supports shared libraries])
-+ AC_MSG_RESULT([$can_build_shared])
-+
-+ AC_MSG_CHECKING([whether to build shared libraries])
-+ test "$can_build_shared" = "no" && enable_shared=no
-+
-+ # On AIX, shared libraries and static libraries use the same namespace, and
-+ # are all built from PIC.
-+ case $host_os in
-+ aix3*)
-+ test "$enable_shared" = yes && enable_static=no
-+ if test -n "$RANLIB"; then
-+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
-+ postinstall_cmds='$RANLIB $lib'
-+ fi
-+ ;;
-+
-+ aix[[4-9]]*)
-+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-+ test "$enable_shared" = yes && enable_static=no
-+ fi
-+ ;;
-+ esac
-+ AC_MSG_RESULT([$enable_shared])
-+
-+ AC_MSG_CHECKING([whether to build static libraries])
-+ # Make sure either enable_shared or enable_static is yes.
-+ test "$enable_shared" = yes || enable_static=yes
-+ AC_MSG_RESULT([$enable_static])
-+
-+ _LT_CONFIG($1)
-+fi
-+AC_LANG_POP
-+CC="$lt_save_CC"
-+])# _LT_LANG_C_CONFIG
-+
-+
-+# _LT_PROG_CXX
-+# ------------
-+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
-+# compiler, we have our own version here.
-+m4_defun([_LT_PROG_CXX],
-+[
-+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
-+AC_PROG_CXX
-+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-+ (test "X$CXX" != "Xg++"))) ; then
-+ AC_PROG_CXXCPP
-+else
-+ _lt_caught_CXX_error=yes
-+fi
-+popdef([AC_MSG_ERROR])
-+])# _LT_PROG_CXX
-+
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([_LT_PROG_CXX], [])
-+
-+
-+# _LT_LANG_CXX_CONFIG([TAG])
-+# --------------------------
-+# Ensure that the configuration variables for a C++ compiler are suitably
-+# defined. These variables are subsequently used by _LT_CONFIG to write
-+# the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_CXX_CONFIG],
-+[AC_REQUIRE([_LT_PROG_CXX])dnl
-+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+m4_require([_LT_DECL_EGREP])dnl
-+
-+AC_LANG_PUSH(C++)
-+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+_LT_TAGVAR(allow_undefined_flag, $1)=
-+_LT_TAGVAR(always_export_symbols, $1)=no
-+_LT_TAGVAR(archive_expsym_cmds, $1)=
-+_LT_TAGVAR(compiler_needs_object, $1)=no
-+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-+_LT_TAGVAR(hardcode_direct, $1)=no
-+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-+_LT_TAGVAR(hardcode_libdir_separator, $1)=
-+_LT_TAGVAR(hardcode_minus_L, $1)=no
-+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-+_LT_TAGVAR(hardcode_automatic, $1)=no
-+_LT_TAGVAR(inherit_rpath, $1)=no
-+_LT_TAGVAR(module_cmds, $1)=
-+_LT_TAGVAR(module_expsym_cmds, $1)=
-+_LT_TAGVAR(link_all_deplibs, $1)=unknown
-+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-+_LT_TAGVAR(no_undefined_flag, $1)=
-+_LT_TAGVAR(whole_archive_flag_spec, $1)=
-+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-+
-+# Source file extension for C++ test sources.
-+ac_ext=cpp
-+
-+# Object file extension for compiled C++ test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# No sense in running all these tests if we already determined that
-+# the CXX compiler isn't working. Some variables (like enable_shared)
-+# are currently assumed to apply to all compilers on this platform,
-+# and will be corrupted by setting them based on a non-working compiler.
-+if test "$_lt_caught_CXX_error" != yes; then
-+ # Code to be used in simple compile tests
-+ lt_simple_compile_test_code="int some_variable = 0;"
-+
-+ # Code to be used in simple link tests
-+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-+
-+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-+ _LT_TAG_COMPILER
-+
-+ # save warnings/boilerplate of simple test code
-+ _LT_COMPILER_BOILERPLATE
-+ _LT_LINKER_BOILERPLATE
-+
-+ # Allow CC to be a program name with arguments.
-+ lt_save_CC=$CC
-+ lt_save_LD=$LD
-+ lt_save_GCC=$GCC
-+ GCC=$GXX
-+ lt_save_with_gnu_ld=$with_gnu_ld
-+ lt_save_path_LD=$lt_cv_path_LD
-+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-+ else
-+ $as_unset lt_cv_prog_gnu_ld
-+ fi
-+ if test -n "${lt_cv_path_LDCXX+set}"; then
-+ lt_cv_path_LD=$lt_cv_path_LDCXX
-+ else
-+ $as_unset lt_cv_path_LD
-+ fi
-+ test -z "${LDCXX+set}" || LD=$LDCXX
-+ CC=${CXX-"c++"}
-+ compiler=$CC
-+ _LT_TAGVAR(compiler, $1)=$CC
-+ _LT_CC_BASENAME([$compiler])
-+
-+ if test -n "$compiler"; then
-+ # We don't want -fno-exception when compiling C++ code, so set the
-+ # no_builtin_flag separately
-+ if test "$GXX" = yes; then
-+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-+ else
-+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-+ fi
-+
-+ if test "$GXX" = yes; then
-+ # Set up default GNU C++ configuration
-+
-+ LT_PATH_LD
-+
-+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
-+ # archiving commands below assume that GNU ld is being used.
-+ if test "$with_gnu_ld" = yes; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-+
-+ # If archive_cmds runs LD, not CC, wlarc should be empty
-+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-+ # investigate it a little bit more. (MM)
-+ wlarc='${wl}'
-+
-+ # ancient GNU ld didn't support --whole-archive et. al.
-+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-+ $GREP 'no-whole-archive' > /dev/null; then
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-+ else
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
-+ fi
-+ else
-+ with_gnu_ld=no
-+ wlarc=
-+
-+ # A generic and very simple default shared library creation
-+ # command for GNU C++ for the case where it uses the native
-+ # linker, instead of GNU ld. If possible, this setting should
-+ # overridden to take advantage of the native linker features on
-+ # the platform it is being used on.
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-+ fi
-+
-+ # Commands to make compiler produce verbose output that lists
-+ # what "hidden" libraries, object files and flags are used when
-+ # linking a shared library.
-+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-+
-+ else
-+ GXX=no
-+ with_gnu_ld=no
-+ wlarc=
-+ fi
-+
-+ # PORTME: fill in a description of your system's C++ link characteristics
-+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-+ _LT_TAGVAR(ld_shlibs, $1)=yes
-+ case $host_os in
-+ aix3*)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ aix[[4-9]]*)
-+ if test "$host_cpu" = ia64; then
-+ # On IA64, the linker does run time linking by default, so we don't
-+ # have to do anything special.
-+ aix_use_runtimelinking=no
-+ exp_sym_flag='-Bexport'
-+ no_entry_flag=""
-+ else
-+ aix_use_runtimelinking=no
-+
-+ # Test if we are trying to use run time linking or normal
-+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-+ # need to do runtime linking.
-+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-+ for ld_flag in $LDFLAGS; do
-+ case $ld_flag in
-+ *-brtl*)
-+ aix_use_runtimelinking=yes
-+ break
-+ ;;
-+ esac
-+ done
-+ ;;
-+ esac
-+
-+ exp_sym_flag='-bexport'
-+ no_entry_flag='-bnoentry'
-+ fi
-+
-+ # When large executables or shared objects are built, AIX ld can
-+ # have problems creating the table of contents. If linking a library
-+ # or program results in "error TOC overflow" add -mminimal-toc to
-+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
-+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-+
-+ _LT_TAGVAR(archive_cmds, $1)=''
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-+ _LT_TAGVAR(link_all_deplibs, $1)=yes
-+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-+
-+ if test "$GXX" = yes; then
-+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
-+ # We only want to do this on AIX 4.2 and lower, the check
-+ # below for broken collect2 doesn't work under 4.3+
-+ collect2name=`${CC} -print-prog-name=collect2`
-+ if test -f "$collect2name" &&
-+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-+ then
-+ # We have reworked collect2
-+ :
-+ else
-+ # We have old collect2
-+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
-+ # It fails to find uninstalled libraries when the uninstalled
-+ # path is not listed in the libpath. Setting hardcode_minus_L
-+ # to unsupported forces relinking
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
-+ fi
-+ esac
-+ shared_flag='-shared'
-+ if test "$aix_use_runtimelinking" = yes; then
-+ shared_flag="$shared_flag "'${wl}-G'
-+ fi
-+ else
-+ # not using gcc
-+ if test "$host_cpu" = ia64; then
-+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-+ # chokes on -Wl,-G. The following line is correct:
-+ shared_flag='-G'
-+ else
-+ if test "$aix_use_runtimelinking" = yes; then
-+ shared_flag='${wl}-G'
-+ else
-+ shared_flag='${wl}-bM:SRE'
-+ fi
-+ fi
-+ fi
-+
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
-+ # It seems that -bexpall does not export symbols beginning with
-+ # underscore (_), so it is better to generate a list of symbols to
-+ # export.
-+ _LT_TAGVAR(always_export_symbols, $1)=yes
-+ if test "$aix_use_runtimelinking" = yes; then
-+ # Warning - without using the other runtime loading flags (-brtl),
-+ # -berok will link without error, but may produce a broken library.
-+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-+ # Determine the default libpath from the value encoded in an empty
-+ # executable.
-+ _LT_SYS_MODULE_PATH_AIX
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-+
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-+ else
-+ if test "$host_cpu" = ia64; then
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-+ else
-+ # Determine the default libpath from the value encoded in an
-+ # empty executable.
-+ _LT_SYS_MODULE_PATH_AIX
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-+ # Warning - without using the other run time loading flags,
-+ # -berok will link without error, but may produce a broken library.
-+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-+ # Exported symbols can be pulled into shared objects from archives
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-+ # This is similar to how AIX traditionally builds its shared
-+ # libraries.
-+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-+ fi
-+ fi
-+ ;;
-+
-+ beos*)
-+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-+ # support --undefined. This deserves some investigation. FIXME
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+
-+ chorus*)
-+ case $cc_basename in
-+ *)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ esac
-+ ;;
-+
-+ cygwin* | mingw* | pw32* | cegcc*)
-+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-+ # as there is no search path for DLLs.
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+ _LT_TAGVAR(always_export_symbols, $1)=no
-+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+
-+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-+ # If the export-symbols file already is a .def file (1st line
-+ # is EXPORTS), use it as is; otherwise, prepend...
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-+ cp $export_symbols $output_objdir/$soname.def;
-+ else
-+ echo EXPORTS > $output_objdir/$soname.def;
-+ cat $export_symbols >> $output_objdir/$soname.def;
-+ fi~
-+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+ darwin* | rhapsody*)
-+ _LT_DARWIN_LINKER_FEATURES($1)
-+ ;;
-+
-+ dgux*)
-+ case $cc_basename in
-+ ec++*)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ ghcx*)
-+ # Green Hills C++ Compiler
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ *)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ esac
-+ ;;
-+
-+ freebsd[[12]]*)
-+ # C++ shared libraries reported to be fairly broken before
-+ # switch to ELF
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+
-+ freebsd-elf*)
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+ ;;
-+
-+ freebsd* | dragonfly*)
-+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-+ # conventions
-+ _LT_TAGVAR(ld_shlibs, $1)=yes
-+ ;;
-+
-+ gnu*)
-+ ;;
-+
-+ hpux9*)
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-+ # but as the default
-+ # location of the library.
-+
-+ case $cc_basename in
-+ CC*)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ aCC*)
-+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-+ # Commands to make compiler produce verbose output that lists
-+ # what "hidden" libraries, object files and flags are used when
-+ # linking a shared library.
-+ #
-+ # There doesn't appear to be a way to prevent this compiler from
-+ # explicitly linking system object files so we need to strip them
-+ # from the output so that they don't get included in the library
-+ # dependencies.
-+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-+ ;;
-+ *)
-+ if test "$GXX" = yes; then
-+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-+ else
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+ esac
-+ ;;
-+
-+ hpux10*|hpux11*)
-+ if test $with_gnu_ld = no; then
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+
-+ case $host_cpu in
-+ hppa*64*|ia64*)
-+ ;;
-+ *)
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+ ;;
-+ esac
-+ fi
-+ case $host_cpu in
-+ hppa*64*|ia64*)
-+ _LT_TAGVAR(hardcode_direct, $1)=no
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ ;;
-+ *)
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-+ # but as the default
-+ # location of the library.
-+ ;;
-+ esac
-+
-+ case $cc_basename in
-+ CC*)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ aCC*)
-+ case $host_cpu in
-+ hppa*64*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+ ;;
-+ ia64*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+ ;;
-+ *)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+ ;;
-+ esac
-+ # Commands to make compiler produce verbose output that lists
-+ # what "hidden" libraries, object files and flags are used when
-+ # linking a shared library.
-+ #
-+ # There doesn't appear to be a way to prevent this compiler from
-+ # explicitly linking system object files so we need to strip them
-+ # from the output so that they don't get included in the library
-+ # dependencies.
-+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-+ ;;
-+ *)
-+ if test "$GXX" = yes; then
-+ if test $with_gnu_ld = no; then
-+ case $host_cpu in
-+ hppa*64*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+ ;;
-+ ia64*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+ ;;
-+ *)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+ ;;
-+ esac
-+ fi
-+ else
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+ esac
-+ ;;
-+
-+ interix[[3-9]]*)
-+ _LT_TAGVAR(hardcode_direct, $1)=no
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-+ # Instead, shared libraries are loaded at an image base (0x10000000 by
-+ # default) and relocated if they conflict, which is a slow very memory
-+ # consuming and fragmenting process. To avoid this, we pick a random,
-+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-+ ;;
-+ irix5* | irix6*)
-+ case $cc_basename in
-+ CC*)
-+ # SGI C++
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-+
-+ # Archives containing C++ object files must be created using
-+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
-+ # necessary to make sure instantiated templates are included
-+ # in the archive.
-+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-+ ;;
-+ *)
-+ if test "$GXX" = yes; then
-+ if test "$with_gnu_ld" = no; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-+ else
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
-+ fi
-+ fi
-+ _LT_TAGVAR(link_all_deplibs, $1)=yes
-+ ;;
-+ esac
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+ _LT_TAGVAR(inherit_rpath, $1)=yes
-+ ;;
-+
-+ linux* | k*bsd*-gnu)
-+ case $cc_basename in
-+ KCC*)
-+ # Kuck and Associates, Inc. (KAI) C++ Compiler
-+
-+ # KCC will only create a shared library if the output file
-+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
-+ # to its proper name (with version) after linking.
-+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-+ # Commands to make compiler produce verbose output that lists
-+ # what "hidden" libraries, object files and flags are used when
-+ # linking a shared library.
-+ #
-+ # There doesn't appear to be a way to prevent this compiler from
-+ # explicitly linking system object files so we need to strip them
-+ # from the output so that they don't get included in the library
-+ # dependencies.
-+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-+
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-+
-+ # Archives containing C++ object files must be created using
-+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-+ ;;
-+ icpc* | ecpc* )
-+ # Intel C++
-+ with_gnu_ld=yes
-+ # version 8.0 and above of icpc choke on multiply defined symbols
-+ # if we add $predep_objects and $postdep_objects, however 7.1 and
-+ # earlier do not add the objects themselves.
-+ case `$CC -V 2>&1` in
-+ *"Version 7."*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+ ;;
-+ *) # Version 8.0 or newer
-+ tmp_idyn=
-+ case $host_cpu in
-+ ia64*) tmp_idyn=' -i_dynamic';;
-+ esac
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+ ;;
-+ esac
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-+ ;;
-+ pgCC* | pgcpp*)
-+ # Portland Group C++ compiler
-+ case `$CC -V` in
-+ *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
-+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
-+ rm -rf $tpldir~
-+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-+ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
-+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
-+ rm -rf $tpldir~
-+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
-+ $RANLIB $oldlib'
-+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
-+ rm -rf $tpldir~
-+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
-+ rm -rf $tpldir~
-+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-+ ;;
-+ *) # Version 6 will use weak symbols
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-+ ;;
-+ esac
-+
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-+ ;;
-+ cxx*)
-+ # Compaq C++
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-+
-+ runpath_var=LD_RUN_PATH
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+
-+ # Commands to make compiler produce verbose output that lists
-+ # what "hidden" libraries, object files and flags are used when
-+ # linking a shared library.
-+ #
-+ # There doesn't appear to be a way to prevent this compiler from
-+ # explicitly linking system object files so we need to strip them
-+ # from the output so that they don't get included in the library
-+ # dependencies.
-+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-+ ;;
-+ xl*)
-+ # IBM XL 8.0 on PPC, with GNU ld
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ if test "x$supports_anon_versioning" = xyes; then
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-+ echo "local: *; };" >> $output_objdir/$libname.ver~
-+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-+ fi
-+ ;;
-+ *)
-+ case `$CC -V 2>&1 | sed 5q` in
-+ *Sun\ C*)
-+ # Sun C++ 5.9
-+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-+ _LT_TAGVAR(compiler_needs_object, $1)=yes
-+
-+ # Not sure whether something based on
-+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-+ # would be better.
-+ output_verbose_link_cmd='echo'
-+
-+ # Archives containing C++ object files must be created using
-+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
-+ # necessary to make sure instantiated templates are included
-+ # in the archive.
-+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ ;;
-+
-+ lynxos*)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+
-+ m88k*)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+
-+ mvs*)
-+ case $cc_basename in
-+ cxx*)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ *)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ esac
-+ ;;
-+
-+ netbsd*)
-+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-+ wlarc=
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ fi
-+ # Workaround some broken pre-1.5 toolchains
-+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-+ ;;
-+
-+ *nto* | *qnx*)
-+ _LT_TAGVAR(ld_shlibs, $1)=yes
-+ ;;
-+
-+ openbsd2*)
-+ # C++ shared libraries are fairly broken
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+
-+ openbsd*)
-+ if test -f /usr/libexec/ld.so; then
-+ _LT_TAGVAR(hardcode_direct, $1)=yes
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-+ fi
-+ output_verbose_link_cmd=echo
-+ else
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+
-+ osf3* | osf4* | osf5*)
-+ case $cc_basename in
-+ KCC*)
-+ # Kuck and Associates, Inc. (KAI) C++ Compiler
-+
-+ # KCC will only create a shared library if the output file
-+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
-+ # to its proper name (with version) after linking.
-+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-+
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+
-+ # Archives containing C++ object files must be created using
-+ # the KAI C++ compiler.
-+ case $host in
-+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
-+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
-+ esac
-+ ;;
-+ RCC*)
-+ # Rational C++ 2.4.1
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ cxx*)
-+ case $host in
-+ osf3*)
-+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ ;;
-+ *)
-+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-+ echo "-hidden">> $lib.exp~
-+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
-+ $RM $lib.exp'
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-+ ;;
-+ esac
-+
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+
-+ # Commands to make compiler produce verbose output that lists
-+ # what "hidden" libraries, object files and flags are used when
-+ # linking a shared library.
-+ #
-+ # There doesn't appear to be a way to prevent this compiler from
-+ # explicitly linking system object files so we need to strip them
-+ # from the output so that they don't get included in the library
-+ # dependencies.
-+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-+ ;;
-+ *)
-+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-+ case $host in
-+ osf3*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-+ ;;
-+ *)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-+ ;;
-+ esac
-+
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-+
-+ # Commands to make compiler produce verbose output that lists
-+ # what "hidden" libraries, object files and flags are used when
-+ # linking a shared library.
-+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-+
-+ else
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ fi
-+ ;;
-+ esac
-+ ;;
-+
-+ psos*)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+
-+ sunos4*)
-+ case $cc_basename in
-+ CC*)
-+ # Sun C++ 4.x
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ lcc*)
-+ # Lucid
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ *)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ esac
-+ ;;
-+
-+ solaris*)
-+ case $cc_basename in
-+ CC*)
-+ # Sun C++ 4.2, 5.x and Centerline C++
-+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
-+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-+
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ case $host_os in
-+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-+ *)
-+ # The compiler driver will combine and reorder linker options,
-+ # but understands `-z linker_flag'.
-+ # Supported since Solaris 2.6 (maybe 2.5.1?)
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-+ ;;
-+ esac
-+ _LT_TAGVAR(link_all_deplibs, $1)=yes
-+
-+ output_verbose_link_cmd='echo'
-+
-+ # Archives containing C++ object files must be created using
-+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
-+ # necessary to make sure instantiated templates are included
-+ # in the archive.
-+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-+ ;;
-+ gcx*)
-+ # Green Hills C++ Compiler
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-+
-+ # The C++ compiler must be used to create the archive.
-+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-+ ;;
-+ *)
-+ # GNU C++ compiler with Solaris linker
-+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
-+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-+
-+ # Commands to make compiler produce verbose output that lists
-+ # what "hidden" libraries, object files and flags are used when
-+ # linking a shared library.
-+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-+ else
-+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
-+ # platform.
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-+
-+ # Commands to make compiler produce verbose output that lists
-+ # what "hidden" libraries, object files and flags are used when
-+ # linking a shared library.
-+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-+ fi
-+
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-+ case $host_os in
-+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-+ *)
-+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-+ ;;
-+ esac
-+ fi
-+ ;;
-+ esac
-+ ;;
-+
-+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ runpath_var='LD_RUN_PATH'
-+
-+ case $cc_basename in
-+ CC*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ *)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ esac
-+ ;;
-+
-+ sysv5* | sco3.2v5* | sco5v6*)
-+ # Note: We can NOT use -z defs as we might desire, because we do not
-+ # link with -lc, and that would cause any symbols used from libc to
-+ # always be unresolved, which means just about no library would
-+ # ever link correctly. If we're not using GNU ld we use -z text
-+ # though, which does catch some bad symbols but isn't as heavy-handed
-+ # as -z defs.
-+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
-+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-+ _LT_TAGVAR(link_all_deplibs, $1)=yes
-+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-+ runpath_var='LD_RUN_PATH'
-+
-+ case $cc_basename in
-+ CC*)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ *)
-+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ ;;
-+ esac
-+ ;;
-+
-+ tandem*)
-+ case $cc_basename in
-+ NCC*)
-+ # NonStop-UX NCC 3.20
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ *)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ esac
-+ ;;
-+
-+ vxworks*)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+
-+ *)
-+ # FIXME: insert proper C++ library support
-+ _LT_TAGVAR(ld_shlibs, $1)=no
-+ ;;
-+ esac
-+
-+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-+
-+ _LT_TAGVAR(GCC, $1)="$GXX"
-+ _LT_TAGVAR(LD, $1)="$LD"
-+
-+ ## CAVEAT EMPTOR:
-+ ## There is no encapsulation within the following macros, do not change
-+ ## the running order or otherwise move them around unless you know exactly
-+ ## what you are doing...
-+ _LT_SYS_HIDDEN_LIBDEPS($1)
-+ _LT_COMPILER_PIC($1)
-+ _LT_COMPILER_C_O($1)
-+ _LT_COMPILER_FILE_LOCKS($1)
-+ _LT_LINKER_SHLIBS($1)
-+ _LT_SYS_DYNAMIC_LINKER($1)
-+ _LT_LINKER_HARDCODE_LIBPATH($1)
-+
-+ _LT_CONFIG($1)
-+ fi # test -n "$compiler"
-+
-+ CC=$lt_save_CC
-+ LDCXX=$LD
-+ LD=$lt_save_LD
-+ GCC=$lt_save_GCC
-+ with_gnu_ld=$lt_save_with_gnu_ld
-+ lt_cv_path_LDCXX=$lt_cv_path_LD
-+ lt_cv_path_LD=$lt_save_path_LD
-+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-+fi # test "$_lt_caught_CXX_error" != yes
-+
-+AC_LANG_POP
-+])# _LT_LANG_CXX_CONFIG
-+
-+
-+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-+# ---------------------------------
-+# Figure out "hidden" library dependencies from verbose
-+# compiler output when linking a shared library.
-+# Parse the compiler output and extract the necessary
-+# objects, libraries and library flags.
-+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+# Dependencies to place before and after the object being linked:
-+_LT_TAGVAR(predep_objects, $1)=
-+_LT_TAGVAR(postdep_objects, $1)=
-+_LT_TAGVAR(predeps, $1)=
-+_LT_TAGVAR(postdeps, $1)=
-+_LT_TAGVAR(compiler_lib_search_path, $1)=
-+
-+dnl we can't use the lt_simple_compile_test_code here,
-+dnl because it contains code intended for an executable,
-+dnl not a library. It's possible we should let each
-+dnl tag define a new lt_????_link_test_code variable,
-+dnl but it's only used here...
-+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-+int a;
-+void foo (void) { a = 0; }
-+_LT_EOF
-+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-+class Foo
-+{
-+public:
-+ Foo (void) { a = 0; }
-+private:
-+ int a;
-+};
-+_LT_EOF
-+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
-+ subroutine foo
-+ implicit none
-+ integer*4 a
-+ a=0
-+ return
-+ end
-+_LT_EOF
-+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
-+ subroutine foo
-+ implicit none
-+ integer a
-+ a=0
-+ return
-+ end
-+_LT_EOF
-+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-+public class foo {
-+ private int a;
-+ public void bar (void) {
-+ a = 0;
-+ }
-+};
-+_LT_EOF
-+])
-+dnl Parse the compiler output and extract the necessary
-+dnl objects, libraries and library flags.
-+if AC_TRY_EVAL(ac_compile); then
-+ # Parse the compiler output and extract the necessary
-+ # objects, libraries and library flags.
-+
-+ # Sentinel used to keep track of whether or not we are before
-+ # the conftest object file.
-+ pre_test_object_deps_done=no
-+
-+ for p in `eval "$output_verbose_link_cmd"`; do
-+ case $p in
-+
-+ -L* | -R* | -l*)
-+ # Some compilers place space between "-{L,R}" and the path.
-+ # Remove the space.
-+ if test $p = "-L" ||
-+ test $p = "-R"; then
-+ prev=$p
-+ continue
-+ else
-+ prev=
-+ fi
-+
-+ if test "$pre_test_object_deps_done" = no; then
-+ case $p in
-+ -L* | -R*)
-+ # Internal compiler library paths should come after those
-+ # provided the user. The postdeps already come after the
-+ # user supplied libs so there is no need to process them.
-+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
-+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
-+ else
-+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
-+ fi
-+ ;;
-+ # The "-l" case would never come before the object being
-+ # linked, so don't bother handling this case.
-+ esac
-+ else
-+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
-+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
-+ else
-+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
-+ fi
-+ fi
-+ ;;
-+
-+ *.$objext)
-+ # This assumes that the test object file only shows up
-+ # once in the compiler output.
-+ if test "$p" = "conftest.$objext"; then
-+ pre_test_object_deps_done=yes
-+ continue
-+ fi
-+
-+ if test "$pre_test_object_deps_done" = no; then
-+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
-+ _LT_TAGVAR(predep_objects, $1)="$p"
-+ else
-+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
-+ fi
-+ else
-+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
-+ _LT_TAGVAR(postdep_objects, $1)="$p"
-+ else
-+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
-+ fi
-+ fi
-+ ;;
-+
-+ *) ;; # Ignore the rest.
-+
-+ esac
-+ done
-+
-+ # Clean up.
-+ rm -f a.out a.exe
-+else
-+ echo "libtool.m4: error: problem compiling $1 test program"
-+fi
-+
-+$RM -f confest.$objext
-+
-+# PORTME: override above test on systems where it is broken
-+m4_if([$1], [CXX],
-+[case $host_os in
-+interix[[3-9]]*)
-+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
-+ # hack all around it, let's just trust "g++" to DTRT.
-+ _LT_TAGVAR(predep_objects,$1)=
-+ _LT_TAGVAR(postdep_objects,$1)=
-+ _LT_TAGVAR(postdeps,$1)=
-+ ;;
-+
-+linux*)
-+ case `$CC -V 2>&1 | sed 5q` in
-+ *Sun\ C*)
-+ # Sun C++ 5.9
-+
-+ # The more standards-conforming stlport4 library is
-+ # incompatible with the Cstd library. Avoid specifying
-+ # it if it's in CXXFLAGS. Ignore libCrun as
-+ # -library=stlport4 depends on it.
-+ case " $CXX $CXXFLAGS " in
-+ *" -library=stlport4 "*)
-+ solaris_use_stlport4=yes
-+ ;;
-+ esac
-+
-+ if test "$solaris_use_stlport4" != yes; then
-+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-+ fi
-+ ;;
-+ esac
-+ ;;
-+
-+solaris*)
-+ case $cc_basename in
-+ CC*)
-+ # The more standards-conforming stlport4 library is
-+ # incompatible with the Cstd library. Avoid specifying
-+ # it if it's in CXXFLAGS. Ignore libCrun as
-+ # -library=stlport4 depends on it.
-+ case " $CXX $CXXFLAGS " in
-+ *" -library=stlport4 "*)
-+ solaris_use_stlport4=yes
-+ ;;
-+ esac
-+
-+ # Adding this requires a known-good setup of shared libraries for
-+ # Sun compiler versions before 5.6, else PIC objects from an old
-+ # archive will be linked into the output, leading to subtle bugs.
-+ if test "$solaris_use_stlport4" != yes; then
-+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-+ fi
-+ ;;
-+ esac
-+ ;;
-+esac
-+])
-+
-+case " $_LT_TAGVAR(postdeps, $1) " in
-+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-+esac
-+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
-+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-+fi
-+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
-+ [The directories searched by this compiler when creating a shared library])
-+_LT_TAGDECL([], [predep_objects], [1],
-+ [Dependencies to place before and after the objects being linked to
-+ create a shared library])
-+_LT_TAGDECL([], [postdep_objects], [1])
-+_LT_TAGDECL([], [predeps], [1])
-+_LT_TAGDECL([], [postdeps], [1])
-+_LT_TAGDECL([], [compiler_lib_search_path], [1],
-+ [The library search path used internally by the compiler when linking
-+ a shared library])
-+])# _LT_SYS_HIDDEN_LIBDEPS
-+
-+
-+# _LT_PROG_F77
-+# ------------
-+# Since AC_PROG_F77 is broken, in that it returns the empty string
-+# if there is no fortran compiler, we have our own version here.
-+m4_defun([_LT_PROG_F77],
-+[
-+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
-+AC_PROG_F77
-+if test -z "$F77" || test "X$F77" = "Xno"; then
-+ _lt_disable_F77=yes
-+fi
-+popdef([AC_MSG_ERROR])
-+])# _LT_PROG_F77
-+
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([_LT_PROG_F77], [])
-+
-+
-+# _LT_LANG_F77_CONFIG([TAG])
-+# --------------------------
-+# Ensure that the configuration variables for a Fortran 77 compiler are
-+# suitably defined. These variables are subsequently used by _LT_CONFIG
-+# to write the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_F77_CONFIG],
-+[AC_REQUIRE([_LT_PROG_F77])dnl
-+AC_LANG_PUSH(Fortran 77)
-+
-+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+_LT_TAGVAR(allow_undefined_flag, $1)=
-+_LT_TAGVAR(always_export_symbols, $1)=no
-+_LT_TAGVAR(archive_expsym_cmds, $1)=
-+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-+_LT_TAGVAR(hardcode_direct, $1)=no
-+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-+_LT_TAGVAR(hardcode_libdir_separator, $1)=
-+_LT_TAGVAR(hardcode_minus_L, $1)=no
-+_LT_TAGVAR(hardcode_automatic, $1)=no
-+_LT_TAGVAR(inherit_rpath, $1)=no
-+_LT_TAGVAR(module_cmds, $1)=
-+_LT_TAGVAR(module_expsym_cmds, $1)=
-+_LT_TAGVAR(link_all_deplibs, $1)=unknown
-+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-+_LT_TAGVAR(no_undefined_flag, $1)=
-+_LT_TAGVAR(whole_archive_flag_spec, $1)=
-+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-+
-+# Source file extension for f77 test sources.
-+ac_ext=f
-+
-+# Object file extension for compiled f77 test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# No sense in running all these tests if we already determined that
-+# the F77 compiler isn't working. Some variables (like enable_shared)
-+# are currently assumed to apply to all compilers on this platform,
-+# and will be corrupted by setting them based on a non-working compiler.
-+if test "$_lt_disable_F77" != yes; then
-+ # Code to be used in simple compile tests
-+ lt_simple_compile_test_code="\
-+ subroutine t
-+ return
-+ end
-+"
-+
-+ # Code to be used in simple link tests
-+ lt_simple_link_test_code="\
-+ program t
-+ end
-+"
-+
-+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-+ _LT_TAG_COMPILER
-+
-+ # save warnings/boilerplate of simple test code
-+ _LT_COMPILER_BOILERPLATE
-+ _LT_LINKER_BOILERPLATE
-+
-+ # Allow CC to be a program name with arguments.
-+ lt_save_CC="$CC"
-+ lt_save_GCC=$GCC
-+ CC=${F77-"f77"}
-+ compiler=$CC
-+ _LT_TAGVAR(compiler, $1)=$CC
-+ _LT_CC_BASENAME([$compiler])
-+ GCC=$G77
-+ if test -n "$compiler"; then
-+ AC_MSG_CHECKING([if libtool supports shared libraries])
-+ AC_MSG_RESULT([$can_build_shared])
-+
-+ AC_MSG_CHECKING([whether to build shared libraries])
-+ test "$can_build_shared" = "no" && enable_shared=no
-+
-+ # On AIX, shared libraries and static libraries use the same namespace, and
-+ # are all built from PIC.
-+ case $host_os in
-+ aix3*)
-+ test "$enable_shared" = yes && enable_static=no
-+ if test -n "$RANLIB"; then
-+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
-+ postinstall_cmds='$RANLIB $lib'
-+ fi
-+ ;;
-+ aix[[4-9]]*)
-+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-+ test "$enable_shared" = yes && enable_static=no
-+ fi
-+ ;;
-+ esac
-+ AC_MSG_RESULT([$enable_shared])
-+
-+ AC_MSG_CHECKING([whether to build static libraries])
-+ # Make sure either enable_shared or enable_static is yes.
-+ test "$enable_shared" = yes || enable_static=yes
-+ AC_MSG_RESULT([$enable_static])
-+
-+ _LT_TAGVAR(GCC, $1)="$G77"
-+ _LT_TAGVAR(LD, $1)="$LD"
-+
-+ ## CAVEAT EMPTOR:
-+ ## There is no encapsulation within the following macros, do not change
-+ ## the running order or otherwise move them around unless you know exactly
-+ ## what you are doing...
-+ _LT_COMPILER_PIC($1)
-+ _LT_COMPILER_C_O($1)
-+ _LT_COMPILER_FILE_LOCKS($1)
-+ _LT_LINKER_SHLIBS($1)
-+ _LT_SYS_DYNAMIC_LINKER($1)
-+ _LT_LINKER_HARDCODE_LIBPATH($1)
-+
-+ _LT_CONFIG($1)
-+ fi # test -n "$compiler"
-+
-+ GCC=$lt_save_GCC
-+ CC="$lt_save_CC"
-+fi # test "$_lt_disable_F77" != yes
-+
-+AC_LANG_POP
-+])# _LT_LANG_F77_CONFIG
-+
-+
-+# _LT_PROG_FC
-+# -----------
-+# Since AC_PROG_FC is broken, in that it returns the empty string
-+# if there is no fortran compiler, we have our own version here.
-+m4_defun([_LT_PROG_FC],
-+[
-+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
-+AC_PROG_FC
-+if test -z "$FC" || test "X$FC" = "Xno"; then
-+ _lt_disable_FC=yes
-+fi
-+popdef([AC_MSG_ERROR])
-+])# _LT_PROG_FC
-+
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([_LT_PROG_FC], [])
-+
-+
-+# _LT_LANG_FC_CONFIG([TAG])
-+# -------------------------
-+# Ensure that the configuration variables for a Fortran compiler are
-+# suitably defined. These variables are subsequently used by _LT_CONFIG
-+# to write the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_FC_CONFIG],
-+[AC_REQUIRE([_LT_PROG_FC])dnl
-+AC_LANG_PUSH(Fortran)
-+
-+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+_LT_TAGVAR(allow_undefined_flag, $1)=
-+_LT_TAGVAR(always_export_symbols, $1)=no
-+_LT_TAGVAR(archive_expsym_cmds, $1)=
-+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-+_LT_TAGVAR(hardcode_direct, $1)=no
-+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-+_LT_TAGVAR(hardcode_libdir_separator, $1)=
-+_LT_TAGVAR(hardcode_minus_L, $1)=no
-+_LT_TAGVAR(hardcode_automatic, $1)=no
-+_LT_TAGVAR(inherit_rpath, $1)=no
-+_LT_TAGVAR(module_cmds, $1)=
-+_LT_TAGVAR(module_expsym_cmds, $1)=
-+_LT_TAGVAR(link_all_deplibs, $1)=unknown
-+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-+_LT_TAGVAR(no_undefined_flag, $1)=
-+_LT_TAGVAR(whole_archive_flag_spec, $1)=
-+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-+
-+# Source file extension for fc test sources.
-+ac_ext=${ac_fc_srcext-f}
-+
-+# Object file extension for compiled fc test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# No sense in running all these tests if we already determined that
-+# the FC compiler isn't working. Some variables (like enable_shared)
-+# are currently assumed to apply to all compilers on this platform,
-+# and will be corrupted by setting them based on a non-working compiler.
-+if test "$_lt_disable_FC" != yes; then
-+ # Code to be used in simple compile tests
-+ lt_simple_compile_test_code="\
-+ subroutine t
-+ return
-+ end
-+"
-+
-+ # Code to be used in simple link tests
-+ lt_simple_link_test_code="\
-+ program t
-+ end
-+"
-+
-+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-+ _LT_TAG_COMPILER
-+
-+ # save warnings/boilerplate of simple test code
-+ _LT_COMPILER_BOILERPLATE
-+ _LT_LINKER_BOILERPLATE
-+
-+ # Allow CC to be a program name with arguments.
-+ lt_save_CC="$CC"
-+ lt_save_GCC=$GCC
-+ CC=${FC-"f95"}
-+ compiler=$CC
-+ GCC=$ac_cv_fc_compiler_gnu
-+
-+ _LT_TAGVAR(compiler, $1)=$CC
-+ _LT_CC_BASENAME([$compiler])
-+
-+ if test -n "$compiler"; then
-+ AC_MSG_CHECKING([if libtool supports shared libraries])
-+ AC_MSG_RESULT([$can_build_shared])
-+
-+ AC_MSG_CHECKING([whether to build shared libraries])
-+ test "$can_build_shared" = "no" && enable_shared=no
-+
-+ # On AIX, shared libraries and static libraries use the same namespace, and
-+ # are all built from PIC.
-+ case $host_os in
-+ aix3*)
-+ test "$enable_shared" = yes && enable_static=no
-+ if test -n "$RANLIB"; then
-+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
-+ postinstall_cmds='$RANLIB $lib'
-+ fi
-+ ;;
-+ aix[[4-9]]*)
-+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-+ test "$enable_shared" = yes && enable_static=no
-+ fi
-+ ;;
-+ esac
-+ AC_MSG_RESULT([$enable_shared])
-+
-+ AC_MSG_CHECKING([whether to build static libraries])
-+ # Make sure either enable_shared or enable_static is yes.
-+ test "$enable_shared" = yes || enable_static=yes
-+ AC_MSG_RESULT([$enable_static])
-+
-+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
-+ _LT_TAGVAR(LD, $1)="$LD"
-+
-+ ## CAVEAT EMPTOR:
-+ ## There is no encapsulation within the following macros, do not change
-+ ## the running order or otherwise move them around unless you know exactly
-+ ## what you are doing...
-+ _LT_SYS_HIDDEN_LIBDEPS($1)
-+ _LT_COMPILER_PIC($1)
-+ _LT_COMPILER_C_O($1)
-+ _LT_COMPILER_FILE_LOCKS($1)
-+ _LT_LINKER_SHLIBS($1)
-+ _LT_SYS_DYNAMIC_LINKER($1)
-+ _LT_LINKER_HARDCODE_LIBPATH($1)
-+
-+ _LT_CONFIG($1)
-+ fi # test -n "$compiler"
-+
-+ GCC=$lt_save_GCC
-+ CC="$lt_save_CC"
-+fi # test "$_lt_disable_FC" != yes
-+
-+AC_LANG_POP
-+])# _LT_LANG_FC_CONFIG
-+
-+
-+# _LT_LANG_GCJ_CONFIG([TAG])
-+# --------------------------
-+# Ensure that the configuration variables for the GNU Java Compiler compiler
-+# are suitably defined. These variables are subsequently used by _LT_CONFIG
-+# to write the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_GCJ_CONFIG],
-+[AC_REQUIRE([LT_PROG_GCJ])dnl
-+AC_LANG_SAVE
-+
-+# Source file extension for Java test sources.
-+ac_ext=java
-+
-+# Object file extension for compiled Java test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# Code to be used in simple compile tests
-+lt_simple_compile_test_code="class foo {}"
-+
-+# Code to be used in simple link tests
-+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-+
-+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-+_LT_TAG_COMPILER
-+
-+# save warnings/boilerplate of simple test code
-+_LT_COMPILER_BOILERPLATE
-+_LT_LINKER_BOILERPLATE
-+
-+# Allow CC to be a program name with arguments.
-+lt_save_CC="$CC"
-+lt_save_GCC=$GCC
-+GCC=yes
-+CC=${GCJ-"gcj"}
-+compiler=$CC
-+_LT_TAGVAR(compiler, $1)=$CC
-+_LT_TAGVAR(LD, $1)="$LD"
-+_LT_CC_BASENAME([$compiler])
-+
-+# GCJ did not exist at the time GCC didn't implicitly link libc in.
-+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-+
-+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-+
-+## CAVEAT EMPTOR:
-+## There is no encapsulation within the following macros, do not change
-+## the running order or otherwise move them around unless you know exactly
-+## what you are doing...
-+if test -n "$compiler"; then
-+ _LT_COMPILER_NO_RTTI($1)
-+ _LT_COMPILER_PIC($1)
-+ _LT_COMPILER_C_O($1)
-+ _LT_COMPILER_FILE_LOCKS($1)
-+ _LT_LINKER_SHLIBS($1)
-+ _LT_LINKER_HARDCODE_LIBPATH($1)
-+
-+ _LT_CONFIG($1)
-+fi
-+
-+AC_LANG_RESTORE
-+
-+GCC=$lt_save_GCC
-+CC="$lt_save_CC"
-+])# _LT_LANG_GCJ_CONFIG
-+
-+
-+# _LT_LANG_RC_CONFIG([TAG])
-+# -------------------------
-+# Ensure that the configuration variables for the Windows resource compiler
-+# are suitably defined. These variables are subsequently used by _LT_CONFIG
-+# to write the compiler configuration to `libtool'.
-+m4_defun([_LT_LANG_RC_CONFIG],
-+[AC_REQUIRE([LT_PROG_RC])dnl
-+AC_LANG_SAVE
-+
-+# Source file extension for RC test sources.
-+ac_ext=rc
-+
-+# Object file extension for compiled RC test sources.
-+objext=o
-+_LT_TAGVAR(objext, $1)=$objext
-+
-+# Code to be used in simple compile tests
-+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-+
-+# Code to be used in simple link tests
-+lt_simple_link_test_code="$lt_simple_compile_test_code"
-+
-+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-+_LT_TAG_COMPILER
-+
-+# save warnings/boilerplate of simple test code
-+_LT_COMPILER_BOILERPLATE
-+_LT_LINKER_BOILERPLATE
-+
-+# Allow CC to be a program name with arguments.
-+lt_save_CC="$CC"
-+lt_save_GCC=$GCC
-+GCC=
-+CC=${RC-"windres"}
-+compiler=$CC
-+_LT_TAGVAR(compiler, $1)=$CC
-+_LT_CC_BASENAME([$compiler])
-+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-+
-+if test -n "$compiler"; then
-+ :
-+ _LT_CONFIG($1)
-+fi
-+
-+GCC=$lt_save_GCC
-+AC_LANG_RESTORE
-+CC="$lt_save_CC"
-+])# _LT_LANG_RC_CONFIG
-+
-+
-+# LT_PROG_GCJ
-+# -----------
-+AC_DEFUN([LT_PROG_GCJ],
-+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
-+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
-+ [AC_CHECK_TOOL(GCJ, gcj,)
-+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
-+ AC_SUBST(GCJFLAGS)])])[]dnl
-+])
-+
-+# Old name:
-+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-+
-+
-+# LT_PROG_RC
-+# ----------
-+AC_DEFUN([LT_PROG_RC],
-+[AC_CHECK_TOOL(RC, windres,)
-+])
-+
-+# Old name:
-+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([LT_AC_PROG_RC], [])
-+
-+
-+# _LT_DECL_EGREP
-+# --------------
-+# If we don't have a new enough Autoconf to choose the best grep
-+# available, choose the one first in the user's PATH.
-+m4_defun([_LT_DECL_EGREP],
-+[AC_REQUIRE([AC_PROG_EGREP])dnl
-+AC_REQUIRE([AC_PROG_FGREP])dnl
-+test -z "$GREP" && GREP=grep
-+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-+_LT_DECL([], [EGREP], [1], [An ERE matcher])
-+_LT_DECL([], [FGREP], [1], [A literal string matcher])
-+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-+AC_SUBST([GREP])
-+])
-+
-+
-+# _LT_DECL_OBJDUMP
-+# --------------
-+# If we don't have a new enough Autoconf to choose the best objdump
-+# available, choose the one first in the user's PATH.
-+m4_defun([_LT_DECL_OBJDUMP],
-+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-+test -z "$OBJDUMP" && OBJDUMP=objdump
-+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-+AC_SUBST([OBJDUMP])
-+])
-+
-+
-+# _LT_DECL_SED
-+# ------------
-+# Check for a fully-functional sed program, that truncates
-+# as few characters as possible. Prefer GNU sed if found.
-+m4_defun([_LT_DECL_SED],
-+[AC_PROG_SED
-+test -z "$SED" && SED=sed
-+Xsed="$SED -e 1s/^X//"
-+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
-+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-+])# _LT_DECL_SED
-+
-+m4_ifndef([AC_PROG_SED], [
-+############################################################
-+# NOTE: This macro has been submitted for inclusion into #
-+# GNU Autoconf as AC_PROG_SED. When it is available in #
-+# a released version of Autoconf we should remove this #
-+# macro and use it instead. #
-+############################################################
-+
-+m4_defun([AC_PROG_SED],
-+[AC_MSG_CHECKING([for a sed that does not truncate output])
-+AC_CACHE_VAL(lt_cv_path_SED,
-+[# Loop through the user's path and test for sed and gsed.
-+# Then use that list of sed's as ones to test for truncation.
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for lt_ac_prog in sed gsed; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-+ fi
-+ done
-+ done
-+done
-+IFS=$as_save_IFS
-+lt_ac_max=0
-+lt_ac_count=0
-+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-+# along with /bin/sed that truncates output.
-+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-+ test ! -f $lt_ac_sed && continue
-+ cat /dev/null > conftest.in
-+ lt_ac_count=0
-+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-+ # Check for GNU sed and select it if it is found.
-+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-+ lt_cv_path_SED=$lt_ac_sed
-+ break
-+ fi
-+ while true; do
-+ cat conftest.in conftest.in >conftest.tmp
-+ mv conftest.tmp conftest.in
-+ cp conftest.in conftest.nl
-+ echo >>conftest.nl
-+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-+ cmp -s conftest.out conftest.nl || break
-+ # 10000 chars as input seems more than enough
-+ test $lt_ac_count -gt 10 && break
-+ lt_ac_count=`expr $lt_ac_count + 1`
-+ if test $lt_ac_count -gt $lt_ac_max; then
-+ lt_ac_max=$lt_ac_count
-+ lt_cv_path_SED=$lt_ac_sed
-+ fi
-+ done
-+done
-+])
-+SED=$lt_cv_path_SED
-+AC_SUBST([SED])
-+AC_MSG_RESULT([$SED])
-+])#AC_PROG_SED
-+])#m4_ifndef
-+
-+# Old name:
-+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-+dnl aclocal-1.4 backwards compatibility:
-+dnl AC_DEFUN([LT_AC_PROG_SED], [])
-+
-+
-+# _LT_CHECK_SHELL_FEATURES
-+# ------------------------
-+# Find out whether the shell is Bourne or XSI compatible,
-+# or has some other useful features.
-+m4_defun([_LT_CHECK_SHELL_FEATURES],
-+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-+# Try some XSI features
-+xsi_shell=no
-+( _lt_dummy="a/b/c"
-+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-+ = c,a/b,, \
-+ && eval 'test $(( 1 + 1 )) -eq 2 \
-+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-+ && xsi_shell=yes
-+AC_MSG_RESULT([$xsi_shell])
-+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-+
-+AC_MSG_CHECKING([whether the shell understands "+="])
-+lt_shell_append=no
-+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
-+ >/dev/null 2>&1 \
-+ && lt_shell_append=yes
-+AC_MSG_RESULT([$lt_shell_append])
-+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-+
-+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-+ lt_unset=unset
-+else
-+ lt_unset=false
-+fi
-+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-+
-+# test EBCDIC or ASCII
-+case `echo X|tr X '\101'` in
-+ A) # ASCII based system
-+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-+ lt_SP2NL='tr \040 \012'
-+ lt_NL2SP='tr \015\012 \040\040'
-+ ;;
-+ *) # EBCDIC based system
-+ lt_SP2NL='tr \100 \n'
-+ lt_NL2SP='tr \r\n \100\100'
-+ ;;
-+esac
-+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-+])# _LT_CHECK_SHELL_FEATURES
-+
-+
-+# _LT_PROG_XSI_SHELLFNS
-+# ---------------------
-+# Bourne and XSI compatible variants of some useful shell functions.
-+m4_defun([_LT_PROG_XSI_SHELLFNS],
-+[case $xsi_shell in
-+ yes)
-+ cat << \_LT_EOF >> "$cfgfile"
-+
-+# func_dirname file append nondir_replacement
-+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-+# otherwise set result to NONDIR_REPLACEMENT.
-+func_dirname ()
-+{
-+ case ${1} in
-+ */*) func_dirname_result="${1%/*}${2}" ;;
-+ * ) func_dirname_result="${3}" ;;
-+ esac
-+}
-+
-+# func_basename file
-+func_basename ()
-+{
-+ func_basename_result="${1##*/}"
-+}
-+
-+# func_dirname_and_basename file append nondir_replacement
-+# perform func_basename and func_dirname in a single function
-+# call:
-+# dirname: Compute the dirname of FILE. If nonempty,
-+# add APPEND to the result, otherwise set result
-+# to NONDIR_REPLACEMENT.
-+# value returned in "$func_dirname_result"
-+# basename: Compute filename of FILE.
-+# value retuned in "$func_basename_result"
-+# Implementation must be kept synchronized with func_dirname
-+# and func_basename. For efficiency, we do not delegate to
-+# those functions but instead duplicate the functionality here.
-+func_dirname_and_basename ()
-+{
-+ case ${1} in
-+ */*) func_dirname_result="${1%/*}${2}" ;;
-+ * ) func_dirname_result="${3}" ;;
-+ esac
-+ func_basename_result="${1##*/}"
-+}
-+
-+# func_stripname prefix suffix name
-+# strip PREFIX and SUFFIX off of NAME.
-+# PREFIX and SUFFIX must not contain globbing or regex special
-+# characters, hashes, percent signs, but SUFFIX may contain a leading
-+# dot (in which case that matches only a dot).
-+func_stripname ()
-+{
-+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-+ # positional parameters, so assign one to ordinary parameter first.
-+ func_stripname_result=${3}
-+ func_stripname_result=${func_stripname_result#"${1}"}
-+ func_stripname_result=${func_stripname_result%"${2}"}
-+}
-+
-+# func_opt_split
-+func_opt_split ()
-+{
-+ func_opt_split_opt=${1%%=*}
-+ func_opt_split_arg=${1#*=}
-+}
-+
-+# func_lo2o object
-+func_lo2o ()
-+{
-+ case ${1} in
-+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-+ *) func_lo2o_result=${1} ;;
-+ esac
-+}
-+
-+# func_xform libobj-or-source
-+func_xform ()
-+{
-+ func_xform_result=${1%.*}.lo
-+}
-+
-+# func_arith arithmetic-term...
-+func_arith ()
-+{
-+ func_arith_result=$(( $[*] ))
-+}
-+
-+# func_len string
-+# STRING may not start with a hyphen.
-+func_len ()
-+{
-+ func_len_result=${#1}
-+}
-+
-+_LT_EOF
-+ ;;
-+ *) # Bourne compatible functions.
-+ cat << \_LT_EOF >> "$cfgfile"
-+
-+# func_dirname file append nondir_replacement
-+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-+# otherwise set result to NONDIR_REPLACEMENT.
-+func_dirname ()
-+{
-+ # Extract subdirectory from the argument.
-+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
-+ if test "X$func_dirname_result" = "X${1}"; then
-+ func_dirname_result="${3}"
-+ else
-+ func_dirname_result="$func_dirname_result${2}"
-+ fi
-+}
-+
-+# func_basename file
-+func_basename ()
-+{
-+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-+}
-+
-+dnl func_dirname_and_basename
-+dnl A portable version of this function is already defined in general.m4sh
-+dnl so there is no need for it here.
-+
-+# func_stripname prefix suffix name
-+# strip PREFIX and SUFFIX off of NAME.
-+# PREFIX and SUFFIX must not contain globbing or regex special
-+# characters, hashes, percent signs, but SUFFIX may contain a leading
-+# dot (in which case that matches only a dot).
-+# func_strip_suffix prefix name
-+func_stripname ()
-+{
-+ case ${2} in
-+ .*) func_stripname_result=`$ECHO "X${3}" \
-+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
-+ *) func_stripname_result=`$ECHO "X${3}" \
-+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
-+ esac
-+}
-+
-+# sed scripts:
-+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
-+my_sed_long_arg='1s/^-[[^=]]*=//'
-+
-+# func_opt_split
-+func_opt_split ()
-+{
-+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
-+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-+}
-+
-+# func_lo2o object
-+func_lo2o ()
-+{
-+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-+}
-+
-+# func_xform libobj-or-source
-+func_xform ()
-+{
-+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
-+}
-+
-+# func_arith arithmetic-term...
-+func_arith ()
-+{
-+ func_arith_result=`expr "$[@]"`
-+}
-+
-+# func_len string
-+# STRING may not start with a hyphen.
-+func_len ()
-+{
-+ func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
-+}
-+
-+_LT_EOF
-+esac
-+
-+case $lt_shell_append in
-+ yes)
-+ cat << \_LT_EOF >> "$cfgfile"
-+
-+# func_append var value
-+# Append VALUE to the end of shell variable VAR.
-+func_append ()
-+{
-+ eval "$[1]+=\$[2]"
-+}
-+_LT_EOF
-+ ;;
-+ *)
-+ cat << \_LT_EOF >> "$cfgfile"
-+
-+# func_append var value
-+# Append VALUE to the end of shell variable VAR.
-+func_append ()
-+{
-+ eval "$[1]=\$$[1]\$[2]"
-+}
-+
-+_LT_EOF
-+ ;;
-+ esac
-+])
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 773b791f4f..0000000000
--- a/meta-oe/recipes-support/libftdi/libftdi_0.19.bb
+++ /dev/null
@@ -1,31 +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 \
-"
-
-PNBLACKLIST[libftdi] = "BROKEN: needs to be updated to detect libusb with pkg-config instead of libusb-config"
-
-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/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/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/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/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 87666534e5..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,6 +3,10 @@ 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"
diff --git a/meta-oe/recipes-support/links/links.inc b/meta-oe/recipes-support/links/links.inc
index ef48d737e6..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 pkgconfig
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.service b/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.service
new file mode 100644
index 0000000000..4836d8ff05
--- /dev/null
+++ b/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Sensor Information Logging
+
+[Service]
+Type=forking
+EnvironmentFile=-@SYSCONFDIR@/sensord.conf
+PIDFile=@LOCALSTATEDIR@/run/sensord.pid
+ExecStart=@SBINDIR@/sensord $SENSORD_ARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb b/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb
index c2aefba27f..d2cd31716e 100644
--- a/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb
+++ b/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb
@@ -10,11 +10,12 @@ DEPENDS = "sysfsutils virtual/libiconv bison-native flex-native rrdtool"
SRC_URI = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${PV}.tar.bz2 \
file://fancontrol.init \
file://sensord.init \
+ file://sensord.service \
"
SRC_URI[md5sum] = "da506dedceb41822e64865f6ba34828a"
SRC_URI[sha256sum] = "5dae6a665e1150159a93743c4ff1943a7efe02cd9d3bb12c4805e7d7adcf4fcf"
-inherit update-rc.d
+inherit update-rc.d systemd
RDEPENDS_${PN}-dev = ""
@@ -24,6 +25,10 @@ INITSCRIPT_NAME_${PN}-sensord = "sensord"
INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66"
INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67"
+SYSTEMD_PACKAGES = "${PN}-sensord"
+SYSTEMD_SERVICE_${PN}-sensord = "sensord.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
S = "${WORKDIR}/lm_sensors-${PV}"
EXTRA_OEMAKE = 'LINUX=${STAGING_KERNEL_DIR} EXLDFLAGS="${LDFLAGS}" \
@@ -37,7 +42,7 @@ do_compile() {
do_install() {
oe_runmake user_install DESTDIR=${D}
- install -m 0755 ${S}/prog/sensord/sensord ${D}${bindir}
+ install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir}
install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8
# Install directory
@@ -49,6 +54,16 @@ do_install() {
# Install sensord init script
install -m 0755 ${WORKDIR}/sensord.init ${D}${sysconfdir}/init.d/sensord
+
+ # Insall sensord service script
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/sensord.service ${D}${systemd_unitdir}/system
+
+ sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/sensord.service
+ sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/sensord.service
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/sensord.service
+ fi
}
# libsensors packages
@@ -90,7 +105,7 @@ FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5"
RDEPENDS_${PN}-sensors = "${PN}-libsensors"
# sensord logging daemon
-FILES_${PN}-sensord = "${bindir}/sensord ${sysconfdir}/init.d/sensord"
+FILES_${PN}-sensord = "${sbindir}/sensord ${sysconfdir}/init.d/sensord ${systemd_unitdir}/system/sensord.service"
FILES_${PN}-sensord-dbg = "${bindir}/.debug/sensord"
FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8"
RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool"
diff --git a/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch b/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch
new file mode 100644
index 0000000000..4872eb4f5e
--- /dev/null
+++ b/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch
@@ -0,0 +1,21 @@
+The original use of AC_ARG_WITH is buggy and causes expat support
+to be *disabled* if "--with-expat" is passed to configure.
+
+Upstream status: pending
+
+Index: log4c-1.2.4/configure.in
+===================================================================
+--- log4c-1.2.4.orig/configure.in
++++ log4c-1.2.4/configure.in
+@@ -217,9 +217,9 @@ AC_ARG_WITH(expat,
+ have any effect and Log4C uses some bundled yacc/lex code
+ for parsing it's configuration file.
+ ]),
+- with_expat=no,
++ [],
+ with_expat=yes)
+-if test x$with_expat = xyes ; then
++if test x$with_expat != xno ; then
+ use_expat=yes
+ AM_PATH_EXPAT(1.95.1)
+ fi
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..ea75757f80
--- /dev/null
+++ b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Log4c is a C library for flexible logging to files, syslog and other destinations"
+HOMEPAGE = "http://log4c.sourceforge.net"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://fix_configure_with-expat.patch"
+
+SRC_URI[md5sum] = "0d94919136e1d16b68427562e74cb3dd"
+SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea"
+
+PACKAGECONFIG ??= "expat"
+PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat"
+
+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 1bbb158d83..42f6e3a43e 100644
--- a/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -48,3 +48,5 @@ FILES_${PN} += "${libdir}/device-mapper/*.so ${base_libdir}/udev"
FILES_${PN}-dbg += "${libdir}/device-mapper/.debug"
RDEPENDS_${PN} = "bash"
+
+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 f387ce26b1..3eb7f30dfc 100644
--- a/meta-oe/recipes-support/maliit/maliit-framework_git.bb
+++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
@@ -6,7 +6,7 @@ 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"
+PNBLACKLIST[maliit-framework] ?= "BROKEN: Wasn't updated to work with B!=S, maybe incorrectly inherits autotools"
DEPENDS = "libxcomposite dbus gtk+3 gtk+"
diff --git a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
index 0fa8ac25ef..3c040d87a7 100644
--- a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
+++ b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621"
inherit autotools qt4x11
-PNBLACKLIST[maliit-plugins] = "BROKEN: depends on broken maliit-framework"
+PNBLACKLIST[maliit-plugins] ?= "BROKEN: depends on broken maliit-framework"
DEPENDS = "maliit-framework"
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/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/mysql/mariadb-native_5.5.39.bb b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb
index 9148deefc8..4ce960d7da 100644
--- a/meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb
+++ b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb
@@ -1,8 +1,8 @@
-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 = ""
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc b/meta-oe/recipes-support/mysql/mariadb.inc
index ae2e92b5d1..f385bfcda5 100644
--- a/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc
+++ b/meta-oe/recipes-support/mysql/mariadb.inc
@@ -10,10 +10,11 @@ SRC_URI = "http://mirror.stshosting.co.uk/mariadb/mariadb-${PV}/source/mariadb-$
file://fix-mysqlclient-r-version.patch \
file://my.cnf \
file://mysqld.service \
+ file://configure.cmake-fix-valgrind.patch \
"
-SRC_URI[md5sum] = "917a807d8cf2c8ef9deedd2a89b6decd"
-SRC_URI[sha256sum] = "cb850865ab55ce5f01c99a612cc75b76ead5d75adfa75a606f453d32f9089d14"
+SRC_URI[md5sum] = "d2415efc6a6d73d7a58f3c79bb42f2e8"
+SRC_URI[sha256sum] = "a16dc62e4bcabecd5c483f2f8b657483a8c51934e7be5ad4ab21b8baea1f5332"
S = "${WORKDIR}/mariadb-${PV}"
@@ -31,13 +32,15 @@ GROUPADD_PARAM_${PN}-server = "--system mysql"
SYSTEMD_PACKAGES = "${PN}-server"
SYSTEMD_SERVICE_${PN}-server = "mysqld.service"
-SYSTEMD_AUTO_ENABLE_mariadb-server = "disable"
+SYSTEMD_AUTO_ENABLE_${PN}-server = "disable"
EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
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
@@ -125,13 +128,16 @@ pkg_postinst_${PN}-server () {
mysql_install_db --basedir=${prefix} --user=mysql
+ [ -x /sbin/restorecon ] && /sbin/restorecon -RF /var/lib/mysql
}
PACKAGES = "${PN}-dbg ${PN} \
libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev libmysqlclient-r-dbg \
libmysqlclient libmysqlclient-dev libmysqlclient-staticdev libmysqlclient-dbg \
libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-leftovers"
-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"
@@ -142,7 +148,8 @@ RDEPENDS_${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \
perl-module-exporter"
RDEPENDS_${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \
perl-module-file-basename perl-module-file-path perl-module-sys-hostname \
- perl-module-file-copy perl-module-file-temp perl-module-posix"
+ perl-module-file-copy perl-module-file-temp perl-module-posix \
+ ${PN}-client"
RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \
perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \
perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \
@@ -151,7 +158,8 @@ RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-modu
perl-module-io-socket-inet perl-module-io-select"
FILES_libmysqlclient = "\
- ${libdir}/libmysqlclient.so.*"
+ ${libdir}/libmysqlclient.so.* \
+ ${sysconfdir}/my.cnf.d/client.cnf"
FILES_libmysqlclient-dev = " \
${includedir}/mysql/ \
${libdir}/libmysqlclient.so \
@@ -196,7 +204,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 \
@@ -246,6 +255,7 @@ FILES_${PN}-server = "\
${localstatedir}/mysql/ \
${sysconfdir}/init.d \
${sysconfdir}/my.cnf \
+ ${sysconfdir}/my.cnf.d/server.cnf \
${sysconfdir}/tmpfiles.d"
DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
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/my.cnf b/meta-oe/recipes-support/mysql/mariadb/my.cnf
index f2c9b9036f..28d389922b 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,14 +9,18 @@ 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
-datadir = /var/mysql
+datadir = /var/lib/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
index 18ad8d54d7..757d0386c3 100644
--- a/meta-oe/recipes-support/mysql/mariadb/mysqld.service
+++ b/meta-oe/recipes-support/mysql/mariadb/mysqld.service
@@ -4,6 +4,7 @@ After=syslog.target
After=network.target
[Service]
+PIDFile=/var/lib/mysql/mysqld.pid
Type=simple
User=mysql
Group=mysql
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb
index fee5b6297d..8f998a3a56 100644
--- a/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb
+++ b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb
@@ -1,8 +1,8 @@
-require ${PN}_${PV}.inc
+require mariadb.inc
EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
-DEPENDS += "mariadb-native ncurses zlib readline libaio"
+DEPENDS += "mariadb-native ncurses zlib readline libaio libevent"
PROVIDES += "mysql5"
@@ -25,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/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/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 1395f72560..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,8 +23,12 @@ 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
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/slapd.service b/meta-oe/recipes-support/openldap/openldap-2.4.39/slapd.service
new file mode 100644
index 0000000000..f5f83fdc37
--- /dev/null
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/slapd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Standalone LDAP Daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=@SBINDIR@/slapd
+
+[Install]
+WantedBy=multi-user.target
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 b2693b5b0d..e2c700f1d6 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,7 +9,9 @@ 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])}"
@@ -16,22 +19,24 @@ LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}"
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 \
+ file://slapd.service \
"
-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 systemd
# CV SETTINGS
# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
@@ -47,7 +52,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 +69,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 +82,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 +102,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 +117,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,10 +142,13 @@ 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
+ cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
rm -f ${S}/libtool
aclocal
libtoolize --force --copy
@@ -164,7 +168,7 @@ PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/openldap-data"
FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
- ${sysconfdir}/openldap/DB_CONFIG.example"
+ ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run"
FILES_${PN}-bin = "${bindir}"
FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so"
@@ -176,31 +180,36 @@ 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
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service
}
-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"
+SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service"
+SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable"
+
-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 ac4d188c5a..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,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343"
PR = "r3"
-PNBLACKLIST[openmotif] = "BROKEN: doesn't build with B!=S"
+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/opensc/opensc_0.14.0.bb b/meta-oe/recipes-support/opensc/opensc_0.14.0.bb
new file mode 100644
index 0000000000..87ea2addd8
--- /dev/null
+++ b/meta-oe/recipes-support/opensc/opensc_0.14.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Smart card library and applications"
+DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\
+functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\
+7816-4 compatible smart card. Encryption and decryption using private\
+keys on the smart card is possible with PKCS\
+such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\
+eID cards have also been confirmed to work."
+
+HOMEPAGE = "http://www.opensc-project.org/opensc/"
+SECTION = "System Environment/Libraries"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/o/${BPN}/${BPN}_${PV}.orig.tar.gz"
+
+SRC_URI[md5sum] = "1ee31dc2e89860458fd984e0cac9795e"
+SRC_URI[sha256sum] = "ffe8bcc704f2ab9a05c6781bc815f00eaf75cba0a1bd21e3142b9194a7bed5c9"
+
+S = "${WORKDIR}/OpenSC-${PV}"
+DEPENDS = "openct pcsc-lite virtual/libiconv openssl"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " \
+ --disable-static \
+ --enable-openct \
+ --disable-pcsc \
+ --disable-ctapi \
+ --disable-doc \
+"
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+RDEPENDS_${PN} = "readline"
+
+FILES_${PN} += "\
+ ${libdir}/opensc-pkcs11.so \
+ ${libdir}/onepin-opensc-pkcs11.so \
+ ${libdir}/pkcs11-spy.so \
+"
+FILES_${PN}-dev += "\
+ ${libdir}/pkcs11/opensc-pkcs11.so \
+ ${libdir}/pkcs11/onepin-opensc-pkcs11.so \
+ ${libdir}/pkcs11/pkcs11-spy.so \
+"
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/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/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/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/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/postgresql.inc b/meta-oe/recipes-support/postgresql/postgresql.inc
index d45f4b5edf..1397f564de 100644
--- a/meta-oe/recipes-support/postgresql/postgresql.inc
+++ b/meta-oe/recipes-support/postgresql/postgresql.inc
@@ -28,10 +28,17 @@ SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \
file://postgresql.init \
file://postgresql-bashprofile \
file://postgresql.pam \
- file://0001-Use-pkg-config-for-libxml2-detection.patch \
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"
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/rng-tools/files/default b/meta-oe/recipes-support/rng-tools/files/default
index ab7cd9327f..7aede9be03 100644
--- a/meta-oe/recipes-support/rng-tools/files/default
+++ b/meta-oe/recipes-support/rng-tools/files/default
@@ -1,2 +1,3 @@
# Specify rng device
-RNG_DEVICE=/dev/hwrng
+#RNG_DEVICE=/dev/hwrng
+RNG_DEVICE=/dev/urandom
diff --git a/meta-oe/recipes-support/rng-tools/rng-tools_4.bb b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb
index f10fad1df9..b3d880ff35 100644
--- a/meta-oe/recipes-support/rng-tools/rng-tools_4.bb
+++ b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb
@@ -10,17 +10,27 @@ SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${BP}.tar.gz \
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() {
- 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
+ # 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
+ install -d "${D}${sysconfdir}/default"
+ install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/rng-tools
+ fi
}
INITSCRIPT_NAME = "rng-tools"
-INITSCRIPT_PARAMS = "defaults"
+INITSCRIPT_PARAMS = "start 30 S . stop 30 0 6 1 ."
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..d6805110c9
--- /dev/null
+++ b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
@@ -0,0 +1,43 @@
+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 \
+ ac_cv_path_PERL=${bindir}/perl \
+ "
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/synergy/synergy_1.3.8.bb b/meta-oe/recipes-support/synergy/synergy_1.3.8.bb
index 642845f967..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 libxinerama"
+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/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/logwriter-still-free-the-unconsumed-item.patch b/meta-oe/recipes-support/syslog-ng/files/logwriter-still-free-the-unconsumed-item.patch
deleted file mode 100644
index 31110933f0..0000000000
--- a/meta-oe/recipes-support/syslog-ng/files/logwriter-still-free-the-unconsumed-item.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-logwritter: still free the unconsumed item during reloading configuration
-
-Otherwise we have no chance to free this stuff.
-
-Upstream-Status: Pending
-
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
----
---- a/lib/logwriter.c
-+++ b/lib/logwriter.c
-@@ -39,6 +39,7 @@
- #include <iv.h>
- #include <iv_event.h>
- #include <iv_work.h>
-+#include "logproto/logproto-text-client.h"
-
- typedef enum
- {
-@@ -978,6 +979,7 @@
- gint count = 0;
- gboolean ignore_throttle = (flush_mode >= LW_FLUSH_QUEUE);
- LogProtoStatus status = LPS_SUCCESS;
-+ LogProtoTextClient *self_text;
-
- if (!proto)
- return FALSE;
-@@ -1035,7 +1037,18 @@
- }
- else
- {
-- /* push back to the queue */
-- log_queue_push_head(self->queue, lm, &path_options);
-+ self_text = (LogProtoTextClient *) proto;
-+ /* free the unconsumed message during reloading configuration */
-+ if ((LW_FLUSH_QUEUE == flush_mode) && self_text->partial_free && self_text->partial)
-+ {
-+ self_text->partial_free(self_text->partial);
-+ self_text->partial = NULL;
-+ 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();
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/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
index 22767778f6..4aead31b75 100644
--- a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
+++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
@@ -53,6 +53,7 @@ PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},-
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)}"
@@ -71,6 +72,7 @@ do_install_append() {
}
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"
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
index d5939e4623..b54842030c 100644
--- 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
@@ -9,10 +9,12 @@ SRC_URI += " \
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://logwriter-still-free-the-unconsumed-item.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"
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/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/utouch/utouch-mtview_git.bb b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
index bcf7e23846..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 pkgconfig
+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 78af9b62c5..07ff318203 100644
--- a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
+++ b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
@@ -8,7 +8,7 @@ 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"
+PNBLACKLIST[vala-terminal] ?= "BROKEN: Doesn't work with B!=S, touch: cannot touch `src/.stamp': No such file or directory"
inherit autotools perlnative vala
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.373.bb b/meta-oe/recipes-support/vim/vim_7.4.481.bb
index 81c0ddf80b..7490229185 100644
--- a/meta-oe/recipes-support/vim/vim_7.4.373.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-373"
+SRCREV = "v7-4-481"
-S = "${WORKDIR}/${BPN}/src"
+S = "${WORKDIR}/vim/src"
-VIMDIR = "${BPN}${@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,7 +59,9 @@ EXTRA_OECONF = " \
STRIP=/bin/true \
"
-do_install_append() {
+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
@@ -67,6 +69,9 @@ do_install_append() {
# Install example vimrc from runtime files
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 = ""
@@ -93,10 +98,12 @@ FILES_${PN}-common = " \
${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}-common"
-ALTERNATIVE_${PN} = "vi"
-ALTERNATIVE_TARGET[vi] = "${bindir}/${BPN}"
-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/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-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/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/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/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-ssleay-perl_1.65.bb b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb
index 63594b94b2..f6c4b8b36c 100644
--- a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb
+++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb
@@ -28,12 +28,16 @@ S = "${WORKDIR}/Net-SSLeay-${PV}"
inherit cpan ptest
-EXTRA_CPANFLAGS = "LIBS='-L=${libdir} -L=${base_libdir}' \
- INC=-I=${includedir} \
+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}
}
diff --git a/meta-python/conf/layer.conf b/meta-python/conf/layer.conf
index 4e8eca3c33..55169e4fbb 100644
--- a/meta-python/conf/layer.conf
+++ b/meta-python/conf/layer.conf
@@ -7,3 +7,9 @@ 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-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-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-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-django-south_1.0.2.bb b/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb
new file mode 100644
index 0000000000..9eab13d04a
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Migrations for Django"
+DESCRIPTION = "South is an intelligent database migrations library for the Django web framework. It is database-independent and DVCS-friendly, as well as a whole host of other features."
+HOMEPAGE = "http://south.aeracode.org/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=17;endline=18;md5=2155d8ae21e7c23101d5febac696b27e"
+
+SRCNAME = "South"
+
+SRC_URI = "https://pypi.python.org/packages/source/S/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "c76a9758b2011bc3b6c39f881bba2f66"
+SRC_URI[sha256sum] = "d360bd31898f9df59f6faa786551065bba45b35e7ee3c39b381b4fbfef7392f4"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit distutils
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta-python/recipes-devtools/python/python-django_1.6.10.bb b/meta-python/recipes-devtools/python/python-django_1.6.10.bb
new file mode 100644
index 0000000000..a7ca803f23
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-django_1.6.10.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A high-level Python Web framework"
+HOMEPAGE = "http://www.djangoproject.com/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fa8608154dcdd4029ae653131d4b7365"
+
+SRCNAME = "Django"
+
+SRC_URI = "https://pypi.python.org/packages/source/D/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "d7123f14ac19ae001be02ed841937b91"
+SRC_URI[sha256sum] = "54eb59ce785401c7d1fdeed245efce597e90f811d6a20f6b5c6931c0049d63a6"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit distutils
+
+FILES_${PN} += "${datadir}/django"
+
+BBCLASSEXTEND = "nativesdk"
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-python/recipes-devtools/python/python-jinja2_2.7.3.bb b/meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb
new file mode 100644
index 0000000000..e66077af17
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python."
+HOMEPAGE = "https://pypi.python.org/pypi/Jinja2"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=20c831f91dd3bd486020f672ba2be386"
+
+PR = "r0"
+SRCNAME = "Jinja2"
+
+SRC_URI = "https://pypi.python.org/packages/source/J/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "b9dffd2f3b43d673802fe857c8445b1a"
+SRC_URI[sha256sum] = "2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += "python-io python-pickle python-crypt python-math python-netclient python-re python-textutils python-lang python-pprint python-shell python-markupsafe"
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-python/recipes-devtools/python/python-lxml_3.0.2.bb b/meta-python/recipes-devtools/python/python-lxml_3.2.5.bb
index 5ab7b4a793..68e36771fe 100644
--- a/meta-python/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}"
@@ -18,7 +20,7 @@ inherit setuptools
DISTUTILS_BUILD_ARGS += " \
--with-xslt-config='${STAGING_BINDIR_NATIVE}/pkg-config libxslt' \
- --with-xml2-config='${STAGING_BINDIR_CROSS}/xml2-config' \
+ --with-xml2-config='${STAGING_BINDIR_CROSS}/pkg-config libxml2' \
"
DISTUTILS_INSTALL_ARGS += " \
diff --git a/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb b/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb
new file mode 100644
index 0000000000..4821c0a3b6
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Implements a XML/HTML/XHTML Markup safe string for Python"
+HOMEPAGE = "http://github.com/mitsuhiko/markupsafe"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c6d1adcf45d69359f256c1cea3254127"
+
+PR = "r0"
+SRCNAME = "MarkupSafe"
+
+SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "f5ab3deee4c37cd6a922fb81e730da6e"
+SRC_URI[sha256sum] = "a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += "python-re"
diff --git a/meta-python/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-python/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-python/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-python/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-python/recipes-devtools/python/python-msgpack_0.4.5.bb b/meta-python/recipes-devtools/python/python-msgpack_0.4.5.bb
new file mode 100644
index 0000000000..206b03dd4d
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-msgpack_0.4.5.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "MessagePack (de)serializer"
+HOMEPAGE = "https://pypi.python.org/pypi/msgpack-python/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
+
+PR = "r0"
+SRCNAME = "msgpack-python"
+
+SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "3b82bc542d5599896695512e7c32f42d"
+SRC_URI[sha256sum] = "a07cd6615a6bf38cfa2f010b121c7e77b74a3e7b971ef3e475c3d33308014cbb"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
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-python/recipes-devtools/python/python-pip_1.3.1.bb b/meta-python/recipes-devtools/python/python-pip_1.3.1.bb
deleted file mode 100644
index d1a7c8b3ae..0000000000
--- a/meta-python/recipes-devtools/python/python-pip_1.3.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "PIP is a tool for installing and managing Python packages"
-LICENSE = "MIT & GPL"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd00425a3465a0e4c81929b94241d3de"
-
-SRC_URI = "https://pypi.python.org/packages/source/p/pip/pip-${PV}.tar.gz"
-SRC_URI[md5sum] = "cbb27a191cebc58997c4da8513863153"
-SRC_URI[sha256sum] = "145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957"
-
-S = "${WORKDIR}/pip-${PV}"
-
-inherit setuptools
-
-# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
-RDEPENDS_${PN} = "python-modules"
diff --git a/meta-python/recipes-devtools/python/python-pip_1.5.6.bb b/meta-python/recipes-devtools/python/python-pip_1.5.6.bb
new file mode 100644
index 0000000000..b4ce9e5f3c
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pip_1.5.6.bb
@@ -0,0 +1,15 @@
+SUMMARY = "PIP is a tool for installing and managing Python packages"
+LICENSE = "MIT & LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=45665b53032c02b35e29ddab8e61fa91"
+
+SRC_URI = "https://pypi.python.org/packages/source/p/pip/pip-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "01026f87978932060cc86c1dc527903e"
+SRC_URI[sha256sum] = "b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c"
+
+S = "${WORKDIR}/pip-${PV}"
+
+inherit setuptools
+
+# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
+RDEPENDS_${PN} = "python-modules python-distribute"
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-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-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-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch b/meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch
new file mode 100644
index 0000000000..2dc3b73f9e
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch
@@ -0,0 +1,26 @@
+diff --git a/setup.py b/setup.py
+index 62df445..1fdbdeb 100755
+--- a/setup.py
++++ b/setup.py
+@@ -213,12 +213,6 @@ def settings_from_prefix(prefix=None, bundle_libzmq_dylib=False):
+ pass
+ # unused rpath args for OS X:
+ # settings['extra_link_args'] = ['-Wl,-rpath','-Wl,$ORIGIN/..']
+- else:
+- settings['runtime_library_dirs'] += ['$ORIGIN/..']
+- elif sys.platform != 'darwin':
+- settings['runtime_library_dirs'] += [
+- os.path.abspath(x) for x in settings['library_dirs']
+- ]
+
+ return settings
+
+@@ -592,8 +586,6 @@ class Configure(build_ext):
+ pass
+ # unused rpath args for OS X:
+ # settings['extra_link_args'] = ['-Wl,-rpath','-Wl,$ORIGIN/../zmq']
+- else:
+- settings['runtime_library_dirs'] = [ os.path.abspath(pjoin('.', 'zmq')) ]
+
+ line()
+ info("Configure: Autodetecting ZMQ settings...")
diff --git a/meta-python/recipes-devtools/python/python-pyzmq_14.5.0.bb b/meta-python/recipes-devtools/python/python-pyzmq_14.5.0.bb
new file mode 100644
index 0000000000..626e29d960
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pyzmq_14.5.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Pyzmq provides Zero message queue access for the Python language"
+HOMEPAGE = "http://zeromq.org/bindings:python"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e"
+DEPENDS = "zeromq"
+
+SRC_URI = "https://pypi.python.org/packages/source/p/pyzmq/pyzmq-${PV}.tar.gz \
+ file://club-rpath-out.patch \
+"
+SRC_URI[md5sum] = "8d3351a8ca2ca2a272a3f96bcb963e41"
+SRC_URI[sha256sum] = "5d6e045634456cf5496f50871fd3e3a5ede2b90433284dbfe985bb67c97f77bd"
+
+S = "${WORKDIR}/pyzmq-${PV}"
+
+inherit setuptools pkgconfig
+
+FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug"
+
+do_compile_prepend() {
+ echo [global] > ${S}/setup.cfg
+ echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg
+ echo have_sys_un_h = True >> ${S}/setup.cfg
+ echo skip_check_zmq = True >> ${S}/setup.cfg
+ echo libzmq_extension = False >> ${S}/setup.cfg
+ echo no_libzmq_extension = True >> ${S}/setup.cfg
+}
diff --git a/meta-python/recipes-devtools/python/python-requests_2.5.1.bb b/meta-python/recipes-devtools/python/python-requests_2.5.1.bb
new file mode 100644
index 0000000000..b719dca8d3
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-requests_2.5.1.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Python HTTP for Humans."
+HOMEPAGE = "http://python-requests.org"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c7869e52c8275537186de35e3cd5f9ec"
+
+PR = "r0"
+SRCNAME = "requests"
+
+SRC_URI = "http://pypi.python.org/packages/source/r/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "c270eb5551a02e8ab7a4cbb83e22af2e"
+SRC_URI[sha256sum] = "7b7735efd3b1e2323dc9fcef060b380d05f5f18bd0f247f5e9e74a628279de66"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
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-python/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-python/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-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/ruby.inc b/meta-ruby/recipes-devtools/ruby/ruby.inc
index 409a320fdd..770286960d 100644
--- a/meta-ruby/recipes-devtools/ruby/ruby.inc
+++ b/meta-ruby/recipes-devtools/ruby/ruby.inc
@@ -20,7 +20,7 @@ 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_1.9.3-p547.bb b/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb
index 2d5938f874..834cb7187f 100644
--- a/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb
+++ b/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb
@@ -21,6 +21,9 @@ SRC_URI[sha256sum] = "9ba118e4aba04c430bc4d5efb09b31a0277e101c9fd2ef3b80b9c684d7
# 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 \
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
index 3a22fe3bda..181b8784dd 100644
--- a/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend
+++ b/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend
@@ -1,16 +1,4 @@
-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_1.4.11.bbappend b/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend
index 181b8784dd..f006b3fb5b 100644
--- a/meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend
+++ b/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend
@@ -1,4 +1,3 @@
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
-
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/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_2.4.10.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb
index 573cd6fb00..55d507f757 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb
+++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb
@@ -17,9 +17,12 @@ SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2 \
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.service"
+ file://apache2.service \
+ file://apache-CVE-2014-0117.patch \
+ "
LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
SRC_URI[md5sum] = "44543dff14a4ebc1e9e2d86780507156"
@@ -56,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 | \
diff --git a/meta-webserver/recipes-httpd/apache2/files/apache2.service b/meta-webserver/recipes-httpd/apache2/files/apache2.service
index f4bcf9efaf..9b5548c761 100644
--- a/meta-webserver/recipes-httpd/apache2/files/apache2.service
+++ b/meta-webserver/recipes-httpd/apache2/files/apache2.service
@@ -1,5 +1,5 @@
[Unit]
-Decription=The Apache HTTP Server
+Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service]
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/monkey/monkey_1.5.3.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb
index 06095ba88f..a4963afcd3 100644
--- a/meta-webserver/recipes-httpd/monkey/monkey_1.5.3.bb
+++ b/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb
@@ -11,8 +11,8 @@ SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \
file://monkey.service \
file://monkey.init"
-SRC_URI[md5sum] = "1fa9ddbb4c0100b22f2fc4b8da56dbe9"
-SRC_URI[sha256sum] = "0ac300e04f052818bc26b7da0183c3c5cd13be8090aaabd3505838587be8c0ec"
+SRC_URI[md5sum] = "b794724ac38cfedee2a5d27c175bc87e"
+SRC_URI[sha256sum] = "662bbafc614d32f645059e6e00258fed640665594f5b7f11cf4c4763cf09ddcf"
EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \
--logdir=${localstatedir}/log/monkey/ \
diff --git a/meta-webserver/recipes-php/modphp/modphp5.inc b/meta-webserver/recipes-php/modphp/modphp5.inc
deleted file mode 100644
index 69324295a5..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=52dd90569008fee5bcdbb22d945b1108"
-
-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.15.bb b/meta-webserver/recipes-php/modphp/modphp_5.5.15.bb
deleted file mode 100644
index aed620f5b7..0000000000
--- a/meta-webserver/recipes-php/modphp/modphp_5.5.15.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-include modphp5.inc
-
-EXTRA_OECONF += "--disable-opcache"
-
-SRC_URI[md5sum] = "5cb5f2ed9099299f8a4c952d59d93812"
-SRC_URI[sha256sum] = "00f24226b12fee27e332383b6304f1b9ed3f4d9173dd728a68c5c3f5a59b8ba7"
-
diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.7.bb b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.3.4.bb
index 0de3f6d43c..76068e2cf6 100644
--- a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.7.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] = "0dcd755450dac819f33502590c88ad29"
-SRC_URI[sha256sum] = "5d101dd88a99a869bc0c684a7f687cf290abc4bf306daac73337cbde2d7743e4"
+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
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-webadmin/webmin/webmin_1.700.bb b/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb
index 2a363cbcf2..c6523c53d8 100644
--- a/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb
+++ b/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb
@@ -82,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
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/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-screenshooter/files/0001-Fix-panel-plugin-build.patch b/meta-xfce/recipes-apps/xfce4-screenshooter/files/0001-Fix-panel-plugin-build.patch
deleted file mode 100644
index 98ce875b78..0000000000
--- a/meta-xfce/recipes-apps/xfce4-screenshooter/files/0001-Fix-panel-plugin-build.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 08053be7adc6d4a83191efed735c3f565bcbcf1f Mon Sep 17 00:00:00 2001
-From: Samuli Suominen <ssuominen@gentoo.org>
-Date: Sat, 5 May 2012 17:13:45 +0200
-Subject: [PATCH] Fix panel plugin build.
-
-- Don't use a versioned library.
-- Build as a module.
-- Only export needed symbols.
----
-Upstream-Status: applied
- Makefile.am | 12 +++++++++---
- 1 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 45100fd..d0c0adb 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -132,13 +132,19 @@ panel_plugin_libscreenshooterplugin_la_CFLAGS = \
- @SOUP_CFLAGS@
-
- panel_plugin_libscreenshooterplugin_la_LDFLAGS = \
-+ -avoid-version \
-+ -module \
-+ -no-undefined \
-+ -export-symbols-regex '^xfce_panel_module_(preinit|init|construct)' \
-+ $(PLATFORM_LDFLAGS)
-+
-+panel_plugin_libscreenshooterplugin_la_LIBADD = \
- @EXO_LIBS@ \
- @LIBXFCE4PANEL_LIBS@ \
- @GTHREAD_LIBS@ \
- @SOUP_LIBS@ \
-- @LIBXFCE4UI_LIBS@
--
--panel_plugin_libscreenshooterplugin_la_LIBADD = lib/libscreenshooter.la
-+ @LIBXFCE4UI_LIBS@ \
-+ lib/libscreenshooter.la
-
- panel_plugin_libscreenshooterplugin_la_SOURCES = \
- panel-plugin/screenshooter-plugin.c
---
-1.7.4.4
-
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.2.bb
index 0e2e327f03..ae19492f3c 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.2.bb
@@ -7,13 +7,15 @@ DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+ glib-2.0 libsoup-
inherit xfce-app
-SRC_URI += "file://0001-Fix-panel-plugin-build.patch"
-SRC_URI[md5sum] = "d0ffea2052a8e70154cf13789070711f"
-SRC_URI[sha256sum] = "40419892bd28989315eed053c159bba0f4264ed8c6c6738806024e481eab9492"
+SRC_URI[md5sum] = "3a32ecc5566453a58f6a4ddd70649444"
+SRC_URI[sha256sum] = "9dce2ddfaa87f703e870e29bae13f3fc82a1b3f06b44f8386640e45a135f5f69"
do_compile_prepend() {
mkdir -p lib
}
-FILES_${PN} += "${datadir}/xfce4/panel/plugins \
- ${libdir}/xfce4/panel/plugins"
+FILES_${PN} += " \
+ ${datadir}/appdata \
+ ${datadir}/xfce4/panel/plugins \
+ ${libdir}/xfce4/panel/plugins \
+"
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-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/cpufreq/xfce4-cpufreq-plugin_1.1.0.bb b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.0.bb
deleted file mode 100644
index 7a99b4f752..0000000000
--- a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Panel plugin to display frequency of all cpus"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "dcc56af0e19266956c297d124ba551f4"
-SRC_URI[sha256sum] = "eafa261bf984231ed8487c08decea6d916339d82b52f4bbe748e5c6a95c7f6b6"
-
-# defaults in xfce4-panel-plugin.bbclass don't match so override here
-FILES_${PN} = "${datadir}/icons ${datadir}/xfce4 ${libdir}/xfce4/panel/plugins/*.so*"
-
-# *.so are required for plugin detection
-INSANE_SKIP_${PN} = "dev-so"
diff --git a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.1.bb b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.1.bb
new file mode 100644
index 0000000000..224f85f87b
--- /dev/null
+++ b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin to display frequency of all cpus"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "cc3447ee6663f2946fce86308ba3566b"
+SRC_URI[sha256sum] = "474c45c007e65bfc107d6bcc902330c5e964906e6da120af48f7e2dba7f5cae7"
diff --git a/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.4.bb b/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.4.bb
index 1aadd2c1ae..2df9b9f525 100644
--- a/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.4.bb
+++ b/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.4.bb
@@ -1,6 +1,6 @@
SUMMARY = "Panel plugin displaying instant disk/partition performance"
HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-diskperf-plugin"
-LICENSE = "RogerSeguin"
+LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=d3e627798d6a60bece47aa8b3532e1f1"
inherit xfce-panel-plugin
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.6.bb
index 95d1d66c89..d4f069f712 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.6.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] = "ee76ed3825999b24ee9c2c976d906e22"
+SRC_URI[sha256sum] = "8129067080c8a4656063e7cde20f13fabb47b49c84ce610916f54644acb93d67"
FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-equake-plugin"
diff --git a/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.2.bb b/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.3.bb
index f1ed6c7c43..2ac63f9c76 100644
--- a/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.2.bb
+++ b/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.3.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
inherit xfce-panel-plugin
-SRC_URI[md5sum] = "1ef352c68dd8929c9e8743200b758b3c"
-SRC_URI[sha256sum] = "dad102fedd0d9e6df45338a018387b2aacaf24b05eb798275be0dfc05ffa3021"
+SRC_URI[md5sum] = "86ae8bce96e028921fcc0ee8424ff565"
+SRC_URI[sha256sum] = "4b9a335bcfdb8e4e2f6aedb3556575e5331f181912565f4289e354126230817c"
FILES_${PN} += "${datadir}/xfce4/eyes"
diff --git a/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb b/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb
new file mode 100644
index 0000000000..caf55084f2
--- /dev/null
+++ b/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb
@@ -0,0 +1,15 @@
+SUMMARY = "XFCE panel plugin displaying status of keyboard LEDs"
+DESCRIPTION = "This plugin shows the state of your keyboard LEDs: Caps, Scroll and Num Lock in Xfce panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-kbdleds-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYING.LIB;md5=252890d9eee26aab7b432e8b8a616475 \
+"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "db6ad8e3502f3373f087ba2034141552"
+SRC_URI[sha256sum] = "6d280ad7207bcb9cc87c279dc3ab9084fd93325e87f67858e8917729b50201cd"
+
+FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-kbdleds-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/netload/xfce4-netload-plugin_1.2.0.bb b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.4.bb
index ef1039b797..c9f7a2a661 100644
--- a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.0.bb
+++ b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.4.bb
@@ -5,5 +5,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f"
inherit xfce-panel-plugin
-SRC_URI[md5sum] = "05180d60ed347029dc125368c1d4406e"
-SRC_URI[sha256sum] = "c824f09e2d3860011b44d8272d661c458237786828027f3d9ad6a1d4f0096845"
+SRC_URI[md5sum] = "ce53e1135e4bff5afcd899627110bd11"
+SRC_URI[sha256sum] = "fface918822c012d806717116566e54947ad7613b9290b45a18e2d5ffb8730d3"
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/systemload/xfce4-systemload-plugin_1.1.1.bb b/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.2.bb
index 53f6c4a3c1..c212f889b0 100644
--- a/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.1.bb
+++ b/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.2.bb
@@ -7,5 +7,5 @@ inherit xfce-panel-plugin
DEPENDS += "upower"
-SRC_URI[md5sum] = "22d48c0883f9d598bce24e81d93e692e"
-SRC_URI[sha256sum] = "1ac13efbe9e576c9effd5e0675574a57c8fd44cfee60d6e319eb4d03c1c8d9ae"
+SRC_URI[md5sum] = "68c9d20b352c13f3eb6b39a0d9fe2ba2"
+SRC_URI[sha256sum] = "b469b6b3a08ec29b9061151950d876d36bf25a3106ec77256923fdd6b5d18a7c"
diff --git a/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb b/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb
new file mode 100644
index 0000000000..d61235fe0e
--- /dev/null
+++ b/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "XFCE panel plugin to generate alarm messages"
+DESCRIPTION = "This is a simple plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-timer-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ae39271267fd63eb7619432ff24e7ff1"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "3be2a4ccfb2af20441b1d25c2cea5f28"
+SRC_URI[sha256sum] = "39d7d21f099bc4219f6a6156142f0bbb8374986ee1970a9c0c8dc138b87f867c"
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..7a3335a0b6 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 = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=e1e5872df9c5cf1a23f16493d9104920"
inherit xfce-panel-plugin
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.5.bb
index d03a259047..3fc5eae7a7 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.5.bb
@@ -7,7 +7,7 @@ inherit xfce-panel-plugin
DEPENDS += "libsoup-2.4 dbus-glib upower"
-SRC_URI[md5sum] = "755b33089c02afe88abb39253003a7f3"
-SRC_URI[sha256sum] = "40a6a22be7653b15a47174a430da89040f178695b48e5e01e77990050f715ce4"
+SRC_URI[md5sum] = "cc6d9039540a71e57102ae75224a3f5e"
+SRC_URI[sha256sum] = "be8ac0e5635355d568e4095a3459f53efd5f10a8ef46976a43dc30cbb277e5cd"
FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb b/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_1.4.2.bb
index dd3d8fd6e2..77641099fc 100644
--- a/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb
+++ b/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_1.4.2.bb
@@ -6,5 +6,5 @@ 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"
+SRC_URI[md5sum] = "967bbff0e98fdf0c1b78e61b3b152c2d"
+SRC_URI[sha256sum] = "7266d7a16df4bffe6f00d3d4711b8b8fd972491bac70f13a9d7edd9f0472d311"
diff --git a/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.0.bb b/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.0.bb
index 1109f31943..22ead2a1ce 100644
--- a/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.0.bb
+++ b/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "XKB layout switching panel plug-in for the Xfce desktop environment"
HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-xkb-plugin"
SECTION = "x11/application"
-LICENSE = "Alexander_Iliev"
+LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=496f09f084b0f7e6f02f769a84490c6b"
inherit xfce-panel-plugin
diff --git a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
index 32f220cca6..28e452a683 100644
--- a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
+++ b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
@@ -31,16 +31,19 @@ RRECOMMENDS_${PN} = " \
xfce4-places-plugin \
xfce4-systemload-plugin \
xfce4-time-out-plugin \
+ xfce4-timer-plugin \
xfce4-embed-plugin \
xfce4-weather-plugin \
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 \
+ xfce4-kbdleds-plugin \
\
thunar-media-tags-plugin \
thunar-archive-plugin \
@@ -51,4 +54,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 3feb242c4d..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,7 +2,7 @@ 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
diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb
index 9f361e970a..5359545337 100644
--- a/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb
+++ b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb
@@ -17,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.bb b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb
index 1d1a082ef9..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
@@ -22,3 +22,5 @@ do_install_append() {
}
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/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"