Browse Source

the parser patch is broken for eglibc builds, libmount subpackage missing

Waldemar Brodkorb 11 years ago
parent
commit
fe3fdf9675

+ 12 - 5
package/util-linux/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		util-linux
 PKG_VERSION:=		2.23.2
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_MD5SUM:=		b39fde897334a4858bb2098edcce5b3f
 PKG_DESCR:=		Linux utilities
 PKG_SECTION:=		fs
@@ -18,13 +18,15 @@ PKG_ARCH_DEPENDS:=	!m68k
 DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.xz
 
 PKG_SUBPKGS:=		FDISK SFDISK SWAP_UTILS LOSETUP MCOOKIE MOUNT
-PKG_SUBPKGS+=		LIBUUID LIBBLKID LIBUUID_DEV
+PKG_SUBPKGS+=		LIBUUID LIBBLKID LIBUUID_DEV LIBMOUNT
 PKGSD_LIBUUID:=		UUID library
 PKGSC_LIBUUID:=		libs
 PKGSD_LIBUUID_DEV:=	UUID headers
 PKGSC_LIBUUID_DEV:=	devel
 PKGSD_LIBBLKID:=	BLKID library
 PKGSC_LIBBLKID:=	libs
+PKGSD_LIBMOUNT:=	Mount library
+PKGSC_LIBMOUNT:=	libs
 PKGSD_FDISK:=		Partition table manipulation utility
 PKGSD_SFDISK:=		Scriptable Partition table manipulation utility
 PKGSD_SWAP_UTILS:=	Swap space management utilities
@@ -32,7 +34,7 @@ PKGSS_SWAP_UTILS:=	libblkid
 PKGSD_LOSETUP:=		Loop devices management utilities
 PKGSS_LOSETUP:=		kmod-blk-dev-loop
 PKGSD_MOUNT:=		mount/umount utilities
-PKGSS_MOUNT:=		libblkid
+PKGSS_MOUNT:=		libblkid libmount
 PKGSC_MOUNT:=		fs
 PKGSD_MCOOKIE:=		Generate magic cookies for xauth
 PKGSC_MCOOKIE:=		x11/apps
@@ -48,6 +50,7 @@ $(eval $(call PKG_template,MCOOKIE,mcookie,${PKG_VERSION}-${PKG_RELEASE},${PKG_D
 $(eval $(call PKG_template,LIBUUID,libuuid,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIBUUID},${PKGSC_LIBUUID}))
 $(eval $(call PKG_template,LIBUUID_DEV,libuuid-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIBUUID_DEV},${PKGSC_LIBUUID_DEV}))
 $(eval $(call PKG_template,LIBBLKID,libblkid,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIBBLKID},${PKGSC_LIBBLKID}))
+$(eval $(call PKG_template,LIBMOUNT,libmount,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIBMOUNT},${PKGSC_LIBMOUNT}))
 
 CONFIGURE_ENV+=		have_scanf_alloc_modifier=yes \
 			scanf_cv_alloc_modifier=ms
@@ -88,8 +91,8 @@ swap-utils-install:
 	${CP} ${WRKINST}/sbin/swap{on,off} ${IDIR_SWAP_UTILS}/usr/sbin
 
 mount-install:
-	${INSTALL_DIR} ${IDIR_MOUNT}/usr/bin
-	${INSTALL_BIN} ${WRKINST}/usr/bin/{u,}mount ${IDIR_MOUNT}/usr/bin
+	${INSTALL_DIR} ${IDIR_MOUNT}/bin
+	${INSTALL_BIN} ${WRKINST}/usr/bin/{u,}mount ${IDIR_MOUNT}/bin
 
 mcookie-install:
 	${INSTALL_DIR} ${IDIR_MCOOKIE}/usr/bin
@@ -107,4 +110,8 @@ libblkid-install:
 	${INSTALL_DIR} ${IDIR_LIBBLKID}/usr/lib
 	${CP} ${WRKINST}/usr/lib/libblkid.so* ${IDIR_LIBBLKID}/usr/lib
 
