From db7d33cfd7ed93c1c4a58320589b142f4348284a Mon Sep 17 00:00:00 2001 From: James <> Date: Tue, 11 Feb 2014 11:49:23 +0000 Subject: fish --- master/endstop | 2510 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2510 insertions(+) create mode 100644 master/endstop (limited to 'master/endstop') diff --git a/master/endstop b/master/endstop new file mode 100644 index 0000000..8c9db8d --- /dev/null +++ b/master/endstop @@ -0,0 +1,2510 @@ +diff --git a/.config b/.config +index c633d20..65a8c38 100644 +--- a/.config ++++ b/.config +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit + # OpenWrt version: Barrier Breaker (r36060) +-# Sat Mar 23 05:43:05 2013 ++# Sun May 12 00:29:53 2013 + # + CONFIG_HAVE_DOT_CONFIG=y + # CONFIG_TARGET_ppc40x is not set +@@ -1012,9 +1012,10 @@ CONFIG_BUSYBOX_CONFIG_HWCLOCK=y + # CONFIG_BUSYBOX_CONFIG_IPCS is not set + # CONFIG_BUSYBOX_CONFIG_LOSETUP is not set + # CONFIG_BUSYBOX_CONFIG_LSPCI is not set +-# CONFIG_BUSYBOX_CONFIG_LSUSB is not set ++CONFIG_BUSYBOX_CONFIG_LSUSB=y + # CONFIG_BUSYBOX_CONFIG_MDEV is not set +-# CONFIG_BUSYBOX_CONFIG_MKSWAP is not set ++CONFIG_BUSYBOX_CONFIG_MKSWAP=y ++CONFIG_BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID=y + # CONFIG_BUSYBOX_CONFIG_MORE is not set + CONFIG_BUSYBOX_CONFIG_MOUNT=y + # CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE is not set +@@ -1033,7 +1034,8 @@ CONFIG_BUSYBOX_CONFIG_PIVOT_ROOT=y + # CONFIG_BUSYBOX_CONFIG_SCRIPT is not set + # CONFIG_BUSYBOX_CONFIG_SCRIPTREPLAY is not set + # CONFIG_BUSYBOX_CONFIG_SETARCH is not set +-# CONFIG_BUSYBOX_CONFIG_SWAPONOFF is not set ++CONFIG_BUSYBOX_CONFIG_SWAPONOFF=y ++CONFIG_BUSYBOX_CONFIG_FEATURE_SWAPON_PRI=y + CONFIG_BUSYBOX_CONFIG_SWITCH_ROOT=y + CONFIG_BUSYBOX_CONFIG_UMOUNT=y + CONFIG_BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL=y +@@ -1319,7 +1321,7 @@ CONFIG_PACKAGE_libgcc=y + CONFIG_PACKAGE_libpthread=y + CONFIG_PACKAGE_librt=y + # CONFIG_PACKAGE_libstdcpp is not set +-# CONFIG_PACKAGE_libthread-db is not set ++CONFIG_PACKAGE_libthread-db=m + # CONFIG_PACKAGE_mksh is not set + CONFIG_PACKAGE_mtd=y + CONFIG_PACKAGE_netifd=y +@@ -1332,7 +1334,28 @@ CONFIG_PACKAGE_procd=y + # CONFIG_PACKAGE_sflowovsd is not set + CONFIG_PACKAGE_swconfig=y + CONFIG_PACKAGE_uci=y +-# CONFIG_PACKAGE_udev is not set ++CONFIG_PACKAGE_udev=y ++ ++# ++# Configuration ++# ++# CONFIG_UDEV_DISABLE_LOGGING is not set ++# CONFIG_UDEV_ENABLE_DEBUG is not set ++CONFIG_UDEV_EXTRA_accelerometer=y ++CONFIG_UDEV_EXTRA_ata_id=y ++CONFIG_UDEV_EXTRA_cdrom_id=y ++# CONFIG_UDEV_EXTRA_collect is not set ++# CONFIG_UDEV_EXTRA_edd_id is not set ++# CONFIG_UDEV_EXTRA_firmware is not set ++# CONFIG_UDEV_EXTRA_floppy is not set ++CONFIG_UDEV_EXTRA_input_id=y ++CONFIG_UDEV_EXTRA_mtd_probe=y ++CONFIG_UDEV_EXTRA_path_id=y ++# CONFIG_UDEV_EXTRA_qemu is not set ++CONFIG_UDEV_EXTRA_rule_generator=y ++CONFIG_UDEV_EXTRA_scsi_id=y ++CONFIG_UDEV_EXTRA_usb_id=y ++CONFIG_UDEV_EXTRA_v4l_id=y + CONFIG_PACKAGE_wireless-tools=y + # CONFIG_PACKAGE_zram-swap is not set + +@@ -2416,7 +2439,7 @@ CONFIG_PACKAGE_iodine=m + # CONFIG_PACKAGE_howl-nifd is not set + # CONFIG_PACKAGE_howl-utils is not set + # CONFIG_PACKAGE_ipupdate is not set +-# CONFIG_PACKAGE_isc-dhcp-client-ipv4 is not set ++CONFIG_PACKAGE_isc-dhcp-client-ipv4=m + # CONFIG_PACKAGE_isc-dhcp-client-ipv6 is not set + # CONFIG_PACKAGE_isc-dhcp-omshell-ipv4 is not set + # CONFIG_PACKAGE_isc-dhcp-omshell-ipv6 is not set +@@ -2894,7 +2917,6 @@ CONFIG_PACKAGE_uhttpd-mod-ubus=y + # CONFIG_PACKAGE_cdp-tools is not set + CONFIG_PACKAGE_chat=y + # CONFIG_PACKAGE_cifsmount is not set +-# CONFIG_PACKAGE_crda is not set + # CONFIG_PACKAGE_daemonlogger is not set + # CONFIG_PACKAGE_darkstat is not set + # CONFIG_PACKAGE_ditg is not set +@@ -3076,15 +3098,17 @@ CONFIG_PACKAGE_tcpdump=y + # CONFIG_PACKAGE_wiviz is not set + # CONFIG_PACKAGE_wol is not set + # CONFIG_PACKAGE_wpa-cli is not set +-# CONFIG_PACKAGE_wpa-supplicant is not set +-# CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK is not set ++CONFIG_PACKAGE_wpa-supplicant=y ++CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK=y ++# CONFIG_WPA_SUPPLICANT_INTERNAL is not set ++CONFIG_WPA_SUPPLICANT_OPENSSL=y + # CONFIG_WPA_RFKILL_SUPPORT is not set + CONFIG_WPA_MSG_MIN_PRIORITY=3 + # CONFIG_DRIVER_WEXT_SUPPORT is not set + CONFIG_DRIVER_11N_SUPPORT=y + # CONFIG_PACKAGE_wpa-supplicant-mini is not set +-# CONFIG_PACKAGE_wpad is not set +-CONFIG_PACKAGE_wpad-mini=y ++CONFIG_PACKAGE_wpad=y ++# CONFIG_PACKAGE_wpad-mini is not set + # CONFIG_PACKAGE_wprobe-export is not set + # CONFIG_PACKAGE_wprobe-util is not set + # CONFIG_PACKAGE_wshaper is not set +@@ -3194,7 +3218,7 @@ CONFIG_PACKAGE_bluez-libs=m + # CONFIG_PACKAGE_ftplib is not set + # CONFIG_PACKAGE_giflib is not set + # CONFIG_PACKAGE_glib1 is not set +-CONFIG_PACKAGE_glib2=m ++CONFIG_PACKAGE_glib2=y + # CONFIG_PACKAGE_glibmm is not set + # CONFIG_PACKAGE_id3lib is not set + # CONFIG_PACKAGE_jansson is not set +@@ -3233,7 +3257,7 @@ CONFIG_PACKAGE_libcurl=m + # CONFIG_PACKAGE_libdb47 is not set + # CONFIG_PACKAGE_libdb47xx is not set + # CONFIG_PACKAGE_libdbi is not set +-CONFIG_PACKAGE_libdbus=m ++CONFIG_PACKAGE_libdbus=y + CONFIG_PACKAGE_libdbus-glib=m + # CONFIG_PACKAGE_libdevmapper is not set + # CONFIG_PACKAGE_libdmapsharing is not set +@@ -3249,12 +3273,12 @@ CONFIG_PACKAGE_libdbus-glib=m + # CONFIG_PACKAGE_libevent2-pthreads is not set + # CONFIG_PACKAGE_libeventlog is not set + # CONFIG_PACKAGE_libexif is not set +-CONFIG_PACKAGE_libexpat=m ++CONFIG_PACKAGE_libexpat=y + # CONFIG_PACKAGE_libexslt is not set + # CONFIG_PACKAGE_libezxml is not set + # CONFIG_PACKAGE_libfaad2 is not set + # CONFIG_PACKAGE_libfaifa is not set +-CONFIG_PACKAGE_libffi=m ++CONFIG_PACKAGE_libffi=y + # CONFIG_PACKAGE_libffmpeg-full is not set + # CONFIG_PACKAGE_libffmpeg-mini is not set + # CONFIG_PACKAGE_libflac is not set +@@ -3412,8 +3436,8 @@ CONFIG_PACKAGE_libuci-lua=y + # CONFIG_PACKAGE_libunbound is not set + # CONFIG_PACKAGE_libupnp is not set + # CONFIG_PACKAGE_liburcu is not set +-# CONFIG_PACKAGE_libusb-1.0 is not set +-# CONFIG_PACKAGE_libusb-compat is not set ++CONFIG_PACKAGE_libusb-1.0=y ++CONFIG_PACKAGE_libusb-compat=y + # CONFIG_PACKAGE_libusbmuxd is not set + CONFIG_PACKAGE_libustream-cyassl=y + CONFIG_PACKAGE_libustream-openssl=y +@@ -3811,7 +3835,7 @@ CONFIG_PACKAGE_comgt=y + # CONFIG_PACKAGE_crypto-tools is not set + # CONFIG_PACKAGE_cryptsetup is not set + # CONFIG_PACKAGE_daemontools is not set +-CONFIG_PACKAGE_dbus=m ++CONFIG_PACKAGE_dbus=y + CONFIG_PACKAGE_dbus-utils=m + # CONFIG_PACKAGE_devmem2 is not set + # CONFIG_PACKAGE_dfu-util is not set +@@ -3962,23 +3986,9 @@ CONFIG_PACKAGE_shadow-su=m + # CONFIG_PACKAGE_spidev-test is not set + # CONFIG_PACKAGE_ssldump is not set + # CONFIG_PACKAGE_stm32flash is not set +-# CONFIG_PACKAGE_strace is not set ++CONFIG_PACKAGE_strace=y + # CONFIG_PACKAGE_stress is not set + # CONFIG_PACKAGE_sysstat is not set +-CONFIG_PACKAGE_systemd-udev=m +- +-# +-# Configuration +-# +-# CONFIG_SYSTEMD_UDEV_DISABLE_GUDEV is not set +-# CONFIG_SYSTEMD_UDEV_EXTRA_ata_id is not set +-CONFIG_SYSTEMD_UDEV_EXTRA_cdrom_id=y +-# CONFIG_SYSTEMD_UDEV_EXTRA_collect is not set +-CONFIG_SYSTEMD_UDEV_EXTRA_scsi_id=y +-# CONFIG_SYSTEMD_UDEV_EXTRA_v4l_id is not set +-# CONFIG_SYSTEMD_UDEV_EXTRA_accelerometer is not set +-CONFIG_SYSTEMD_UDEV_EXTRA_mtd_probe=y +-# CONFIG_SYSTEMD_UDEV_EXTRA_qemu is not set + # CONFIG_PACKAGE_tar is not set + # CONFIG_PACKAGE_taskwarrior is not set + # CONFIG_PACKAGE_tcpser is not set +@@ -3991,7 +4001,8 @@ CONFIG_SYSTEMD_UDEV_EXTRA_mtd_probe=y + CONFIG_PACKAGE_uboot-envtools=y + # CONFIG_PACKAGE_uboot-envtools-mmc is not set + # CONFIG_PACKAGE_upx is not set +-# CONFIG_PACKAGE_usb-modeswitch is not set ++CONFIG_PACKAGE_usb-modeswitch=y ++CONFIG_PACKAGE_usb-modeswitch-data=y + # CONFIG_PACKAGE_usbmuxd is not set + # CONFIG_PACKAGE_usbreset is not set + # CONFIG_PACKAGE_usbutils is not set +@@ -4044,7 +4055,7 @@ CONFIG_PACKAGE_uboot-envtools=y + # CONFIG_PACKAGE_binutils is not set + # CONFIG_PACKAGE_cppunit is not set + # CONFIG_PACKAGE_diffutils is not set +-# CONFIG_PACKAGE_gdb is not set ++CONFIG_PACKAGE_gdb=m + # CONFIG_PACKAGE_gdbserver is not set + # CONFIG_PACKAGE_lttng-tools is not set + # CONFIG_PACKAGE_make is not set +diff --git a/feeds/packages/libs/dbus-glib/patches/dont-segv-on-null-object-path.patch b/feeds/packages/libs/dbus-glib/patches/dont-segv-on-null-object-path.patch +new file mode 100644 +index 0000000..02cc604 +--- /dev/null ++++ b/feeds/packages/libs/dbus-glib/patches/dont-segv-on-null-object-path.patch +@@ -0,0 +1,15 @@ ++Index: dbus-glib-0.94/dbus/dbus-gvalue.c ++=================================================================== ++--- dbus-glib-0.94.orig/dbus/dbus-gvalue.c +++++ dbus-glib-0.94/dbus/dbus-gvalue.c ++@@ -1593,6 +1593,10 @@ marshal_object (DBusMessageIter ++ g_return_val_if_fail (G_IS_OBJECT (obj), FALSE); ++ ++ path = _dbus_gobject_get_path (obj); +++ if (!path) { +++ g_warning ("Cannot marshal NULL object path of object %p",obj); +++ return FALSE; +++ } ++ g_return_val_if_fail (g_variant_is_object_path (path), FALSE); ++ ++ if (!dbus_message_iter_append_basic (iter, +diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile +index 16db2d8..7b10ed5 100644 +--- a/package/network/services/hostapd/Makefile ++++ b/package/network/services/hostapd/Makefile +@@ -86,7 +86,7 @@ ifneq ($(LOCAL_TYPE),hostapd) + CONFIG_DRIVER_ROBOSWITCH=$(CONFIG_PACKAGE_kmod-switch) + endif + +-DRV_DEPENDS:=+PACKAGE_kmod-mac80211:libnl-tiny @(!TARGET_avr32||BROKEN) ++DRV_DEPENDS:=+PACKAGE_kmod-mac80211:libnl-tiny @(!TARGET_avr32||BROKEN) +dbus + + define Package/hostapd/Default + SECTION:=net +@@ -163,7 +163,7 @@ define Package/wpa-supplicant + CATEGORY:=Network + TITLE:=WPA Supplicant + URL:=http://hostap.epitest.fi/wpa_supplicant/ +- DEPENDS:=$(DRV_DEPENDS) +WPA_SUPPLICANT_OPENSSL:libopenssl ++ DEPENDS:=$(DRV_DEPENDS) +WPA_SUPPLICANT_OPENSSL:libopenssl + VARIANT:=supplicant-full + endef + +@@ -230,6 +230,9 @@ ifdef CONFIG_PACKAGE_kmod-mac80211 + TARGET_LDFLAGS += -lm -lnl-tiny + endif + ++TARGET_LDFLAGS += -ldbus-1 ++DEPENDS += ++ + define Build/RunMake + CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ + $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(1) \ +diff --git a/package/network/services/hostapd/files/wpa_supplicant-full.config b/package/network/services/hostapd/files/wpa_supplicant-full.config +index f5abbad..28a0ae9 100644 +--- a/package/network/services/hostapd/files/wpa_supplicant-full.config ++++ b/package/network/services/hostapd/files/wpa_supplicant-full.config +@@ -346,7 +346,7 @@ CONFIG_INTERNAL_LIBTOMMATH_FAST=y + + # Add support for new DBus control interface + # (fi.w1.hostap.wpa_supplicant1) +-#CONFIG_CTRL_IFACE_DBUS_NEW=y ++CONFIG_CTRL_IFACE_DBUS_NEW=y + + # Add introspection support for new DBus control interface + #CONFIG_CTRL_IFACE_DBUS_INTRO=y +diff --git a/package/network/utils/modemmanager/Makefile b/package/network/utils/modemmanager/Makefile +new file mode 100644 +index 0000000..df05f2f +--- /dev/null ++++ b/package/network/utils/modemmanager/Makefile +@@ -0,0 +1,103 @@ ++# ++# Copyright (C) 2013 OpenWrt.org ++# ++# This is free software, licensed under the GNU General Public License v2. ++# See /LICENSE for more information. ++# ++ ++include $(TOPDIR)/rules.mk ++ ++PKG_NAME:=modemmanager ++PKG_VERSION:=2013-02-13 ++PKG_RELEASE=$(PKG_SOURCE_VERSION) ++ ++PKG_SOURCE_PROTO:=git ++PKG_SOURCE_URL:=git://anongit.freedesktop.org/ModemManager/ModemManager ++PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) ++PKG_SOURCE_VERSION:=c1ef36b860931d32bd216af85d143b061913f2ce ++PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz ++ ++PKG_INSTALL:=1 ++PKG_FIXUP:=autoreconf ++ ++include $(INCLUDE_DIR)/package.mk ++ ++define Package/modemmanager ++ SECTION:=net ++ CATEGORY:=Network ++ TITLE:=ModemManager ++ URL:=http://cgit.freedesktop.org/ModemManager/ModemManager ++ DEPENDS:= \ ++ +udev \ ++ +glib2 \ ++ +libqmi \ ++ +dbus \ ++ +kmod-usb-net-cdc-ncm \ ++ +kmod-usb-net-hso \ ++ +kmod-usb-net-rndis \ ++ +kmod-usb-net-sierrawireless \ ++ +kmod-usb-acm \ ++ +kmod-usb-serial-option \ ++ +kmod-usb-serial-qualcomm \ ++ +kmod-usb-serial-sierrawireless \ ++ +kmod-usb-serial-option \ ++ +kmod-usb-serial-wwan ++endef ++ ++define Package/modemmanager/description ++ ModemManager is a DBus-activated service which allows controlling mobile ++ broadband modems. ++endef ++ ++CONFIGURE_ARGS += \ ++ --prefix=/usr \ ++ --sysconfdir=/etc \ ++ --localstatedir=/var \ ++ --without-docs \ ++ --without-tests \ ++ --without-polkit \ ++ --without-qmi ++ ++ ++ ++define autoreconf_target ++ ( cd "$(PKG_BUILD_DIR)"; ./autogen.sh ); \ ++ $(strip $(call autoreconf, \ ++ $(PKG_BUILD_DIR), $(PKG_REMOVE_FILES), \ ++ $(PKG_AUTOMAKE_PATHS), $(PKG_LIBTOOL_PATHS), \ ++ $(STAGING_DIR)/host/share/aclocal $(STAGING_DIR)/usr/share/aclocal $(PKG_MACRO_PATHS))) ++endef ++ ++define Build/InstallDev ++ $(INSTALL_DIR) $(1)/usr/include/ModemManager ++ $(CP) $(PKG_INSTALL_DIR)/usr/include/ModemManager/*.h $(1)/usr/include/ModemManager ++ $(INSTALL_DIR) $(1)/usr/include/libmm-glib ++ $(CP) $(PKG_INSTALL_DIR)/usr/include/libmm-glib/*.h $(1)/usr/include/libmm-glib ++ $(INSTALL_DIR) $(1)/usr/lib ++ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmm-glib.so* $(1)/usr/lib ++ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig ++ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/ModemManager.pc $(1)/usr/lib/pkgconfig ++ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mm-glib.pc $(1)/usr/lib/pkgconfig ++endef ++ ++define Package/modemmanager/install ++ $(INSTALL_DIR) $(1)/lib/udev/rules.d ++ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/lib/udev/rules.d/*.rules $(1)/lib/udev/rules.d ++ ++ $(INSTALL_DIR) $(1)/etc/dbus-1/system.d/ ++ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/*.conf $(1)/etc/dbus-1/system.d/ ++ ++ $(INSTALL_DIR) $(1)/usr/sbin ++ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ModemManager $(1)/usr/sbin ++ ++ $(INSTALL_DIR) $(1)/usr/bin ++ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mmcli $(1)/usr/bin ++ ++ $(INSTALL_DIR) $(1)/usr/lib ++ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmm-glib.so* $(1)/usr/lib ++ ++ $(INSTALL_DIR) $(1)/usr/lib/ModemManager ++ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ModemManager/libmm-plugin-*.so* $(1)/usr/lib/ModemManager ++endef ++ ++$(eval $(call BuildPackage,modemmanager)) +diff --git a/package/network/utils/modemmanager/patches/001-qmi-has-no-primary.patch b/package/network/utils/modemmanager/patches/001-qmi-has-no-primary.patch +new file mode 100644 +index 0000000..6baae13 +--- /dev/null ++++ b/package/network/utils/modemmanager/patches/001-qmi-has-no-primary.patch +@@ -0,0 +1,25 @@ ++Index: modemmanager-2013-02-13/src/mm-base-modem.c ++=================================================================== ++--- modemmanager-2013-02-13.orig/src/mm-base-modem.c +++++ modemmanager-2013-02-13/src/mm-base-modem.c ++@@ -1014,7 +1014,8 @@ mm_base_modem_organize_ports (MMBaseMode ++ #endif ++ ++ /* We keep new refs to the objects here */ ++- self->priv->primary = g_object_ref (primary); +++ // JMM - qmi has primary == NULL here, can't g_object_ref that +++ self->priv->primary = primary ? g_object_ref (primary) : NULL; ++ self->priv->secondary = (secondary ? g_object_ref (secondary) : NULL); ++ self->priv->qcdm = (qcdm ? g_object_ref (qcdm) : NULL); ++ self->priv->gps_control = (gps_control ? g_object_ref (gps_control) : NULL); ++@@ -1301,7 +1302,9 @@ dispose (GObject *object) ++ g_cancellable_cancel (self->priv->cancellable); ++ g_clear_object (&self->priv->cancellable); ++ ++- g_clear_object (&self->priv->primary); +++ // JMM - primary is NULL for qmi +++ if (self->priv->primary) +++ g_clear_object (&self->priv->primary); ++ g_clear_object (&self->priv->secondary); ++ g_list_free_full (self->priv->data, g_object_unref); ++ self->priv->data = NULL; +diff --git a/package/network/utils/modemmanager/patches/002-qmi-pin-status.patch b/package/network/utils/modemmanager/patches/002-qmi-pin-status.patch +new file mode 100644 +index 0000000..fc8ece9 +--- /dev/null ++++ b/package/network/utils/modemmanager/patches/002-qmi-pin-status.patch +@@ -0,0 +1,21 @@ ++Index: modemmanager-2013-02-13/src/mm-broadband-modem-qmi.c ++=================================================================== ++--- modemmanager-2013-02-13.orig/src/mm-broadband-modem-qmi.c +++++ modemmanager-2013-02-13/src/mm-broadband-modem-qmi.c ++@@ -1141,6 +1141,8 @@ dms_uim_get_pin_status_ready (QmiClientD ++ NULL)) ++ lock = mm_modem_lock_from_qmi_uim_pin_status (current_status, TRUE); ++ +++#if 0 +++ // JMM - pin2 does not need to be provisioned or unlocked for the modem to work ++ if (lock == MM_MODEM_LOCK_NONE && ++ qmi_message_dms_uim_get_pin_status_output_get_pin2_status ( ++ output, ++@@ -1149,6 +1151,7 @@ dms_uim_get_pin_status_ready (QmiClientD ++ NULL, /* unblock_retries_left */ ++ NULL)) ++ lock = mm_modem_lock_from_qmi_uim_pin_status (current_status, FALSE); +++#endif ++ ++ g_simple_async_result_set_op_res_gpointer (simple, GUINT_TO_POINTER (lock), NULL); ++ } +diff --git a/package/network/utils/network-manager/0.9.6.4-fixes/libnl-ifr-collision.patch b/package/network/utils/network-manager/0.9.6.4-fixes/libnl-ifr-collision.patch +new file mode 100644 +index 0000000..4058528 +--- /dev/null ++++ b/package/network/utils/network-manager/0.9.6.4-fixes/libnl-ifr-collision.patch +@@ -0,0 +1,104 @@ ++Index: NetworkManager-0.9.6.4/src/nm-device-ethernet.c ++=================================================================== ++--- NetworkManager-0.9.6.4.orig/src/nm-device-ethernet.c +++++ NetworkManager-0.9.6.4/src/nm-device-ethernet.c ++@@ -29,7 +29,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ #include ++ ++Index: NetworkManager-0.9.6.4/src/nm-device-olpc-mesh.c ++=================================================================== ++--- NetworkManager-0.9.6.4.orig/src/nm-device-olpc-mesh.c +++++ NetworkManager-0.9.6.4/src/nm-device-olpc-mesh.c ++@@ -36,7 +36,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ #include ++ ++Index: NetworkManager-0.9.6.4/src/nm-device-wired.c ++=================================================================== ++--- NetworkManager-0.9.6.4.orig/src/nm-device-wired.c +++++ NetworkManager-0.9.6.4/src/nm-device-wired.c ++@@ -22,7 +22,7 @@ ++ #include "config.h" ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ #include ++ #include ++Index: NetworkManager-0.9.6.4/src/nm-device.c ++=================================================================== ++--- NetworkManager-0.9.6.4.orig/src/nm-device.c +++++ NetworkManager-0.9.6.4/src/nm-device.c ++@@ -35,7 +35,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ ++ #include "nm-glib-compat.h" ++ #include "nm-device.h" ++Index: NetworkManager-0.9.6.4/src/nm-system.c ++=================================================================== ++--- NetworkManager-0.9.6.4.orig/src/nm-system.c +++++ NetworkManager-0.9.6.4/src/nm-system.c ++@@ -41,7 +41,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ #include ++ #include ++Index: NetworkManager-0.9.6.4/src/ppp-manager/nm-ppp-manager.c ++=================================================================== ++--- NetworkManager-0.9.6.4.orig/src/ppp-manager/nm-ppp-manager.c +++++ NetworkManager-0.9.6.4/src/ppp-manager/nm-ppp-manager.c ++@@ -32,7 +32,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ ++ #include ++Index: NetworkManager-0.9.6.4/src/wifi/wifi-utils-wext.c ++=================================================================== ++--- NetworkManager-0.9.6.4.orig/src/wifi/wifi-utils-wext.c +++++ NetworkManager-0.9.6.4/src/wifi/wifi-utils-wext.c ++@@ -41,7 +41,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ ++ ++Index: NetworkManager-0.9.6.4/src/wimax/nm-device-wimax.c ++=================================================================== ++--- NetworkManager-0.9.6.4.orig/src/wimax/nm-device-wimax.c +++++ NetworkManager-0.9.6.4/src/wimax/nm-device-wimax.c ++@@ -24,7 +24,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ ++ #include +diff --git a/package/network/utils/network-manager/0.9.6.4-fixes/no-crashdump.patch b/package/network/utils/network-manager/0.9.6.4-fixes/no-crashdump.patch +new file mode 100644 +index 0000000..b65d9a4 +--- /dev/null ++++ b/package/network/utils/network-manager/0.9.6.4-fixes/no-crashdump.patch +@@ -0,0 +1,12 @@ ++Index: NetworkManager-0.9.6.4/src/logging/nm-logging.c ++=================================================================== ++--- NetworkManager-0.9.6.4.orig/src/logging/nm-logging.c +++++ NetworkManager-0.9.6.4/src/logging/nm-logging.c ++@@ -32,6 +32,7 @@ ++ #include ++ #include ++ +++#undef ENABLE_CRASHTRACE ++ #ifdef ENABLE_CRASHTRACE ++ #include ++ #endif +diff --git a/package/network/utils/network-manager/0.9.6.4-fixes/series b/package/network/utils/network-manager/0.9.6.4-fixes/series +new file mode 100644 +index 0000000..3f53eae +--- /dev/null ++++ b/package/network/utils/network-manager/0.9.6.4-fixes/series +@@ -0,0 +1,2 @@ ++libnl-ifr-collision.patch ++no-crashdump.patch +diff --git a/package/network/utils/network-manager/001-no-test-no-examples.patch b/package/network/utils/network-manager/001-no-test-no-examples.patch +new file mode 100644 +index 0000000..1aa40e3 +--- /dev/null ++++ b/package/network/utils/network-manager/001-no-test-no-examples.patch +@@ -0,0 +1,32 @@ ++Index: NetworkManager-0.9.8.0/Makefile.in ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/Makefile.in +++++ NetworkManager-0.9.8.0/Makefile.in ++@@ -440,11 +440,9 @@ SUBDIRS = \ ++ tools \ ++ policy \ ++ data \ ++- test \ ++ po \ ++ man \ ++ docs \ ++- examples \ ++ vapi ++ ++ EXTRA_DIST = \ ++Index: NetworkManager-0.9.8.0/Makefile.am ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/Makefile.am +++++ NetworkManager-0.9.8.0/Makefile.am ++@@ -11,11 +11,9 @@ SUBDIRS = \ ++ tools \ ++ policy \ ++ data \ ++- test \ ++ po \ ++ man \ ++ docs \ ++- examples \ ++ vapi ++ ++ EXTRA_DIST = \ +diff --git a/package/network/utils/network-manager/999-1-assorted-fixes.patch b/package/network/utils/network-manager/999-1-assorted-fixes.patch +new file mode 100644 +index 0000000..5919cef +--- /dev/null ++++ b/package/network/utils/network-manager/999-1-assorted-fixes.patch +@@ -0,0 +1,59 @@ ++Index: NetworkManager-0.9.8.0/src/nm-device-ethernet.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/nm-device-ethernet.c +++++ NetworkManager-0.9.8.0/src/nm-device-ethernet.c ++@@ -431,21 +431,16 @@ update_permanent_hw_address (NMDevice *d ++ memset (&req, 0, sizeof (struct ifreq)); ++ strncpy (req.ifr_name, nm_device_get_iface (dev), IFNAMSIZ); ++ ++- epaddr = g_malloc0 (sizeof (struct ethtool_perm_addr) + ETH_ALEN); ++- epaddr->cmd = ETHTOOL_GPERMADDR; ++- epaddr->size = ETH_ALEN; ++- req.ifr_data = (void *) epaddr; +++ ret = ioctl (fd, SIOCGIFHWADDR, &req); ++ ++- errno = 0; ++- ret = ioctl (fd, SIOCETHTOOL, &req); ++- if ((ret < 0) || !nm_ethernet_address_is_valid ((struct ether_addr *) epaddr->data)) { +++ if ((ret < 0) || !nm_ethernet_address_is_valid ((struct ether_addr *) req.ifr_hwaddr.sa_data)) { ++ nm_log_err (LOGD_HW | LOGD_ETHER, "(%s): unable to read permanent MAC address (error %d)", ++ nm_device_get_iface (dev), errno); ++ /* Fall back to current address */ ++- memcpy (epaddr->data, priv->hw_addr, ETH_ALEN); +++ memcpy (req.ifr_hwaddr.sa_data, priv->hw_addr, ETH_ALEN); ++ } ++ ++- if (memcmp (&priv->perm_hw_addr, epaddr->data, ETH_ALEN)) { +++ if (memcmp (&priv->perm_hw_addr, req.ifr_hwaddr.sa_data, ETH_ALEN)) { ++ memcpy (&priv->perm_hw_addr, epaddr->data, ETH_ALEN); ++ g_object_notify (G_OBJECT (dev), NM_DEVICE_ETHERNET_PERMANENT_HW_ADDRESS); ++ } ++Index: NetworkManager-0.9.8.0/src/nm-manager.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/nm-manager.c +++++ NetworkManager-0.9.8.0/src/nm-manager.c ++@@ -2227,6 +2227,9 @@ udev_device_added_cb (NMUdevManager *ude ++ g_return_if_fail (sysfs_path != NULL); ++ g_return_if_fail (driver != NULL); ++ +++ //g_return_if_fail (strcmp(iface, "eth0")); +++ //g_return_if_fail (strcmp(iface, "wlan0")); +++ ++ /* Most devices will have an ifindex here */ ++ if (ifindex > 0) { ++ device = find_device_by_ifindex (self, ifindex); ++Index: NetworkManager-0.9.8.0/src/settings/nm-settings.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/settings/nm-settings.c +++++ NetworkManager-0.9.8.0/src/settings/nm-settings.c ++@@ -880,8 +880,10 @@ claim_connection (NMSettings *self, ++ g_signal_emit (self, signals[CONNECTION_ADDED], 0, connection); ++ g_signal_emit_by_name (self, NM_CP_SIGNAL_CONNECTION_ADDED, connection); ++ +++#if 1 // I segfault ++ /* Exported D-Bus signal */ ++ g_signal_emit (self, signals[NEW_CONNECTION], 0, connection); +++#endif ++ } ++ } ++ +diff --git a/package/network/utils/network-manager/Makefile b/package/network/utils/network-manager/Makefile +index 463658a..fc6bf66 100644 +--- a/package/network/utils/network-manager/Makefile ++++ b/package/network/utils/network-manager/Makefile +@@ -31,7 +31,7 @@ define Package/network-manager + SUBMENU:=app + TITLE:=Network Manager + URL:=http://network-manager.sourceforge.net/ +- DEPENDS:=+wireless-tools +hal +libnl +libgcrypt +libiw +libuuid +libgnutls +dbus +glib2 +libnl3 +libpthread +librt +libdbus-glib +modemmanager +systemd ++ DEPENDS:=+wireless-tools +libnl +libgcrypt +libiw +libuuid +libgnutls +dbus +glib2 +libnl3 +libpthread +librt +libdbus-glib +modemmanager + endef + + SITE_VARS+= enable_ifcfg_rh=no +diff --git a/package/network/utils/network-manager/patches/999-0-use-linux-if-not-libnl.patch b/package/network/utils/network-manager/patches/999-0-use-linux-if-not-libnl.patch +new file mode 100644 +index 0000000..2896f14 +--- /dev/null ++++ b/package/network/utils/network-manager/patches/999-0-use-linux-if-not-libnl.patch +@@ -0,0 +1,130 @@ ++Index: NetworkManager-0.9.8.0/src/nm-device-ethernet.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/nm-device-ethernet.c +++++ NetworkManager-0.9.8.0/src/nm-device-ethernet.c ++@@ -29,7 +29,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ #include ++ ++Index: NetworkManager-0.9.8.0/src/nm-device-olpc-mesh.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/nm-device-olpc-mesh.c +++++ NetworkManager-0.9.8.0/src/nm-device-olpc-mesh.c ++@@ -36,7 +36,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ #include ++ ++Index: NetworkManager-0.9.8.0/src/nm-device-vlan.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/nm-device-vlan.c +++++ NetworkManager-0.9.8.0/src/nm-device-vlan.c ++@@ -24,7 +24,7 @@ ++ #include ++ ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ ++ #include "nm-device-vlan.h" ++Index: NetworkManager-0.9.8.0/src/nm-device-wired.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/nm-device-wired.c +++++ NetworkManager-0.9.8.0/src/nm-device-wired.c ++@@ -22,7 +22,7 @@ ++ #include "config.h" ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ #include ++ #include ++Index: NetworkManager-0.9.8.0/src/nm-device.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/nm-device.c +++++ NetworkManager-0.9.8.0/src/nm-device.c ++@@ -35,7 +35,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ ++ #include "nm-glib-compat.h" ++ #include "nm-device.h" ++Index: NetworkManager-0.9.8.0/src/nm-system.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/nm-system.c +++++ NetworkManager-0.9.8.0/src/nm-system.c ++@@ -40,7 +40,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ #include ++ #include ++Index: NetworkManager-0.9.8.0/src/ppp-manager/nm-ppp-manager.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/ppp-manager/nm-ppp-manager.c +++++ NetworkManager-0.9.8.0/src/ppp-manager/nm-ppp-manager.c ++@@ -32,7 +32,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ ++ #include ++Index: NetworkManager-0.9.8.0/src/wifi/wifi-utils-wext.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/wifi/wifi-utils-wext.c +++++ NetworkManager-0.9.8.0/src/wifi/wifi-utils-wext.c ++@@ -41,7 +41,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ ++ ++Index: NetworkManager-0.9.8.0/src/wimax/iwmxsdk.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/wimax/iwmxsdk.c +++++ NetworkManager-0.9.8.0/src/wimax/iwmxsdk.c ++@@ -28,7 +28,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ ++ #include ++ ++Index: NetworkManager-0.9.8.0/src/wimax/nm-device-wimax.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/wimax/nm-device-wimax.c +++++ NetworkManager-0.9.8.0/src/wimax/nm-device-wimax.c ++@@ -24,7 +24,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include <../include/linux/if.h> ++ #include ++ ++ #include +diff --git a/package/network/utils/network-manager/patches/999-2-move-resolv-conf.patch b/package/network/utils/network-manager/patches/999-2-move-resolv-conf.patch +new file mode 100644 +index 0000000..1af8469 +--- /dev/null ++++ b/package/network/utils/network-manager/patches/999-2-move-resolv-conf.patch +@@ -0,0 +1,13 @@ ++Index: NetworkManager-0.9.8.0/src/dns-manager/nm-dns-manager.c ++=================================================================== ++--- NetworkManager-0.9.8.0.orig/src/dns-manager/nm-dns-manager.c +++++ NetworkManager-0.9.8.0/src/dns-manager/nm-dns-manager.c ++@@ -47,7 +47,7 @@ ++ #include "nm-dns-dnsmasq.h" ++ ++ #ifndef RESOLV_CONF ++-#define RESOLV_CONF "/etc/resolv.conf" +++#define RESOLV_CONF "/tmp/resolv.conf.nm" ++ #endif ++ ++ G_DEFINE_TYPE(NMDnsManager, nm_dns_manager, G_TYPE_OBJECT) +diff --git a/package/network/utils/network-manager/patches/999-use-linux-if-not-libnl.patch b/package/network/utils/network-manager/patches/999-use-linux-if-not-libnl.patch +deleted file mode 100644 +index 2896f14..0000000 +--- a/package/network/utils/network-manager/patches/999-use-linux-if-not-libnl.patch ++++ /dev/null +@@ -1,130 +0,0 @@ +-Index: NetworkManager-0.9.8.0/src/nm-device-ethernet.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/nm-device-ethernet.c +-+++ NetworkManager-0.9.8.0/src/nm-device-ethernet.c +-@@ -29,7 +29,7 @@ +- #include +- #include +- #include +--#include +-+#include <../include/linux/if.h> +- #include +- #include +- +-Index: NetworkManager-0.9.8.0/src/nm-device-olpc-mesh.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/nm-device-olpc-mesh.c +-+++ NetworkManager-0.9.8.0/src/nm-device-olpc-mesh.c +-@@ -36,7 +36,7 @@ +- #include +- #include +- #include +--#include +-+#include <../include/linux/if.h> +- #include +- #include +- +-Index: NetworkManager-0.9.8.0/src/nm-device-vlan.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/nm-device-vlan.c +-+++ NetworkManager-0.9.8.0/src/nm-device-vlan.c +-@@ -24,7 +24,7 @@ +- #include +- +- #include +--#include +-+#include <../include/linux/if.h> +- #include +- +- #include "nm-device-vlan.h" +-Index: NetworkManager-0.9.8.0/src/nm-device-wired.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/nm-device-wired.c +-+++ NetworkManager-0.9.8.0/src/nm-device-wired.c +-@@ -22,7 +22,7 @@ +- #include "config.h" +- #include +- #include +--#include +-+#include <../include/linux/if.h> +- #include +- #include +- #include +-Index: NetworkManager-0.9.8.0/src/nm-device.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/nm-device.c +-+++ NetworkManager-0.9.8.0/src/nm-device.c +-@@ -35,7 +35,7 @@ +- #include +- #include +- #include +--#include +-+#include <../include/linux/if.h> +- +- #include "nm-glib-compat.h" +- #include "nm-device.h" +-Index: NetworkManager-0.9.8.0/src/nm-system.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/nm-system.c +-+++ NetworkManager-0.9.8.0/src/nm-system.c +-@@ -40,7 +40,7 @@ +- #include +- #include +- #include +--#include +-+#include <../include/linux/if.h> +- #include +- #include +- #include +-Index: NetworkManager-0.9.8.0/src/ppp-manager/nm-ppp-manager.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/ppp-manager/nm-ppp-manager.c +-+++ NetworkManager-0.9.8.0/src/ppp-manager/nm-ppp-manager.c +-@@ -32,7 +32,7 @@ +- #include +- #include +- #include +--#include +-+#include <../include/linux/if.h> +- #include +- +- #include +-Index: NetworkManager-0.9.8.0/src/wifi/wifi-utils-wext.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/wifi/wifi-utils-wext.c +-+++ NetworkManager-0.9.8.0/src/wifi/wifi-utils-wext.c +-@@ -41,7 +41,7 @@ +- #include +- #include +- #include +--#include +-+#include <../include/linux/if.h> +- #include +- +- +-Index: NetworkManager-0.9.8.0/src/wimax/iwmxsdk.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/wimax/iwmxsdk.c +-+++ NetworkManager-0.9.8.0/src/wimax/iwmxsdk.c +-@@ -28,7 +28,7 @@ +- #include +- #include +- #include +--#include +-+#include <../include/linux/if.h> +- +- #include +- +-Index: NetworkManager-0.9.8.0/src/wimax/nm-device-wimax.c +-=================================================================== +---- NetworkManager-0.9.8.0.orig/src/wimax/nm-device-wimax.c +-+++ NetworkManager-0.9.8.0/src/wimax/nm-device-wimax.c +-@@ -24,7 +24,7 @@ +- #include +- #include +- #include +--#include +-+#include <../include/linux/if.h> +- #include +- +- #include +diff --git a/package/systemd-udev/Config.in b/package/systemd-udev/Config.in +deleted file mode 100644 +index dcc2908..0000000 +--- a/package/systemd-udev/Config.in ++++ /dev/null +@@ -1,64 +0,0 @@ +-# systemd-udev package config +- +-menu "Configuration" +- depends on PACKAGE_systemd-udev +- +-config SYSTEMD_UDEV_DISABLE_GUDEV +- bool "Disable libgudev" +- default n +- help +- Disable compilation of libgudev +- +-config SYSTEMD_UDEV_EXTRA_ata_id +- bool "Install udev ata_id callout" +- default y +- help +- ata_id - udev callout to read product/serial number +- from ATA drives +- +-config SYSTEMD_UDEV_EXTRA_cdrom_id +- bool "Install udev cdrom_id callout" +- default y +- help +- cdrom_id - udev callout to determine the capabilities +- of optical drives and media +- +-config SYSTEMD_UDEV_EXTRA_collect +- bool "Install udev collect" +- default n +- help +- Adds ID to the list governed by +- +-config SYSTEMD_UDEV_EXTRA_scsi_id +- bool "Install udev scsi_id callout" +- default y +- help +- scsi_id - retrieve and generate a unique SCSI identifier +- +-config SYSTEMD_UDEV_EXTRA_v4l_id +- bool "Install udev v4l_id callout" +- default y +- help +- v4l_id - udev callout to identify Video4Linux devices +- +-config SYSTEMD_UDEV_EXTRA_accelerometer +- bool "Install udev accelerometer callout" +- default y +- help +- accelerometer - udev callout to export device orientation +- through property +- +-config SYSTEMD_UDEV_EXTRA_mtd_probe +- bool "Install mtd_probe callout" +- default y +- help +- mtd_probe - udev callout to probe mtd devices +- +-config SYSTEMD_UDEV_EXTRA_qemu +- bool "Install qemu specific rules" +- default y +- help +- Install rules for autosuspension of QEMU emulated +- USB HID devices +- +-endmenu +diff --git a/package/systemd-udev/Makefile b/package/systemd-udev/Makefile +deleted file mode 100644 +index 104379a..0000000 +--- a/package/systemd-udev/Makefile ++++ /dev/null +@@ -1,191 +0,0 @@ +-# +-# Copyright (C) 2006-2103 OpenWrt.org +-# +-# This is free software, licensed under the GNU General Public License v2. +-# See /LICENSE for more information. +-# +-# Since udev 182, the sources are integrated within the systemd tree. +-# +- +-include $(TOPDIR)/rules.mk +- +-PKG_NAME:=systemd +-PKG_VERSION:=197 +-PKG_RELEASE:=1 +- +-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +-PKG_SOURCE_URL:=http://www.freedesktop.org/software/systemd/ +-PKG_MD5SUM:=56a860dceadfafe59f40141eb5223743 +- +-PKG_FIXUP:=autoreconf +- +-include $(INCLUDE_DIR)/package.mk +- +-PKG_INSTALL=1 +- +-define Package/systemd-udev +- SECTION:=utils +- CATEGORY:=Utilities +- TITLE:=Dynamic device management subsystem +- URL:=http://www.freedesktop.org/wiki/Software/systemd/ +- MENU:=1 +- DEPENDS:=+librt +dbus +libcap +glib2 +-endef +- +-define Package/systemd-udev/description +- udev allows Linux users to have a dynamic /dev directory and it +- provides the ability to have persistent device names. +-endef +- +-define Package/systemd-udev/conffiles +-/etc/udev/udev.conf +-endef +- +-define Package/systemd-udev/config +- source "$(SOURCE)/Config.in" +-endef +- +-# gudev args +-systemd-udev-args-$(CONFIG_SYSTEMD_UDEV_DISABLE_GUDEV) += --disable-gudev +- +- +-CONFIGURE_ARGS += \ +- --prefix=/usr \ +- --sysconfdir=/etc \ +- --without-python \ +- --disable-gtk-doc-html \ +- --disable-introspection \ +- --disable-kmod \ +- --disable-blkid \ +- --disable-ima \ +- --disable-chkconfig \ +- --disable-selinux \ +- --disable-xz \ +- --disable-tcpwrap \ +- --disable-pam \ +- --disable-acl \ +- --disable-xattr \ +- --disable-gcrypt \ +- --disable-audit \ +- --disable-libcryptsetup \ +- --disable-qrencode \ +- --disable-microhttpd \ +- --disable-binfmt \ +- --disable-vconsole \ +- --disable-readahead \ +- --disable-bootchart \ +- --disable-quotacheck \ +- --disable-randomseed \ +- --disable-logind \ +- --disable-hostnamed \ +- --disable-timedated \ +- --disable-localed \ +- --disable-coredump \ +- --disable-myhostname \ +- --disable-keymap \ +- --disable-manpages \ +- $(systemd-udev-args-y) +- +-# ata_id callout +-systemd-udev-extra-lib-bin-$(CONFIG_SYSTEMD_UDEV_EXTRA_ata_id) += ata_id +- +-# cdrom_id callout +-systemd-udev-extra-lib-bin-$(CONFIG_SYSTEMD_UDEV_EXTRA_cdrom_id) += cdrom_id +-systemd-udev-extra-rules-$(CONFIG_SYSTEMD_UDEV_EXTRA_cdrom_id) += 60-cdrom_id.rules +- +-# collect callout +-systemd-udev-extra-lib-bin-$(CONFIG_SYSTEMD_UDEV_EXTRA_collect) += collect +- +-# scsi_id callout +-systemd-udev-extra-lib-bin-$(CONFIG_SYSTEMD_UDEV_EXTRA_scsi_id) += scsi_id +- +-# v4l_id callout +-systemd-udev-extra-lib-bin-$(CONFIG_SYSTEMD_UDEV_EXTRA_v4l_id) += v4l_id +-systemd-udev-extra-rules-$(CONFIG_SYSTEMD_UDEV_EXTRA_v4l_id) += 60-persistent-v4l.rules +- +-# accelerometer callout +-systemd-udev-extra-lib-bin-$(CONFIG_SYSTEMD_UDEV_EXTRA_accelerometer) += accelerometer +-systemd-udev-extra-rules-$(CONFIG_SYSTEMD_UDEV_EXTRA_accelerometer) += 61-accelerometer.rules +- +-# mtd_probe callout +-systemd-udev-extra-lib-bin-$(CONFIG_SYSTEMD_UDEV_EXTRA_mtd_probe) += mtd_probe +-systemd-udev-extra-rules-$(CONFIG_SYSTEMD_UDEV_EXTRA_mtd_probe) += 75-probe_mtd.rules +- +-# qemu rules +-systemd-udev-extra-rules-$(CONFIG_SYSTEMD_UDEV_EXTRA_qemu) += 42-usb-hid-pm.rules +- +-# TODO: keymap +- +-define Build/InstallDev +- $(INSTALL_DIR) $(1)/usr/include +- $(CP) $(PKG_INSTALL_DIR)/usr/include/libudev.h $(1)/usr/include +- $(INSTALL_DIR) $(1)/usr/share/pkgconfig +- $(CP) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/udev.pc $(1)/usr/share/pkgconfig +- $(INSTALL_DIR) $(1)/usr/lib +- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libudev.so* $(1)/usr/lib +- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsystemd-daemon.so* $(1)/usr/lib +- $(INSTALL_DIR) $(1)/usr/lib/pkgconfig +- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libudev.pc $(1)/usr/lib/pkgconfig +- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsystemd-daemon.pc $(1)/usr/lib/pkgconfig +-ifneq ($(CONFIG_SYSTEMD_UDEV_DISABLE_GUDEV),y) +- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgudev-1.0.so* $(1)/usr/lib +- $(INSTALL_DIR) $(1)/usr/include/gudev-1.0/gudev +- $(CP) $(PKG_INSTALL_DIR)/usr/include/gudev-1.0/gudev/gudev.h $(1)/usr/include/gudev-1.0/gudev/gudev.h +- $(CP) $(PKG_INSTALL_DIR)/usr/include/gudev-1.0/gudev/gudevclient.h $(1)/usr/include/gudev-1.0/gudev/gudevclient.h +- $(CP) $(PKG_INSTALL_DIR)/usr/include/gudev-1.0/gudev/gudevdevice.h $(1)/usr/include/gudev-1.0/gudev/gudevdevice.h +- $(CP) $(PKG_INSTALL_DIR)/usr/include/gudev-1.0/gudev/gudevenumerator.h $(1)/usr/include/gudev-1.0/gudev/gudevenumerator.h +- $(CP) $(PKG_INSTALL_DIR)/usr/include/gudev-1.0/gudev/gudevenums.h $(1)/usr/include/gudev-1.0/gudev/gudevenums.h +- $(CP) $(PKG_INSTALL_DIR)/usr/include/gudev-1.0/gudev/gudevenumtypes.h $(1)/usr/include/gudev-1.0/gudev/gudevenumtypes.h +- $(CP) $(PKG_INSTALL_DIR)/usr/include/gudev-1.0/gudev/gudevtypes.h $(1)/usr/include/gudev-1.0/gudev/gudevtypes.h +- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gudev-1.0.pc $(1)/usr/lib/pkgconfig +- # for really complicated reasons we need this +- sed -i -e 's%libdir=/usr%libdir=$$$${exec_prefix}%g' $(1)/usr/lib/pkgconfig/gudev-1.0.pc +- sed -i -e 's%includedir=/usr%includedir=$$$${prefix}%g' $(1)/usr/lib/pkgconfig/gudev-1.0.pc +-endif +-endef +- +-define Package/systemd-udev/install +- $(INSTALL_DIR) $(1)/etc/udev/rules.d +- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/udev/udev.conf $(1)/etc/udev +- +- $(INSTALL_DIR) $(1)/sbin +- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/udevadm $(1)/sbin/ +- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/systemd/systemd-udevd $(1)/sbin/udevd +- +- $(INSTALL_DIR) $(1)/lib/udev/rules.d +- $(INSTALL_DATA) \ +- $(addprefix $(PKG_INSTALL_DIR)/usr/lib/udev/rules.d/, \ +- $(systemd-udev-extra-rules-y)) \ +- $(addprefix $(PKG_INSTALL_DIR)/usr/lib/udev/rules.d/, \ +- 50-udev-default.rules \ +- 60-persistent-alsa.rules \ +- 60-persistent-input.rules \ +- 60-persistent-serial.rules \ +- 60-persistent-storage.rules \ +- 60-persistent-storage-tape.rules \ +- 64-btrfs.rules \ +- 75-net-description.rules \ +- 75-tty-description.rules \ +- 78-sound-card.rules \ +- 80-net-name-slot.rules \ +- 95-udev-late.rules \ +- 99-systemd.rules) \ +- $(1)/lib/udev/rules.d +- +- $(INSTALL_DIR) $(1)/lib +- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libudev.so* $(1)/lib +- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsystemd-daemon.so* $(1)/lib +-ifneq ($(CONFIG_SYSTEMD_UDEV_DISABLE_GUDEV),y) +- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgudev-1.0.so* $(1)/lib +-endif +- +- $(INSTALL_DIR) $(1)/lib/udev +-ifneq ($(systemd-udev-extra-lib-bin-y),) +- $(INSTALL_BIN) \ +- $(addprefix $(PKG_INSTALL_DIR)/usr/lib/udev/, \ +- $(systemd-udev-extra-lib-bin-y)) \ +- $(1)/lib/udev/ +-endif +-endef +- +-$(eval $(call BuildPackage,systemd-udev)) +diff --git a/package/systemd-udev/patches/0001-missing-define-MS_REC-and-MS_SHARED-if-not-defined-a.patch b/package/systemd-udev/patches/0001-missing-define-MS_REC-and-MS_SHARED-if-not-defined-a.patch +deleted file mode 100644 +index e519c77..0000000 +--- a/package/systemd-udev/patches/0001-missing-define-MS_REC-and-MS_SHARED-if-not-defined-a.patch ++++ /dev/null +@@ -1,32 +0,0 @@ +-From 1125071483e501023ce60f79f27601fba3098cad Mon Sep 17 00:00:00 2001 +-From: Aleksander Morgado +-Date: Tue, 12 Feb 2013 13:07:23 +0100 +-Subject: [PATCH 1/8] missing: define MS_REC and MS_SHARED if not defined +- already +- +---- +- src/shared/missing.h | 8 ++++++++ +- 1 file changed, 8 insertions(+) +- +-diff --git a/src/shared/missing.h b/src/shared/missing.h +-index c53579f..d4ba0d3 100644 +---- a/src/shared/missing.h +-+++ b/src/shared/missing.h +-@@ -196,6 +196,14 @@ static inline pid_t gettid(void) { +- #define MS_STRICTATIME (1<<24) +- #endif +- +-+#ifndef MS_REC +-+#define MS_REC 16384 +-+#endif +-+ +-+#ifndef MS_SHARED +-+#define MS_SHARED (1<<20) +-+#endif +-+ +- #ifndef PR_SET_NO_NEW_PRIVS +- #define PR_SET_NO_NEW_PRIVS 38 +- #endif +--- +-1.8.1.2 +- +diff --git a/package/systemd-udev/patches/0002-uclibc-use-plain-getenv-instead.patch b/package/systemd-udev/patches/0002-uclibc-use-plain-getenv-instead.patch +deleted file mode 100644 +index 2615afe..0000000 +--- a/package/systemd-udev/patches/0002-uclibc-use-plain-getenv-instead.patch ++++ /dev/null +@@ -1,27 +0,0 @@ +-From a2fbd49c5d0b73e2f6c1a0482fc7c3d40b23829e Mon Sep 17 00:00:00 2001 +-From: Aleksander Morgado +-Date: Mon, 11 Feb 2013 14:47:49 +0100 +-Subject: [PATCH 2/8] uclibc: use plain getenv() instead +- +-uclibc doesn't implement secure_getenv(), fallback to getenv() instead just to +-get this compiled. +---- +- src/shared/missing.h | 2 +- +- 1 file changed, 1 insertion(+), 1 deletion(-) +- +-diff --git a/src/shared/missing.h b/src/shared/missing.h +-index d4ba0d3..865f16b 100644 +---- a/src/shared/missing.h +-+++ b/src/shared/missing.h +-@@ -254,7 +254,7 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle +- # ifdef HAVE___SECURE_GETENV +- # define secure_getenv __secure_getenv +- # else +--# error neither secure_getenv nor __secure_getenv are available +-+# define secure_getenv getenv +- # endif +- #endif +- +--- +-1.8.1.2 +- +diff --git a/package/systemd-udev/patches/0003-uclibc-use-execvp-instead-of-execvpe.patch b/package/systemd-udev/patches/0003-uclibc-use-execvp-instead-of-execvpe.patch +deleted file mode 100644 +index f5c7ed1..0000000 +--- a/package/systemd-udev/patches/0003-uclibc-use-execvp-instead-of-execvpe.patch ++++ /dev/null +@@ -1,55 +0,0 @@ +-From e2d2de2ac6a60d2a1bac09dcdb09021961172e93 Mon Sep 17 00:00:00 2001 +-From: Aleksander Morgado +-Date: Tue, 12 Feb 2013 15:04:12 +0100 +-Subject: [PATCH 3/8] uclibc: use execvp instead of execvpe +- +---- +- configure.ac | 1 + +- src/nspawn/nspawn.c | 11 +++++++++-- +- 2 files changed, 10 insertions(+), 2 deletions(-) +- +-diff --git a/configure.ac b/configure.ac +-index 56694ff..4a481a7 100644 +---- a/configure.ac +-+++ b/configure.ac +-@@ -193,6 +193,7 @@ CAP_LIBS="$LIBS" +- LIBS="$save_LIBS" +- AC_SUBST(CAP_LIBS) +- +-+AC_CHECK_FUNCS([execvpe]) +- AC_CHECK_FUNCS([fanotify_init fanotify_mark]) +- AC_CHECK_FUNCS([__secure_getenv secure_getenv]) +- AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at], [], [], [[#include +-diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +-index 4c87371..68f7436 100644 +---- a/src/nspawn/nspawn.c +-+++ b/src/nspawn/nspawn.c +-@@ -58,6 +58,8 @@ +- #include "fdset.h" +- #include "build.h" +- +-+#include "config.h" +-+ +- typedef enum LinkJournal { +- LINK_NO, +- LINK_AUTO, +-@@ -1468,9 +1470,14 @@ int main(int argc, char *argv[]) { +- +- a[0] = (char*) "/sbin/init"; +- execve(a[0], a, (char**) envp); +-- } else if (argc > optind) +-+ } else if (argc > optind) { +-+#ifdef HAVE_EXECVPE +- execvpe(argv[optind], argv + optind, (char**) envp); +-- else { +-+#else +-+ environ = (char **)envp; +-+ execvp(argv[optind], argv + optind); +-+#endif /* HAVE_EXECVPE */ +-+ }else { +- chdir(home ? home : "/root"); +- execle("/bin/bash", "-bash", NULL, (char**) envp); +- } +--- +-1.8.1.2 +- +diff --git a/package/systemd-udev/patches/0004-uclibc-use-mkstemp-instead-of-mkostemp.patch b/package/systemd-udev/patches/0004-uclibc-use-mkstemp-instead-of-mkostemp.patch +deleted file mode 100644 +index e3d5b02..0000000 +--- a/package/systemd-udev/patches/0004-uclibc-use-mkstemp-instead-of-mkostemp.patch ++++ /dev/null +@@ -1,258 +0,0 @@ +-From b4f13b8f304175b8999fef41685bba73c24d3e4f Mon Sep 17 00:00:00 2001 +-From: Aleksander Morgado +-Date: Tue, 12 Feb 2013 15:16:16 +0100 +-Subject: [PATCH 4/8] uclibc: use mkstemp instead of mkostemp +- +---- +- configure.ac | 2 +- +- src/core/manager.c | 10 ++++++++++ +- src/journal/coredumpctl.c | 6 ++++++ +- src/journal/journal-send.c | 9 +++++++++ +- src/journal/journal-verify.c | 23 +++++++++++++++++++++++ +- src/journal/journalctl.c | 10 ++++++++++ +- src/shared/ask-password-api.c | 10 ++++++++++ +- src/shared/util.c | 9 +++++++++ +- 8 files changed, 78 insertions(+), 1 deletion(-) +- +-diff --git a/configure.ac b/configure.ac +-index 4a481a7..f02cfdc 100644 +---- a/configure.ac +-+++ b/configure.ac +-@@ -193,7 +193,7 @@ CAP_LIBS="$LIBS" +- LIBS="$save_LIBS" +- AC_SUBST(CAP_LIBS) +- +--AC_CHECK_FUNCS([execvpe]) +-+AC_CHECK_FUNCS([execvpe mkostemp]) +- AC_CHECK_FUNCS([fanotify_init fanotify_mark]) +- AC_CHECK_FUNCS([__secure_getenv secure_getenv]) +- AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at], [], [], [[#include +-diff --git a/src/core/manager.c b/src/core/manager.c +-index 4bebb29..84a379b 100644 +---- a/src/core/manager.c +-+++ b/src/core/manager.c +-@@ -73,6 +73,8 @@ +- #include "efivars.h" +- #include "env-util.h" +- +-+#include "config.h" +-+ +- /* As soon as 16 units are in our GC queue, make sure to run a gc sweep */ +- #define GC_QUEUE_ENTRIES_MAX 16 +- +-@@ -1830,7 +1832,15 @@ int manager_open_serialization(Manager *m, FILE **_f) { +- return -ENOMEM; +- +- saved_umask = umask(0077); +-+ +-+#ifdef HAVE_MKOSTEMP +- fd = mkostemp(path, O_RDWR|O_CLOEXEC); +-+#else +-+ fd = mkstemp(path); +-+ if (fd >= 0) +-+ fcntl(fd, F_SETFD, FD_CLOEXEC); +-+#endif /* HAVE_MKOSTEMP */ +-+ +- umask(saved_umask); +- +- if (fd < 0) { +-diff --git a/src/journal/coredumpctl.c b/src/journal/coredumpctl.c +-index b6e5581..74e1489 100644 +---- a/src/journal/coredumpctl.c +-+++ b/src/journal/coredumpctl.c +-@@ -35,6 +35,8 @@ +- #include "path-util.h" +- #include "pager.h" +- +-+#include "config.h" +-+ +- static enum { +- ACTION_NONE, +- ACTION_LIST, +-@@ -472,7 +474,11 @@ static int run_gdb(sd_journal *j) { +- data = (const uint8_t*) data + 9; +- len -= 9; +- +-+#ifdef HAVE_MKOSTEMP +- fd = mkostemp(path, O_WRONLY); +-+#else +-+ fd = mkstemp(path); +-+#endif +- if (fd < 0) { +- log_error("Failed to create temporary file: %m"); +- return -errno; +-diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c +-index d5ec73e..32f9eba9 100644 +---- a/src/journal/journal-send.c +-+++ b/src/journal/journal-send.c +-@@ -33,6 +33,8 @@ +- #include "util.h" +- #include "socket-util.h" +- +-+#include "config.h" +-+ +- #define SNDBUF_SIZE (8*1024*1024) +- +- #define ALLOCA_CODE_FUNC(f, func) \ +-@@ -330,7 +332,14 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { +- * file and just pass a file descriptor of it to the other +- * side */ +- +-+#ifdef HAVE_MKOSTEMP +- buffer_fd = mkostemp(path, O_CLOEXEC|O_RDWR); +-+#else +-+ buffer_fd = mkstemp(path); +-+ if (buffer_fd >= 0) +-+ fcntl(buffer_fd, F_SETFD, FD_CLOEXEC); +-+#endif /* HAVE_MKOSTEMP */ +-+ +- if (buffer_fd < 0) { +- r = -errno; +- goto finish; +-diff --git a/src/journal/journal-verify.c b/src/journal/journal-verify.c +-index ed28b45..f9e1dba 100644 +---- a/src/journal/journal-verify.c +-+++ b/src/journal/journal-verify.c +-@@ -34,6 +34,8 @@ +- #include "compress.h" +- #include "fsprg.h" +- +-+#include "config.h" +-+ +- static int journal_file_object_verify(JournalFile *f, Object *o) { +- uint64_t i; +- +-@@ -701,7 +703,14 @@ int journal_file_verify( +- } else if (f->seal) +- return -ENOKEY; +- +-+#ifdef HAVE_MKOSTEMP +- data_fd = mkostemp(data_path, O_CLOEXEC); +-+#else +-+ data_fd = mkstemp(data_path); +-+ if (data_fd >= 0) +-+ fcntl(data_fd, F_SETFD, FD_CLOEXEC); +-+#endif /* HAVE_MKOSTEMP */ +-+ +- if (data_fd < 0) { +- log_error("Failed to create data file: %m"); +- r = -errno; +-@@ -709,7 +718,14 @@ int journal_file_verify( +- } +- unlink(data_path); +- +-+#ifdef HAVE_MKOSTEMP +- entry_fd = mkostemp(entry_path, O_CLOEXEC); +-+#else +-+ entry_fd = mkstemp(entry_path); +-+ if (entry_fd >= 0) +-+ fcntl(entry_fd, F_SETFD, FD_CLOEXEC); +-+#endif /* HAVE_MKOSTEMP */ +-+ +- if (entry_fd < 0) { +- log_error("Failed to create entry file: %m"); +- r = -errno; +-@@ -717,7 +733,14 @@ int journal_file_verify( +- } +- unlink(entry_path); +- +-+#ifdef HAVE_MKOSTEMP +- entry_array_fd = mkostemp(entry_array_path, O_CLOEXEC); +-+#else +-+ entry_array_fd = mkstemp(entry_array_path); +-+ if (entry_array_fd >= 0) +-+ fcntl(entry_array_fd, F_SETFD, FD_CLOEXEC); +-+#endif /* HAVE_MKOSTEMP */ +-+ +- if (entry_array_fd < 0) { +- log_error("Failed to create entry array file: %m"); +- r = -errno; +-diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c +-index 0afeef9..a00010c 100644 +---- a/src/journal/journalctl.c +-+++ b/src/journal/journalctl.c +-@@ -53,6 +53,8 @@ +- #include "unit-name.h" +- #include "catalog.h" +- +-+#include "config.h" +-+ +- #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) +- +- static OutputMode arg_output = OUTPUT_SHORT; +-@@ -679,7 +681,15 @@ static int setup_keys(void) { +- n /= arg_interval; +- +- close_nointr_nofail(fd); +-+ +-+#ifdef HAVE_MKOSTEMP +- fd = mkostemp(k, O_WRONLY|O_CLOEXEC|O_NOCTTY); +-+#else +-+ fd = mkstemp(k); +-+ if (fd >= 0) +-+ fcntl(fd, F_SETFD, FD_CLOEXEC); +-+#endif /* HAVE_MKOSTEMP */ +-+ +- if (fd < 0) { +- log_error("Failed to open %s: %m", k); +- r = -errno; +-diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c +-index 8a0fb89..e5e9afd 100644 +---- a/src/shared/ask-password-api.c +-+++ b/src/shared/ask-password-api.c +-@@ -37,6 +37,8 @@ +- +- #include "ask-password-api.h" +- +-+#include "config.h" +-+ +- static void backspace_chars(int ttyfd, size_t p) { +- +- if (ttyfd < 0) +-@@ -326,7 +328,15 @@ int ask_password_agent( +- mkdir_p_label("/run/systemd/ask-password", 0755); +- +- u = umask(0022); +-+ +-+#ifdef HAVE_MKOSTEMP +- fd = mkostemp(temp, O_CLOEXEC|O_CREAT|O_WRONLY); +-+#else +-+ fd = mkstemp(temp); +-+ if (fd >= 0) +-+ fcntl(fd, F_SETFD, FD_CLOEXEC); +-+#endif /* HAVE_MKOSTEMP */ +-+ +- umask(u); +- +- if (fd < 0) { +-diff --git a/src/shared/util.c b/src/shared/util.c +-index 24f9e7e..35cee2a 100644 +---- a/src/shared/util.c +-+++ b/src/shared/util.c +-@@ -72,6 +72,8 @@ +- #include "hashmap.h" +- #include "env-util.h" +- +-+#include "config.h" +-+ +- int saved_argc = 0; +- char **saved_argv = NULL; +- +-@@ -4144,7 +4146,14 @@ int fopen_temporary(const char *path, FILE **_f, char **_temp_path) { +- t[k] = '.'; +- stpcpy(stpcpy(t+k+1, fn), "XXXXXX"); +- +-+#ifdef HAVE_MKOSTEMP +- fd = mkostemp(t, O_WRONLY|O_CLOEXEC); +-+#else +-+ fd = mkstemp(t); +-+ if (fd >= 0) +-+ fcntl(fd, F_SETFD, FD_CLOEXEC); +-+#endif /* HAVE_MKOSTEMP */ +-+ +- if (fd < 0) { +- free(t); +- return -errno; +--- +-1.8.1.2 +- +diff --git a/package/systemd-udev/patches/0005-uclibc-skip-using-unavailable-posix_fallocate.patch b/package/systemd-udev/patches/0005-uclibc-skip-using-unavailable-posix_fallocate.patch +deleted file mode 100644 +index 66f56a8..0000000 +--- a/package/systemd-udev/patches/0005-uclibc-skip-using-unavailable-posix_fallocate.patch ++++ /dev/null +@@ -1,109 +0,0 @@ +-From b9f0b9ba87c58a38b8c4116a5cffc5b1cfa4ff34 Mon Sep 17 00:00:00 2001 +-From: Aleksander Morgado +-Date: Tue, 12 Feb 2013 15:25:42 +0100 +-Subject: [PATCH 5/8] uclibc: skip using unavailable posix_fallocate() +- +---- +- configure.ac | 2 +- +- src/journal/journal-file.c | 19 ++++++++++++++++++- +- src/journal/journald-kmsg.c | 16 ++++++++++++++-- +- 3 files changed, 33 insertions(+), 4 deletions(-) +- +-diff --git a/configure.ac b/configure.ac +-index f02cfdc..dbb2680 100644 +---- a/configure.ac +-+++ b/configure.ac +-@@ -193,7 +193,7 @@ CAP_LIBS="$LIBS" +- LIBS="$save_LIBS" +- AC_SUBST(CAP_LIBS) +- +--AC_CHECK_FUNCS([execvpe mkostemp]) +-+AC_CHECK_FUNCS([execvpe mkostemp posix_fallocate]) +- AC_CHECK_FUNCS([fanotify_init fanotify_mark]) +- AC_CHECK_FUNCS([__secure_getenv secure_getenv]) +- AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at], [], [], [[#include +-diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +-index 13fc8ed..df4333b 100644 +---- a/src/journal/journal-file.c +-+++ b/src/journal/journal-file.c +-@@ -38,6 +38,8 @@ +- #include "compress.h" +- #include "fsprg.h" +- +-+#include "config.h" +-+ +- #define DEFAULT_DATA_HASH_TABLE_SIZE (2047ULL*sizeof(HashItem)) +- #define DEFAULT_FIELD_HASH_TABLE_SIZE (333ULL*sizeof(HashItem)) +- +-@@ -276,7 +278,7 @@ static int journal_file_verify_header(JournalFile *f) { +- +- static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) { +- uint64_t old_size, new_size; +-- int r; +-+ int r = 0; +- +- assert(f); +- +-@@ -321,10 +323,25 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) +- /* Note that the glibc fallocate() fallback is very +- inefficient, hence we try to minimize the allocation area +- as we can. */ +-+#ifdef HAVE_POSIX_ALLOCATE +- r = posix_fallocate(f->fd, old_size, new_size - old_size); +- if (r != 0) +- return -r; +- +-+#else +-+ /* Use good old method to write zeros into the journal file +-+ perhaps very inefficient yet working. */ +-+ if(new_size > old_size) { +-+ char *buf = alloca(new_size - old_size); +-+ off_t oldpos = lseek(f->fd, 0, SEEK_CUR); +-+ bzero(buf, new_size - old_size); +-+ lseek(f->fd, old_size, SEEK_SET); +-+ r = write(f->fd, buf, new_size - old_size); +-+ lseek(f->fd, oldpos, SEEK_SET); +-+ } +-+ if (r < 0) +-+ return -errno; +-+#endif /* HAVE_POSIX_FALLOCATE */ +- if (fstat(f->fd, &f->last_stat) < 0) +- return -errno; +- +-diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c +-index b819876..0d18bba 100644 +---- a/src/journal/journald-kmsg.c +-+++ b/src/journal/journald-kmsg.c +-@@ -404,6 +404,7 @@ int server_open_dev_kmsg(Server *s) { +- +- int server_open_kernel_seqnum(Server *s) { +- int fd; +-+ int r = 0; +- uint64_t *p; +- +- assert(s); +-@@ -417,8 +418,19 @@ int server_open_kernel_seqnum(Server *s) { +- log_error("Failed to open /run/systemd/journal/kernel-seqnum, ignoring: %m"); +- return 0; +- } +-- +-- if (posix_fallocate(fd, 0, sizeof(uint64_t)) < 0) { +-+#ifdef HAVE_POSIX_ALLOCATE +-+ r = posix_fallocate(fd, 0, sizeof(uint64_t)); +-+#else +-+ /* Use good old method to write zeros into the journal file +-+ perhaps very inefficient yet working. */ +-+ char *buf = alloca(sizeof(uint64_t)); +-+ off_t oldpos = lseek(fd, 0, SEEK_CUR); +-+ bzero(buf, sizeof(uint64_t)); +-+ lseek(fd, 0, SEEK_SET); +-+ r = write(fd, buf, sizeof(uint64_t)); +-+ lseek(fd, oldpos, SEEK_SET); +-+#endif /* HAVE_POSIX_FALLOCATE */ +-+ if (r < 0) { +- log_error("Failed to allocate sequential number file, ignoring: %m"); +- close_nointr_nofail(fd); +- return 0; +--- +-1.8.1.2 +- +diff --git a/package/systemd-udev/patches/0006-uclibc-use-dup2-instead-of-dup3.patch b/package/systemd-udev/patches/0006-uclibc-use-dup2-instead-of-dup3.patch +deleted file mode 100644 +index 92062c7..0000000 +--- a/package/systemd-udev/patches/0006-uclibc-use-dup2-instead-of-dup3.patch ++++ /dev/null +@@ -1,86 +0,0 @@ +-From 868897a6c4af2b8b27805ae097890630bfb202c4 Mon Sep 17 00:00:00 2001 +-From: Aleksander Morgado +-Date: Tue, 12 Feb 2013 15:35:01 +0100 +-Subject: [PATCH 6/8] uclibc: use dup2() instead of dup3() +- +---- +- configure.ac | 2 +- +- src/journal/cat.c | 11 +++++++++++ +- src/shared/util.c | 6 ++++++ +- 3 files changed, 18 insertions(+), 1 deletion(-) +- +-diff --git a/configure.ac b/configure.ac +-index dbb2680..98d9413 100644 +---- a/configure.ac +-+++ b/configure.ac +-@@ -193,7 +193,7 @@ CAP_LIBS="$LIBS" +- LIBS="$save_LIBS" +- AC_SUBST(CAP_LIBS) +- +--AC_CHECK_FUNCS([execvpe mkostemp posix_fallocate]) +-+AC_CHECK_FUNCS([execvpe mkostemp posix_fallocate dup3]) +- AC_CHECK_FUNCS([fanotify_init fanotify_mark]) +- AC_CHECK_FUNCS([__secure_getenv secure_getenv]) +- AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at], [], [], [[#include +-diff --git a/src/journal/cat.c b/src/journal/cat.c +-index a95392c..f631f2b 100644 +---- a/src/journal/cat.c +-+++ b/src/journal/cat.c +-@@ -32,6 +32,8 @@ +- #include "util.h" +- #include "build.h" +- +-+#include "config.h" +-+ +- static char *arg_identifier = NULL; +- static int arg_priority = LOG_INFO; +- static bool arg_level_prefix = true; +-@@ -143,8 +145,13 @@ int main(int argc, char *argv[]) { +- +- saved_stderr = fcntl(STDERR_FILENO, F_DUPFD_CLOEXEC, 3); +- +-+#if HAVE_DUP3 +- if (dup3(fd, STDOUT_FILENO, 0) < 0 || +- dup3(fd, STDERR_FILENO, 0) < 0) { +-+#else +-+ if (dup2(fd, STDOUT_FILENO) < 0 || +-+ dup2(fd, STDERR_FILENO) < 0) { +-+#endif /* HAVE_DUP3 */ +- log_error("Failed to duplicate fd: %m"); +- r = -errno; +- goto finish; +-@@ -164,7 +171,11 @@ int main(int argc, char *argv[]) { +- +- /* Let's try to restore a working stderr, so we can print the error message */ +- if (saved_stderr >= 0) +-+#if HAVE_DUP3 +- dup3(saved_stderr, STDERR_FILENO, 0); +-+#else +-+ dup2(saved_stderr, STDERR_FILENO); +-+#endif /* HAVE_DUP3 */ +- +- log_error("Failed to execute process: %s", strerror(-r)); +- +-diff --git a/src/shared/util.c b/src/shared/util.c +-index 35cee2a..659f650 100644 +---- a/src/shared/util.c +-+++ b/src/shared/util.c +-@@ -2600,9 +2600,15 @@ int make_stdio(int fd) { +- +- assert(fd >= 0); +- +-+#if HAVE_DUP3 +- r = dup3(fd, STDIN_FILENO, 0); +- s = dup3(fd, STDOUT_FILENO, 0); +- t = dup3(fd, STDERR_FILENO, 0); +-+#else +-+ r = dup2(fd, STDIN_FILENO); +-+ s = dup2(fd, STDOUT_FILENO); +-+ t = dup2(fd, STDERR_FILENO); +-+#endif /* HAVE_DUP3 */ +- +- if (fd >= 3) +- close_nointr_nofail(fd); +--- +-1.8.1.2 +- +diff --git a/package/systemd-udev/patches/0007-test-udev-include-missing.h.patch b/package/systemd-udev/patches/0007-test-udev-include-missing.h.patch +deleted file mode 100644 +index 43a5e67..0000000 +--- a/package/systemd-udev/patches/0007-test-udev-include-missing.h.patch ++++ /dev/null +@@ -1,26 +0,0 @@ +-From c3b23153355fd3dbcf0a6be300b295c62423377b Mon Sep 17 00:00:00 2001 +-From: Aleksander Morgado +-Date: Tue, 12 Feb 2013 15:38:48 +0100 +-Subject: [PATCH 7/8] test-udev: include missing.h +- +-We need MS_REC and MS_SHARED defined for a proper compilation, so get them from +-'missing.h' if not defined already. +---- +- src/test/test-udev.c | 1 + +- 1 file changed, 1 insertion(+) +- +-diff --git a/src/test/test-udev.c b/src/test/test-udev.c +-index 7cb93ed..aee87f7 100644 +---- a/src/test/test-udev.c +-+++ b/src/test/test-udev.c +-@@ -32,6 +32,7 @@ +- #include +- #include +- +-+#include "missing.h" +- #include "udev.h" +- +- void udev_main_log(struct udev *udev, int priority, +--- +-1.8.1.2 +- +diff --git a/package/systemd-udev/patches/0008-uclibc-don-t-require-SSP.patch b/package/systemd-udev/patches/0008-uclibc-don-t-require-SSP.patch +deleted file mode 100644 +index 755a67c..0000000 +--- a/package/systemd-udev/patches/0008-uclibc-don-t-require-SSP.patch ++++ /dev/null +@@ -1,27 +0,0 @@ +-From 156bc19bb657fe0e2fdbe6f2bd1f63450e695635 Mon Sep 17 00:00:00 2001 +-From: Aleksander Morgado +-Date: Wed, 13 Feb 2013 17:20:38 +0100 +-Subject: [PATCH 8/8] uclibc: don't require SSP +- +---- +- configure.ac | 4 +--- +- 1 file changed, 1 insertion(+), 3 deletions(-) +- +-diff --git a/configure.ac b/configure.ac +-index 98d9413..35646ec 100644 +---- a/configure.ac +-+++ b/configure.ac +-@@ -130,9 +130,7 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ +- -fno-strict-aliasing \ +- -fvisibility=hidden \ +- -ffunction-sections \ +-- -fdata-sections \ +-- -fstack-protector \ +-- --param=ssp-buffer-size=4]) +-+ -fdata-sections]) +- AC_SUBST([OUR_CFLAGS], $with_cflags) +- +- AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], [ +--- +-1.8.1.2 +- +diff --git a/package/systemd-udev/patches/0009-uclibc-no-utmpx.patch b/package/systemd-udev/patches/0009-uclibc-no-utmpx.patch +deleted file mode 100644 +index efd21f0..0000000 +--- a/package/systemd-udev/patches/0009-uclibc-no-utmpx.patch ++++ /dev/null +@@ -1,210 +0,0 @@ +-Index: systemd-197/src/shared/utmp-wtmp.c +-=================================================================== +---- systemd-197.orig/src/shared/utmp-wtmp.c +-+++ systemd-197/src/shared/utmp-wtmp.c +-@@ -19,7 +19,7 @@ +- along with systemd; If not, see . +- ***/ +- +--#include +-+#include +- #include +- #include +- #include +-@@ -33,7 +33,7 @@ +- #include "utmp-wtmp.h" +- +- int utmp_get_runlevel(int *runlevel, int *previous) { +-- struct utmpx lookup, *found; +-+ struct utmp lookup, *found; +- int r; +- const char *e; +- +-@@ -61,15 +61,15 @@ int utmp_get_runlevel(int *runlevel, int +- return 0; +- } +- +-- if (utmpxname(_PATH_UTMPX) < 0) +-+ if (utmpname(_PATH_UTMP) < 0) +- return -errno; +- +-- setutxent(); +-+ setutent(); +- +- zero(lookup); +- lookup.ut_type = RUN_LVL; +- +-- if (!(found = getutxid(&lookup))) +-+ if (!(found = getutid(&lookup))) +- r = -errno; +- else { +- int a, b; +-@@ -88,12 +88,12 @@ int utmp_get_runlevel(int *runlevel, int +- } +- } +- +-- endutxent(); +-+ endutent(); +- +- return r; +- } +- +--static void init_timestamp(struct utmpx *store, usec_t t) { +-+static void init_timestamp(struct utmp *store, usec_t t) { +- assert(store); +- +- zero(*store); +-@@ -105,7 +105,7 @@ static void init_timestamp(struct utmpx +- store->ut_tv.tv_usec = t % USEC_PER_SEC; +- } +- +--static void init_entry(struct utmpx *store, usec_t t) { +-+static void init_entry(struct utmp *store, usec_t t) { +- struct utsname uts; +- +- assert(store); +-@@ -121,7 +121,7 @@ static void init_entry(struct utmpx *sto +- strncpy(store->ut_id, "~~", sizeof(store->ut_id)); +- } +- +--static int write_entry_utmp(const struct utmpx *store) { +-+static int write_entry_utmp(const struct utmp *store) { +- int r; +- +- assert(store); +-@@ -130,33 +130,33 @@ static int write_entry_utmp(const struct +- * each entry type resp. user; i.e. basically a key/value +- * table. */ +- +-- if (utmpxname(_PATH_UTMPX) < 0) +-+ if (utmpname(_PATH_UTMP) < 0) +- return -errno; +- +-- setutxent(); +-+ setutent(); +- +-- if (!pututxline(store)) +-+ if (!pututline(store)) +- r = -errno; +- else +- r = 0; +- +-- endutxent(); +-+ endutent(); +- +- return r; +- } +- +--static int write_entry_wtmp(const struct utmpx *store) { +-+static int write_entry_wtmp(const struct utmp *store) { +- assert(store); +- +- /* wtmp is a simple append-only file where each entry is +- simply appended to * the end; i.e. basically a log. */ +- +- errno = 0; +-- updwtmpx(_PATH_WTMPX, store); +-+ updwtmp(_PATH_WTMP, store); +- return -errno; +- } +- +--static int write_utmp_wtmp(const struct utmpx *store_utmp, const struct utmpx *store_wtmp) { +-+static int write_utmp_wtmp(const struct utmp *store_utmp, const struct utmp *store_wtmp) { +- int r, s; +- +- r = write_entry_utmp(store_utmp); +-@@ -173,12 +173,12 @@ static int write_utmp_wtmp(const struct +- return r; +- } +- +--static int write_entry_both(const struct utmpx *store) { +-+static int write_entry_both(const struct utmp *store) { +- return write_utmp_wtmp(store, store); +- } +- +- int utmp_put_shutdown(void) { +-- struct utmpx store; +-+ struct utmp store; +- +- init_entry(&store, 0); +- +-@@ -189,7 +189,7 @@ int utmp_put_shutdown(void) { +- } +- +- int utmp_put_reboot(usec_t t) { +-- struct utmpx store; +-+ struct utmp store; +- +- init_entry(&store, t); +- +-@@ -205,14 +205,14 @@ static const char *sanitize_id(const cha +- assert(id); +- l = strlen(id); +- +-- if (l <= sizeof(((struct utmpx*) NULL)->ut_id)) +-+ if (l <= sizeof(((struct utmp*) NULL)->ut_id)) +- return id; +- +-- return id + l - sizeof(((struct utmpx*) NULL)->ut_id); +-+ return id + l - sizeof(((struct utmp*) NULL)->ut_id); +- } +- +- int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line) { +-- struct utmpx store; +-+ struct utmp store; +- +- assert(id); +- +-@@ -231,17 +231,17 @@ int utmp_put_init_process(const char *id +- } +- +- int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { +-- struct utmpx lookup, store, store_wtmp, *found; +-+ struct utmp lookup, store, store_wtmp, *found; +- +- assert(id); +- +-- setutxent(); +-+ setutent(); +- +- zero(lookup); +- lookup.ut_type = INIT_PROCESS; /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ +- strncpy(lookup.ut_id, sanitize_id(id), sizeof(lookup.ut_id)); +- +-- if (!(found = getutxid(&lookup))) +-+ if (!(found = getutid(&lookup))) +- return 0; +- +- if (found->ut_pid != pid) +-@@ -265,7 +265,7 @@ int utmp_put_dead_process(const char *id +- +- +- int utmp_put_runlevel(int runlevel, int previous) { +-- struct utmpx store; +-+ struct utmp store; +- int r; +- +- assert(runlevel > 0); +-@@ -366,7 +366,7 @@ finish: +- } +- +- int utmp_wall(const char *message, bool (*match_tty)(const char *tty)) { +-- struct utmpx *u; +-+ struct utmp *u; +- char date[FORMAT_TIMESTAMP_MAX]; +- char *text = NULL, *hn = NULL, *un = NULL, *tty = NULL; +- int r; +-@@ -391,11 +391,11 @@ int utmp_wall(const char *message, bool +- goto finish; +- } +- +-- setutxent(); +-+ setutent(); +- +- r = 0; +- +-- while ((u = getutxent())) { +-+ while ((u = getutent())) { +- int q; +- const char *path; +- char *buf = NULL; +diff --git a/package/udev/Makefile b/package/udev/Makefile +index 4679917..9c0f3dd 100644 +--- a/package/udev/Makefile ++++ b/package/udev/Makefile +@@ -26,7 +26,7 @@ define Package/udev + URL:=http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html + MAINTAINER:=Geoff Levand + MENU:=1 +- DEPENDS:=+librt ++ DEPENDS:=+librt +glib2 + endef + + define Package/udev/description +@@ -50,7 +50,7 @@ udev-args-$(CONFIG_UDEV_EXTRA_floppy) += --enable-floppy + # TODO: make hwdb and introspection work + + CONFIGURE_ARGS += --prefix=/usr --exec-prefix= --sysconfdir=/etc \ +- --disable-hwdb --disable-keymap --disable-gudev --disable-introspection \ ++ --disable-hwdb --disable-keymap --enable-gudev --disable-introspection \ + --libexecdir=/lib/udev --disable-gtk-doc-html \ + --sbindir=/sbin $(udev-args-y) + +@@ -72,8 +72,6 @@ udev-extra-rules-$(CONFIG_UDEV_EXTRA_firmware) += 50-firmware.rules + + udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_floppy) += create_floppy_devices + +-# TODO: make gudev work +- + udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_input_id) += input_id + + # TODO: make keymap work +@@ -110,6 +108,11 @@ define Build/InstallDev + $(CP) $(PKG_INSTALL_DIR)/lib/libudev.so* $(1)/lib + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/lib/pkgconfig/libudev.pc $(1)/usr/lib/pkgconfig ++ $(INSTALL_DIR) $(1)/usr/include/gudev-1.0/gudev ++ $(CP) $(PKG_INSTALL_DIR)/usr/include/gudev-1.0/gudev/* $(1)/usr/include/gudev-1.0/gudev/ ++ $(INSTALL_DIR) $(1)/lib ++ $(CP) $(PKG_INSTALL_DIR)/lib/libgudev-1.0.so* $(1)/lib ++ $(CP) $(PKG_INSTALL_DIR)/lib/pkgconfig/gudev-1.0.pc $(1)/usr/lib/pkgconfig + endef + + define Package/udev/install +@@ -137,6 +140,7 @@ define Package/udev/install + + $(INSTALL_DIR) $(1)/lib + $(CP) $(PKG_INSTALL_DIR)/lib/libudev.so* $(1)/lib ++ $(CP) $(PKG_INSTALL_DIR)/lib/libgudev-1.0.so* $(1)/lib + + $(INSTALL_DIR) $(1)/lib/udev + ifneq ($(udev-extra-lib-bin-y),) +diff --git a/package/udev/patches/9999-add-libudev-to-gudev-deps b/package/udev/patches/9999-add-libudev-to-gudev-deps +new file mode 100644 +index 0000000..2bb363b +--- /dev/null ++++ b/package/udev/patches/9999-add-libudev-to-gudev-deps +@@ -0,0 +1,12 @@ ++Index: udev-173/extras/gudev/gudev-1.0.pc.in ++=================================================================== ++--- udev-173.orig/extras/gudev/gudev-1.0.pc.in +++++ udev-173/extras/gudev/gudev-1.0.pc.in ++@@ -6,6 +6,6 @@ includedir=@includedir@ ++ Name: gudev-1.0 ++ Description: GObject bindings for libudev ++ Version: @VERSION@ ++-Requires: glib-2.0, gobject-2.0 +++Requires: libudev, glib-2.0, gobject-2.0 ++ Libs: -L${libdir} -lgudev-1.0 ++ Cflags: -I${includedir}/gudev-1.0 +diff --git a/rules.mk b/rules.mk +index 6455fde..2225b2b 100644 +--- a/rules.mk ++++ b/rules.mk +@@ -109,7 +109,7 @@ BUILD_LOG_DIR:=$(TOPDIR)/logs + PKG_INFO_DIR := $(STAGING_DIR)/pkginfo + + TARGET_PATH:=$(STAGING_DIR_HOST)/bin:$(subst $(space),:,$(filter-out .,$(filter-out ./,$(subst :,$(space),$(PATH))))) +-TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) ++TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -O0 -g3) + TARGET_CXXFLAGS = $(TARGET_CFLAGS) + TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include + TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib +diff --git a/target/linux/ar71xx/config-3.8 b/target/linux/ar71xx/config-3.8 +index 847b9a5..a124def 100644 +--- a/target/linux/ar71xx/config-3.8 ++++ b/target/linux/ar71xx/config-3.8 +@@ -97,8 +97,12 @@ CONFIG_ATH79_NVRAM=y + CONFIG_ATH79_PCI_ATH9K_FIXUP=y + CONFIG_ATH79_ROUTERBOOT=y + # CONFIG_ATH79_WDT is not set ++CONFIG_BLK_DEV_SD=y ++CONFIG_BLK_DEV_SR=m ++# CONFIG_BLK_DEV_SR_VENDOR is not set + CONFIG_CC_OPTIMIZE_FOR_SIZE=y + CONFIG_CEVT_R4K=y ++CONFIG_CHR_DEV_SG=m + CONFIG_CMDLINE="rootfstype=squashfs,yaffs,jffs2 noinitrd" + CONFIG_CMDLINE_BOOL=y + # CONFIG_CMDLINE_OVERRIDE is not set +@@ -113,11 +117,18 @@ CONFIG_CPU_R4K_CACHE_TLB=y + CONFIG_CPU_R4K_FPU=y + CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y + CONFIG_CPU_SUPPORTS_HIGHMEM=y ++CONFIG_CRC16=y ++CONFIG_CRC7=y ++CONFIG_CRC_ITU_T=y ++CONFIG_CRYPTO_CRC32C=y ++CONFIG_CRYPTO_HASH=y ++CONFIG_CRYPTO_HASH2=y + CONFIG_CSRC_R4K=y + CONFIG_DECOMPRESS_LZMA=y + CONFIG_DMA_NONCOHERENT=y + CONFIG_EARLY_PRINTK=y + CONFIG_ETHERNET_PACKET_MANGLE=y ++CONFIG_EXT3_FS=y + CONFIG_GENERIC_ATOMIC64=y + CONFIG_GENERIC_CLOCKEVENTS=y + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +@@ -129,7 +140,6 @@ CONFIG_GENERIC_PCI_IOMAP=y + CONFIG_GENERIC_SMP_IDLE_THREAD=y + CONFIG_GPIOLIB=y + CONFIG_GPIO_NXP_74HC153=y +-CONFIG_GPIO_PCF857X=y + CONFIG_GPIO_SYSFS=y + CONFIG_HARDWARE_WATCHPOINTS=y + CONFIG_HAS_DMA=y +@@ -159,27 +169,21 @@ CONFIG_HAVE_NET_DSA=y + CONFIG_HAVE_OPROFILE=y + CONFIG_HAVE_PERF_EVENTS=y + CONFIG_HW_HAS_PCI=y +-CONFIG_I2C=y +-CONFIG_I2C_ALGOBIT=y +-CONFIG_I2C_BOARDINFO=y +-CONFIG_I2C_GPIO=y + CONFIG_IMAGE_CMDLINE_HACK=y + CONFIG_INITRAMFS_ROOT_GID=0 + CONFIG_INITRAMFS_ROOT_UID=0 + CONFIG_INITRAMFS_SOURCE="../../root" +-CONFIG_IP17XX_PHY=y + CONFIG_IRQ_CPU=y +-CONFIG_IRQ_DOMAIN=y + CONFIG_IRQ_FORCED_THREADING=y ++# CONFIG_ISDN is not set ++CONFIG_JBD=y + # CONFIG_LEDS_RB750 is not set + # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + # CONFIG_LEDS_TRIGGER_NETDEV is not set + # CONFIG_LEDS_TRIGGER_TIMER is not set + # CONFIG_LEDS_WNDR3700_USB is not set + # CONFIG_M25PXX_USE_FAST_READ is not set +-CONFIG_MARVELL_PHY=y + CONFIG_MDIO_BOARDINFO=y +-CONFIG_MICREL_PHY=y + CONFIG_MIPS=y + # CONFIG_MIPS_HUGE_TLB_SUPPORT is not set + CONFIG_MIPS_L1_CACHE_SHIFT=5 +@@ -204,10 +208,48 @@ CONFIG_MTD_WRT160NL_PARTS=y + CONFIG_MYLOADER=y + CONFIG_NEED_DMA_MAP_STATE=y + CONFIG_NEED_PER_CPU_KM=y ++# CONFIG_NETWORK_FILESYSTEMS is not set ++# CONFIG_NET_CADENCE is not set + CONFIG_NET_DSA=y + CONFIG_NET_DSA_MV88E6060=y + CONFIG_NET_DSA_MV88E6063=y + CONFIG_NET_DSA_TAG_TRAILER=y ++# CONFIG_NET_VENDOR_3COM is not set ++# CONFIG_NET_VENDOR_ADAPTEC is not set ++# CONFIG_NET_VENDOR_ALTEON is not set ++# CONFIG_NET_VENDOR_AMD is not set ++# CONFIG_NET_VENDOR_BROADCOM is not set ++# CONFIG_NET_VENDOR_BROCADE is not set ++# CONFIG_NET_VENDOR_CHELSIO is not set ++# CONFIG_NET_VENDOR_CISCO is not set ++# CONFIG_NET_VENDOR_DEC is not set ++# CONFIG_NET_VENDOR_DLINK is not set ++# CONFIG_NET_VENDOR_EMULEX is not set ++# CONFIG_NET_VENDOR_EXAR is not set ++# CONFIG_NET_VENDOR_HP is not set ++# CONFIG_NET_VENDOR_INTEL is not set ++# CONFIG_NET_VENDOR_MARVELL is not set ++# CONFIG_NET_VENDOR_MELLANOX is not set ++# CONFIG_NET_VENDOR_MICREL is not set ++# CONFIG_NET_VENDOR_MICROCHIP is not set ++# CONFIG_NET_VENDOR_MYRI is not set ++# CONFIG_NET_VENDOR_NATSEMI is not set ++# CONFIG_NET_VENDOR_NVIDIA is not set ++# CONFIG_NET_VENDOR_OKI is not set ++# CONFIG_NET_VENDOR_QLOGIC is not set ++# CONFIG_NET_VENDOR_RDC is not set ++# CONFIG_NET_VENDOR_REALTEK is not set ++# CONFIG_NET_VENDOR_SEEQ is not set ++# CONFIG_NET_VENDOR_SILAN is not set ++# CONFIG_NET_VENDOR_SIS is not set ++# CONFIG_NET_VENDOR_SMSC is not set ++# CONFIG_NET_VENDOR_STMICRO is not set ++# CONFIG_NET_VENDOR_SUN is not set ++# CONFIG_NET_VENDOR_TEHUTI is not set ++# CONFIG_NET_VENDOR_TI is not set ++# CONFIG_NET_VENDOR_TOSHIBA is not set ++# CONFIG_NET_VENDOR_VIA is not set ++CONFIG_NLS=y + CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_PCI=y +@@ -219,12 +261,8 @@ CONFIG_PERF_USE_VMALLOC=y + CONFIG_PHYLIB=y + # CONFIG_PREEMPT_RCU is not set + CONFIG_RLE_DECOMPRESS=y +-CONFIG_RTL8306_PHY=y +-CONFIG_RTL8366RB_PHY=y +-CONFIG_RTL8366S_PHY=y + CONFIG_RTL8366_SMI=y +-CONFIG_RTL8367_PHY=y +-# CONFIG_SCSI_DMA is not set ++CONFIG_SCSI=y + CONFIG_SERIAL_8250_NR_UARTS=1 + CONFIG_SERIAL_8250_RUNTIME_UARTS=1 + CONFIG_SERIAL_AR933X=y +@@ -255,6 +293,29 @@ CONFIG_SYS_SUPPORTS_ARBIT_HZ=y + CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y + CONFIG_TICK_CPU_ACCOUNTING=y + CONFIG_UIDGID_CONVERTED=y ++CONFIG_USB=y ++CONFIG_USB_ACM=m + CONFIG_USB_ARCH_HAS_XHCI=y ++CONFIG_USB_COMMON=y ++# CONFIG_USB_EHCI_ATH79 is not set ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_EHCI_HCD_PLATFORM=y ++CONFIG_USB_EHCI_PCI=y ++CONFIG_USB_NET_CDCETHER=m ++CONFIG_USB_NET_CDC_EEM=m ++CONFIG_USB_NET_CDC_MBIM=m ++CONFIG_USB_NET_CDC_NCM=m ++CONFIG_USB_NET_QMI_WWAN=m ++CONFIG_USB_SERIAL=m ++CONFIG_USB_SERIAL_OPTION=m ++CONFIG_USB_SERIAL_QCAUX=m ++CONFIG_USB_SERIAL_QUALCOMM=m ++CONFIG_USB_SERIAL_WWAN=m ++CONFIG_USB_SERIAL_ZTE=m ++CONFIG_USB_SIERRA_NET=m ++CONFIG_USB_STORAGE=y + CONFIG_USB_SUPPORT=y ++# CONFIG_USB_UHCI_HCD is not set ++CONFIG_USB_USBNET=m ++CONFIG_USB_WDM=m + CONFIG_ZONE_DMA_FLAG=0 +diff --git a/target/linux/ar71xx/patches-3.8/999-1-always-bitbang-spi b/target/linux/ar71xx/patches-3.8/999-1-always-bitbang-spi +index 44cd2f2..825d022 100644 +--- a/target/linux/ar71xx/patches-3.8/999-1-always-bitbang-spi ++++ b/target/linux/ar71xx/patches-3.8/999-1-always-bitbang-spi +@@ -84,7 +84,7 @@ Index: linux-3.8.3/arch/mips/ath79/mach-tl-mr11u.c + + #include "common.h" + #include "dev-eth.h" +-@@ -82,11 +84,60 @@ static struct gpio_keys_button tl_mr11u_ ++@@ -82,11 +84,61 @@ static struct gpio_keys_button tl_mr11u_ + }, + }; + +@@ -112,6 +112,7 @@ Index: linux-3.8.3/arch/mips/ath79/mach-tl-mr11u.c + + ath79_register_eth(0); + + ath79_eth0_data.phy_mask = BIT(0); + + +++ mac[MAC_LEN - 1] ^= 1; + + } + + + + if (!strcmp(mtd->name, "art") && !art) { +@@ -148,9 +149,9 @@ Index: linux-3.8.3/arch/mips/ath79/mach-tl-mr11u.c + /* Disable hardware control LAN1 and LAN2 LEDs, enabling GPIO14 and GPIO15 */ + ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN | + AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN); +-@@ -94,18 +145,13 @@ static void __init common_setup(void) ++@@ -94,18 +146,13 @@ static void __init common_setup(void) + /* disable PHY_SWAP and PHY_ADDR_SWAP bits */ +- ath79_setup_ar933x_phy4_switch(false, false); ++ ath79_setup_ar933x_phy4_switch(false, true); + + + register_mtd_user(&spi_notifier); + + +diff --git a/target/linux/ar71xx/patches-3.8/999-2-sdcard-spi b/target/linux/ar71xx/patches-3.8/999-2-sdcard-spi +index cb31388..44ccfc7 100644 +--- a/target/linux/ar71xx/patches-3.8/999-2-sdcard-spi ++++ b/target/linux/ar71xx/patches-3.8/999-2-sdcard-spi +@@ -1,23 +1,20 @@ +-Index: linux-3.6.10/arch/mips/ath79/mach-tl-mr11u.c ++Index: linux-3.8.3/arch/mips/ath79/mach-tl-mr11u.c + =================================================================== +---- linux-3.6.10.orig/arch/mips/ath79/mach-tl-mr11u.c +-+++ linux-3.6.10/arch/mips/ath79/mach-tl-mr11u.c +-@@ -12,7 +12,14 @@ +- #include ++--- linux-3.8.3.orig/arch/mips/ath79/mach-tl-mr11u.c +++++ linux-3.8.3/arch/mips/ath79/mach-tl-mr11u.c ++@@ -13,6 +13,11 @@ + + #include +-+#include ++ #include + +#include + +#include + +#include + +#include + +#include ++ #include ++ #include + +-+#include "common.h" +- #include "dev-eth.h" +- #include "dev-gpio-buttons.h" +- #include "dev-leds-gpio.h" +-@@ -34,6 +41,47 @@ ++@@ -38,6 +43,47 @@ + #define TL_MR11U_KEYS_POLL_INTERVAL 20 /* msecs */ + #define TL_MR11U_KEYS_DEBOUNCE_INTERVAL (3 * TL_MR11U_KEYS_POLL_INTERVAL) + +@@ -51,7 +48,7 @@ Index: linux-3.6.10/arch/mips/ath79/mach-tl-mr11u.c + +}; + + + +static struct platform_device tl_mr3040_spi_device = { +-+#if 0 +++#if 1 + + .name = "tl_mr3040_spi", + +#else + + .name = "spi_gpio", +@@ -65,7 +62,7 @@ Index: linux-3.6.10/arch/mips/ath79/mach-tl-mr11u.c + static const char *tl_mr11u_part_probes[] = { + "tp-link", + NULL, +-@@ -119,6 +167,10 @@ MIPS_MACHINE(ATH79_MACH_TL_MR11U, "TL-MR ++@@ -172,6 +218,10 @@ MIPS_MACHINE(ATH79_MACH_TL_MR11U, "TL-MR + + static void __init tl_mr3040_setup(void) + { +@@ -76,7 +73,7 @@ Index: linux-3.6.10/arch/mips/ath79/mach-tl-mr11u.c + common_setup(); + + ath79_register_gpio_keys_polled(-1, TL_MR11U_KEYS_POLL_INTERVAL, +-@@ -126,6 +178,10 @@ static void __init tl_mr3040_setup(void) ++@@ -179,6 +229,10 @@ static void __init tl_mr3040_setup(void) + gpio_request_one(TL_MR3040_GPIO_USB_POWER, + GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, + "USB power"); +@@ -87,10 +84,10 @@ Index: linux-3.6.10/arch/mips/ath79/mach-tl-mr11u.c + } + + MIPS_MACHINE(ATH79_MACH_TL_MR3040, "TL-MR3040", "TP-LINK TL-MR3040", +-Index: linux-3.6.10/drivers/spi/spi-tl_mr3040.c ++Index: linux-3.8.3/drivers/spi/spi-tl_mr3040.c + =================================================================== + --- /dev/null +-+++ linux-3.6.10/drivers/spi/spi-tl_mr3040.c +++++ linux-3.8.3/drivers/spi/spi-tl_mr3040.c + @@ -0,0 +1,7 @@ + +#define DRIVER_NAME "tl_mr3040_spi" + +#define SPI_MISO_GPIO 13 +@@ -99,10 +96,10 @@ Index: linux-3.6.10/drivers/spi/spi-tl_mr3040.c + +#define SPI_N_CHIPSEL 1 + +#undef NEED_SPIDELAY + +#include "spi-gpio.c" +-Index: linux-3.6.10/drivers/spi/Makefile ++Index: linux-3.8.3/drivers/spi/Makefile + =================================================================== +---- linux-3.6.10.orig/drivers/spi/Makefile +-+++ linux-3.6.10/drivers/spi/Makefile ++--- linux-3.8.3.orig/drivers/spi/Makefile +++++ linux-3.8.3/drivers/spi/Makefile + @@ -14,6 +14,7 @@ obj-$(CONFIG_SPI_ALTERA) += spi-altera. + obj-$(CONFIG_SPI_ATMEL) += spi-atmel.o + obj-$(CONFIG_SPI_AP83) += spi-ap83.o -- cgit v1.2.3