diff --git a/srcpkgs/util-linux/patches/agetty-typo.patch b/srcpkgs/util-linux/patches/agetty-typo.patch new file mode 100644 index 00000000000..691d06b0689 --- /dev/null +++ b/srcpkgs/util-linux/patches/agetty-typo.patch @@ -0,0 +1,26 @@ +From 89aed1c950376d828e1e0ddef94909a028e0517d Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 7 Sep 2011 07:37:03 +0200 +Subject: [PATCH] agetty: double equals sign typo in opentty() + +Reported-by: Francesco Cosoleto +Signed-off-by: Karel Zak +--- + term-utils/agetty.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/term-utils/agetty.c b/term-utils/agetty.c +index 733be38..35bb389 100644 +--- a/term-utils/agetty.c ++++ b/term-utils/agetty.c +@@ -985,7 +985,7 @@ static void open_tty(char *tty, struct termios *tp, struct options *op) + * In case of a virtual console the ioctl TIOCMGET fails and + * the error number will be set to EINVAL. + */ +- if (ioctl(STDIN_FILENO, TIOCMGET, &serial) < 0 && (errno = EINVAL)) { ++ if (ioctl(STDIN_FILENO, TIOCMGET, &serial) < 0 && (errno == EINVAL)) { + op->flags |= F_VCONSOLE; + if (!op->term) + op->term = DEFAULT_VCTERM; +-- +1.7.6.1 diff --git a/srcpkgs/util-linux/patches/dmesg-non-printk.patch b/srcpkgs/util-linux/patches/dmesg-non-printk.patch new file mode 100644 index 00000000000..7edaa9fd60d --- /dev/null +++ b/srcpkgs/util-linux/patches/dmesg-non-printk.patch @@ -0,0 +1,68 @@ +From 22f69825778f992ff98ed100252bf5e00a15d9d1 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 31 Aug 2011 12:28:39 +0200 +Subject: [PATCH] dmesg: fix for non-CONFIG_PRINTK_TIME kernels + + * dmesg(1) incorrectly assumes that lines like "<6>\n" + are broken. + + * it's more robust to assume the end of the record is "\n<" + + * print \n for empty lines + +Reported-by: "Gabor Z. Papp" +Signed-off-by: Karel Zak +--- + sys-utils/dmesg.c | 16 ++++++++-------- + 1 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c +index 6090f4e..8e7bb4b 100644 +--- a/sys-utils/dmesg.c ++++ b/sys-utils/dmesg.c +@@ -442,12 +442,12 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec) + + if (!begin) + begin = p; +- if (*p == '\n') +- end = p; + if (i + 1 == rec->next_size) { + end = p + 1; + i++; +- } ++ } else if (*p == '\n' && *(p + 1) == '<') ++ end = p; ++ + if (begin && !*begin) + begin = NULL; /* zero(s) at the end of the buffer? */ + if (!begin || !end) +@@ -469,9 +469,6 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec) + } + } + +- if (end <= begin) +- return -1; /* error */ +- + if (*begin == '[' && (*(begin + 1) == ' ' || + isdigit(*(begin + 1)))) { + if (ctl->delta || ctl->ctime) { +@@ -534,12 +531,15 @@ static void print_buffer(const char *buf, size_t size, + } + + while (get_next_record(ctl, &rec) == 0) { +- if (!rec.mesg_size) +- continue; + + if (!accept_record(ctl, &rec)) + continue; + ++ if (!rec.mesg_size) { ++ putchar('\n'); ++ continue; ++ } ++ + if (ctl->decode && rec.level >= 0 && rec.facility >= 0) + printf("%-6s:%-6s: ", facility_names[rec.facility].name, + level_names[rec.level].name); +-- +1.7.6.1 diff --git a/srcpkgs/util-linux/patches/dmesg-space.patch b/srcpkgs/util-linux/patches/dmesg-space.patch new file mode 100644 index 00000000000..42369409449 --- /dev/null +++ b/srcpkgs/util-linux/patches/dmesg-space.patch @@ -0,0 +1,30 @@ +From 31c9099a81d3a9c70fdceb198eebed678173d954 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 2 Sep 2011 14:42:04 +0200 +Subject: [PATCH] dmesg: remove extra space only after time stamp + +Signed-off-by: Karel Zak +--- + sys-utils/dmesg.c | 5 ++--- + 1 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c +index 8e7bb4b..b3713a0 100644 +--- a/sys-utils/dmesg.c ++++ b/sys-utils/dmesg.c +@@ -480,11 +480,10 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec) + break; + } + } ++ if (begin < end && *begin == ' ') ++ begin++; + } + +- if (begin < end && *begin == ' ') +- begin++; +- + rec->mesg = begin; + rec->mesg_size = end - begin; + +-- +1.7.6.1 diff --git a/srcpkgs/util-linux/patches/dont-close-0.patch b/srcpkgs/util-linux/patches/dont-close-0.patch new file mode 100644 index 00000000000..57a23ad54ef --- /dev/null +++ b/srcpkgs/util-linux/patches/dont-close-0.patch @@ -0,0 +1,31 @@ +From 3a18db62e661fbb307ad3a53c18afabc92d3c63e Mon Sep 17 00:00:00 2001 +From: Petr Uzel +Date: Tue, 13 Sep 2011 11:08:46 +0200 +Subject: [PATCH 1/2] lib: do not attempt to close(0) in sysfs_deinit() + +If the 'open' fails we 'goto err' which runs 'sysfs_deinit()' on a 'cxt' +which hasn't been fully initialised. The 'dir_fd' is still 0, so +sysfs_deinit calls "close(0)". + +Addresses: https://bugzilla.novell.com/show_bug.cgi?id=714151 +Reported-by: Diego Ercolani +Analysed-by: Neil Brown +Signed-off-by: Petr Uzel +--- + lib/sysfs.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/lib/sysfs.c b/lib/sysfs.c +index eec1f24..ebb3bb5 100644 +--- a/lib/sysfs.c ++++ b/lib/sysfs.c +@@ -140,6 +140,7 @@ int sysfs_init(struct sysfs_cxt *cxt, dev_t devno, struct sysfs_cxt *parent) + int fd, rc = 0; + + memset(cxt, 0, sizeof(*cxt)); ++ cxt->dir_fd = -1; + + if (!sysfs_devno_path(devno, path, sizeof(path))) + goto err; +-- +1.7.6.1 diff --git a/srcpkgs/util-linux/patches/fix-remount.patch b/srcpkgs/util-linux/patches/fix-remount.patch new file mode 100644 index 00000000000..d78a064de96 --- /dev/null +++ b/srcpkgs/util-linux/patches/fix-remount.patch @@ -0,0 +1,36 @@ +From 277a6dd53569a409e05316a7bdaed0e78e326762 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 13 Sep 2011 22:59:39 +0200 +Subject: [PATCH 2/2] mount: check for target before source on remount + +Addresses: http://bugzilla.redhat.com/show_bug.cgi?id=737091 +Reported-by: Eric Paris +Signed-off-by: Karel Zak +--- + mount/fstab.c | 9 +++++++-- + 1 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/mount/fstab.c b/mount/fstab.c +index 8d88f68..77bf81c 100644 +--- a/mount/fstab.c ++++ b/mount/fstab.c +@@ -272,10 +272,15 @@ getmntfilebackward (const char *name, struct mntentchn *mcprev) { + mc0 = mtab_head(); + if (!mcprev) + mcprev = mc0; ++ + for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev) +- if (streq(mc->m.mnt_dir, name) || +- streq(mc->m.mnt_fsname, name)) ++ if (streq(mc->m.mnt_dir, name)) + return mc; ++ ++ for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev) ++ if (streq(mc->m.mnt_fsname, name)) ++ return mc; ++ + return NULL; + } + +-- +1.7.6.1 diff --git a/srcpkgs/util-linux/patches/write-freopen.patch b/srcpkgs/util-linux/patches/write-freopen.patch new file mode 100644 index 00000000000..416d97f8c20 --- /dev/null +++ b/srcpkgs/util-linux/patches/write-freopen.patch @@ -0,0 +1,26 @@ +From b89fdd9c05a6e5f12ab56441389e5ee9d1d7f30f Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 6 Sep 2011 03:18:46 +0200 +Subject: [PATCH] write: fix path for freopen() + +Reported-by: xinglp +Signed-off-by: Karel Zak +--- + term-utils/write.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/term-utils/write.c b/term-utils/write.c +index a825f62..a70eb7b 100644 +--- a/term-utils/write.c ++++ b/term-utils/write.c +@@ -322,7 +322,7 @@ void do_write(char *tty, char *mytty, uid_t myuid) + + if (strlen(tty) + 6 > sizeof(path)) + errx(EXIT_FAILURE, _("tty path %s too long"), tty); +- printf(path, "/dev/%s", tty); ++ snprintf(path, sizeof(path), "/dev/%s", tty); + if ((freopen(path, "w", stdout)) == NULL) + err(EXIT_FAILURE, "%s", path); + +-- +1.7.6.1 diff --git a/srcpkgs/util-linux/template b/srcpkgs/util-linux/template index e4887072f16..214ef19b30e 100644 --- a/srcpkgs/util-linux/template +++ b/srcpkgs/util-linux/template @@ -3,7 +3,9 @@ pkgname=util-linux _distver=2.20 #_patchver=".1" version=${_distver}${_patchver} +revision=1 wrksrc=${pkgname}-${version} +patch_args="-Np1" distfiles="${KERNEL_SITE}/utils/${pkgname}/v${_distver}/${pkgname}-${version}.tar.bz2" build_style=custom-install short_desc="Miscellaneous linux utilities" @@ -35,17 +37,18 @@ Add_dependency build gettext Add_dependency build zlib-devel Add_dependency build ncurses-devel -do_build() +do_configure() { ./configure ${CONFIGURE_SHARED_ARGS} \ --enable-partx --enable-write \ --enable-libuuid --disable-makeinstall-chown \ - --enable-libblkid --enable-fsck --disable-rpath - - for f in $(grep -rl '/etc/adjtime' .); do - sed -i -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' $f - done + --enable-libblkid --enable-fsck --disable-rpath \ + --enable-libmount-mount +} +do_build() +{ + sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i include/pathnames.h make ${makejobs} }