All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] bump udev and clean up
@ 2011-07-22 14:45 Yegor Yefremov
  2011-07-22 14:51 ` [Buildroot] [PATCH 1/3] " Yegor Yefremov
  0 siblings, 1 reply; 18+ messages in thread
From: Yegor Yefremov @ 2011-07-22 14:45 UTC (permalink / raw)
  To: buildroot

Following patches update udev to 172 and handle its dependencies. 

Udev changed much compared with the current version in BR. Except eliminating obsolete patches, the startup script was also changed. There is no udevstart executable any more, udevadm manages communication with udevd instead. /dev/null is created either via devtmpfs of via device file, so no need to do it in the startup script.

usbmount 0.0.14.1 used vol_id executable, that was part of older udev version. vol_id was replaced by blkid, that is part of util-linux. So util-linux was also updated and usbmount selects both util-linux and blkid. blkid provided by BusyBox's blkid delivers not enough info about the block device, so util-linux is a must.

Futher usbmount issues were addressed:

1. recent blkid show not only file system type, but also partition type:

/dev/sdb1: VERSION="0.0" TYPE="ext2" USAGE="filesystem" PART_ENTRY_SCHEME="dos"
PART_ENTRY_TYPE="0xc" PART_ENTRY_FLAGS="0x80" PART_ENTRY_NUMBER="1"

in this case parsing script took the value of partition type instead of file system type. Parsing was changed to search for " TYPE". It were very helpful, ff some one could provide better regular expression for this case.

2. udev rules for usbmount should react at "usb" subsystem, however it is reported as "block", so rules were also patched.

looking at device '/block/sdb/sdb1':
    KERNEL=="sdb1"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{partition}=="1"
    ATTR{start}=="32"
    ATTR{size}=="31457248"
    ATTR{ro}=="0"
    ATTR{alignment_offset}=="0"
    ATTR{discard_alignment}=="0"
    ATTR{stat}=="     403      235     3184      470        1        0        2
       0        0      450      460"
    ATTR{inflight}=="       0        0" 

Yegor

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
  2011-07-22 14:45 [Buildroot] [PATCH 0/3] bump udev and clean up Yegor Yefremov
@ 2011-07-22 14:51 ` Yegor Yefremov
  2011-07-22 14:53   ` [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1 Yegor Yefremov
  2011-07-25 22:03   ` [Buildroot] [PATCH 1/3] bump udev and clean up Peter Korsgaard
  0 siblings, 2 replies; 18+ messages in thread
From: Yegor Yefremov @ 2011-07-22 14:51 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Heiko Zuerker <smiley73@users.sourceforge.net>
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/udev/Config.in            |   43 +++--------
 package/udev/S10udev              |    6 -
 package/udev/libvolume_id.la.tmpl |   35 ---------
 package/udev/udev.mk              |  144 ++++++--------------------------------
 4 files changed, 36 insertions(+), 192 deletions(-)
 delete mode 100644 package/udev/libvolume_id.la.tmpl

Index: b/package/udev/Config.in
===================================================================
--- a/package/udev/Config.in
+++ b/package/udev/Config.in
@@ -5,37 +5,18 @@
 
 	  ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/
 
-config BR2_PACKAGE_UDEV_UTILS
-	bool "udev-utils"
+config BR2_PACKAGE_UDEV_ALL_EXTRAS
+	bool "enable all extras"
 	depends on BR2_PACKAGE_UDEV
+	select BR2_PACKAGE_ACL
+	select BR2_PACKAGE_LIBUSB
+	select BR2_PACKAGE_LIBUSB_COMPAT
+	select BR2_PACKAGE_USBUTILS
+	select BR2_PACKAGE_HWDATA
+	select BR2_PACKAGE_LIBGLIB2
 	help
-	  Adds the udevmonitor, udevinfo, and udevtest binaries
-	  to your filesystem.
+	  Enable all extras with external dependencies like
+	  libacl, libusb, libusb-compat, usbutils, hwdata
 
-menu "Extra udev tools"
-	depends on BR2_PACKAGE_UDEV
-
-config BR2_PACKAGE_UDEV_VOLUME_ID
-	bool "udev-libvolume_id"
-	depends on BR2_PACKAGE_UDEV
-	help
-	  Build and install volume identification library.
-
-config BR2_PACKAGE_UDEV_SCSI_ID
-	bool "udev-scsi_id"
-	depends on BR2_PACKAGE_UDEV_VOLUME_ID
-	help
-	  Build and install SCSI disk identification library.
-
-config BR2_PACKAGE_UDEV_PATH_ID
-	bool "udev-path_id"
-	depends on BR2_PACKAGE_UDEV_VOLUME_ID
-	help
-	  Install udev's unique device path generation program path_id.
-
-config BR2_PACKAGE_UDEV_FIRMWARE_SH
-	bool "udev-firmware_sh"
-	depends on BR2_PACKAGE_UDEV_VOLUME_ID
-	help
-	  Install udev's firmware loading script firmware.sh.
-endmenu
+comment "extras requires a toolchain with LARGEFILE + WCHAR support"
+	depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
Index: b/package/udev/libvolume_id.la.tmpl
===================================================================
--- a/package/udev/libvolume_id.la.tmpl
+++ /dev/null
@@ -1,35 +0,0 @@
-# libvolume_id.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='libvolume_id.so.REPLACE_CURRENT'
-
-# Names of this library.
-library_names='libvolume_id.so.REPLACE_CURRENT.REPLACE_AGE.REPLACE_REVISION libvolume_id.so.REPLACE_CURRENT libvolume_id.so'
-
-# The name of the static archive.
-old_library='libvolume_id.a'
-
-# Libraries that this one depends upon.
-dependency_libs=' -lc'
-
-# Version information for libvolume_id.
-current=REPLACE_CURRENT
-age=REPLACE_AGE
-revision=REPLACE_REVISION
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='REPLACE_LIB_DIR'
Index: b/package/udev/udev.mk
===================================================================
--- a/package/udev/udev.mk
+++ b/package/udev/udev.mk
@@ -3,132 +3,34 @@
 # udev
 #
 #############################################################
