Merge pull request #396 from williamspatrick/update-yocto-2.1

Update to Yocto 2.1
diff --git a/classes/image-overlay.bbclass b/classes/image-overlay.bbclass
index 71768a6..dbe4daf 100644
--- a/classes/image-overlay.bbclass
+++ b/classes/image-overlay.bbclass
@@ -14,7 +14,7 @@
 
 ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.${IMAGE_BASETYPE}"
 
-do_generate_flash[depends] += "${INITRD_IMAGE}:do_rootfs"
-do_generate_flash[depends] += "${PN}:do_rootfs"
+do_generate_flash[depends] += "${INITRD_IMAGE}:do_image_complete"
+do_generate_flash[depends] += "${PN}:do_image_complete"
 
 addtask generate_flash before do_build
diff --git a/common/recipes-connectivity/openssl/openssl/Configure.patch b/common/recipes-connectivity/openssl/openssl/Configure.patch
new file mode 100644
index 0000000..690301b
--- /dev/null
+++ b/common/recipes-connectivity/openssl/openssl/Configure.patch
@@ -0,0 +1,15 @@
+diff --git a/Configure.bak b/Configure
+index c98107a..320cf2c 100755
+--- a/Configure.bak
++++ b/Configure
+@@ -1723,8 +1723,8 @@ while (<IN>)
+ 		s/^CC=.*$/CC= $cc/;
+ 		s/^AR=\s*ar/AR= $ar/;
+ 		s/^RANLIB=.*/RANLIB= $ranlib/;
+-		s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc";
+-		s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $ecc eq "gcc" || $ecc eq "clang";
++		s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/; # if $cc eq "gcc";
++		#s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $ecc eq "gcc" || $ecc eq "clang";
+ 		}
+ 	s/^CFLAG=.*$/CFLAG= $cflags/;
+ 	s/^DEPFLAG=.*$/DEPFLAG=$depflags/;
diff --git a/common/recipes-connectivity/openssl/openssl_%.bbappend b/common/recipes-connectivity/openssl/openssl_%.bbappend
index a18a552..5816aef 100644
--- a/common/recipes-connectivity/openssl/openssl_%.bbappend
+++ b/common/recipes-connectivity/openssl/openssl_%.bbappend
@@ -1,3 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI_append = "file://Configure.patch"
 
 # General config settings.
 EXTRA_OECONF_append = " shared no-hw no-err no-psk no-srp no-engines "
@@ -9,3 +11,7 @@
 EXTRA_OECONF_append = " no-idea no-md2 no-mdc2 no-rc5 no-md4 \
         no-ripemd160 no-rmd160 no-whirlpool no-sha0 no-camellia \
         no-rc2 no-rc4 no-bf no-cast no-seed no-gost "
