diff --git a/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/Makefile b/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/Makefile
new file mode 100644
index 0000000..35bc760
--- /dev/null
+++ b/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/Makefile
@@ -0,0 +1,182 @@
+#
+#    Copyright (c) 2010-2011 Nest, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the make file for connman, a daemon for managing
+#      network connections within embedded devices running the Linux
+#      operating system.
+#
+
+BuildConfigSpecialized	:= No
+BuildProductSpecialized	:= No
+
+include pre.mak
+
+PackageRoot		:= .
+
+PackageName		:= connman
+
+PackageSeparator	:=
+
+PackageSourceDir	:= $(PackageRoot)/$(PackageName)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+LicenseSourceFile	:= $(PackageSourceDir)/COPYING
+
+CleanPaths		+= $(PackageLicenseFile)
+
+DbusDir			:= sw/tps/dbus
+DbusIncDirs		:= $(call GenerateResultPaths,$(DbusDir),usr/include/dbus-1.0 usr/lib/dbus-1.0/include)
+DbusLibDir		:= $(call GenerateResultPaths,$(DbusDir),usr/lib)
+
+GlibDir			:= sw/tps/glib
+GlibIncDirs		:= $(call GenerateResultPaths,$(GlibDir),usr/include/glib-2.0 usr/lib/glib-2.0/include)
+GlibLibDir		:= $(call GenerateResultPaths,$(GlibDir),usr/lib)
+
+GnuTlsDir		:= sw/tps/gnutls
+GnuTlsIncDir		:= $(call GenerateResultPaths,$(GnuTlsDir),usr/include)
+GnuTlsLibDir		:= $(call GenerateResultPaths,$(GnuTlsDir),usr/lib)
+
+GcryptDir		:= sw/tps/libgcrypt
+GcryptIncDir		:= $(call GenerateResultPaths,$(GcryptDir),usr/include)
+GcryptLibDir		:= $(call GenerateResultPaths,$(GcryptDir),usr/lib)
+
+GpgErrorDir		:= sw/tps/libgpg-error
+GpgErrorIncDir		:= $(call GenerateResultPaths,$(GpgErrorDir),usr/include)
+GpgErrorLibDir		:= $(call GenerateResultPaths,$(GpgErrorDir),usr/lib)
+
+IptablesDir		:= sw/tps/iptables
+IptablesIncDir		:= $(call GenerateResultPaths,$(IptablesDir),usr/include)
+IptablesLibDir		:= $(call GenerateResultPaths,$(IptablesDir),usr/lib)
+
+LinuxDir		:= sw/tps/linux
+LinuxIncDir		:= $(call GenerateResultPaths,$(LinuxDir),include)
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(LicenseSourceFile): source
+
+$(PackageLicenseFile): $(LicenseSourceFile)
+	$(copy-result)
+
+# We are building this package from version-controlled source, so
+# there is nothing to do for this target goal.
+
+$(PackageSourceDir):
+
+# Prepare the sources.
+
+.PHONY: source
+source: | $(PackageSourceDir)
+
+# Patch the sources, if necessary.
+
+.PHONY: patch
+patch: source
+
+# Generate the package build makefile.
+
+$(PackageBuildMakefile): | $(PackageSourceDir) $(BuildDirectory) $(ResultDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(CURDIR)/$(PackageSourceDir)/configure \
+	CC=$(CC) CXX=$(CXX) AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	CPPFLAGS="$(call ToolGenerateIncludeArgument,$(LinuxIncDir))" \
+	DBUS_CFLAGS="$(call ToolGenerateIncludeArgument,$(DbusIncDirs))" \
+	DBUS_LIBS="-L$(DbusLibDir) -ldbus-1" \
+	GLIB_CFLAGS="$(call ToolGenerateIncludeArgument,$(GlibIncDirs))" \
+	GLIB_LIBS="-L$(GlibLibDir) -lglib-2.0" \
+	GNUTLS_CFLAGS="$(call ToolGenerateIncludeArgument,$(GnuTlsIncDir))" \
+	GNUTLS_LIBS="-L$(GnuTlsLibDir) -lgnutls -Wl,-rpath-link -Wl,$(GpgErrorLibDir) -Wl,-rpath-link -Wl,$(GcryptLibDir)" \
+	GTHREAD_CFLAGS="$(call ToolGenerateIncludeArgument,$(GlibIncDirs))" \
+	GTHREAD_LIBS="-L$(GlibLibDir) -lgthread-2.0" \
+	XTABLES_CFLAGS="$(call ToolGenerateIncludeArgument,$(IptablesIncDir))" \
+	XTABLES_LIBS="-L$(IptablesLibDir) -lxtables" \
+	NTPD="/usr/sbin/ntpd" \
+	WPASUPPLICANT="/sbin/wpa_supplicant" \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--localstatedir=/var \
+	--disable-bluetooth \
+	--disable-capng \
+	--disable-fake \
+	--disable-google \
+	--disable-gtk-doc \
+	--disable-hh2serial-gps \
+	--disable-iospm \
+	--disable-iwmx \
+	--disable-meego \
+	--disable-ofono \
+	--disable-openconnect \
+	--disable-openvpn \
+	--disable-pacrunner \
+	--disable-polkit \
+	--disable-threads \
+	--disable-tools \
+	--enable-client \
+	--enable-debug \
+	--enable-ethernet=builtin \
+	--enable-loopback=builtin \
+	--enable-ntpd=builtin \
+	--enable-wifi=builtin
+
+# Configure the source for building.
+
+.PHONY: configure
+configure: source $(PackageBuildMakefile)
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+.PHONY: build
+build: configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) -C $(BuildDirectory) \
+	all
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+#
+# We explictly remove plug-in '*.la' files because some packages that
+# depend on these libraries use libtool. If libtool finds a '*.la'
+# file for a library, it uses the value of 'libdir=<dir>' it finds. In
+# our case, since '--prefix=/usr' this value is '/usr/lib'. It then
+# resolves '-lfoo' to '/usr/lib/libfoo.so'. In a cross-compilation
+# environment, this is likely to be neither the right architecture nor
+# the right version to link against. In short, we lose.
+#
+# We could also handle this by removing DESTDIR and setting the prefix
+# to $(ResultDirectory); however, that results in libtool hard-coding
+# $(ResultDirectory) as the RPATH in the linked executables which is
+# NOT what we want either. We lose again.
+#
+# By removing the '*.la' file, we win by ensuring neither a misdirected
+# link nor an RPATH.
+
+.PHONY: stage
+stage: build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) -C $(BuildDirectory) \
+	DESTDIR=$(ResultDirectory) \
+	install
+	$(Verbose)$(RM) $(RMFLAGS) $(call GenerateResultPaths,,$(addprefix usr/lib/connman/plugins/,ethernet.la loopback.la ntpd.la wifi.la))
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/connman.tar.gz b/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/connman.tar.gz
new file mode 100644
index 0000000..c30a69a
--- /dev/null
+++ b/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/connman.tar.gz
Binary files differ
diff --git a/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/connman.url b/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/connman.url
new file mode 100644
index 0000000..1d02c06
--- /dev/null
+++ b/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/connman.url
@@ -0,0 +1 @@
+git://git.kernel.org/pub/scm/network/connman/connman.git
diff --git a/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/connman.version b/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/connman.version
new file mode 100644
index 0000000..9cea1bc
--- /dev/null
+++ b/connman-0ef53353b51b2e1f35d0ab70e594c9197b1a7746/connman.version
@@ -0,0 +1 @@
+0ef53353b51b2e1f35d0ab70e594c9197b1a7746