-UDEV_VERSION:=114
-UDEV_VOLUME_ID_CURRENT:=0
-UDEV_VOLUME_ID_AGE:=79
-UDEV_VOLUME_ID_REVISION:=0
-UDEV_VOLUME_ID_VERSION:=$(UDEV_VOLUME_ID_CURRENT).$(UDEV_VOLUME_ID_AGE).$(UDEV_VOLUME_ID_REVISION)
-UDEV_SOURCE:=udev-$(UDEV_VERSION).tar.bz2
-UDEV_SITE:=$(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/
-UDEV_INSTALL_STAGING=YES
-
-# 094 had _GNU_SOURCE set
-BR2_UDEV_CFLAGS:= -D_GNU_SOURCE $(TARGET_CFLAGS)
-ifeq ($(BR2_LARGEFILE),)
-BR2_UDEV_CFLAGS+=-U_FILE_OFFSET_BITS
-endif
-
-# UDEV_ROOT is /dev so we can replace devfs, not /udev for experiments
-UDEV_ROOT:=/dev
-
-UDEV_EXTRAS=
-ifeq ($(BR2_PACKAGE_UDEV_VOLUME_ID),y)
-UDEV_EXTRAS+=volume_id
-endif
-ifeq ($(BR2_PACKAGE_UDEV_SCSI_ID),y)
-UDEV_EXTRAS+=scsi_id
-UDEV_EXTRAS+=usb_id
-endif
-ifeq ($(BR2_PACKAGE_UDEV_PATH_ID),y)
-UDEV_EXTRAS+=path_id
-endif
-ifeq ($(BR2_PACKAGE_UDEV_FIRMWARE_SH),y)
-UDEV_EXTRAS+=firmware
-endif
+UDEV_VERSION = 172
+UDEV_SOURCE = udev-$(UDEV_VERSION).tar.bz2
+UDEV_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/
 
-UDEV_BUILD_EXTRAS=$(addprefix extras/,$(UDEV_EXTRAS))
+UDEV_CONF_OPT =			\
+	--sbindir=/sbin		\
+	--with-rootlibdir=/lib	\
+	--libexecdir=/lib/udev	\
+	--disable-introspection
 
-#
-# Build
-#
-define UDEV_BUILD_CMDS
-	$(MAKE) CROSS_COMPILE=$(TARGET_CROSS) CC="$(TARGET_CC)" LD="$(TARGET_CC)"\
-		CFLAGS="$(BR2_UDEV_CFLAGS)" \
-		USE_LOG=false USE_SELINUX=false \
-		udevdir=$(UDEV_ROOT) EXTRAS="$(UDEV_BUILD_EXTRAS)" -C $(@D)
-endef
+UDEV_DEPENDENCIES = host-gperf
 
-#
-# Staging installation
-#
-ifeq ($(BR2_PACKAGE_UDEV_VOLUME_ID),y)
-define UDEV_VOLUME_ID_STAGING_INSTALL_CMDS
-	$(INSTALL) -m 0644 -D $(UDEV_DIR)/extras/volume_id/lib/libvolume_id.h $(STAGING_DIR)/usr/include/libvolume_id.h
-	$(INSTALL) -m 0755 -D $(UDEV_DIR)/extras/volume_id/lib/libvolume_id.so.$(UDEV_VOLUME_ID_VERSION) $(STAGING_DIR)/lib/libvolume_id.so.$(UDEV_VOLUME_ID_VERSION)
-	-ln -sf libvolume_id.so.$(UDEV_VOLUME_ID_VERSION) $(STAGING_DIR)/lib/libvolume_id.so.0
-	-ln -sf libvolume_id.so.$(UDEV_VOLUME_ID_VERSION) $(STAGING_DIR)/lib/libvolume_id.so
-	$(INSTALL) -m 0755 -D package/udev/libvolume_id.la.tmpl $(STAGING_DIR)/lib/libvolume_id.la
-	$(SED) 's/REPLACE_CURRENT/$(UDEV_VOLUME_ID_CURRENT)/g' $(STAGING_DIR)/lib/libvolume_id.la
-	$(SED) 's/REPLACE_AGE/$(UDEV_VOLUME_ID_AGE)/g' $(STAGING_DIR)/lib/libvolume_id.la
-	$(SED) 's/REPLACE_REVISION/$(UDEV_VOLUME_ID_REVISION)/g' $(STAGING_DIR)/lib/libvolume_id.la
-	$(SED) 's,REPLACE_LIB_DIR,$(STAGING_DIR)/usr/lib,g' $(STAGING_DIR)/lib/libvolume_id.la
-endef
+ifeq ($(BR2_PACKAGE_UDEV_ALL_EXTRAS),y)
+UDEV_DEPENDENCIES += libusb libusb-compat acl usbutils hwdata libglib2
+UDEV_CONF_OPT +=							\
+	--with-pci-ids-path=$(TARGET_DIR)/usr/share/hwdata/pci.ids	\
+	--with-usb-ids-path=$(TARGET_DIR)/usr/share/hwdata/usb.ids
+else
+UDEV_CONF_OPT +=		\
+	--disable-hwdb		\
+	--disable-udev_acl	\
+	--disable-gudev
 endif
 
-define UDEV_INSTALL_STAGING_CMDS
-$(UDEV_VOLUME_ID_STAGING_INSTALL_CMDS)
+define UDEV_INSTALL_INITSCRIPT
+	$(INSTALL) -m 0755 package/udev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
 endef
 
-#
-# Target installation
-#
-ifneq ($(BR2_PACKAGE_UDEV_UTILS),y)
-define UDEV_UTILS_REMOVAL
-	rm -f $(TARGET_DIR)/usr/sbin/udevmonitor
-	rm -f $(TARGET_DIR)/usr/bin/udevinfo
-	rm -f $(TARGET_DIR)/usr/bin/udevtest
-endef
-endif
-
-define UDEV_INSTALL_TARGET_CMDS
-	mkdir -p $(TARGET_DIR)/sys
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
-		DESTDIR=$(TARGET_DIR) \
-		CFLAGS="$(BR2_UDEV_CFLAGS)" \
-		LDFLAGS="-warn-common" \
-		USE_LOG=false USE_SELINUX=false \
-		udevdir=$(UDEV_ROOT) EXTRAS="$(UDEV_BUILD_EXTRAS)" -C $(@D) install
-	$(INSTALL) -m 0755 -D package/udev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
-	$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/udev/rules.d
-	$(INSTALL) -m 0644 $(@D)/etc/udev/frugalware/* $(TARGET_DIR)/etc/udev/rules.d
-	( grep udev_root $(TARGET_DIR)/etc/udev/udev.conf > /dev/null 2>&1 || echo 'udev_root=/dev' >> $(TARGET_DIR)/etc/udev/udev.conf )
-	install -m 0755 -D $(@D)/udevstart $(TARGET_DIR)/sbin/udevstart
-	for i in $(TARGET_DIR)/sbin/udev* $(TARGET_DIR)/usr/bin/udev* ; do \
-		$(STRIPCMD) $(STRIP_STRIP_ALL) $$i ; \
-	done
-	for i in scsi_id usb_id vol_id ; do \
-		if test -e $(TARGET_DIR)/lib/udev/$$i ; then \
-			$(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/lib/udev/$$i ; \
-		fi \
-	done
-	$(UDEV_UTILS_REMOVAL)
-endef
-
-#
-# Clean
-#
-define UDEV_CLEAN_CMDS
-	-$(MAKE) EXTRAS="$(UDEV_BUILD_EXTRAS)" -C $(@D) clean
-endef
-
-#
-# Staging uninstall
-#
-define UDEV_UNINSTALL_STAGING_CMDS
-	rm -f $(STAGING_DIR)/usr/include/libvolume_id.h
-	rm -f $(STAGING_DIR)/lib/libvolume_id.so*
-	rm -f $(STAGING_DIR)/lib/libvolume_id.la
-endef
-
-#
-# Target uninstall
-#
-define UDEV_UNINSTALL_TARGET_CMDS
-	rm -f $(TARGET_DIR)/etc/init.d/S10udev $(TARGET_DIR)/sbin/udev*
-	rm -f $(TARGET_DIR)/usr/sbin/udevmonitor $(TARGET_DIR)/usr/bin/udev*
-	rm -fr $(TARGET_DIR)/sys
-	rm -f $(TARGET_DIR)/lib/libvolume_id.so.0*
-	rm -rf $(TARGET_DIR)/lib/udev
-endef
+UDEV_POST_INSTALL_TARGET_HOOKS += UDEV_INSTALL_INITSCRIPT
 
-$(eval $(call GENTARGETS,package,udev))
+$(eval $(call AUTOTARGETS,package,udev))
Index: b/package/udev/S10udev
===================================================================
--- a/package/udev/S10udev
+++ b/package/udev/S10udev
@@ -19,8 +19,6 @@
 # Check for missing binaries
 UDEV_BIN=/sbin/udevd
 test -x $UDEV_BIN || exit 5
-UDEVSTART_BIN=/sbin/udevstart
-test -x $UDEVSTART_BIN || exit 5
 
 # Check for config file and read it
 UDEV_CONFIG=/etc/udev/udev.conf
@@ -29,16 +27,14 @@
 
 case "$1" in
     start)
-        mknod -m 0666 /dev/null c 1 3
         echo -n "Populating $udev_root using udev: "
         echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
         $UDEV_BIN -d || (echo "FAIL" && exit 1)
-	$UDEVSTART_BIN || (echo "FAIL" && exit 1)
         echo "done"
         ;;
     stop)
         # Stop execution of events
-        udevcontrol stop_exec_queue
+        udevadm control --stop_exec_queue
         killall udevd
         ;;
     *)

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1
  2011-07-22 14:51 ` [Buildroot] [PATCH 1/3] " Yegor Yefremov
@ 2011-07-22 14:53   ` Yegor Yefremov
  2011-07-22 14:58     ` [Buildroot] [PATCH 3/3] usbmount fixes Yegor Yefremov
  2011-07-27  7:43     ` [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1 Peter Korsgaard
  2011-07-25 22:03   ` [Buildroot] [PATCH 1/3] bump udev and clean up Peter Korsgaard
  1 sibling, 2 replies; 18+ messages in thread
From: Yegor Yefremov @ 2011-07-22 14:53 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Chih-Min Chao <cmchao@gmail.com>
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/util-linux/Config.in                                            |  113 ++
 package/util-linux/util-linux-2.13-pre17-hardcode-a-out-constants.patch |   41 
 package/util-linux/util-linux-no-nls-fix.patch                          |   25 
 package/util-linux/util-linux-susv3-legacy.patch                        |  429 ----------
 package/util-linux/util-linux-uclibc-build-fix.patch                    |   16 
 package/util-linux/util-linux-umount2-fix.patch                         |   20 
 package/util-linux/util-linux.mk                                        |  180 ++--
 7 files changed, 230 insertions(+), 594 deletions(-)

Index: b/package/util-linux/Config.in
===================================================================
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_UTIL-LINUX
+config BR2_PACKAGE_UTIL_LINUX
 	bool "util-linux"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
@@ -12,3 +12,114 @@
 
 comment "util-linux requires a toolchain with RPC support"
 	depends on !BR2_INET_RPC
+
+menu "util-linux tool support"
+	depends on BR2_PACKAGE_UTIL_LINUX
+
+############################################
+# default enabled and should be disabled by
+#  --disable-foo
+#
+
+config BR2_PACKAGE_UTIL_LINUX_MOUNT
+	bool "build mount utilties"
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_FSCK
+	bool "build \"fsck\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	bool "build libuuid and uuid utilities"
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_UUIDD
+	bool "build \"uuidd\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_LIBBLKID
+	bool "build libblkid and blkid utilities"
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_AGETTY
+	bool "build \"agetty\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_CRAMFS
+	bool "build \"fsck.cramfs, mkfs.cramfs\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT
+	bool "build \"switch_root\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
+	bool "build \"pivot_root\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_FALLOCATE
+	bool "build \"fallocate\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_UNSHARE
+	bool "build \"unshare\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_RENAME
+	bool "build \"rename\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS
+	bool "build \"chrt, ionice, teskset\""
+	default y
+
+config BR2_PACKAGE_UTIL_LINUX_WALL
+	bool "build \"wall\""
+	default y
+
+
+############################################
+# default disabled and should be enabled by
+#  --enable-foo
+#
+config BR2_PACKAGE_UTIL_LINUX_ARCH
+	bool "build \"arch\""
+	default n
+
+config BR2_PACKAGE_UTIL_LINUX_INIT
+	bool "build \"simpleinit, shutdown, initctl\""
+	default n
+
+config BR2_PACKAGE_UTIL_LINUX_KILL
+	bool "build \"kill\""
+	default n
+
+config BR2_PACKAGE_UTIL_LINUX_LAST
+	bool "build \"last\""
+	default n
+
+config BR2_PACKAGE_UTIL_LINUX_MESG
+	bool "build \"kill\""
+	default n
+
+config BR2_PACKAGE_UTIL_LINUX_PARTX
+	bool "build \"addpart, delpart, partx\""
+	default n
+
+config BR2_PACKAGE_UTIL_LINUX_RAW
+	bool "build \"raw\""
+	default n
+
+config BR2_PACKAGE_UTIL_LINUX_RESET
+	bool "build \"reset\""
+	default n
+
+config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
+	bool "build \"chfn, chsh, login, newgrp, vipw\""
+	default n
+
+config BR2_PACKAGE_UTIL_LINUX_WRITE
+	bool "build \"addpart, delpart, partx\""
+	default n
+
+endmenu
Index: b/package/util-linux/util-linux-2.13-pre17-hardcode-a-out-constants.patch
===================================================================
--- a/package/util-linux/util-linux-2.13-pre17-hardcode-a-out-constants.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Hardcode a.out related constants
-
-The OMAGIC, NMAGIC and ZMAGIC constants, related to the legacy a.out
-binary format, are no longer available in the headers of all
-architectures, due to this binary format being deprecated. For that
-reason, util-linux fails to build.
-
-We therefore take the approach used in newer versions of
-util-linux-ng: hardcoding those values. See
-http://git.kernel.org/?p=utils/util-linux-ng/util-linux-ng.git;a=commitdiff;h=e9eb4dad0ece03914f67f6d1ded74cfbbe694ba4
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- text-utils/more.c |    7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-Index: util-linux-2.13-pre7/text-utils/more.c
-===================================================================
---- util-linux-2.13-pre7.orig/text-utils/more.c
-+++ util-linux-2.13-pre7/text-utils/more.c
-@@ -53,7 +53,6 @@
- #include <sys/stat.h>
- #include <sys/file.h>
- #include <sys/wait.h>
--#include <a.out.h>
- #include <locale.h>
- #include "xstrncpy.h"
- #include "nls.h"
-@@ -504,9 +503,9 @@
- 
- 	if (fread(twobytes, 2, 1, f) == 1) {
- 		switch(twobytes[0] + (twobytes[1]<<8)) {
--		case OMAGIC:	/* 0407 */
--		case NMAGIC:	/* 0410 */
--		case ZMAGIC:	/* 0413 */
-+		case 0407:	/* a.out obj */
-+		case 0410:	/* a.out exec */
-+		case 0413:	/* a.out demand exec */
- 		case 0405:
- 		case 0411:
- 		case 0177545:
Index: b/package/util-linux/util-linux-no-nls-fix.patch
===================================================================
--- a/package/util-linux/util-linux-no-nls-fix.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-[PATCH]: fix util-linux build without NLS support
-
-util-linux partly supports builds without NLS support, but it forgets to
-provide a dummy setlocale() macro.
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- include/nls.h |    4 ++++
- 1 file changed, 4 insertions(+)
-
-Index: util-linux-2.13-pre7/include/nls.h
-===================================================================
---- util-linux-2.13-pre7.orig/include/nls.h
-+++ util-linux-2.13-pre7/include/nls.h
-@@ -19,6 +19,10 @@
- # define textdomain(Domain) /* empty */
- # define _(Text) (Text)
- # define N_(Text) (Text)
-+# undef LC_ALL
-+# define LC_ALL 0
-+# undef setlocale
-+# define setlocale(category, locale)
- #endif
- 
- 
Index: b/package/util-linux/util-linux-susv3-legacy.patch
===================================================================
--- a/package/util-linux/util-linux-susv3-legacy.patch
+++ /dev/null
@@ -1,429 +0,0 @@
-[PATCH] replace susv3 legacy functions with modern equivalents
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- fdisk/cfdisk.c         |    2 +-
- fdisk/fdiskbsdlabel.c  |   16 ++++++++--------
- fdisk/sfdisk.c         |   10 +++++-----
- login-utils/login.c    |    6 +++---
- login-utils/shutdown.c |    2 +-
- login-utils/ttymsg.c   |    2 +-
- login-utils/vipw.c     |    4 ++--
- login-utils/wall.c     |    2 +-
- misc-utils/logger.c    |    2 +-
- misc-utils/namei.c     |    2 +-
- misc-utils/whereis.c   |    4 ++--
- mount/mntent.c         |    4 ++--
- mount/mount.c          |    4 ++--
- mount/mount_by_label.c |    2 +-
- mount/sundries.c       |    2 +-
- mount/umount.c         |    2 +-
- partx/partx.c          |    2 +-
- text-utils/colcrt.c    |    4 ++--
- text-utils/display.c   |    2 +-
- text-utils/parse.c     |    8 ++++----
- 20 files changed, 41 insertions(+), 41 deletions(-)
-
-Index: util-linux-2.13-pre7/fdisk/fdiskbsdlabel.c
-===================================================================
---- util-linux-2.13-pre7.orig/fdisk/fdiskbsdlabel.c
-+++ util-linux-2.13-pre7/fdisk/fdiskbsdlabel.c
-@@ -538,10 +538,10 @@
- 
-   /* We need a backup of the disklabel (xbsd_dlabel might have changed). */
-   d = &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE];
--  bcopy (d, &dl, sizeof (struct xbsd_disklabel));
-+  memmove (&dl, d, sizeof (struct xbsd_disklabel));
- 
-   /* The disklabel will be overwritten by 0's from bootxx anyway */
--  bzero (d, sizeof (struct xbsd_disklabel));
-+  memset (d, 0, sizeof (struct xbsd_disklabel));
- 
-   snprintf (path, sizeof(path), "%s/boot%s", bootdir, dkbasename);
-   if (!xbsd_get_bootstrap (path, &disklabelbuffer[xbsd_dlabel.d_secsize],
-@@ -555,7 +555,7 @@
-       exit ( EXIT_FAILURE );
-     }
- 
--  bcopy (&dl, d, sizeof (struct xbsd_disklabel));
-+  memmove (d, &dl, sizeof (struct xbsd_disklabel));
- 
- #if defined (__powerpc__) || defined (__hppa__)
-   sector = 0;
-@@ -657,7 +657,7 @@
- 	struct geom g;
- 
- 	get_geometry (fd, &g);
--	bzero (d, sizeof (struct xbsd_disklabel));
-+	memset (d, 0, sizeof (struct xbsd_disklabel));
- 
- 	d -> d_magic = BSD_DISKMAGIC;
- 
-@@ -740,8 +740,8 @@
- 	if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE))
- 		fatal (unable_to_read);
- 
--	bcopy (&disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
--	       d, sizeof (struct xbsd_disklabel));
-+	memmove (d, &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
-+	       sizeof (struct xbsd_disklabel));
- 
- 	if (d -> d_magic != BSD_DISKMAGIC || d -> d_magic2 != BSD_DISKMAGIC)
- 		return 0;
-@@ -776,8 +776,8 @@
-   /* This is necessary if we want to write the bootstrap later,
-      otherwise we'd write the old disklabel with the bootstrap.
-   */
--  bcopy (d, &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
--	 sizeof (struct xbsd_disklabel));
-+  memmove (&disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
-+	 d, sizeof (struct xbsd_disklabel));
- 
- #if defined (__alpha__) && BSD_LABELSECTOR == 0
-   alpha_bootblock_checksum (disklabelbuffer);
-Index: util-linux-2.13-pre7/login-utils/ttymsg.c
-===================================================================
---- util-linux-2.13-pre7.orig/login-utils/ttymsg.c
-+++ util-linux-2.13-pre7/login-utils/ttymsg.c
-@@ -111,7 +111,7 @@
- 		if (wret >= 0) {
- 			left -= wret;
- 			if (iov != localiov) {
--				bcopy(iov, localiov,
-+				memmove(localiov, iov,
- 				    iovcnt * sizeof(struct iovec));
- 				iov = localiov;
- 			}
-Index: util-linux-2.13-pre7/login-utils/vipw.c
-===================================================================
---- util-linux-2.13-pre7.orig/login-utils/vipw.c
-+++ util-linux-2.13-pre7/login-utils/vipw.c
-@@ -313,8 +313,8 @@
- 	bindtextdomain(PACKAGE, LOCALEDIR);
- 	textdomain(PACKAGE);
- 
--	bzero(tmp_file, FILENAMELEN);
--	progname = (rindex(argv[0], '/')) ? rindex(argv[0], '/') + 1 : argv[0];
-+	memset(tmp_file, 0, FILENAMELEN);
-+	progname = (strrchr(argv[0], '/')) ? strrchr(argv[0], '/') + 1 : argv[0];
- 	if (!strcmp(progname, "vigr")) {
- 		program = VIGR;
- 		xstrncpy(orig_file, GROUP_FILE, sizeof(orig_file));
-Index: util-linux-2.13-pre7/misc-utils/logger.c
-===================================================================
---- util-linux-2.13-pre7.orig/misc-utils/logger.c
-+++ util-linux-2.13-pre7/misc-utils/logger.c
-@@ -198,7 +198,7 @@
- 			} else {
- 				if (p != buf)
- 					*p++ = ' ';
--				bcopy(*argv++, p, len);
-+				memmove(p, *argv++, len);
- 				*(p += len) = '\0';
- 			}
- 		}
-Index: util-linux-2.13-pre7/misc-utils/namei.c
-===================================================================
---- util-linux-2.13-pre7.orig/misc-utils/namei.c
-+++ util-linux-2.13-pre7/misc-utils/namei.c
-@@ -242,7 +242,7 @@
- 		 * call namei()
- 		 */
- 		
--		bzero(sym, BUFSIZ);
-+		memset(sym, 0, BUFSIZ);
- 		if(readlink(buf, sym, BUFSIZ) == -1){
- 		    (void)printf(_(" ? problems reading symlink %s - %s (%d)\n"), buf, ERR);
- 		    return;
-Index: util-linux-2.13-pre7/text-utils/colcrt.c
-===================================================================
---- util-linux-2.13-pre7.orig/text-utils/colcrt.c
-+++ util-linux-2.13-pre7/text-utils/colcrt.c
-@@ -252,8 +252,8 @@
- 		}
- 		putwchar('\n');
- 	}
--	bcopy(page[ol], page, (267 - ol) * 132 * sizeof(wchar_t));
--	bzero(page[267- ol], ol * 132 * sizeof(wchar_t));
-+	memmove(page, page[ol], (267 - ol) * 132 * sizeof(wchar_t));
-+	memset(page[267- ol], 0, ol * 132 * sizeof(wchar_t));
- 	outline -= ol;
- 	outcol = 0;
- 	first = 1;
-Index: util-linux-2.13-pre7/fdisk/sfdisk.c
-===================================================================
---- util-linux-2.13-pre7.orig/fdisk/sfdisk.c
-+++ util-linux-2.13-pre7/fdisk/sfdisk.c
-@@ -40,7 +40,7 @@
- #include <unistd.h>		/* read, write */
- #include <fcntl.h>		/* O_RDWR */
- #include <errno.h>		/* ERANGE */
--#include <string.h>		/* index() */
-+#include <string.h>		/* strchr() */
- #include <ctype.h>
- #include <getopt.h>
- #include <sys/ioctl.h>
-@@ -1709,12 +1709,12 @@
- 	eof = 1;
- 	return RD_EOF;
-     }
--    if (!(lp = index(lp, '\n')))
-+    if (!(lp = strchr(lp, '\n')))
-       fatal(_("long or incomplete input line - quitting\n"));
-     *lp = 0;
- 
-     /* remove comments, if any */
--    if ((lp = index(line+2, '#')) != 0)
-+    if ((lp = strchr(line+2, '#')) != 0)
-       *lp = 0;
- 
-     /* recognize a few commands - to be expanded */
-@@ -1724,7 +1724,7 @@
-     }
- 
-     /* dump style? - then bad input is fatal */
--    if ((ip = index(line+2, ':')) != 0) {
-+    if ((ip = strchr(line+2, ':')) != 0) {
- 	struct dumpfld *d;
- 
-       nxtfld:
-@@ -2491,7 +2491,7 @@
- 
-     if (argc < 1)
-       fatal(_("no command?\n"));
--    if ((progn = rindex(argv[0], '/')) == NULL)
-+    if ((progn = strrchr(argv[0], '/')) == NULL)
-       progn = argv[0];
-     else
-       progn++;
-Index: util-linux-2.13-pre7/login-utils/login.c
-===================================================================
---- util-linux-2.13-pre7.orig/login-utils/login.c
-+++ util-linux-2.13-pre7/login-utils/login.c
-@@ -337,7 +337,7 @@
-      */
-     gethostname(tbuf, sizeof(tbuf));
-     xstrncpy(thishost, tbuf, sizeof(thishost));
--    domain = index(tbuf, '.');
-+    domain = strchr(tbuf, '.');
-     
-     username = tty_name = hostname = NULL;
-     fflag = hflag = pflag = 0;
-@@ -356,7 +356,7 @@
- 	      exit(1);
- 	  }
- 	  hflag = 1;
--	  if (domain && (p = index(optarg, '.')) &&
-+	  if (domain && (p = strchr(optarg, '.')) &&
- 	      strcasecmp(p, domain) == 0)
- 	    *p = 0;
- 
-@@ -1101,7 +1101,7 @@
- 	childArgv[childArgc++] = buff;
-     } else {
- 	tbuf[0] = '-';
--	xstrncpy(tbuf + 1, ((p = rindex(pwd->pw_shell, '/')) ?
-+	xstrncpy(tbuf + 1, ((p = strrchr(pwd->pw_shell, '/')) ?
- 			   p + 1 : pwd->pw_shell),
- 		sizeof(tbuf)-1);
- 	
-Index: util-linux-2.13-pre7/login-utils/shutdown.c
-===================================================================
---- util-linux-2.13-pre7.orig/login-utils/shutdown.c
-+++ util-linux-2.13-pre7/login-utils/shutdown.c
-@@ -279,7 +279,7 @@
- 			if (fgets (line, sizeof(line), fp) != NULL &&
- 			    strncasecmp (line, "HALT_ACTION", 11) == 0 &&
- 			    iswhitespace(line[11])) {
--				p = index(line, '\n');
-+				p = strchr(line, '\n');
- 				if (p)
- 					*p = 0;		/* strip final '\n' */
- 				p = line+11;
-Index: util-linux-2.13-pre7/misc-utils/whereis.c
-===================================================================
---- util-linux-2.13-pre7.orig/misc-utils/whereis.c
-+++ util-linux-2.13-pre7/misc-utils/whereis.c
-@@ -323,14 +323,14 @@
- 	char dirbuf[1024];
- 	struct stat statbuf;
- 
--	dd = index(dir, '*');
-+	dd = strchr(dir, '*');
- 	if (!dd)
- 		goto noglob;
- 
- 	l = strlen(dir);
- 	if (l < sizeof(dirbuf)) { 	/* refuse excessively long names */
- 		strcpy (dirbuf, dir);
--		d = index(dirbuf, '*');
-+		d = strchr(dirbuf, '*');
- 		*d = 0;
- 		dirp = opendir(dirbuf);
- 		if (dirp == NULL)
-Index: util-linux-2.13-pre7/mount/mntent.c
-===================================================================
---- util-linux-2.13-pre7.orig/mount/mntent.c
-+++ util-linux-2.13-pre7/mount/mntent.c
-@@ -158,7 +158,7 @@
- 			return NULL;
- 
- 		mfp->mntent_lineno++;
--		s = index (buf, '\n');
-+		s = strchr (buf, '\n');
- 		if (s == NULL) {
- 			/* Missing final newline?  Otherwise extremely */
- 			/* long line - assume file was corrupted */
-@@ -166,7 +166,7 @@
- 				fprintf(stderr, _("[mntent]: warning: no final "
- 					"newline at the end of %s\n"),
- 					mfp->mntent_file);
--				s = index (buf, 0);
-+				s = strchr (buf, 0);
- 			} else {
- 				mfp->mntent_errs = 1;
- 				goto err;
-Index: util-linux-2.13-pre7/mount/mount.c
-===================================================================
---- util-linux-2.13-pre7.orig/mount/mount.c
-+++ util-linux-2.13-pre7/mount/mount.c
-@@ -488,11 +488,11 @@
- 
-    /* Accept a comma-separated list of types, and try them one by one */
-    /* A list like "nonfs,.." indicates types not to use */
--   if (*types && strncmp(*types, "no", 2) && index(*types,',')) {
-+   if (*types && strncmp(*types, "no", 2) && strchr(*types,',')) {
-       char *t = strdup(*types);
-       char *p;
- 
--      while((p = index(t,',')) != NULL) {
-+      while((p = strchr(t,',')) != NULL) {
- 	 *p = 0;
- 	 args.type = *types = t;
- 	 if(do_mount_syscall (&args) == 0)
-Index: util-linux-2.13-pre7/mount/mount_by_label.c
-===================================================================
---- util-linux-2.13-pre7.orig/mount/mount_by_label.c
-+++ util-linux-2.13-pre7/mount/mount_by_label.c
-@@ -213,7 +213,7 @@
- 	    fseek(procpt, 0, SEEK_SET);
- 
- 	    while (fgets(line, sizeof(line), procpt)) {
--		if (!index(line, '\n'))
-+		if (!strchr(line, '\n'))
- 			break;
- 
- 		if (sscanf (line, " %d %d %d %[^\n ]",
-Index: util-linux-2.13-pre7/mount/sundries.c
-===================================================================
---- util-linux-2.13-pre7.orig/mount/sundries.c
-+++ util-linux-2.13-pre7/mount/sundries.c
-@@ -138,7 +138,7 @@
- 	     if (strncmp(p, type, len) == 0 &&
- 		 (p[len] == 0 || p[len] == ','))
- 		     return !no;
--	     p = index(p,',');
-+	     p = strchr(p,',');
- 	     if (!p)
- 		     break;
- 	     p++;
-Index: util-linux-2.13-pre7/mount/umount.c
-===================================================================
---- util-linux-2.13-pre7.orig/mount/umount.c
-+++ util-linux-2.13-pre7/mount/umount.c
-@@ -332,7 +332,7 @@
- 			if (res < 0)
- 				umnt_err2 = errno;
- 			/* Do not complain about remote NFS mount points */
--			if (errno == ENOENT && index(spec, ':'))
-+			if (errno == ENOENT && strchr(spec, ':'))
- 				umnt_err2 = 0;
- 		}
- 	}
-Index: util-linux-2.13-pre7/partx/partx.c
-===================================================================
---- util-linux-2.13-pre7.orig/partx/partx.c
-+++ util-linux-2.13-pre7/partx/partx.c
-@@ -130,7 +130,7 @@
- 	case 'n':
- 		p = optarg;
- 		lower = atoi(p);
--		p = index(p, '-');
-+		p = strchr(p, '-');
- 		if (p)
- 			upper = atoi(p+1);
- 		else
-Index: util-linux-2.13-pre7/text-utils/display.c
-===================================================================
---- util-linux-2.13-pre7.orig/text-utils/display.c
-+++ util-linux-2.13-pre7/text-utils/display.c
-@@ -163,7 +163,7 @@
- 	pr->cchar[0] = 's';
- 	pr->cchar[1] = 0;
- 	for (p1 = pr->fmt; *p1 != '%'; ++p1);
--	for (p2 = ++p1; *p1 && index(spec, *p1); ++p1);
-+	for (p2 = ++p1; *p1 && strchr(spec, *p1); ++p1);
- 	while ((*p2++ = *p1++) != 0) ;
- }
- 
-Index: util-linux-2.13-pre7/text-utils/parse.c
-===================================================================
---- util-linux-2.13-pre7.orig/text-utils/parse.c
-+++ util-linux-2.13-pre7/text-utils/parse.c
-@@ -64,7 +64,7 @@
- 		exit(1);
- 	}
- 	while (fgets(buf, sizeof(buf), fp)) {
--		if ((p = index(buf, '\n')) == NULL) {
-+		if ((p = strchr(buf, '\n')) == NULL) {
- 			(void)fprintf(stderr, _("hexdump: line too long.\n"));
- 			while ((ch = getchar()) != '\n' && ch != EOF);
- 			continue;
-@@ -171,7 +171,7 @@
- 			 * skip any special chars -- save precision in
- 			 * case it's a %s format.
- 			 */
--			while (index(spec + 1, *++fmt));
-+			while (strchr(spec + 1, *++fmt));
- 			if (*fmt == '.' && isdigit((unsigned char)*++fmt)) {
- 				prec = atoi(fmt);
- 				while (isdigit((unsigned char)*++fmt));
-@@ -244,10 +244,10 @@
- 			if (fu->bcnt) {
- 				sokay = USEBCNT;
- 				/* skip to conversion character */
--				for (++p1; index(spec, *p1); ++p1);
-+				for (++p1; strchr(spec, *p1); ++p1);
- 			} else {
- 				/* skip any special chars, field width */
--				while (index(spec + 1, *++p1));
-+				while (strchr(spec + 1, *++p1));
- 				if (*p1 == '.' &&
- 				    isdigit((unsigned char)*++p1)) {
- 					sokay = USEPREC;
-Index: util-linux-2.13-pre7/fdisk/cfdisk.c
-===================================================================
---- util-linux-2.13-pre7.orig/fdisk/cfdisk.c
-+++ util-linux-2.13-pre7/fdisk/cfdisk.c
-@@ -348,7 +348,7 @@
- /* Some libc's have their own basename() */
- static char *
- my_basename(char *devname) {
--    char *s = rindex(devname, '/');
-+    char *s = strrchr(devname, '/');
-     return s ? s+1 : devname;
- }
- 
-Index: util-linux-2.13-pre7/login-utils/wall.c
-===================================================================
---- util-linux-2.13-pre7.orig/login-utils/wall.c
-+++ util-linux-2.13-pre7/login-utils/wall.c
-@@ -87,7 +87,7 @@
-         textdomain(PACKAGE);
- 
- 	progname = argv[0];
--	p = rindex(progname, '/');
-+	p = strrchr(progname, '/');
- 	if (p)
- 	     progname = p+1;
- 
Index: b/package/util-linux/util-linux-umount2-fix.patch
===================================================================
--- a/package/util-linux/util-linux-umount2-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-[PATCH] fix multiple definitions of umount2 issue
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- mount/umount.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: util-linux-2.13-pre7/mount/umount.c
-===================================================================
---- util-linux-2.13-pre7.orig/mount/umount.c
-+++ util-linux-2.13-pre7/mount/umount.c
-@@ -29,7 +29,7 @@
- #include "nfsmount.h"
- #include <arpa/inet.h>
- 
--#if defined(MNT_FORCE) && !defined(__sparc__) && !defined(__arm__)
-+#if 1
- /* Interesting ... it seems libc knows about MNT_FORCE and presumably
-    about umount2 as well -- need not do anything */
- #else /* MNT_FORCE */
Index: b/package/util-linux/util-linux.mk
===================================================================
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -3,100 +3,124 @@
 # util-linux
 #
 #############################################################
-UTIL-LINUX_VERSION:=2.13-pre7
-UTIL-LINUX_SOURCE:=util-linux-$(UTIL-LINUX_VERSION).tar.bz2
-UTIL-LINUX_SITE:=$(BR2_KERNEL_MIRROR)/linux/utils/util-linux/testing
-UTIL-LINUX_DIR:=$(BUILD_DIR)/util-linux-$(UTIL-LINUX_VERSION)
-UTIL-LINUX_CAT:=$(BZCAT)
-UTIL-LINUX_BINARY:=$(UTIL-LINUX_DIR)/misc-utils/chkdupexe
-UTIL-LINUX_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/chkdupexe
-
-# schedutils isn't support for all archs
-ifneq ($(BR2_i386)$(BR2_powerpc)$(BR2_x86_64)$(BR2_ia64)$(BR2_alpha),)
-UTIL-LINUX_SCHED_UTILS:=--enable-schedutils
+UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).1
+UTIL_LINUX_VERSION_MAJOR = 2.19
+UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.bz2
+UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR)
+
+UTIL_LINUX_CONF_OPT += --disable-rpath --disable-makeinstall-chown
+
+#If both util-linux and busybox are selected, make certain util-linux
+#wins the fight over who gets to have their utils actually installed
+ifeq ($(BR2_PACKAGE_BUSYBOX),y)
+UTIL_LINUX_DEPENDENCIES += busybox
+endif
+
+ifeq ($(BR2_PACKAGE_NCURSES),y)
+UTIL_LINUX_DEPENDENCIES += ncurses
 else
-UTIL-LINUX_SCHED_UTILS:=--disable-schedutils
+UTIL_LINUX_CONF_OPT += --without-ncurses
 endif
 
-ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
-UTIL-LINUX_DEPENDENCIES += gettext libintl
-UTIL-LINUX_MAKE_OPT = LIBS=-lintl
+
+#############################################
+#
+# disable default utilities
+#
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_MOUNT),n)
+UTIL_LINUX_CONF_OPT += --disable-mount
 endif
 
-ifeq ($(BR2_PACKAGE_NCURSES),y)
-UTIL-LINUX_DEPENDENCIES += ncurses
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_FSCK),n)
+UTIL_LINUX_CONF_OPT += --disable-fsck
 endif
 
-$(DL_DIR)/$(UTIL-LINUX_SOURCE):
-	$(call DOWNLOAD,$(UTIL-LINUX_SITE),$(UTIL-LINUX_SOURCE))
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),n)
+UTIL_LINUX_CONF_OPT += --disable-libuuid
+endif
 
-$(UTIL-LINUX_DIR)/.unpacked: $(DL_DIR)/$(UTIL-LINUX_SOURCE)
-	$(UTIL-LINUX_CAT) $(DL_DIR)/$(UTIL-LINUX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	toolchain/patch-kernel.sh $(UTIL-LINUX_DIR) package/util-linux/ util-linux\*.patch
-	touch $(UTIL-LINUX_DIR)/.unpacked
-
-$(UTIL-LINUX_DIR)/.configured: $(UTIL-LINUX_DIR)/.unpacked
-	(cd $(UTIL-LINUX_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) \
-		$(TARGET_CONFIGURE_ARGS) \
-		ac_cv_lib_blkid_blkid_known_fstype=no \
-		./configure $(QUIET) \
-		--target=$(GNU_TARGET_NAME) \
-		--host=$(GNU_TARGET_NAME) \
-		--build=$(GNU_HOST_NAME) \
-		--disable-use-tty-group \
-		--prefix=/ \
-		--exec-prefix=/ \
-		--sysconfdir=/etc \
-		--datadir=/usr/share \
-		--localstatedir=/var \
-		--mandir=/usr/man \
-		--infodir=/usr/info \
-		$(UTIL-LINUX_SCHED_UTILS) \
-		$(DISABLE_NLS) \
-		$(DISABLE_LARGEFILE) \
-		ARCH=$(ARCH) \
-	)
-	touch $(UTIL-LINUX_DIR)/.configured
-
-$(UTIL-LINUX_BINARY): $(UTIL-LINUX_DIR)/.configured
-	$(MAKE) \
-		-C $(UTIL-LINUX_DIR) \
-		ARCH=$(ARCH) \
-		CC="$(TARGET_CC)" \
-		OPT="$(TARGET_CFLAGS)" \
-		$(UTIL-LINUX_MAKE_OPT) \
-		HAVE_SLANG="NO"
-
-$(UTIL-LINUX_TARGET_BINARY): $(UTIL-LINUX_BINARY)
-	$(MAKE) ARCH=$(ARCH) DESTDIR=$(TARGET_DIR) USE_TTY_GROUP=no -C $(UTIL-LINUX_DIR) install
-	rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/share/info \
-		$(TARGET_DIR)/usr/share/man $(TARGET_DIR)/usr/share/doc
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_UUIDD),n)
+UTIL_LINUX_CONF_OPT += --disable-uuidd
+endif
 
-#If both util-linux and busybox are selected, make certain util-linux
-#wins the fight over who gets to have their utils actually installed
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-UTIL-LINUX_DEPENDENCIES := busybox $(UTIL-LINUX_DEPENDENCIES)
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),n)
+UTIL_LINUX_CONF_OPT += --disable-libblkid
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_AGETTY),n)
+UTIL_LINUX_CONF_OPT += --disable-agetty
 endif
 
-util-linux: $(UTIL-LINUX_DEPENDENCIES) $(UTIL-LINUX_TARGET_BINARY)
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_CRAMFS),n)
+UTIL_LINUX_CONF_OPT += --disable-cramfs
+endif
 
-util-linux-source: $(DL_DIR)/$(UTIL-LINUX_SOURCE)
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT),n)
+UTIL_LINUX_CONF_OPT += --disable-switch_root
+endif
 
