diff options
-rw-r--r-- | package/util-linux/Makefile | 17 | ||||
-rw-r--r-- | package/util-linux/patches/patch-libmount_src_tab_parse_c | 82 |
2 files changed, 12 insertions, 87 deletions
diff --git a/package/util-linux/Makefile b/package/util-linux/Makefile index 76d482629..7890bcc65 100644 --- a/package/util-linux/Makefile +++ b/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 diff --git a/package/util-linux/patches/patch-libmount_src_tab_parse_c b/package/util-linux/patches/patch-libmount_src_tab_parse_c deleted file mode 100644 index 9abf59d71..000000000 --- a/package/util-linux/patches/patch-libmount_src_tab_parse_c +++ /dev/null @@ -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, |