+
+do_configure_append() {
+    oe_runmake depend
+}
diff --git a/common/recipes-core/glibc/cross-localedef-native/0001-add-support-for-Power8-LE-mode.patch b/common/recipes-core/glibc/cross-localedef-native/0001-add-support-for-Power8-LE-mode.patch
deleted file mode 100644
index 5b8c240..0000000
--- a/common/recipes-core/glibc/cross-localedef-native/0001-add-support-for-Power8-LE-mode.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From bc89a1d5329cf8f8a67a5e8c2b7ed53aa6611183 Mon Sep 17 00:00:00 2001
-From: Chris Austen <austenc@us.ibm.com>
-Date: Thu, 24 Sep 2015 14:49:24 -0500
-Subject: [PATCH 1/1] add support for Power8 LE mode
-
----
- config.guess | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/localedef/config.guess b/localedef/config.guess
-index 61f2e4c..c77ec22 100644
---- a/localedef/config.guess
-+++ b/localedef/config.guess
-@@ -876,6 +876,9 @@ EOF
-     ppc64:Linux:*:*)
- 	echo powerpc64-unknown-linux-gnu
- 	exit 0 ;;
-+    ppc64le:Linux:*:*)
-+       echo powerpc64le-unknown-linux-gnu
-+       exit 0 ;;
-     alpha:Linux:*:*)
- 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- 	  EV5)   UNAME_MACHINE=alphaev5 ;;
--- 
-1.9.1
-
diff --git a/common/recipes-core/glibc/cross-localedef-native_2.22.bbappend b/common/recipes-core/glibc/cross-localedef-native_2.22.bbappend
deleted file mode 100644
index f065ed7..0000000
--- a/common/recipes-core/glibc/cross-localedef-native_2.22.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-SRC_URI += "file://0001-add-support-for-Power8-LE-mode.patch"
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/common/recipes-devtools/python/python-pexpect_4.0.1.bbappend b/common/recipes-devtools/python/python-pexpect_4.0.1.bbappend
new file mode 100644
index 0000000..25e2809
--- /dev/null
+++ b/common/recipes-devtools/python/python-pexpect_4.0.1.bbappend
@@ -0,0 +1 @@
+RDEPENDS_${PN}_append = "python-ptyprocess"
diff --git a/common/recipes-devtools/python/python-ptyprocess_0.5.1.bb b/common/recipes-devtools/python/python-ptyprocess_0.5.1.bb
new file mode 100644
index 0000000..931e5a7
--- /dev/null
+++ b/common/recipes-devtools/python/python-ptyprocess_0.5.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Run a subprocess in a pseudo terminal"
+HOMEPAGE = "http://ptyprocess.readthedocs.io/en/latest/"
+SECTION = "devel/python"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cfdcd51fa7d5808da4e74346ee394490"
+
+SRCNAME = "ptyprocess"
+
+SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "94e537122914cc9ec9c1eadcd36e73a1"
+SRC_URI[sha256sum] = "0530ce63a9295bfae7bd06edc02b6aa935619f486f0f1dc0972f516265ee81a6"
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/ptyprocess"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} = "\
+    python-core \
+"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/common/recipes-devtools/python/python-pygobject/obsolete_automake_macros.patch b/common/recipes-devtools/python/python-pygobject/obsolete_automake_macros.patch
new file mode 100644
index 0000000..c259112
--- /dev/null
+++ b/common/recipes-devtools/python/python-pygobject/obsolete_automake_macros.patch
@@ -0,0 +1,23 @@
+Upstream-Status: Accepted [https://bugzilla.gnome.org/show_bug.cgi?id=691101]
+
+Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
+diff -Nurd pygobject-2.27.91/configure.ac pygobject-2.27.91/configure.ac
+--- pygobject-2.27.91/configure.ac	2011-02-23 22:14:37.000000000 +0200
++++ pygobject-2.27.91/configure.ac	2013-01-03 05:13:44.034949954 +0200
+@@ -35,7 +35,7 @@
+ AC_DEFINE(PYGOBJECT_MICRO_VERSION, pygobject_micro_version, [pygobject micro version])
+ AC_SUBST(PYGOBJECT_MICRO_VERSION, pygobject_micro_version)
+
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)])
+ AM_INIT_AUTOMAKE(foreign)
+ AM_MAINTAINER_MODE
+@@ -82,7 +82,6 @@
+ m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
+ AC_ISC_POSIX
+ AC_PROG_CC
+-AM_PROG_CC_STDC
+ AM_PROG_CC_C_O
+
+ # check that we have the minimum version of python necisary to build
diff --git a/common/recipes-devtools/python/python-pygobject_2.28.3.bb b/common/recipes-devtools/python/python-pygobject_2.28.3.bb
new file mode 100644
index 0000000..81d37b4
--- /dev/null
+++ b/common/recipes-devtools/python/python-pygobject_2.28.3.bb
@@ -0,0 +1,53 @@
+SUMMARY = "Python GObject bindings"
+SECTION = "devel/python"
+LICENSE = "LGPLv2.1"
+
+RECIPE_NO_UPDATE_REASON = "Newer versions of python-pygobject depend on gobject-introspection which doesn't cross-compile"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
+DEPENDS = "python python-pygobject-native libffi glib-2.0"
+DEPENDS_class-native = "python-native libffi-native glib-2.0-native"
+RDEPENDS_class-native = ""
+
+MAJ_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
+
+SRC_URI = "${GNOME_MIRROR}/pygobject/${MAJ_VER}/pygobject-${PV}.tar.bz2 \
+           file://obsolete_automake_macros.patch \
+"
+
+# libtool-native doesn't have fixinstall.patch applied which means
+# that libs get relinked at installation time. This triggers a 
+# relinking along the lines of:
+# gcc -L/tmp/foo/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/lib -lpyglib-2.0-python -o .libs/_glib.so
+# where /tmp/foo is DESTDIR and pyglib-2.0-python may be installed/reinstalled
+# at the same time as the gcc command runs.
+# If this happens between the handoff between gcc and ld, you can see:
+# /bin/ld: cannot find -lpyglib-2.0-python
+# Adding a dependency rule like  install-pyglibLTLIBRARIES: install-libLTLIBRARIES
+# would be ideal but automake can't cope with that without manually 
+# defining the whole function. Give up and disable parallel make in native builds.
+PARALLEL_MAKEINST_class-native = ""
+
+SRC_URI[md5sum] = "aa64900b274c4661a5c32e52922977f9"
+SRC_URI[sha256sum] = "7da88c169a56efccc516cebd9237da3fe518a343095a664607b368fe21df95b6"
+S = "${WORKDIR}/pygobject-${PV}"
+
+EXTRA_OECONF += "--disable-introspection"
+
+inherit autotools distutils-base pkgconfig
+
+# necessary to let the call for python-config succeed
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+PACKAGES += "${PN}-lib"
+
+RDEPENDS_${PN} += "python-textutils"
+
+FILES_${PN} = "${libdir}/python*"
+FILES_${PN}-lib = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${bindir} ${datadir}"
+
+BBCLASSEXTEND = "native"
diff --git a/common/recipes-devtools/python/python_2.7.9.bbappend b/common/recipes-devtools/python/python_2.7.11.bbappend
similarity index 100%
rename from common/recipes-devtools/python/python_2.7.9.bbappend
rename to common/recipes-devtools/python/python_2.7.11.bbappend
diff --git a/conf/distro/openbmc-phosphor.conf b/conf/distro/openbmc-phosphor.conf
index 4af4a4b..f37e88c 100644
--- a/conf/distro/openbmc-phosphor.conf
+++ b/conf/distro/openbmc-phosphor.conf
@@ -36,3 +36,6 @@
         "
 
 DISTRO_EXTRA_RDEPENDS_remove_qemuarm = "packagegroup-core-device-devel"
+
+# TODO: openbmc/openbmc#12345 - Upgrade to pygobject-3.
+PREFERRED_VERSION_python-pygobject = "2.%"