-util-linux-clean:
-	#There is no working 'uninstall' target. Just skip it...
-	#$(MAKE) DESTDIR=$(TARGET_DIR) -C $(UTIL-LINUX_DIR) uninstall
-	-$(MAKE) -C $(UTIL-LINUX_DIR) clean
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT),n)
+UTIL_LINUX_CONF_OPT += --disable-pivot_root
+endif
 
-util-linux-dirclean:
-	rm -rf $(UTIL-LINUX_DIR)
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_FALLOCATE),n)
+UTIL_LINUX_CONF_OPT += --disable-fallocate
+endif
 
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_RENAME),n)
+UTIL_LINUX_CONF_OPT += --disable-rename
+endif
 
-#############################################################
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS),n)
+UTIL_LINUX_CONF_OPT += --disable-schedutils
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_WALL),n)
+UTIL_LINUX_CONF_OPT += --disable-unshare
+endif
+
+#############################################
 #
-# Toplevel Makefile options
+# enable extra utilities
 #
-#############################################################
-ifeq ($(BR2_PACKAGE_UTIL-LINUX),y)
-TARGETS+=util-linux
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_ARCH),y)
+UTIL_LINUX_CONF_OPT += --enable-arch
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_INIT),y)
+UTIL_LINUX_CONF_OPT += --enable-init
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_KILL),y)
+UTIL_LINUX_CONF_OPT += --enable-kill
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LAST),y)
+UTIL_LINUX_CONF_OPT += --enable-last
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_MESG),y)
+UTIL_LINUX_CONF_OPT += --enable-mesg
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_PARTX),y)
+UTIL_LINUX_CONF_OPT += --enable-partx
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_RAW),y)
+UTIL_LINUX_CONF_OPT += --enable-raw
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_RESET),y)
+UTIL_LINUX_CONF_OPT += --enable-reset
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),y)
+UTIL_LINUX_CONF_OPT += --enable-login-utils
 endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_WRITE),y)
