diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-10-17 22:01:41 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-10-17 22:01:41 +0000 |
commit | b64eb5e4ca032cabc04bceb44543638423a32e68 (patch) | |
tree | c3e8b7ac86945b1a119ef9b0a73e7bfa220fa4e0 /sys-apps/util-linux | |
parent | Mark alpha/arm/hppa/ia64/m68k/s390/sh stable #384305. (diff) | |
download | gentoo-2-b64eb5e4ca032cabc04bceb44543638423a32e68.tar.gz gentoo-2-b64eb5e4ca032cabc04bceb44543638423a32e68.tar.bz2 gentoo-2-b64eb5e4ca032cabc04bceb44543638423a32e68.zip |
Add fixes from upstream for dmesg stopping with blank newlines #385305 by Maxime Gervais. Add fix from upstream for nfs/btrfs unmounting #385323 by Thomas Arnett.
(Portage version: 2.2.0_alpha65/cvs/Linux x86_64)
Diffstat (limited to 'sys-apps/util-linux')
-rw-r--r-- | sys-apps/util-linux/ChangeLog | 11 | ||||
-rw-r--r-- | sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch | 102 | ||||
-rw-r--r-- | sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch | 32 | ||||
-rw-r--r-- | sys-apps/util-linux/util-linux-2.20-r1.ebuild | 119 |
4 files changed, 263 insertions, 1 deletions
diff --git a/sys-apps/util-linux/ChangeLog b/sys-apps/util-linux/ChangeLog index 49e63c106433..9d2c1fc87735 100644 --- a/sys-apps/util-linux/ChangeLog +++ b/sys-apps/util-linux/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for sys-apps/util-linux # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/ChangeLog,v 1.353 2011/10/17 22:00:09 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/ChangeLog,v 1.354 2011/10/17 22:01:41 vapier Exp $ + +*util-linux-2.20-r1 (17 Oct 2011) + + 17 Oct 2011; Mike Frysinger <vapier@gentoo.org> +util-linux-2.20-r1.ebuild, + +files/util-linux-2.20-dmesg-newline.patch, + +files/util-linux-2.20-sysfs-init.patch: + Add fixes from upstream for dmesg stopping with blank newlines #385305 by + Maxime Gervais. Add fix from upstream for nfs/btrfs unmounting #385323 by + Thomas Arnett. 17 Oct 2011; Mike Frysinger <vapier@gentoo.org> util-linux-2.19.1-r1.ebuild: Mark alpha/arm/hppa/ia64/m68k/s390/sh stable #384305. diff --git a/sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch b/sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch new file mode 100644 index 000000000000..6225e51b79bc --- /dev/null +++ b/sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch @@ -0,0 +1,102 @@ +https://bugs.gentoo.org/385305 + +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 + +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/sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch b/sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch new file mode 100644 index 000000000000..ac93787596a5 --- /dev/null +++ b/sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch @@ -0,0 +1,32 @@ +From 3a18db62e661fbb307ad3a53c18afabc92d3c63e Mon Sep 17 00:00:00 2001 +From: Petr Uzel <petr.uzel@suse.cz> +Date: Tue, 13 Sep 2011 11:08:46 +0200 +Subject: [PATCH] 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 <diego.ercolani@gmail.com> +Analysed-by: Neil Brown <nfbrown@suse.com> +Signed-off-by: Petr Uzel <petr.uzel@suse.cz> +--- + 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/sys-apps/util-linux/util-linux-2.20-r1.ebuild b/sys-apps/util-linux/util-linux-2.20-r1.ebuild new file mode 100644 index 000000000000..e7f823789aa8 --- /dev/null +++ b/sys-apps/util-linux/util-linux-2.20-r1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.20-r1.ebuild,v 1.1 2011/10/17 22:01:41 vapier Exp $ + +EAPI="3" + +EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git" +inherit eutils toolchain-funcs libtool flag-o-matic +[[ ${PV} == "9999" ]] && inherit git autotools + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} +S=${WORKDIR}/${MY_P} + +DESCRIPTION="Various useful Linux utilities" +HOMEPAGE="http://www.kernel.org/pub/linux/utils/util-linux/" +if [[ ${PV} == "9999" ]] ; then + SRC_URI="" + #KEYWORDS="" +else + SRC_URI="mirror://kernel/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.bz2 + loop-aes? ( http://loop-aes.sourceforge.net/updates/util-linux-2.20-20110905.diff.bz2 )" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-linux" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="+cramfs crypt ddate loop-aes ncurses nls old-linux perl selinux slang static-libs uclibc unicode" + +RDEPEND="!sys-process/schedutils + !sys-apps/setarch + !<sys-apps/sysvinit-2.88-r3 + !<sys-libs/e2fsprogs-libs-1.41.8 + !<sys-fs/e2fsprogs-1.41.8 + cramfs? ( sys-libs/zlib ) + ncurses? ( >=sys-libs/ncurses-5.2-r2 ) + perl? ( dev-lang/perl ) + selinux? ( sys-libs/libselinux ) + slang? ( sys-libs/slang )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/os-headers" + +src_prepare() { + if [[ ${PV} == "9999" ]] ; then + po/update-potfiles + autopoint --force + eautoreconf + else + use loop-aes && epatch "${WORKDIR}"/util-linux-*.diff + fi + epatch "${FILESDIR}"/${P}-dmesg-newline.patch + epatch "${FILESDIR}"/${P}-sysfs-init.patch + use uclibc && sed -i -e s/versionsort/alphasort/g -e s/strverscmp.h/dirent.h/g mount/lomount.c + elibtoolize +} + +lfs_fallocate_test() { + # Make sure we can use fallocate with LFS #300307 + cat <<-EOF > "${T}"/fallocate.c + #define _GNU_SOURCE + #include <fcntl.h> + main() { return fallocate(0, 0, 0, 0); } + EOF + append-lfs-flags + $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} "${T}"/fallocate.c -o /dev/null >/dev/null 2>&1 \ + || export ac_cv_func_fallocate=no + rm -f "${T}"/fallocate.c +} + +usex() { use $1 && echo ${2:-yes} || echo ${3:-no} ; } +src_configure() { + lfs_fallocate_test + econf \ + --enable-fs-paths-extra=/usr/sbin \ + $(use_enable nls) \ + --enable-agetty \ + $(use_enable cramfs) \ + $(use_enable ddate) \ + $(use_enable old-linux elvtune) \ + --with-ncurses=$(usex ncurses $(usex unicode auto yes) no) \ + --disable-kill \ + --disable-last \ + --disable-mesg \ + --enable-partx \ + --enable-raw \ + --enable-rename \ + --disable-reset \ + --disable-login-utils \ + --enable-schedutils \ + --disable-wall \ + --enable-write \ + --without-pam \ + $(use_with selinux) \ + $(use_with slang) \ + $(use_enable static-libs static) \ + $(tc-has-tls || echo --disable-tls) +} + +src_install() { + emake install DESTDIR="${D}" || die "install failed" + dodoc AUTHORS NEWS README* TODO docs/* + use ddate || find "${ED}"/usr/share/man -name 'ddate.1*' -delete + + if ! use perl ; then #284093 + rm "${ED}"/usr/bin/chkdupexe || die + rm "${ED}"/usr/share/man/man1/chkdupexe.1 || die + fi + + # need the libs in / + gen_usr_ldscript -a blkid uuid + # e2fsprogs-libs didnt install .la files, and .pc work fine + rm -f "${ED}"/usr/$(get_libdir)/*.la + + if use crypt ; then + newinitd "${FILESDIR}"/crypto-loop.initd crypto-loop || die + newconfd "${FILESDIR}"/crypto-loop.confd crypto-loop || die + fi +} |