diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..3207451
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,169 @@
+#
+#    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.
+#
+
+
+include pre.mak
+
+PackageRoot		:= $(ConnmanSourcePath)/..
+
+PackageName		:= connman
+
+PackageSeparator	:=
+
+PackageSourceDir	:= $(PackageRoot)/$(PackageName)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+LicenseSourceFile	:= $(PackageSourceDir)/COPYING
+
+CleanPaths		+= $(PackageLicenseFile)
+
+SOURCEDIRS                 = $(PackageSourceDir)
+$(PackageName)_RULE_TARGET = $(BuildDirectory)/configure
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(LicenseSourceFile): $(BuildDirectory)/source
+
+$(PackageLicenseFile): $(LicenseSourceFile)
+	$(copy-result)
+
+# Prepare the sources.
+
+$(BuildDirectory)/source: | $(PackageSourceDir) $(BuildDirectory)
+	$(Verbose)touch $@
+
+# Patch the sources, if necessary.
+
+$(BuildDirectory)/patch: $(BuildDirectory)/source
+	$(Verbose)touch $@
+
+# Generate the package build makefile.
+
+OPTIONS_FLAGS = \
+	--disable-bluetooth \
+	--disable-dundee \
+	--disable-gtk-doc \
+	--disable-hh2serial-gps \
+	--disable-iospm \
+	--disable-openconnect \
+	--disable-openvpn \
+	--disable-pacrunner \
+	--disable-polkit \
+	--disable-threads \
+	--disable-tools \
+	--disable-vpnc \
+	--disable-wispr \
+	--enable-debug \
+	--enable-ethernet=builtin \
+	--enable-loopback=builtin \
+	--enable-wifi=builtin
+
+ifdef BUILD_FEATURE_CONNMANCTL
+OPTIONS_FLAGS += \
+	--enable-client
+else
+OPTIONS_FLAGS += \
+	--disable-client
+endif
+
+ifdef BUILD_FEATURE_NLCELLULAR
+OPTIONS_FLAGS += \
+	--enable-ofono=builtin
+else
+OPTIONS_FLAGS += \
+	--disable-ofono
+endif
+
+# Configure the source for building.
+
+$(BuildDirectory)/configure: $(BuildDirectory)/source | $(PackageSourceDir) $(BuildDirectory) $(ResultDirectory)
+	$(Verbose)cd $(BuildDirectory) && $(PackageSourceDir)/bootstrap \
+	$(Verbose)cd $(BuildDirectory) && $(PackageSourceDir)/configure \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	CC="$(CC) $(CPPOPTFLAGS)" CXX="$(CXX) $(CPPOPTFLAGS)" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	CPPFLAGS="$(call ToolGenerateIncludeArgument,$(LinuxIncludePath) $(LibEditIncludePath) $(NCursesIncludePath))" \
+	LDFLAGS="$(call GenerateLibraryPathArgument,$(LibEditLibraryPath)) $(call GenerateLibraryArgument,$(NCursesLibraryPath))" \
+	DBUS_CFLAGS="$(call ToolGenerateIncludeArgument,$(DbusIncludePaths))" \
+	DBUS_LIBS="$(call GenerateLibraryArgument,$(DbusLibraryPath))" \
+	GLIB_CFLAGS="$(call ToolGenerateIncludeArgument,$(GlibIncludePaths))" \
+	GLIB_LIBS="$(call GenerateLibraryArgument,$(GlibLibraryPath))" \
+	GTHREAD_CFLAGS="$(call ToolGenerateIncludeArgument,$(GlibIncludePaths))" \
+	GTHREAD_LIBS="$(call GenerateLibraryArgument,$(GlibLibraryPath))" \
+	XTABLES_CFLAGS="$(call ToolGenerateIncludeArgument,$(IptablesIncludePath))" \
+	XTABLES_LIBS="$(call GenerateLibraryArgument,$(IptablesLibraryPath))" \
+	WPASUPPLICANT="/sbin/wpa_supplicant" \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--localstatedir=/var \
+	$(OPTIONS_FLAGS)
+	$(Verbose)touch $@
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/build: $(BuildDirectory)/configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \
+	all
+	$(Verbose)touch $@
+
+# 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.
+
+$(BuildDirectory)/stage: $(BuildDirectory)/build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \
+	DESTDIR=$(ResultDirectory) \
+	install
+	$(Verbose)$(RM) $(RMFLAGS) $(call GenerateResultPaths,,$(addprefix usr/lib/connman/plugins/,ethernet.la loopback.la ntpd.la wifi.la sleepplugin.la))
+	$(Verbose)touch $@
+
+DeviceUser:=root
+quick-install: stage
+	tar -czC $(ResultDirectory)/usr/ . | ssh $(DeviceUser)@$(DeviceAddress) tar xvzC /usr
+
+.PHONY: stage
+stage: $(BuildDirectory)/stage
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/connman.url b/connman.url
new file mode 100644
index 0000000..1d02c06
--- /dev/null
+++ b/connman.url
@@ -0,0 +1 @@
+git://git.kernel.org/pub/scm/network/connman/connman.git
diff --git a/connman.version b/connman.version
new file mode 100644
index 0000000..9de53f1
--- /dev/null
+++ b/connman.version
@@ -0,0 +1 @@
+1.29