+UTIL_LINUX_CONF_OPT += --enable-write
+endif
+
+$(eval $(call AUTOTARGETS,package,util-linux))
Index: b/package/util-linux/util-linux-uclibc-build-fix.patch
===================================================================
--- /dev/null
+++ b/package/util-linux/util-linux-uclibc-build-fix.patch
@@ -0,0 +1,16 @@
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: util-linux-2.19.1/configure.ac
+===================================================================
+--- util-linux-2.19.1.orig/configure.ac
++++ util-linux-2.19.1/configure.ac
+@@ -250,7 +250,7 @@ esac
+
+
+ AC_MSG_CHECKING(whether program_invocation_short_name is defined)
+-AC_TRY_COMPILE([#include <argp.h>],
++AC_TRY_COMPILE([#include <errno.h>],
+                [program_invocation_short_name = "test";],
+                AC_DEFINE(HAVE_PROGRAM_INVOCATION_SHORT_NAME, 1,
+                          [Define if program_invocation_short_name is defined])
+

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 3/3]  usbmount fixes
  2011-07-22 14:53   ` [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1 Yegor Yefremov
@ 2011-07-22 14:58     ` Yegor Yefremov
  2011-07-27 19:13       ` Peter Korsgaard
  2011-07-27 19:54       ` Peter Korsgaard
  2011-07-27  7:43     ` [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1 Peter Korsgaard
  1 sibling, 2 replies; 18+ messages in thread
From: Yegor Yefremov @ 2011-07-22 14:58 UTC (permalink / raw)
  To: buildroot

- create mounting points
- fix dependencies
- fix udev rules
- fix fs type detection

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/usbmount/Config.in                           |    2 +
 package/usbmount/usbmount-fstype-detection-fix.patch |   25 +++++++++++++++++++
 package/usbmount/usbmount-rules-fix.patch            |   19 ++++++++++++++
 package/usbmount/usbmount.mk                         |   24 +++++++++++++++---
 4 files changed, 66 insertions(+), 4 deletions(-)

Index: b/package/usbmount/Config.in
===================================================================
--- a/package/usbmount/Config.in
+++ b/package/usbmount/Config.in
@@ -2,6 +2,8 @@
 	bool "usbmount"
 	select BR2_PACKAGE_UDEV
 	select BR2_PACKAGE_LOCKFILE_PROGS
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
 	help
 	  The usbmount package automatically mounts USB mass storage devices
 	  when they are plugged in, and unmounts them when they are removed.
Index: b/package/usbmount/usbmount-fstype-detection-fix.patch
===================================================================
--- /dev/null
+++ b/package/usbmount/usbmount-fstype-detection-fix.patch
@@ -0,0 +1,25 @@
+newer blkid version shows two parameter with TYPE within:
+
+/dev/sda1: VERSION="0.0" TYPE="ext2" USAGE="filesystem" PART_ENTRY_SCHEME="dos"
+PART_ENTRY_TYPE="0xc" PART_ENTRY_FLAGS="0x80" PART_ENTRY_NUMBER="1"
+
+change regular expression to take " TYPE" only
+
+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+---
+ usbmount |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: b/usbmount
+===================================================================
+--- a/usbmount
++++ b/usbmount
+@@ -88,7 +88,7 @@
+     #   FIXME: improvement: implement mounting by label (notice that labels
+     #   can contain spaces, which makes things a little bit less comfortable).
+     DEVINFO=$(/sbin/blkid -p $DEVNAME)
+-    FSTYPE=$(echo "$DEVINFO" | sed 's/.*TYPE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;')
++    FSTYPE=$(echo "$DEVINFO" | sed 's/.* TYPE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;')
+     UUID=$(echo "$DEVINFO"   | sed 's/.*UUID="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;')
+     USAGE=$(echo "$DEVINFO"  | sed 's/.*USAGE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;')
+
Index: b/package/usbmount/usbmount.mk
===================================================================
--- a/package/usbmount/usbmount.mk
+++ b/package/usbmount/usbmount.mk
@@ -6,20 +6,36 @@
 USBMOUNT_VERSION = 0.0.21
 USBMOUNT_SOURCE = usbmount_$(USBMOUNT_VERSION).tar.gz
 USBMOUNT_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/u/usbmount
-USBMOUNT_DEPENDENCIES = udev lockfile-progs
+USBMOUNT_DEPENDENCIES = udev lockfile-progs util-linux
 
 define USBMOUNT_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 0755 -D $(@D)/usbmount $(TARGET_DIR)/usr/share/usbmount/usbmount
+
+	$(INSTALL) -m 0755 -D $(@D)/00_create_model_symlink 	\
+		$(TARGET_DIR)/etc/usbmount/usbmount.d/00_create_model_symlink
+	$(INSTALL) -m 0755 -D $(@D)/00_remove_model_symlink 	\
+		$(TARGET_DIR)/etc/usbmount/usbmount.d/00_remove_model_symlink
+
 	$(INSTALL) -m 0644 -D $(@D)/usbmount.rules $(TARGET_DIR)/lib/udev/rules.d/usbmount.rules
 	@if [ ! -f $(TARGET_DIR)/etc/usbmount/usbmount.conf ]; then \
 	        $(INSTALL) -m 0644 -D $(@D)/usbmount.conf $(TARGET_DIR)/etc/usbmount/usbmount.conf; \
 	fi
+
+	mkdir -p $(TARGET_DIR)/media
+	mkdir -p $(TARGET_DIR)/media/usb0
+	mkdir -p $(TARGET_DIR)/media/usb1
+	mkdir -p $(TARGET_DIR)/media/usb2
+	mkdir -p $(TARGET_DIR)/media/usb3
+	mkdir -p $(TARGET_DIR)/media/usb4
+	mkdir -p $(TARGET_DIR)/media/usb5
+	mkdir -p $(TARGET_DIR)/media/usb6
 endef
 
 define USBMOUNT_UNINSTALL_TARGET_CMDS
-	rm -rf $(TARGET_DIR)/etc/usbmount \
-	       $(TARGET_DIR)/usr/share/usbmount/usbmount \
-	       $(TARGET_DIR)/lib/udev/rules.d/usbmount.rules
+	rm -rf $(TARGET_DIR)/etc/usbmount			\
+		$(TARGET_DIR)/usr/share/usbmount/usbmount	\
+		$(TARGET_DIR)/lib/udev/rules.d/usbmount.rules	\
+		$(TARGET_DIR)/media
 endef
 
 $(eval $(call GENTARGETS,package,usbmount))
Index: b/package/usbmount/usbmount-rules-fix.patch
===================================================================
--- /dev/null
+++ b/package/usbmount/usbmount-rules-fix.patch
@@ -0,0 +1,19 @@
+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+---
+ usbmount.rules |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: b/usbmount.rules
+===================================================================
+--- a/usbmount.rules
++++ b/usbmount.rules
+@@ -1,7 +1,7 @@
+ # Rules for USBmount -*- conf -*-
+
+ KERNEL=="sd*", DRIVERS=="sbp2",		ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"
+-KERNEL=="sd*", SUBSYSTEMS=="usb",	ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"
+-KERNEL=="ub*", SUBSYSTEMS=="usb",	ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"
++KERNEL=="sd*", SUBSYSTEM=="block",	ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"
++KERNEL=="ub*", SUBSYSTEM=="block",	ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"
+ KERNEL=="sd*",				ACTION=="remove",	RUN+="/usr/share/usbmount/usbmount remove"
+ KERNEL=="ub*",				ACTION=="remove",	RUN+="/usr/share/usbmount/usbmount remove"

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
  2011-07-22 14:51 ` [Buildroot] [PATCH 1/3] " Yegor Yefremov
  2011-07-22 14:53   ` [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1 Yegor Yefremov
@ 2011-07-25 22:03   ` Peter Korsgaard
  2011-07-26  7:07     ` Yegor Yefremov
  1 sibling, 1 reply; 18+ messages in thread
From: Peter Korsgaard @ 2011-07-25 22:03 UTC (permalink / raw)
  To: buildroot

>>>>> "Yegor" == Yegor Yefremov <yegor_sub1@visionsystems.de> writes:

 Yegor> Signed-off-by: Heiko Zuerker <smiley73@users.sourceforge.net>
 Yegor> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>

Thanks, committed with minor tweaks (see below).

 Yegor> ---
 Yegor>  package/udev/Config.in            |   43 +++--------
 Yegor>  package/udev/S10udev              |    6 -
 Yegor>  package/udev/libvolume_id.la.tmpl |   35 ---------
 Yegor>  package/udev/udev.mk              |  144 ++++++--------------------------------
 Yegor>  4 files changed, 36 insertions(+), 192 deletions(-)
 Yegor>  delete mode 100644 package/udev/libvolume_id.la.tmpl

 Yegor> Index: b/package/udev/Config.in
 Yegor> ===================================================================
 Yegor> --- a/package/udev/Config.in
 Yegor> +++ b/package/udev/Config.in
 Yegor> @@ -5,37 +5,18 @@
 
 Yegor>  	  ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/
 
 Yegor> -config BR2_PACKAGE_UDEV_UTILS
 Yegor> -	bool "udev-utils"
 Yegor> +config BR2_PACKAGE_UDEV_ALL_EXTRAS
 Yegor> +	bool "enable all extras"
 Yegor>  	depends on BR2_PACKAGE_UDEV

You forgot to depend on BR2_LARGEFILE + BR2_USE_WCHAR.

 Yegor> +UDEV_VERSION = 172
 Yegor> +UDEV_SOURCE = udev-$(UDEV_VERSION).tar.bz2
 Yegor> +UDEV_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/
 
 Yegor> -UDEV_BUILD_EXTRAS=$(addprefix extras/,$(UDEV_EXTRAS))
 Yegor> +UDEV_CONF_OPT =			\
 Yegor> +	--sbindir=/sbin		\
 Yegor> +	--with-rootlibdir=/lib	\
 Yegor> +	--libexecdir=/lib/udev	\
 Yegor> +	--disable-introspection
 
 Yegor> -#
 Yegor> -# Build
 Yegor> -#
 Yegor> -define UDEV_BUILD_CMDS
 Yegor> -	$(MAKE) CROSS_COMPILE=$(TARGET_CROSS) CC="$(TARGET_CC)" LD="$(TARGET_CC)"\
 Yegor> -		CFLAGS="$(BR2_UDEV_CFLAGS)" \
 Yegor> -		USE_LOG=false USE_SELINUX=false \
 Yegor> -		udevdir=$(UDEV_ROOT) EXTRAS="$(UDEV_BUILD_EXTRAS)" -C $(@D)
 Yegor> -endef
 Yegor> +UDEV_DEPENDENCIES = host-gperf

udev's configure script uses pkg-config, so we also need to depend on
host-pkg-config.

Thanks for your persistence!

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
  2011-07-25 22:03   ` [Buildroot] [PATCH 1/3] bump udev and clean up Peter Korsgaard
@ 2011-07-26  7:07     ` Yegor Yefremov
  2011-07-26 16:00       ` Diego Iastrubni
  0 siblings, 1 reply; 18+ messages in thread
From: Yegor Yefremov @ 2011-07-26  7:07 UTC (permalink / raw)
  To: buildroot


> udev's configure script uses pkg-config, so we also need to depend on
> host-pkg-config.
>
> Thanks for your persistence

Yeah! We've done it! I want to thank everyone involved.

Yegor

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
  2011-07-26  7:07     ` Yegor Yefremov
@ 2011-07-26 16:00       ` Diego Iastrubni
  2011-07-27  7:34         ` Peter Korsgaard
  0 siblings, 1 reply; 18+ messages in thread
From: Diego Iastrubni @ 2011-07-26 16:00 UTC (permalink / raw)
  To: buildroot

On Tue, Jul 26, 2011 at 10:07 AM, Yegor Yefremov
<yegor_sub1@visionsystems.de> wrote:
>
> > udev's configure script uses pkg-config, so we also need to depend on
> > host-pkg-config.
> >
> > Thanks for your persistence
>
> Yeah! We've done it! I want to thank everyone involved.
>

My setup does not build now:
extras/input_id/input_id.c: In function 'test_key':
extras/input_id/input_id.c:173: error: 'BTN_TRIGGER_HAPPY' undeclared
(first use in this function)
extras/input_id/input_id.c:173: error: (Each undeclared identifier is
reported only once
extras/input_id/input_id.c:173: error: for each function it appears in.)
make[3]: *** [extras/input_id/input_id.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/diego/src/buildroot/output/build/udev-172'
make: *** [/home/diego/src/buildroot/output/build/udev-172/.stamp_built] Error 2
This new udev version needs a kernel>=2.6.33 and my toolchain (?)
comes with headers of 2.6.32. I am compiling for ARM using
codesourcery 2010q1 (I normally use a "custom" setup, but using the
one in buildroot fails). Using?2011.03 does work.
How do I convince the toolchain to use a newer kernel headers?
BTW, this cost has been added in 2.6.33rc5:
http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.33-git5.log

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
  2011-07-26 16:00       ` Diego Iastrubni
@ 2011-07-27  7:34         ` Peter Korsgaard
  2011-07-27  7:51           ` Thomas Petazzoni
       [not found]           ` <CALR4fEKGFH5tq-25=j3DW-CVD5Uc-QxUeLoec-JLwSxNUhQw-w@mail.gmail.com>
  0 siblings, 2 replies; 18+ messages in thread
From: Peter Korsgaard @ 2011-07-27  7:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Diego" == Diego Iastrubni <diegoiast@gmail.com> writes:

Hi,

 Diego> My setup does not build now:
 Diego> extras/input_id/input_id.c: In function 'test_key':
 Diego> extras/input_id/input_id.c:173: error: 'BTN_TRIGGER_HAPPY' undeclared
 Diego> (first use in this function)
 Diego> extras/input_id/input_id.c:173: error: (Each undeclared identifier is
 Diego> reported only once
 Diego> extras/input_id/input_id.c:173: error: for each function it appears in.)
 Diego> make[3]: *** [extras/input_id/input_id.o] Error 1
 Diego> make[2]: *** [all-recursive] Error 1
 Diego> make[1]: *** [all] Error 2
 Diego> make[1]: Leaving directory `/home/diego/src/buildroot/output/build/udev-172'
 Diego> make: *** [/home/diego/src/buildroot/output/build/udev-172/.stamp_built] Error 2
 Diego> This new udev version needs a kernel>=2.6.33 and my toolchain (?)

Yes, BTN_TRIGGER_HAPPY was indeed only added in 2.6.34-rc1.

Diego> comes with headers of 2.6.32. I am compiling for ARM using
 Diego> codesourcery 2010q1 (I normally use a "custom" setup, but using the
 Diego> one in buildroot fails). Using?2011.03 does work.

What exactly fails with the internal toolchain?

 Diego> How do I convince the toolchain to use a newer kernel headers?

You cannot, kernel headers are part of the toolchain. Consider moving to
a newer toolchain and/or disable UDEV_EXTRAS.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1
  2011-07-22 14:53   ` [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1 Yegor Yefremov
  2011-07-22 14:58     ` [Buildroot] [PATCH 3/3] usbmount fixes Yegor Yefremov
@ 2011-07-27  7:43     ` Peter Korsgaard
  1 sibling, 0 replies; 18+ messages in thread
From: Peter Korsgaard @ 2011-07-27  7:43 UTC (permalink / raw)
  To: buildroot

>>>>> "Yegor" == Yegor Yefremov <yegor_sub1@visionsystems.de> writes:

Thanks, committed with some changes (see below).

 Yegor> Signed-off-by: Chih-Min Chao <cmchao@gmail.com>
 Yegor> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
 Yegor> ---
 Yegor>  package/util-linux/Config.in                                            |  113 ++
 Yegor>  package/util-linux/util-linux-2.13-pre17-hardcode-a-out-constants.patch |   41 
 Yegor>  package/util-linux/util-linux-no-nls-fix.patch                          |   25 
 Yegor>  package/util-linux/util-linux-susv3-legacy.patch                        |  429 ----------
 Yegor>  package/util-linux/util-linux-uclibc-build-fix.patch                    |   16 
 Yegor>  package/util-linux/util-linux-umount2-fix.patch                         |   20 
 Yegor>  package/util-linux/util-linux.mk                                        |  180 ++--
 Yegor>  7 files changed, 230 insertions(+), 594 deletions(-)

 Yegor> Index: b/package/util-linux/Config.in
 Yegor> ===================================================================
 Yegor> --- a/package/util-linux/Config.in
 Yegor> +++ b/package/util-linux/Config.in
 Yegor> @@ -1,4 +1,4 @@
 Yegor> -config BR2_PACKAGE_UTIL-LINUX
 Yegor> +config BR2_PACKAGE_UTIL_LINUX
 Yegor>  	bool "util-linux"
 Yegor>  	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 Yegor>  	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE

After some tests I see that gettext/libintl/rpc aren't needed, but
instead largefile+wchar+program_invocation are.

 Yegor> @@ -12,3 +12,114 @@
 
 Yegor>  comment "util-linux requires a toolchain with RPC support"
 Yegor>  	depends on !BR2_INET_RPC
 Yegor> +
 Yegor> +menu "util-linux tool support"
 Yegor> +	depends on BR2_PACKAGE_UTIL_LINUX

I dislike all the sub menus, so I instead made all these suboptions to
util-linux instead.

 Yegor> +++ b/package/util-linux/util-linux.mk

 Yegor> +#############################################
 Yegor> +#
 Yegor> +# disable default utilities
 Yegor> +#
 Yegor> +ifeq ($(BR2_PACKAGE_UTIL_LINUX_MOUNT),n)
 Yegor> +UTIL_LINUX_CONF_OPT += --disable-mount
 Yegor>  endif

I've reworked these to the less verbose form:

     $(if $(BR2_PACKAGE_UTIL_LINUX_blah),,--disable-blah)


 Yegor> +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),n)
 Yegor> +UTIL_LINUX_CONF_OPT += --disable-libblkid
 Yegor> +endif

Typo.

You seem to have forgotten unshare.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
  2011-07-27  7:34         ` Peter Korsgaard
@ 2011-07-27  7:51           ` Thomas Petazzoni
       [not found]           ` <CALR4fEKGFH5tq-25=j3DW-CVD5Uc-QxUeLoec-JLwSxNUhQw-w@mail.gmail.com>
  1 sibling, 0 replies; 18+ messages in thread
From: Thomas Petazzoni @ 2011-07-27  7:51 UTC (permalink / raw)
  To: buildroot

Le Wed, 27 Jul 2011 09:34:55 +0200,
Peter Korsgaard <jacmet@uclibc.org> a ?crit :

> You cannot, kernel headers are part of the toolchain. Consider moving
> to a newer toolchain and/or disable UDEV_EXTRAS.

Or, if it's just a matter of defining BTN_TRIGGER_HAPPY, you can patch
the udev source code to that it defines this constant if it's not
already defined. This is a bit hackish, but it's true that not
supporting CodeSourcery 2010q1 is a bit problematic.

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
       [not found]               ` <CALR4fEKxDB+xH1_X+0xY9KWQXAz_g6zbrQHqzOB81J2jpOcnOg@mail.gmail.com>
@ 2011-07-27 12:53                 ` Diego Iastrubni
  2011-08-03 12:37                   ` Diego Iastrubni
  0 siblings, 1 reply; 18+ messages in thread
From: Diego Iastrubni @ 2011-07-27 12:53 UTC (permalink / raw)
  To: buildroot

On Wed, Jul 27, 2011 at 1:19 PM, Diego Iastrubni <diegoiast@gmail.com> wrote:
> You are probably right, qouting from
> http://www.spinics.net/lists/hotplug/msg04998.html :
>
> It's generally not a good idea to build new low-level tools against
> outdated kernels or run new low-level tools against them. Things can
> easily go wrong. We usually only test the other way around: new
> kernels on old userspace. That should work fine for quite a while.
>
> So, this patch demands:
>
> 1) newer toolchains
> 2) kernel 2.6.33 and above.
>
> (2) is bad, since 2.6.32 is still maintained. For (1), I have a patch
> in the works, I will test and report.

See patch attached. Just put it inside packages/udev and rebuild.
Works for me, and should not break other things, at least I hope.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: udev-fix-udev-linux-2.6.32-ugly.patch
Type: text/x-patch
Size: 2318 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110727/bd76cf0d/attachment.bin>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 3/3]  usbmount fixes
  2011-07-22 14:58     ` [Buildroot] [PATCH 3/3] usbmount fixes Yegor Yefremov
@ 2011-07-27 19:13       ` Peter Korsgaard
  2011-07-27 19:36         ` Yegor Yefremov
  2011-07-27 19:54       ` Peter Korsgaard
  1 sibling, 1 reply; 18+ messages in thread
From: Peter Korsgaard @ 2011-07-27 19:13 UTC (permalink / raw)
  To: buildroot

>>>>> "Yegor" == Yegor Yefremov <yegor_sub1@visionsystems.de> writes:

 Yegor> - create mounting points
 Yegor> - fix dependencies
 Yegor> - fix udev rules
 Yegor> - fix fs type detection

 Yegor> +++ b/package/usbmount/usbmount-rules-fix.patch
 Yegor> @@ -0,0 +1,19 @@
 Yegor> +Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
 Yegor> +---
 Yegor> + usbmount.rules |    4 ++--
 Yegor> + 1 file changed, 2 insertions(+), 2 deletions(-)
 Yegor> +
 Yegor> +Index: b/usbmount.rules
 Yegor> +===================================================================
 Yegor> +--- a/usbmount.rules
 Yegor> ++++ b/usbmount.rules
 Yegor> +@@ -1,7 +1,7 @@
 Yegor> + # Rules for USBmount -*- conf -*-
 Yegor> +
 Yegor> + KERNEL=="sd*", DRIVERS=="sbp2",		ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"
 Yegor> +-KERNEL=="sd*", SUBSYSTEMS=="usb",	ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"
 Yegor> +-KERNEL=="ub*", SUBSYSTEMS=="usb",	ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"
 Yegor> ++KERNEL=="sd*", SUBSYSTEM=="block",	ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"
 Yegor> ++KERNEL=="ub*", SUBSYSTEM=="block",	ACTION=="add",	RUN+="/usr/share/usbmount/usbmount add"

Why? Is this udev and/or kernel version dependent? Have you submitted it
upstream?

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 3/3] usbmount fixes
  2011-07-27 19:13       ` Peter Korsgaard
@ 2011-07-27 19:36         ` Yegor Yefremov
  0 siblings, 0 replies; 18+ messages in thread
From: Yegor Yefremov @ 2011-07-27 19:36 UTC (permalink / raw)
  To: buildroot

On Wed, Jul 27, 2011 at 9:13 PM, Peter Korsgaard <jacmet@uclibc.org> wrote:
>>>>>> "Yegor" == Yegor Yefremov <yegor_sub1@visionsystems.de> writes:
>
> ?Yegor> - create mounting points
> ?Yegor> - fix dependencies
> ?Yegor> - fix udev rules
> ?Yegor> - fix fs type detection
>
> ?Yegor> +++ b/package/usbmount/usbmount-rules-fix.patch
> ?Yegor> @@ -0,0 +1,19 @@
> ?Yegor> +Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> ?Yegor> +---
> ?Yegor> + usbmount.rules | ? ?4 ++--
> ?Yegor> + 1 file changed, 2 insertions(+), 2 deletions(-)
> ?Yegor> +
> ?Yegor> +Index: b/usbmount.rules
> ?Yegor> +===================================================================
> ?Yegor> +--- a/usbmount.rules
> ?Yegor> ++++ b/usbmount.rules
> ?Yegor> +@@ -1,7 +1,7 @@
> ?Yegor> + # Rules for USBmount -*- conf -*-
> ?Yegor> +
> ?Yegor> + KERNEL=="sd*", DRIVERS=="sbp2", ? ? ? ? ? ? ? ACTION=="add", ?RUN+="/usr/share/usbmount/usbmount add"
> ?Yegor> +-KERNEL=="sd*", SUBSYSTEMS=="usb", ? ? ACTION=="add", ?RUN+="/usr/share/usbmount/usbmount add"
> ?Yegor> +-KERNEL=="ub*", SUBSYSTEMS=="usb", ? ? ACTION=="add", ?RUN+="/usr/share/usbmount/usbmount add"
> ?Yegor> ++KERNEL=="sd*", SUBSYSTEM=="block", ? ?ACTION=="add", ?RUN+="/usr/share/usbmount/usbmount add"
> ?Yegor> ++KERNEL=="ub*", SUBSYSTEM=="block", ? ?ACTION=="add", ?RUN+="/usr/share/usbmount/usbmount add"
>
> Why? Is this udev and/or kernel version dependent? Have you submitted it
> upstream?

I'm negotiating with Rog?rio Brito and I'll let you know of the
progress. At least I sent the patch fixing FSTYPE detection.
SUBSYSTEM=="block" was already mentioned here in this mailingslist,
when discussing usbmount failure.

Yegor

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 3/3]  usbmount fixes
  2011-07-22 14:58     ` [Buildroot] [PATCH 3/3] usbmount fixes Yegor Yefremov
  2011-07-27 19:13       ` Peter Korsgaard
@ 2011-07-27 19:54       ` Peter Korsgaard
  2011-07-28  7:08         ` Yegor Yefremov
  1 sibling, 1 reply; 18+ messages in thread
From: Peter Korsgaard @ 2011-07-27 19:54 UTC (permalink / raw)
  To: buildroot

>>>>> "Yegor" == Yegor Yefremov <yegor_sub1@visionsystems.de> writes:

 Yegor> - create mounting points
 Yegor> - fix dependencies
 Yegor> - fix udev rules
 Yegor> - fix fs type detection

Thanks, committed with some fixes (see below).

 Yegor> Index: b/package/usbmount/Config.in
 Yegor> ===================================================================
 Yegor> --- a/package/usbmount/Config.in
 Yegor> +++ b/package/usbmount/Config.in
 Yegor> @@ -2,6 +2,8 @@
 Yegor>  	bool "usbmount"
 Yegor>  	select BR2_PACKAGE_UDEV
 Yegor>  	select BR2_PACKAGE_LOCKFILE_PROGS
 Yegor> +	select BR2_PACKAGE_UTIL_LINUX
 Yegor> +	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID

util-linux needs wchar + largefile, and is only visible if
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS, so those needs to be selected (and a
comment shown if wchar/largefile isn't available).

 Yegor> +++ b/package/usbmount/usbmount.mk
 Yegor> @@ -6,20 +6,36 @@
 Yegor>  USBMOUNT_VERSION = 0.0.21
 Yegor>  USBMOUNT_SOURCE = usbmount_$(USBMOUNT_VERSION).tar.gz
 Yegor>  USBMOUNT_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/u/usbmount
 Yegor> -USBMOUNT_DEPENDENCIES = udev lockfile-progs
 Yegor> +USBMOUNT_DEPENDENCIES = udev lockfile-progs util-linux
 
 Yegor>  define USBMOUNT_INSTALL_TARGET_CMDS
 Yegor>  	$(INSTALL) -m 0755 -D $(@D)/usbmount $(TARGET_DIR)/usr/share/usbmount/usbmount
 Yegor> +
 Yegor> +	$(INSTALL) -m 0755 -D $(@D)/00_create_model_symlink 	\
 Yegor> +		$(TARGET_DIR)/etc/usbmount/usbmount.d/00_create_model_symlink
 Yegor> +	$(INSTALL) -m 0755 -D $(@D)/00_remove_model_symlink 	\
 Yegor> +		$(TARGET_DIR)/etc/usbmount/usbmount.d/00_remove_model_symlink
 Yegor> +
 Yegor>  	$(INSTALL) -m 0644 -D $(@D)/usbmount.rules $(TARGET_DIR)/lib/udev/rules.d/usbmount.rules
 Yegor>  	@if [ ! -f $(TARGET_DIR)/etc/usbmount/usbmount.conf ]; then \
 Yegor>  	        $(INSTALL) -m 0644 -D $(@D)/usbmount.conf $(TARGET_DIR)/etc/usbmount/usbmount.conf; \
 Yegor>  	fi
 Yegor> +
 Yegor> +	mkdir -p $(TARGET_DIR)/media
 Yegor> +	mkdir -p $(TARGET_DIR)/media/usb0
 Yegor> +	mkdir -p $(TARGET_DIR)/media/usb1
 Yegor> +	mkdir -p $(TARGET_DIR)/media/usb2
 Yegor> +	mkdir -p $(TARGET_DIR)/media/usb3
 Yegor> +	mkdir -p $(TARGET_DIR)/media/usb4
 Yegor> +	mkdir -p $(TARGET_DIR)/media/usb5
 Yegor> +	mkdir -p $(TARGET_DIR)/media/usb6

usbmount handles /media/usb[0-7], so you forgot usb7.
 
 Yegor> Index: b/package/usbmount/usbmount-rules-fix.patch
 Yegor> ===================================================================
 Yegor> --- /dev/null
 Yegor> +++ b/package/usbmount/usbmount-rules-fix.patch
 Yegor> @@ -0,0 +1,19 @@
 Yegor> +Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>

Please provide a proper description of what patches do in the future.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 3/3] usbmount fixes
  2011-07-27 19:54       ` Peter Korsgaard
@ 2011-07-28  7:08         ` Yegor Yefremov
  0 siblings, 0 replies; 18+ messages in thread
From: Yegor Yefremov @ 2011-07-28  7:08 UTC (permalink / raw)
  To: buildroot

On Wed, Jul 27, 2011 at 9:54 PM, Peter Korsgaard <jacmet@uclibc.org> wrote:
>>>>>> "Yegor" == Yegor Yefremov <yegor_sub1@visionsystems.de> writes:
>
> ?Yegor> - create mounting points
> ?Yegor> - fix dependencies
> ?Yegor> - fix udev rules
> ?Yegor> - fix fs type detection
>
> Thanks, committed with some fixes (see below).
........
> Please provide a proper description of what patches do in the future.

1. fix file system type detection due to multiple entries with keyword
TYPE (already submitted)
2. automatic mounting points generation. Patch exists
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=361693), but has to
be adapted to the latest usbmount version
3. udev rules: SUBSYSTEMS=="usb" trigger is not working, after
searching the mailingslist I found some links, as suggestion how to
fix/substitue usbmount:
http://lists.busybox.net/pipermail/buildroot/2011-April/042455.html

It would be great, if we could fix all these issues before next
usbmount release.

Yegor

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
  2011-07-27 12:53                 ` Diego Iastrubni
@ 2011-08-03 12:37                   ` Diego Iastrubni
  2011-08-03 13:41                     ` Yegor Yefremov
  0 siblings, 1 reply; 18+ messages in thread
From: Diego Iastrubni @ 2011-08-03 12:37 UTC (permalink / raw)
  To: buildroot

With the update of 173... lets bring this up again...

I am having problems in my setup: I see the /dev/ directory quite
empty. I found out that you removed the call to udevstart in S10udev,
calling it manually fixed the "emptiness problem" and /dev/ is filled
up as I expect.

Is the problem caused by my side (I am using tmpfs, and not udevfs,
and my kernel is *way* old). What is the equivalent of udevstart in
udev?


On Wed, Jul 27, 2011 at 3:53 PM, Diego Iastrubni <diegoiast@gmail.com> wrote:
> On Wed, Jul 27, 2011 at 1:19 PM, Diego Iastrubni <diegoiast@gmail.com> wrote:
>> You are probably right, qouting from
>> http://www.spinics.net/lists/hotplug/msg04998.html :
>>
>> It's generally not a good idea to build new low-level tools against
>> outdated kernels or run new low-level tools against them. Things can
>> easily go wrong. We usually only test the other way around: new
>> kernels on old userspace. That should work fine for quite a while.
>>
>> So, this patch demands:
>>
>> 1) newer toolchains
>> 2) kernel 2.6.33 and above.
>>
>> (2) is bad, since 2.6.32 is still maintained. For (1), I have a patch
>> in the works, I will test and report.
>
> See patch attached. Just put it inside packages/udev and rebuild.
> Works for me, and should not break other things, at least I hope.
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
  2011-08-03 12:37                   ` Diego Iastrubni
@ 2011-08-03 13:41                     ` Yegor Yefremov
  2011-08-03 13:51                       ` Diego Iastrubni
  0 siblings, 1 reply; 18+ messages in thread
From: Yegor Yefremov @ 2011-08-03 13:41 UTC (permalink / raw)
  To: buildroot

Hi Diego,

please use http://en.wikipedia.org/wiki/Top-posting#Bottom-posting.

Am 03.08.2011 14:37, schrieb Diego Iastrubni:
> With the update of 173... lets bring this up again...
> 
> I am having problems in my setup: I see the /dev/ directory quite
> empty. I found out that you removed the call to udevstart in S10udev,
> calling it manually fixed the "emptiness problem" and /dev/ is filled
> up as I expect.
> 
> Is the problem caused by my side (I am using tmpfs, and not udevfs,
> and my kernel is *way* old). What is the equivalent of udevstart in
> udev?

I've looked at what Debian maintainers do:

they use udevadm trigger --action=add

http://linux.die.net/man/8/udevadm

With the newer kernel you don't have such a problem as empty /dev/, because in BR devtmpfs will be used to fill that directory before mounting rootfs. So just starting udevd is sufficient.

> On Wed, Jul 27, 2011 at 3:53 PM, Diego Iastrubni <diegoiast@gmail.com> wrote:
>> On Wed, Jul 27, 2011 at 1:19 PM, Diego Iastrubni <diegoiast@gmail.com> wrote:
>>> You are probably right, qouting from
>>> http://www.spinics.net/lists/hotplug/msg04998.html :
>>>
>>> It's generally not a good idea to build new low-level tools against
>>> outdated kernels or run new low-level tools against them. Things can
>>> easily go wrong. We usually only test the other way around: new
>>> kernels on old userspace. That should work fine for quite a while.
>>>
>>> So, this patch demands:
>>>
>>> 1) newer toolchains
>>> 2) kernel 2.6.33 and above.
>>>
>>> (2) is bad, since 2.6.32 is still maintained. For (1), I have a patch
>>> in the works, I will test and report.
>>
>> See patch attached. Just put it inside packages/udev and rebuild.
>> Works for me, and should not break other things, at least I hope.
>>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH 1/3] bump udev and clean up
  2011-08-03 13:41                     ` Yegor Yefremov
@ 2011-08-03 13:51                       ` Diego Iastrubni
  0 siblings, 0 replies; 18+ messages in thread
From: Diego Iastrubni @ 2011-08-03 13:51 UTC (permalink / raw)
  To: buildroot

On Wed, Aug 3, 2011 at 4:41 PM, Yegor Yefremov
<yegor_sub1@visionsystems.de> wrote:
>> Is the problem caused by my side (I am using tmpfs, and not udevfs,
>> and my kernel is *way* old). What is the equivalent of udevstart in
>> udev?
>
> I've looked at what Debian maintainers do:
>
> they use udevadm trigger --action=add
>
> http://linux.die.net/man/8/udevadm
>
> With the newer kernel you don't have such a problem as empty /dev/, because in BR devtmpfs will be used to fill that directory before mounting rootfs. So just starting udevd is sufficient.

Running "udevadm trigger" inside S10udev seem to fix the problem for
me. I still need to understand the differences between all flags (the
readme says --type=subsystems,-devices).

Is any one else affected from the move to a newer udev version like I am?

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2011-08-03 13:51 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-22 14:45 [Buildroot] [PATCH 0/3] bump udev and clean up Yegor Yefremov
2011-07-22 14:51 ` [Buildroot] [PATCH 1/3] " Yegor Yefremov
2011-07-22 14:53   ` [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1 Yegor Yefremov
2011-07-22 14:58     ` [Buildroot] [PATCH 3/3] usbmount fixes Yegor Yefremov
2011-07-27 19:13       ` Peter Korsgaard
2011-07-27 19:36         ` Yegor Yefremov
2011-07-27 19:54       ` Peter Korsgaard
2011-07-28  7:08         ` Yegor Yefremov
2011-07-27  7:43     ` [Buildroot] [PATCH 2/3] util-linux: convert to autotarget and bump to 2.19.1 Peter Korsgaard
2011-07-25 22:03   ` [Buildroot] [PATCH 1/3] bump udev and clean up Peter Korsgaard
2011-07-26  7:07     ` Yegor Yefremov
2011-07-26 16:00       ` Diego Iastrubni
2011-07-27  7:34         ` Peter Korsgaard
2011-07-27  7:51           ` Thomas Petazzoni
     [not found]           ` <CALR4fEKGFH5tq-25=j3DW-CVD5Uc-QxUeLoec-JLwSxNUhQw-w@mail.gmail.com>
     [not found]             ` <87sjpst92p.fsf@macbook.be.48ers.dk>
     [not found]               ` <CALR4fEKxDB+xH1_X+0xY9KWQXAz_g6zbrQHqzOB81J2jpOcnOg@mail.gmail.com>
2011-07-27 12:53                 ` Diego Iastrubni
2011-08-03 12:37                   ` Diego Iastrubni
2011-08-03 13:41                     ` Yegor Yefremov
2011-08-03 13:51                       ` Diego Iastrubni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.