summaryrefslogtreecommitdiff
path: root/testing/util-linux
diff options
context:
space:
mode:
Diffstat (limited to 'testing/util-linux')
-rw-r--r--testing/util-linux/PKGBUILD21
-rw-r--r--testing/util-linux/agetty-typo.patch27
-rw-r--r--testing/util-linux/dmesg-non-printk.patch69
-rw-r--r--testing/util-linux/dmesg-space.patch31
-rw-r--r--testing/util-linux/write-freopen.patch27
5 files changed, 171 insertions, 4 deletions
diff --git a/testing/util-linux/PKGBUILD b/testing/util-linux/PKGBUILD
index c01f9882b..c73a8cd30 100644
--- a/testing/util-linux/PKGBUILD
+++ b/testing/util-linux/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 136465 2011-08-29 20:31:00Z tomegun $
+# $Id: PKGBUILD 137553 2011-09-09 11:23:27Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=util-linux
pkgver=2.20
-pkgrel=1
+pkgrel=2
pkgdesc="Miscellaneous system utilities for Linux"
url="http://userweb.kernel.org/~kzak/util-linux-ng/"
arch=('i686' 'x86_64')
@@ -15,12 +15,21 @@ conflicts=('linux32' 'util-linux-ng' 'e2fsprogs<1.41.8-2')
provides=('linux32' "util-linux-ng=${pkgver}")
license=('GPL2')
options=('!libtool')
-source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v${pkgver}/${pkgname}-${pkgver}.tar.bz2)
+source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v${pkgver}/${pkgname}-${pkgver}.tar.bz2
+ agetty-typo.patch
+ write-freopen.patch
+ dmesg-non-printk.patch
+ dmesg-space.patch)
optdepends=('perl: for chkdupexe support')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ # patches from master
+ for patch in agetty-typo.patch write-freopen.patch dmesg-non-printk.patch dmesg-space.patch; do
+ patch -Np1 -i "${srcdir}/${patch}"
+ done
+
# hardware clock
sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i include/pathnames.h
@@ -40,4 +49,8 @@ package() {
make DESTDIR="${pkgdir}" install
}
-md5sums=('4dcacdbdafa116635e52b977d9d0e879')
+md5sums=('4dcacdbdafa116635e52b977d9d0e879'
+ '13838c6dd8df686e0f01ad0f236d2690'
+ '465817ff8f7c08411c8011ee91b50318'
+ 'f3ca75a1a22a2a739c5c22d92dc07ab0'
+ 'd9768f0b42d36d72c02ac7797b922ba1')
diff --git a/testing/util-linux/agetty-typo.patch b/testing/util-linux/agetty-typo.patch
new file mode 100644
index 000000000..a333d6280
--- /dev/null
+++ b/testing/util-linux/agetty-typo.patch
@@ -0,0 +1,27 @@
+From 89aed1c950376d828e1e0ddef94909a028e0517d Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Wed, 7 Sep 2011 07:37:03 +0200
+Subject: [PATCH] agetty: double equals sign typo in opentty()
+
+Reported-by: Francesco Cosoleto <cosoleto@gmail.com>
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ 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/testing/util-linux/dmesg-non-printk.patch b/testing/util-linux/dmesg-non-printk.patch
new file mode 100644
index 000000000..ea2354420
--- /dev/null
+++ b/testing/util-linux/dmesg-non-printk.patch
@@ -0,0 +1,69 @@
+From 22f69825778f992ff98ed100252bf5e00a15d9d1 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+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" <gzp@papp.hu>
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ 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/testing/util-linux/dmesg-space.patch b/testing/util-linux/dmesg-space.patch
new file mode 100644
index 000000000..2038888cc
--- /dev/null
+++ b/testing/util-linux/dmesg-space.patch
@@ -0,0 +1,31 @@
+From 31c9099a81d3a9c70fdceb198eebed678173d954 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Fri, 2 Sep 2011 14:42:04 +0200
+Subject: [PATCH] dmesg: remove extra space only after time stamp
+
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ 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/testing/util-linux/write-freopen.patch b/testing/util-linux/write-freopen.patch
new file mode 100644
index 000000000..a2014a107
--- /dev/null
+++ b/testing/util-linux/write-freopen.patch
@@ -0,0 +1,27 @@
+From b89fdd9c05a6e5f12ab56441389e5ee9d1d7f30f Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Tue, 6 Sep 2011 03:18:46 +0200
+Subject: [PATCH] write: fix path for freopen()
+
+Reported-by: xinglp <xinglp@gmail.com>
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ 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
+