[Buildroot] [PATCH 5/9] sfdisk: convert to autotargets and change to util-linux-ng v2.18 version

Martin Banky martin.banky at gmail.com
Fri Oct 8 08:43:04 UTC 2010


Signed-off-by: Martin Banky <Martin.Banky at gmail.com>
---
 package/sfdisk/Config.in                           |    2 +
 .../sfdisk/sfdisk.001.include_sys_syscalls_h.patch |   12 ---
 package/sfdisk/sfdisk.005.no-llseek-fix.patch      |   21 -----
 package/sfdisk/sfdisk.010.index-rindex-fix-2.patch |   45 ----------
 package/sfdisk/sfdisk.mk                           |   87 ++++++++++++--------
 5 files changed, 54 insertions(+), 113 deletions(-)
 delete mode 100644 package/sfdisk/sfdisk.001.include_sys_syscalls_h.patch
 delete mode 100644 package/sfdisk/sfdisk.005.no-llseek-fix.patch
 delete mode 100644 package/sfdisk/sfdisk.010.index-rindex-fix-2.patch

diff --git a/package/sfdisk/Config.in b/package/sfdisk/Config.in
index d7b8fb4..a86a529 100644
--- a/package/sfdisk/Config.in
+++ b/package/sfdisk/Config.in
@@ -2,3 +2,5 @@ config BR2_PACKAGE_SFDISK
 	bool "sfdisk"
 	help
 	  Partition table manipulator for Linux.
