* [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.