+libmount-install:
+	${INSTALL_DIR} ${IDIR_LIBMOUNT}/usr/lib
+	${CP} ${WRKINST}/usr/lib/libmount.so* ${IDIR_LIBMOUNT}/usr/lib
+
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 0 - 82
package/util-linux/patches/patch-libmount_src_tab_parse_c

@@ -1,82 +0,0 @@
---- util-linux-2.23.2.orig/libmount/src/tab_parse.c	2013-07-30 10:39:26.000000000 +0200
-+++ util-linux-2.23.2/libmount/src/tab_parse.c	2013-08-14 11:39:26.000000000 +0200
-@@ -16,6 +16,8 @@
- #include <dirent.h>
- #include <fcntl.h>
- 
-+#define UL_SCNsA        "%ms"
-+
- #include "at.h"
- #include "mangle.h"
- #include "mountP.h"
-@@ -59,18 +61,21 @@ static int next_number(char **s, int *nu
- static int mnt_parse_table_line(struct libmnt_fs *fs, char *s)
- {
- 	int rc, n = 0, xrc;
--	char *src = NULL, *fstype = NULL, *optstr = NULL;
-+	int len = strlen (s) + 1;
-+	char *fstype  = malloc (sizeof *fstype * len);
-+	char *optstr  = malloc (sizeof *optstr * len);
-+	char *src     = malloc (sizeof *src * len);
- 
--	rc = sscanf(s,	UL_SCNsA" "	/* (1) source */
--			UL_SCNsA" "	/* (2) target */
--			UL_SCNsA" "	/* (3) FS type */
--			UL_SCNsA" "	/* (4) options */
-+	rc = sscanf(s,	"%s"" "	/* (1) source */
-+			"%s"" "	/* (2) target */
-+			"%s"" "	/* (3) FS type */
-+			"%s"" "	/* (4) options */
- 			"%n",		/* byte count */
- 
--			&src,
--			&fs->target,
--			&fstype,
--			&optstr,
-+			src,
-+			fs->target,
-+			fstype,
-+			optstr,
- 			&n);
- 	xrc = rc;
- 
-@@ -135,13 +140,18 @@ static int mnt_parse_mountinfo_line(stru
- 	int rc, end = 0;
- 	unsigned int maj, min;
- 	char *fstype = NULL, *src = NULL, *p;
-+	int len = strlen (s) + 1;
-+
-+	fs->root        = malloc (sizeof *fs->root * len);
-+	fs->target      = malloc (sizeof *fs->target * len);
-+	fs->vfs_optstr  = malloc (sizeof *fs->vfs_optstr * len);
- 
- 	rc = sscanf(s,	"%u "		/* (1) id */
- 			"%u "		/* (2) parent */
- 			"%u:%u "	/* (3) maj:min */
--			UL_SCNsA" "	/* (4) mountroot */
--			UL_SCNsA" "	/* (5) target */
--			UL_SCNsA	/* (6) vfs options (fs-independent) */
-+			"%s"" "	/* (4) mountroot */
-+			"%s"" "	/* (5) target */
-+			"%s"	/* (6) vfs options (fs-independent) */
- 			"%n",		/* number of read bytes */
- 
- 			&fs->id,
-@@ -164,10 +174,14 @@ static int mnt_parse_mountinfo_line(stru
- 	if (p > s + 1)
- 		fs->opt_fields = strndup(s + 1, p - s - 1);
- 	s = p + 3;
-+	len           = strlen (s) + 1;
-+	fstype        = malloc (sizeof *fstype * len);
-+	src           = malloc (sizeof *src * len);
-+	fs->fs_optstr = malloc (sizeof *fs->fs_optstr * len);
- 
--	rc += sscanf(s,	UL_SCNsA" "	/* (8) FS type */
--			UL_SCNsA" "	/* (9) source */
--			UL_SCNsA,	/* (10) fs options (fs specific) */
-+	rc += sscanf(s,	"%s"" "	/* (8) FS type */
-+			"%s"" "	/* (9) source */
-+			"%s",	/* (10) fs options (fs specific) */
- 
- 			&fstype,
- 			&src,