Project import
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d09d8dd --- /dev/null +++ b/Makefile
@@ -0,0 +1,143 @@ +# +# Copyright (c) 2010-2012 Nest Labs, 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 makefile for udev, the dynamic device node +# manager for Linux. +# + + +include pre.mak + +PackageName := udev + +PackageExtension := tar.bz2 +PackageSeparator := - + +PackagePatchArgs := -p1 + +PackageArchive := $(PackageName).$(PackageExtension) +PackageSourceDir := $(PackageName)$(PackageSeparator)$(PackageVersion) + +PackageBuildMakefile = $(call GenerateBuildPaths,Makefile) + +CleanPaths += $(PackageLicenseFile) + +SOURCEDIRS = $(PackageSourceDir) +$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/configure + +all: $(PackageDefaultGoal) + +# Generate the package license contents. + +$(PackageSourceDir)/COPYING: $(BuildDirectory)/source + +$(PackageLicenseFile): $(PackageSourceDir)/COPYING + $(copy-result) + +# Extract the source from the archive and apply patches, if any. + +$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths) + $(expand-and-patch-package) + +# Prepare the sources. + +.PHONY: source +source: $(BuildDirectory)/source +$(BuildDirectory)/source: | $(PackageSourceDir) + $(Verbose)touch $@ + +# Patch the sources, if necessary. + +.PHONY: patch +patch: $(BuildDirectory)/patch +$(BuildDirectory)/patch: $(BuildDirectory)/source + $(Verbose)touch $@ + +# Generate the package build makefile. + +# Configure the source for building. + +.PHONY: configure +configure: $(BuildDirectory)/configure +$(BuildDirectory)/configure: $(BuildDirectory)/source | $(PackageSourceDir) $(BuildDirectory) $(ResultDirectory) + $(Verbose)cd $(BuildDirectory) && \ + $(CURDIR)/$(PackageSourceDir)/configure \ + CC="$(CC) $(CPPOPTFLAGS)" CXX="$(CXX) $(CPPOPTFLAGS)" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \ + INSTALL="$(INSTALL) $(INSTALLFLAGS)" \ + CPPFLAGS="$(call ToolGenerateIncludeArgument,$(LinuxIncludePath))" \ + GLIB_CFLAGS="$(call ToolGenerateIncludeArgument,$(GlibIncludePaths))" \ + GLIB_LIBS="$(call GenerateLibraryPathArgument,$(GlibLibraryPath))" \ + PKG_CONFIG_PATH="$(UsbUtilsPkgConfigPath)" \ + --build=$(HostTuple) \ + --host=$(TargetTuple) \ + --disable-extras \ + --disable-introspection \ + --disable-static \ + --disable-gudev \ + --enable-shared \ + --without-selinux \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/sbin \ + --libdir=/usr/lib \ + --with-rootlibdir=/lib \ + --libexecdir=/lib/udev \ + --localstatedir=/var \ + --with-pci-ids-path=/usr/share/misc/pci.ids + $(Verbose)touch $@ + +# Build the source. +# +# We have to unset MAKEFLAGS since they confuse the package build otherwise. + +.PHONY: build +build: $(BuildDirectory)/build +$(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 'libfoo.la' because some packages that depend on +# these libraries use libtool. If libtool finds a 'libfoo.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'. 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,,usr/lib/libudev.la) + $(Verbose)touch $@ + +.PHONY: stage +stage: $(BuildDirectory)/stage + +clean: + $(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir) + $(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory) + $(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory) + +include post.mak
diff --git a/udev.patches/udev-50.description b/udev.patches/udev-50.description new file mode 100644 index 0000000..012fc5b --- /dev/null +++ b/udev.patches/udev-50.description
@@ -0,0 +1 @@ +Poky 2.0.1 Support
diff --git a/udev.patches/udev-50.patch b/udev.patches/udev-50.patch new file mode 100644 index 0000000..0a39679 --- /dev/null +++ b/udev.patches/udev-50.patch
@@ -0,0 +1,22 @@ +diff -Naur a/libudev/libudev-util-private.c b/libudev/libudev-util-private.c +--- a/libudev/libudev-util-private.c 2016-09-08 16:36:45.744010660 -0700 ++++ b/libudev/libudev-util-private.c 2016-09-08 16:41:05.863287706 -0700 +@@ -21,6 +21,7 @@ + #include <grp.h> + #include <sys/wait.h> + #include <sys/param.h> ++#include <sys/resource.h> + + #include "libudev.h" + #include "libudev-private.h" +diff -Naur a/udev/udevd.c b/udev/udevd.c +--- a/udev/udevd.c 2016-09-08 16:36:45.732010510 -0700 ++++ b/udev/udevd.c 2016-09-08 16:41:05.851287555 -0700 +@@ -43,6 +43,7 @@ + #include <sys/ioctl.h> + #include <sys/inotify.h> + #include <sys/utsname.h> ++#include <sys/resource.h> + + #include "udev.h" + #include "sd-daemon.h"
diff --git a/udev.patches/udev-51.description b/udev.patches/udev-51.description new file mode 100644 index 0000000..861a54d --- /dev/null +++ b/udev.patches/udev-51.description
@@ -0,0 +1,2 @@ +To support old kernels without accept4 support, replace the call to accept4 with something equivalent. +https://bugs.debian.org/cgi-bin/bugreport.cgi?att=2;bug=648325;filename=udev-182.patch
diff --git a/udev.patches/udev-51.patch b/udev.patches/udev-51.patch new file mode 100644 index 0000000..25922e0 --- /dev/null +++ b/udev.patches/udev-51.patch
@@ -0,0 +1,38 @@ +diff -Naur a/udev/udev-ctrl.c b/udev/udev-ctrl.c +--- a/udev/udev-ctrl.c 2011-10-09 16:10:32.974583654 -0700 ++++ b/udev/udev-ctrl.c 2016-10-24 13:41:53.973027666 -0700 +@@ -15,6 +15,7 @@ + #include <stddef.h> + #include <string.h> + #include <unistd.h> ++#include <fcntl.h> + #include <sys/types.h> + #include <sys/poll.h> + #include <sys/socket.h> +@@ -176,6 +177,16 @@ + return uctrl->sock; + } + ++int replace_accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags) ++{ ++ int sock = accept(s, addr, addrlen); ++ if (sock < 0) return sock; ++ int res = fcntl(sock, F_SETFL, flags); ++ if (res > -1) return sock; ++ close(sock); ++ return res; ++} ++ + struct udev_ctrl_connection *udev_ctrl_get_connection(struct udev_ctrl *uctrl) + { + struct udev_ctrl_connection *conn; +@@ -189,7 +200,8 @@ + conn->refcount = 1; + conn->uctrl = uctrl; + +- conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK); ++ //conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK); ++ conn->sock = replace_accept4(uctrl->sock, NULL, NULL, O_NONBLOCK); + if (conn->sock < 0) { + if (errno != EINTR) + err(uctrl->udev, "unable to receive ctrl connection: %m\n");
diff --git a/udev.tar.bz2 b/udev.tar.bz2 new file mode 100644 index 0000000..296a2cb --- /dev/null +++ b/udev.tar.bz2 Binary files differ
diff --git a/udev.url b/udev.url new file mode 100644 index 0000000..d0dd82d --- /dev/null +++ b/udev.url
@@ -0,0 +1 @@ +http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-166.tar.bz2
diff --git a/udev.version b/udev.version new file mode 100644 index 0000000..f07e286 --- /dev/null +++ b/udev.version
@@ -0,0 +1 @@ +175