+
+	  http://www.kernel.org/pub/linux/utils/util-linux-ng/
diff --git a/package/sfdisk/sfdisk.001.include_sys_syscalls_h.patch b/package/sfdisk/sfdisk.001.include_sys_syscalls_h.patch
deleted file mode 100644
index dd35951..0000000
--- a/package/sfdisk/sfdisk.001.include_sys_syscalls_h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- sfdisk/sfdisk.c.oorig	2006-10-09 16:24:06.000000000 +0200
-+++ sfdisk/sfdisk.c	2006-10-09 16:24:20.000000000 +0200
-@@ -47,6 +47,9 @@
- #include <sys/stat.h>
- #include <sys/utsname.h>
- #ifdef __linux__
-+#define _LIBC
-+#include <sys/syscall.h>
-+#undef _LIBC
- #include <linux/unistd.h>	/* _syscall */
- #endif
- #include "nls.h"
diff --git a/package/sfdisk/sfdisk.005.no-llseek-fix.patch b/package/sfdisk/sfdisk.005.no-llseek-fix.patch
deleted file mode 100644
index 4ea571c..0000000
--- a/package/sfdisk/sfdisk.005.no-llseek-fix.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ur sfdisk_vanilla/sfdisk.c sfdisk_llseek-fix/sfdisk.c
---- sfdisk_vanilla/sfdisk.c	2004-01-13 13:03:11.000000000 +0000
-+++ sfdisk_llseek-fix/sfdisk.c	2008-04-17 08:42:35.000000000 +0000
-@@ -134,9 +137,17 @@
-  * Note: we use 512-byte sectors here, irrespective of the hardware ss.
-  */
- #if defined(__linux__) && !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__)
-+#if defined(_llseek)
- static
- _syscall5(int,  _llseek,  unsigned int,  fd, ulong, hi, ulong, lo,
-        loff_t *, res, unsigned int, wh);
-+#else
-+static int _llseek (unsigned int fd, unsigned long oh,
-+		unsigned long ol, long long *result,
-+		unsigned int origin) {
-+	return syscall (__NR__llseek, fd, oh, ol, result, origin);
-+#endif
-+}
- #endif
- 
- static int
diff --git a/package/sfdisk/sfdisk.010.index-rindex-fix-2.patch b/package/sfdisk/sfdisk.010.index-rindex-fix-2.patch
deleted file mode 100644
index b3ca81d..0000000
--- a/package/sfdisk/sfdisk.010.index-rindex-fix-2.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -ru sfdisk_vanilla/sfdisk.c sfdisk_index-rindex-fix/sfdisk.c
---- sfdisk_vanilla/sfdisk.c	2004-01-13 13:03:11.000000000 +0000
-+++ sfdisk_index-rindex-fix/sfdisk.c	2008-04-17 13:44:40.000000000 +0000
-@@ -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, strrchr */
- #include <ctype.h>
- #include <getopt.h>
- #include <sys/ioctl.h>
-@@ -1672,12 +1672,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 */
-@@ -1687,7 +1687,7 @@
-     }
- 
-     /* dump style? - then bad input is fatal */
--    if ((ip = index(line+2, ':')) != 0) {
-+    if ((ip = strchr(line+2, ':')) != 0) {
- 	struct dumpfld *d;
- 
-       nxtfld:
-@@ -2436,7 +2436,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++;
diff --git a/package/sfdisk/sfdisk.mk b/package/sfdisk/sfdisk.mk
index 81c4943..00e8b4d 100644
--- a/package/sfdisk/sfdisk.mk
+++ b/package/sfdisk/sfdisk.mk
@@ -3,47 +3,64 @@
 # sfdisk support
 #
 #############################################################
-SFDISK_VERSION:=
-SFDISK_SOURCE=sfdisk$(SFDISK_VERSION).tar.bz2
-SFDISK_CAT:=$(BZCAT)
-SFDISK_SITE:=http://www.uclibc.org/
-SFDISK_DIR=$(BUILD_DIR)/sfdisk$(SFDISK_VERSION)
+SFDISK_VERSION = 2.18
+SFDISK_SOURCE = util-linux-ng-$(SFDISK_VERSION).tar.bz2
+SFDISK_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux-ng/$(SFDISK_VERSION)
 
-$(DL_DIR)/$(SFDISK_SOURCE):
-	$(call DOWNLOAD,$(SFDISK_SITE),$(SFDISK_SOURCE))
-
-$(SFDISK_DIR)/.patched: $(DL_DIR)/$(SFDISK_SOURCE)
-	$(SFDISK_CAT) $(DL_DIR)/$(SFDISK_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	toolchain/patch-kernel.sh $(SFDISK_DIR) package/sfdisk/ sfdisk.\*.patch
-	touch $@
+ifeq ($(BR2_PACKAGE_NCURSES),y)
+ifeq ($(BR2_USE_WCHAR),)
+# build with non-wide ncurses, default is wide version
+SFDISK_CONF_OPT += --with-ncurses
+endif
+SFDISK_DEPENDENCIES += ncurses
+else
+# --without-ncurses disables all ncurses(w) support
+SFDISK_CONF_OPT += --without-ncurses
+endif
 
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
+SFDISK_DEPENDENCIES += gettext libintl
+SFDISK_MAKE_OPT += LIBS=-lintl
+endif
 
-$(SFDISK_DIR)/sfdisk: $(SFDISK_DIR)/.patched
-	$(MAKE) \
-		CROSS=$(TARGET_CROSS) DEBUG=false OPTIMIZATION="$(TARGET_CFLAGS)" \
-		DOLFS=$(if $(BR2_LARGEFILE),true,false) -C $(SFDISK_DIR)
-	-$(STRIPCMD) $(SFDISK_DIR)/sfdisk
-	touch -c $(SFDISK_DIR)/sfdisk
+ifneq ($(BR2_GCC_ENABLE_TLS),y)
+SFDISK_CONF_OPT += --disable-tls
+endif
 
-$(TARGET_DIR)/sbin/sfdisk: $(SFDISK_DIR)/sfdisk
-	cp $(SFDISK_DIR)/sfdisk $(TARGET_DIR)/sbin/sfdisk
-	touch -c $(TARGET_DIR)/sbin/sfdisk
+SFDISK_CONF_OPT += --datadir=/usr/share \
+		--localstatedir=/var \
+		--disable-rpath \
+		--disable-mount \
+		--disable-fsck \
+		--disable-libuuid \
+		--disable-uuidd \
+		--disable-libblkid \
+		--disable-libmount \
+		--disable-agetty \
+		--disable-cramfs \
+		--disable-switch_root \
+		--disable-pivot_root \
+		--disable-fallocate \
+		--disable-unshare \
+		--disable-rename \
+		--disable-schedutils \
+		--disable-login-utils \
+		--disable-partx
 
-sfdisk: $(TARGET_DIR)/sbin/sfdisk
+define SFDISK_BUILD_CMDS
+	(cd $(@D); \
+		$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/fdisk sfdisk \
+	)
+endef
 
-sfdisk-source: $(DL_DIR)/$(SFDISK_SOURCE)
+define SFDISK_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/fdisk/sfdisk $(TARGET_DIR)/sbin/sfdisk
+	$(INSTALL) -D -m 0644 $(@D)/fdisk/sfdisk.8 $(TARGET_DIR)/usr/share/man/man8/sfdisk.8
+endef
 
-sfdisk-clean:
+define SFDISK_UNINSTALL_TARGET_CMDS
 	rm -f $(TARGET_DIR)/sbin/sfdisk
-	-$(MAKE) -C $(SFDISK_DIR) clean
+	rm -f $(TARGET_DIR)/usr/share/man/man8/sfdisk.8
+endef
 
-sfdisk-dirclean:
-	rm -rf $(SFDISK_DIR)
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_SFDISK),y)
-TARGETS+=sfdisk
-endif
+$(eval $(call AUTOTARGETS,package,sfdisk))
-- 
1.7.3.1




More information about the buildroot mailing list