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