* Re: [patches] small fixes to some messages and man pages, and some questions
From: Karel Zak @ 2011-08-15 13:34 UTC (permalink / raw)
To: Benno Schulenberg; +Cc: Util-Linux
In-Reply-To: <1313094127.6807.140258128661629@webmail.messagingengine.com>
> About the fourth patch I'm unsure. The current description of the option
> '--no-reread' is "skip partition re-read at boot". With "boot" is meant
> "program startup", so that needs to be corrected. But the real effect of
> --no-reread seems to be to just check that the relevant partition is not
> in use. Is that correct?
Yes.
> By the way, I don't understand why the options -g (--show-geometry) and
> -G (show-pt-geometry) are listed under "Dangerous options". How can
> they be dangerous when they just show things?
Hmm.. not sure.
> Also I do not understand the descriptions of the new options --nested,
> --chained, and --onesector. How is "disjoint" different from "mutually
> disjoint"? Would the following attempts at description be correct?
>
> --nested each logical and extended partition falls within an extended one
> --chained each logical partition falls within an extended one
> --onesector not any partition falls within another
The original comment from code:
/* There are two common ways to structure extended partitions:
as nested boxes, and as a chain. Sometimes the partitions
must be given in order. Sometimes all logical partitions
must lie inside the outermost extended partition.
NESTED: every partition is contained in the surrounding partitions
and is disjoint from all others.
CHAINED: every data partition is contained in the surrounding partitions
and disjoint from all others, but extended partitions may lie outside
(insofar as allowed by all_logicals_inside_outermost_extended).
ONESECTOR: all data partitions are mutually disjoint; extended partitions
each use one sector only (except perhaps for the outermost one).
*/
The default is NESTED and "inside the outermost extended partition".
> The fourteenth patch adds the missing "[options]" to the usage synopsis
> of scriptreplay, and also indicates the timingfile argument as optional.
> However, I find this a bit misleading: the timingfile is only optional when
> it is specified via the -t option. Wouldn't it be better to describe the
> command with two alternative synopses, as follows?
>
> Usage: scriptreplay timingfile [typescript [divisor]]
> or: scriptreplay [options] [timingfile] [typescript] [divisor]
scriptreplay [options] [-t] timingfile [typescript [divisor]]
?
Karel
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: [PATCH] partx: do not print null
From: Karel Zak @ 2011-08-15 12:36 UTC (permalink / raw)
To: Davidlohr Bueso; +Cc: util-linux
In-Reply-To: <1313177911.3305.10.camel@offbook>
On Fri, Aug 12, 2011 at 03:38:31PM -0400, Davidlohr Bueso wrote:
> partx/partx.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
Applied, thanks.
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: [PATCH] grammar fixes
From: Karel Zak @ 2011-08-15 12:36 UTC (permalink / raw)
To: Davidlohr Bueso; +Cc: util-linux
In-Reply-To: <1313172465.3305.4.camel@offbook>
On Fri, Aug 12, 2011 at 02:07:45PM -0400, Davidlohr Bueso wrote:
> libmount/src/context_umount.c | 4 ++--
> tests/ts/hwclock/systohc | 2 +-
> tests/ts/libmount/context | 10 +++++-----
> tests/ts/libmount/context-utab | 8 ++++----
> tests/ts/mount/devname | 6 +++---
> 5 files changed, 15 insertions(+), 15 deletions(-)
Applied, thanks.
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: [PATCH] hexdump: fix segfault due to uninitialized memory
From: Karel Zak @ 2011-08-15 12:36 UTC (permalink / raw)
To: util-linux
In-Reply-To: <20110810133227.GA14002@foxbat.suse.cz>
On Wed, Aug 10, 2011 at 03:32:28PM +0200, Petr Uzel wrote:
> text-utils/display.c | 4 ++--
> text-utils/parse.c | 6 +++---
> 2 files changed, 5 insertions(+), 5 deletions(-)
Applied, thanks.
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: [PATCH] dmesg: avoid mess at the end of dmesg output
From: Karel Zak @ 2011-08-15 12:35 UTC (permalink / raw)
To: util-linux
In-Reply-To: <20110810121639.GA19672@foxbat.suse.cz>
On Wed, Aug 10, 2011 at 02:16:40PM +0200, Petr Uzel wrote:
> sys-utils/dmesg.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
Applied, thanks.
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: [PATCH] logger.1: use simple apostrophe instead of multibyte char
From: Karel Zak @ 2011-08-15 12:35 UTC (permalink / raw)
To: util-linux
In-Reply-To: <20110810114604.GA31717@foxbat.suse.cz>
On Wed, Aug 10, 2011 at 01:46:06PM +0200, Petr Uzel wrote:
> misc-utils/logger.1 | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
Applied, thanks.
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: [PATCH] befs.c: validate di_br_size !=0 and br_per_di_br != 0
From: Karel Zak @ 2011-08-15 12:34 UTC (permalink / raw)
To: Timo Warns; +Cc: util-linux
In-Reply-To: <20110809074046.GA4237@vermeer.pre-sense.de>
On Tue, Aug 09, 2011 at 09:40:47AM +0200, Timo Warns wrote:
> diff -u util-linux-2.20-rc1-a/libblkid/src/superblocks/befs.c util-linux-2.20-rc1-b/libblkid/src/superblocks/befs.c
> --- util-linux-2.20-rc1-a/libblkid/src/superblocks/befs.c 2011-07-20 21:55:23.000000000 +0200
> +++ util-linux-2.20-rc1-b/libblkid/src/superblocks/befs.c 2011-08-09 09:32:56.000000000 +0200
Applied, thanks.
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: [PATCH] partx: support loop devices
From: Karel Zak @ 2011-08-15 11:58 UTC (permalink / raw)
To: Davidlohr Bueso; +Cc: util-linux
In-Reply-To: <1313381477.2509.1.camel@offbook>
On Mon, Aug 15, 2011 at 12:11:17AM -0400, Davidlohr Bueso wrote:
> @@ -800,14 +857,23 @@ int main(int argc, char **argv)
> if (what == ACT_ADD || what == ACT_DELETE) {
> struct stat x;
>
> - if (stat(wholedisk, &x) || !S_ISBLK(x.st_mode))
> - errx(EXIT_FAILURE, _("%s: not a block device"), wholedisk);
> + if (stat(wholedisk, &x) || !S_ISBLK(x.st_mode)) {
&& S_ISREG() :-)
> + /* not a blkdev, try to associate it to a loop device */
if (what == ACT_DELETE)
errx(EXIT_FAILURE, _("%s: cannot delete partitions"), wholedisk);
> + if (!loopmod_supports_parts())
> + errx(EXIT_FAILURE, _("%s: does not support loop device partitions"),
> + wholedisk);
> + assoc_loopdev(wholedisk);
> + wholedisk = xstrdup(lc.device);
> + }
> }
> if ((fd = open(wholedisk, O_RDONLY)) == -1)
> err(EXIT_FAILURE, _("%s: open failed"), wholedisk);
>
> - if (what == ACT_DELETE)
> + if (what == ACT_DELETE) {
> + if (loopdev)
> + errx(EXIT_FAILURE, _("%s: cannot delete partitions"), wholedisk);
> rc = del_parts(fd, wholedisk, disk_devno, lower, upper);
> + }
Does it make sense to initialize loop device if ACT_DELETE is requested?
Karel
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: [patch 0/8] various lscpu patches
From: Karel Zak @ 2011-08-15 9:24 UTC (permalink / raw)
To: Heiko Carstens; +Cc: util-linux
In-Reply-To: <20110815084530.GA2400@osiris.boeblingen.de.ibm.com>
On Mon, Aug 15, 2011 at 10:45:30AM +0200, Heiko Carstens wrote:
> On Wed, Aug 10, 2011 at 10:36:45AM +0200, Heiko Carstens wrote:
> > Hi Karel,
> >
> > here are a couple of fixes and improvemts for lscpu on s390.
> > Hopefully I didn't screw up anything ;)
> > At least on my Thinkpad everything still works as before and the output
> > on s390 machines is much improved.
>
> FWIW, I set up a git branch with the lscpu changes:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/heiko/util-linux.git lscpu
Looks good. Thanks.
I'm going to merge the changes after 2.20 release (~25th Aug).
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: [patch 0/8] various lscpu patches
From: Heiko Carstens @ 2011-08-15 8:45 UTC (permalink / raw)
To: Karel Zak; +Cc: util-linux
In-Reply-To: <20110810083645.135814950@de.ibm.com>
On Wed, Aug 10, 2011 at 10:36:45AM +0200, Heiko Carstens wrote:
> Hi Karel,
>
> here are a couple of fixes and improvemts for lscpu on s390.
> Hopefully I didn't screw up anything ;)
> At least on my Thinkpad everything still works as before and the output
> on s390 machines is much improved.
FWIW, I set up a git branch with the lscpu changes:
git://git.kernel.org/pub/scm/linux/kernel/git/heiko/util-linux.git lscpu
Thanks,
Heiko
^ permalink raw reply
* [PATCH] partx: support loop devices
From: Davidlohr Bueso @ 2011-08-15 4:11 UTC (permalink / raw)
To: Karel Zak; +Cc: util-linux
From: Davidlohr Bueso <dave@gnu.org>
Add support for loop devices to add partitions. For now we make use of the max_part parameter from the loop kernel module,
otherwise the feature is disabled.
Below an example output:
root@offbook:~/projects/util-linux/partx# ./partx images-pt/dos+bsd.img
# 1: 32- 7679 ( 7648 sectors, 3 MB)
# 2: 7680- 16383 ( 8704 sectors, 4 MB)
# 5: 7936- 12799 ( 4864 sectors, 2 MB)
# 6: 12544- 16127 ( 3584 sectors, 1 MB)
root@offbook:~/projects/util-linux/partx# ./partx -a -n 1:5 images-pt/dos+bsd.img
root@offbook:~/projects/util-linux/partx# ls /dev/loop0* -ltr
brw-rw---- 1 root disk 7, 0 2011-08-15 00:07 /dev/loop0
brw-rw---- 1 root disk 7, 5 2011-08-15 00:07 /dev/loop0p5
brw-rw---- 1 root disk 7, 2 2011-08-15 00:07 /dev/loop0p2
brw-rw---- 1 root disk 7, 1 2011-08-15 00:07 /dev/loop0p1
Signed-off-by: Davidlohr Bueso <dave@gnu.org>
---
partx/Makefile.am | 2 +
partx/partx.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 75 insertions(+), 4 deletions(-)
diff --git a/partx/Makefile.am b/partx/Makefile.am
index 6a72942..080bc47 100644
--- a/partx/Makefile.am
+++ b/partx/Makefile.am
@@ -11,6 +11,8 @@ partx_SOURCES = partx.c partx.h \
$(top_srcdir)/lib/at.c \
$(top_srcdir)/lib/mbsalign.c \
$(top_srcdir)/lib/strutils.c \
+ $(top_srcdir)/lib/canonicalize.c \
+ $(top_srcdir)/lib/loopdev.c \
$(top_srcdir)/lib/linux_version.c
partx_CFLAGS = -I$(ul_libblkid_incdir)
diff --git a/partx/partx.c b/partx/partx.c
index 0b35f9f..d0e40c7 100644
--- a/partx/partx.c
+++ b/partx/partx.c
@@ -31,6 +31,7 @@
#include "xalloc.h"
#include "partx.h"
#include "sysfs.h"
+#include "loopdev.h"
#include "at.h"
/* this is the default upper limit, could be modified by --nr */
@@ -88,7 +89,49 @@ static int columns[__NCOLUMNS], ncolumns;
static int verbose;
static int partx_flags;
+static struct loopdev_cxt lc;
+static int loopdev = 0;
+/*
+ * Check if the kernel supports partitioned loop devices.
+ * In a near future (around linux 3.2, hopefully) this will come
+ * always out of the box, until then we need to check.
+ */
+static int loopmod_supports_parts(void)
+{
+ int rc, ret = 0;
+ FILE *f = fopen("/sys/module/loop/parameters/max_part", "r");
+
+ if (!f)
+ return 0;
+ rc = fscanf(f, "%d", &ret);
+ fclose(f);
+ return ret;
+}
+
+static void assoc_loopdev(const char *fname)
+{
+ int rc;
+
+ loopcxt_init(&lc, 0);
+
+ rc = loopcxt_find_unused(&lc);
+ if (rc)
+ err(EXIT_FAILURE, "failed to find unused device");
+
+ if (verbose)
+ printf("Trying to use '%s' for the loop device\n", loopcxt_get_device(&lc));
+
+ if (loopcxt_set_backing_file(&lc, fname))
+ err(EXIT_FAILURE, "failed to set backing file");
+
+ rc = loopcxt_setup_device(&lc);
+
+ if (rc == -EBUSY)
+ err(EXIT_FAILURE, "failed to setup device for %s", fname);
+
+ loopdev = 1;
+}
static inline int get_column_id(int num)
{
@@ -278,6 +321,7 @@ static int del_parts(int fd, const char *device, dev_t devno,
return rc;
}
+
static void add_parts_warnx(const char *device, int first, int last)
{
if (first == last)
@@ -288,7 +332,7 @@ static void add_parts_warnx(const char *device, int first, int last)
}
static int add_parts(int fd, const char *device,
- blkid_partlist ls, int lower, int upper)
+ blkid_partlist ls, int lower, int upper)
{
int i, nparts, rc = 0, errfirst = 0, errlast = 0;
@@ -338,6 +382,19 @@ static int add_parts(int fd, const char *device,
if (errfirst)
add_parts_warnx(device, errfirst, errlast);
+
+ /* the kernel adds *all* loopdev partitions, so we should delete
+ any extra, unwanted ones, when the -n option is passed */
+ if (loopdev && (lower || upper)) {
+ for (i = 0; i < nparts; i++) {
+ blkid_partition par = blkid_partlist_get_partition(ls, i);
+ int n = blkid_partition_get_partno(par);
+
+ if (n < lower || n > upper)
+ partx_del_partition(fd, n);
+ }
+ }
+
return rc;
}
@@ -800,14 +857,23 @@ int main(int argc, char **argv)
if (what == ACT_ADD || what == ACT_DELETE) {
struct stat x;
- if (stat(wholedisk, &x) || !S_ISBLK(x.st_mode))
- errx(EXIT_FAILURE, _("%s: not a block device"), wholedisk);
+ if (stat(wholedisk, &x) || !S_ISBLK(x.st_mode)) {
+ /* not a blkdev, try to associate it to a loop device */
+ if (!loopmod_supports_parts())
+ errx(EXIT_FAILURE, _("%s: does not support loop device partitions"),
+ wholedisk);
+ assoc_loopdev(wholedisk);
+ wholedisk = xstrdup(lc.device);
+ }
}
if ((fd = open(wholedisk, O_RDONLY)) == -1)
err(EXIT_FAILURE, _("%s: open failed"), wholedisk);
- if (what == ACT_DELETE)
+ if (what == ACT_DELETE) {
+ if (loopdev)
+ errx(EXIT_FAILURE, _("%s: cannot delete partitions"), wholedisk);
rc = del_parts(fd, wholedisk, disk_devno, lower, upper);
+ }
else {
blkid_probe pr = blkid_new_probe();
blkid_partlist ls = NULL;
@@ -846,6 +912,9 @@ int main(int argc, char **argv)
blkid_free_probe(pr);
}
+ if (loopdev)
+ loopcxt_deinit(&lc);
+
close(fd);
return rc ? EXIT_FAILURE : EXIT_SUCCESS;
}
--
1.7.4.1
^ permalink raw reply related
* Re: [git pull] documentation directory
From: Sami Kerola @ 2011-08-12 20:58 UTC (permalink / raw)
To: Karel Zak; +Cc: util-linux
In-Reply-To: <20110808114617.GL2204@nb.net.home>
On Mon, Aug 8, 2011 at 13:46, Karel Zak <kzak@redhat.com> wrote:
> On Sat, Aug 06, 2011 at 07:57:53PM +0200, Sami Kerola wrote:
>> are available in the git repository at:
>> =A0 https://github.com/kerolasa/lelux-utiliteetit docs-dir
>>
>> discussion, and few rejects, before the Documentation/ is done to
>> upstream. For instance you might disagree with contents of
>> 00-about-docs.txt, and perhaps example.files/ should be deleted.
>
> =A0The 'Warning about content' in 00-about-docs.txt is too crazy :-)
> =A0Let's:
I thought you might say something like that.
> =A0- cleanup the files
> - remove obsolete information
Done in new patch `docs: clean up old readme files'. The clean up
could be more aggressive. For instance the fdisk.txt sounds very 90's
and has only a limited amount of usable information. Perhaps the file
be simply removed, or should someone be asked to volunteer to clean up
all {c,s,}fdisk documentation & manual pages? By glance that looks
quite large task.
> =A0- move valid information to the man pages
Perhaps I lacked imagination what could be moved coz I found so
little. See hwclock change for details.
> =A0- add info about authors to the AUTHORS file
I went through everything in Documentation/* and notice there's more
in NEWS file. Should that be migrated as well?
> =A0I have updated the example.files/ in the master branch.
Noted.
>> =A0README.devel =3D> Documentation/README.devel =A0 =A0 =A0 =A0 | =A0 =
=A00
>
> =A0see below
>
>> =A0.../ReleaseNotes}/v2.13-ReleaseNotes =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =
=A0 =A00
>
> =A0What about to rename the directory to releases/ ? The NEWS file should
> =A0be updated too.
Done.
>> =A0README.licensing =3D> Documentation/licensing.txt =A0 =A0| =A0 =A00
>
> =A0It would be nice to keep this file in the top-level directory.
Put back to root.
>> =A0tests/README =3D> Documentation/tests.txt =A0 =A0 =A0 =A0 =A0 =A0| =
=A0 =A00
>
> =A0howto-tests.txt
Renamed.
>> =A0Documentation/usage-howto.txt =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
=A0| =A0 73 ++++++++++++++++++++
>
> =A0howto-usage-function.txt
>
> =A0 and s/output/display/ in the file
Renamed & the wording is checked.
> =A0we also need howto-man-page.txt :-)
Something done, comments are welcome.
> =A0I think we can split the README file:
>
> =A0 =A0README =A0(basic info about project)
>
> =A0 =A0Documentation/howto-compilation.txt
>
> =A0In the howto-compilation.txt file should be also a note about
> =A0autogen.sh, static linking, klib and uClib and maybe some preferred
> =A0compiler options, I use:
>
> =A0 -Wmissing-parameter-type -Wsign-compare -Wtype-limits -Wuninitialized=
\
> =A0 -Wunused-parameter -Wunused-but-set-parameter -fno-common
>
> =A0We can also split README.devel to:
>
> =A0 =A0Documentation/howto-compilation.txt (add extra section for
> =A0 =A0developers (or SCM users) about about autotools).
>
> =A0 =A0Documentation/howto-contribute.txt with info about "ideal
> =A0 =A0patches", coding style.
>
> =A0 =A0Documentation/source-code-management.txt
This README.devel split was done as well.
The following changes since commit 344f73442d3a45db5927c049eef1ed8cf5d13934=
:
ipcs: use unsigned type for uid/gid (2011-08-09 15:30:19 +0200)
are available in the git repository at:
https://github.com/kerolasa/lelux-utiliteetit docs-dir
Sami Kerola (11):
docs: remove README.clear
docs: Documentation directory added
docs: add usage() howto for contributors
docs: tell what the Documentation/ is about
docs: new file Documentation/howto-compilation.txt
docs: new file Documentation/howto-contribute.txt
docs: new file Documentation/source-code-management.txt
docs: new file Documentation/howto-man-page.txt
docs: copy contributors from legacy files to AUTHORS
docs: clean up old readme files
docs: move setuid information from reame to hwclock.8
--=20
=A0=A0 Sami Kerola
=A0=A0 http://www.iki.fi/kerolasa/
^ permalink raw reply
* [PATCH] partx: do not print null
From: Davidlohr Bueso @ 2011-08-12 19:38 UTC (permalink / raw)
To: Karel Zak; +Cc: util-linux
From: Davidlohr Bueso <dave@gnu.org>
Date: Fri, 12 Aug 2011 15:36:50 -0400
Replace the annoying null output when displaying no partitions in verbose mode.
Signed-off-by: Davidlohr Bueso <dave@gnu.org>
---
partx/partx.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/partx/partx.c b/partx/partx.c
index b2a72ed..0b35f9f 100644
--- a/partx/partx.c
+++ b/partx/partx.c
@@ -795,7 +795,7 @@ int main(int argc, char **argv)
if (verbose)
printf(_("partition: %s, disk: %s, lower: %d, upper: %d\n"),
- device, wholedisk, lower, upper);
+ device ? device : "none", wholedisk, lower, upper);
if (what == ACT_ADD || what == ACT_DELETE) {
struct stat x;
--
1.7.4.1
^ permalink raw reply related
* [PATCH] grammar fixes
From: Davidlohr Bueso @ 2011-08-12 18:07 UTC (permalink / raw)
To: Karel Zak; +Cc: util-linux
From: Davidlohr Bueso <dave@gnu.org>
Date: Fri, 12 Aug 2011 14:06:13 -0400
Correct grammar from "cannot found" to "cannot find".
Signed-off-by: Davidlohr Bueso <dave@gnu.org>
---
libmount/src/context_umount.c | 4 ++--
tests/ts/hwclock/systohc | 2 +-
tests/ts/libmount/context | 10 +++++-----
tests/ts/libmount/context-utab | 8 ++++----
tests/ts/mount/devname | 6 +++---
5 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/libmount/src/context_umount.c b/libmount/src/context_umount.c
index 7c048d9..bc08aff 100644
--- a/libmount/src/context_umount.c
+++ b/libmount/src/context_umount.c
@@ -86,7 +86,7 @@ static int lookup_umount_fs(struct libmnt_context *cxt)
}
if (!fs) {
- DBG(CXT, mnt_debug_h(cxt, "umount: cannot found %s in mtab", tgt));
+ DBG(CXT, mnt_debug_h(cxt, "umount: cannot find %s in mtab", tgt));
return 0;
}
@@ -197,7 +197,7 @@ static int evaluate_permissions(struct libmnt_context *cxt)
if (!(cxt->flags & MNT_FL_TAB_APPLIED)) {
DBG(CXT, mnt_debug_h(cxt,
- "cannot found %s in mtab and you are not root",
+ "cannot find %s in mtab and you are not root",
mnt_fs_get_target(cxt->fs)));
goto eperm;
}
diff --git a/tests/ts/hwclock/systohc b/tests/ts/hwclock/systohc
index 9dedc62..f58d07e 100755
--- a/tests/ts/hwclock/systohc
+++ b/tests/ts/hwclock/systohc
@@ -24,7 +24,7 @@ NTP_SERVER="0.fedora.pool.ntp.org"
ts_init "$*"
ts_skip_nonroot
-[ -x "/usr/sbin/ntpdate" ] || ts_skip "cannot found ntpdate command"
+[ -x "/usr/sbin/ntpdate" ] || ts_skip "cannot find ntpdate command"
set -o pipefail
diff --git a/tests/ts/libmount/context b/tests/ts/libmount/context
index 8119cee..0b10098 100755
--- a/tests/ts/libmount/context
+++ b/tests/ts/libmount/context
@@ -30,7 +30,7 @@ modprobe scsi_debug dev_size_mb=100
sleep 3
DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
-[ "x${DEVNAME}" == "x" ] && ts_die "Cannot found device"
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
DEVICE="/dev/${DEVNAME}"
@@ -63,7 +63,7 @@ mkdir -p $MOUNTPOINT &> /dev/null
$TESTPROG --mount $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1
grep -q $DEVICE $LIBMOUNT_MTAB || \
- echo "(by device) cannot found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ echo "(by device) cannot find $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
ts_finalize_subtest
ts_init_subtest "umount-by-devname"
@@ -78,7 +78,7 @@ ts_init_subtest "mount-by-label"
mkdir -p $MOUNTPOINT &> /dev/null
$TESTPROG --mount LABEL="$LABEL" $MOUNTPOINT >> $TS_OUTPUT 2>&1
grep -q $DEVICE $LIBMOUNT_MTAB || \
- echo "(by label) cannot found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ echo "(by label) cannot find $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
ts_finalize_subtest
@@ -93,7 +93,7 @@ ts_init_subtest "mount-by-uuid"
mkdir -p $MOUNTPOINT &> /dev/null
$TESTPROG --mount UUID="$UUID" $MOUNTPOINT >> $TS_OUTPUT 2>&1
grep -q $DEVICE $LIBMOUNT_MTAB || \
- echo "(by uuid) cannot found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ echo "(by uuid) cannot find $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
$TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1
grep -q $DEVICE $LIBMOUNT_MTAB &&
echo "umount failed: found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
@@ -105,7 +105,7 @@ mkdir -p $MOUNTPOINT &> /dev/null
$TESTPROG --mount -o ro,noexec,nosuid,strictatime $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1
$TS_CMD_FINDMNT --kernel $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>&1
grep -q $DEVICE $LIBMOUNT_MTAB || \
- echo "cannot found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ echo "cannot find $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
$TESTPROG --mount -o remount,rw $MOUNTPOINT >> $TS_OUTPUT 2>&1
$TS_CMD_FINDMNT --kernel $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>&1
diff --git a/tests/ts/libmount/context-utab b/tests/ts/libmount/context-utab
index 5f36d28..94d4460 100755
--- a/tests/ts/libmount/context-utab
+++ b/tests/ts/libmount/context-utab
@@ -27,7 +27,7 @@ modprobe scsi_debug dev_size_mb=260
sleep 3
DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
-[ "x${DEVNAME}" == "x" ] && ts_die "Cannot found device"
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
DEVICE="/dev/${DEVNAME}"
@@ -64,7 +64,7 @@ ts_init_subtest "mount-by-devname"
mkdir -p $MOUNTPOINT &> /dev/null
$TESTPROG --mount $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1
grep -q $DEVICE /proc/mounts || \
- echo "(by device) cannot found $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>&1
+ echo "(by device) cannot find $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>&1
ts_finalize_subtest
ts_init_subtest "umount-by-devname"
@@ -78,7 +78,7 @@ ts_init_subtest "mount-uhelper"
mkdir -p $MOUNTPOINT &> /dev/null
$TESTPROG --mount -o uhelper=foo,rw LABEL="$LABEL" $MOUNTPOINT >> $TS_OUTPUT 2>&1
grep -q $DEVICE $LIBMOUNT_UTAB || \
- echo "(by label) cannot found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1
+ echo "(by label) cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1
ts_finalize_subtest
ts_init_subtest "umount"
@@ -98,7 +98,7 @@ if [ -x "/sbin/mkfs.btrfs" ]; then
mkdir -p $MOUNTPOINT &> /dev/null
$TESTPROG --mount -o uhelper=foo,rw,subvol=sub $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1
grep -q $DEVICE $LIBMOUNT_UTAB || \
- echo "cannot found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1
+ echo "cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1
ts_finalize_subtest
ts_log "All mount options (btrfs subvolume + utab) ---"
diff --git a/tests/ts/mount/devname b/tests/ts/mount/devname
index 4cbd087..8f32ef1 100755
--- a/tests/ts/mount/devname
+++ b/tests/ts/mount/devname
@@ -30,16 +30,16 @@ DEVICE=$(ts_device_init)
mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
-ts_device_has "TYPE" "ext3" $DEVICE || ts_die "Cannot found ext3 on $DEVICE" $DEVICE
+ts_device_has "TYPE" "ext3" $DEVICE || ts_die "Cannot find ext3 on $DEVICE" $DEVICE
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
-ts_is_mounted $DEVICE || ts_die "Cannot found $DEVICE in /proc/mounts" $DEVICE
+ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts" $DEVICE
grep -q $DEVICE /etc/mtab ||
- echo "mount failed: cannot found $DEVICE in mtab" >> $TS_OUTPUT 2>&1
+ echo "mount failed: cannot find $DEVICE in mtab" >> $TS_OUTPUT 2>&1
$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE" $DEVICE
--
1.7.4.1
^ permalink raw reply related
* [PATCH v2] whereis: search in path
From: Davidlohr Bueso @ 2011-08-12 17:55 UTC (permalink / raw)
To: Karel Zak, util-linux
Sorry for the delay, lots of things on my plate these days. Below is the patch with the mentioned fixes.
From: Davidlohr Bueso <dave@gnu.org>
Date: Fri, 12 Aug 2011 13:49:59 -0400
Currently this tool only uses the hardcoded paths for looking up strings for binaries, man pages and source code.
Adding directories found in $PATH makes a nice little enhancement to support a wider range of lookups.
This feature was also discussed previously here (http://www.spinics.net/lists/util-linux-ng/msg03429.html)
Signed-off-by: Davidlohr Bueso <dave@gnu.org>
---
misc-utils/whereis.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 68 insertions(+), 1 deletions(-)
diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c
index 08b62e6..6393a70 100644
--- a/misc-utils/whereis.c
+++ b/misc-utils/whereis.c
@@ -37,6 +37,10 @@
* - added Native Language Support
*/
+/* 2011-08-12 Davidlohr Bueso <dave@gnu.org>
+ * - added $PATH lookup
+ */
+
#include <sys/param.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -45,6 +49,8 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
+
+#include "xalloc.h"
#include "nls.h"
#include "c.h"
@@ -124,7 +130,7 @@ static char *srcdirs[] = {
};
static char sflag = 1, bflag = 1, mflag = 1, uflag;
-static char **Sflag, **Bflag, **Mflag;
+static char **Sflag, **Bflag, **Mflag, **dirp, **pathdir;
static int Scnt, Bcnt, Mcnt, count, print;
static void __attribute__ ((__noreturn__)) usage(FILE * out)
@@ -231,11 +237,68 @@ findin(char *dir, char *cp)
}
+static int inpath(const char *str)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(bindirs) - 1 ; i++)
+ if (!strcmp(bindirs[i], str))
+ return 1;
+
+ for (i = 0; i < ARRAY_SIZE(mandirs) - 1; i++)
+ if (!strcmp(mandirs[i], str))
+ return 1;
+
+ for (i = 0; i < ARRAY_SIZE(srcdirs) - 1; i++)
+ if (!strcmp(srcdirs[i], str))
+ return 1;
+
+ return 0;
+}
+
+static void fillpath(void)
+{
+ char *key=NULL, *tmp=NULL, *tok=NULL, *pathcp, *path = getenv("PATH");
+ int i = 0;
+
+
+ if (!path)
+ return;
+ pathcp = xstrdup(path);
+
+ for (tmp = pathcp; ;tmp = NULL, tok) {
+ tok = strtok_r(tmp, ":", &key);
+ if (!tok)
+ break;
+
+ /* make sure we don't repeat the search path */
+ if (inpath(tok))
+ continue;
+
+ pathdir = xrealloc(pathdir, (i + 1) * sizeof(char *));
+ pathdir[i++] = xstrdup(tok);
+ }
+
+ pathdir = xrealloc(pathdir, (i + 1) * sizeof(char *));
+ pathdir[i] = NULL;
+
+ dirp = pathdir;
+ free(pathcp);
+}
+
+static void freepath(void)
+{
+ free(pathdir);
+}
+
static void
findv(char **dirv, int dirc, char *cp)
{
+
while (dirc > 0)
findin(*dirv++, cp), dirc--;
+ while (*dirp)
+ findin(*dirp++, cp);
}
static void
@@ -359,6 +422,8 @@ main(int argc, char **argv)
if (argc == 0)
usage(stderr);
+ fillpath();
+
do
if (argv[0][0] == '-') {
register char *cp = argv[0] + 1;
@@ -411,5 +476,7 @@ main(int argc, char **argv)
} else
lookup(*argv++);
while (--argc > 0);
+
+ freepath();
return EXIT_SUCCESS;
}
--
1.7.4.1
^ permalink raw reply related
* PAM-only login(1)
From: Karel Zak @ 2011-08-12 11:57 UTC (permalink / raw)
To: util-linux
I'd like to clean up login(1) code for v2.21. The current code is
mess with many #ifdef and support for some unused (and badly tested)
features (e.g. non-PAM support for /etc/securetty and /etc/usertty).
What about to finally create nice and readable PAM-only login(1) for
Linux?
The alternatives for systems without PAM are busybox and shadow-utils.
Comments?
Karel
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* Re: mkswap fails to use more than 2GiB and doesn't recognize LVM
From: Karel Zak @ 2011-08-11 21:46 UTC (permalink / raw)
To: Florian Pritz; +Cc: util-linux
In-Reply-To: <20110811181454.GD32051@nb.net.home>
On Thu, Aug 11, 2011 at 08:14:54PM +0200, Karel Zak wrote:
> On Thu, Aug 11, 2011 at 05:32:57PM +0200, Florian Pritz wrote:
> > mkswap displays the following output when trying to create swap on a
> > 8GiB logical volume.
> > > # mkswap /dev/mapper/vg_brynhild-swap
> > > mkswap: warning: truncating swap area to 2097144 KiB
>
> It seems correct.
Ah... sorry, I didn't read your e-mail too carefully.
> The swap header does not allow to address more than
> UINT_MAX pages. You have to create more swap areas or use system with
> bigger pages.
Right, so if you have 4096 page size, then 4096 * 4294967295 is the
max size...
I think the problem is kernel version string -- "3.0". The mkswap
code uses the version string to set the limit.
The problem should be fixed in 2.20-rc1, commit
fa7e0d6d442de9f5940f99fd93f4522602439131.
Karel
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* [patches] small fixes to some messages and man pages, and some questions
From: Benno Schulenberg @ 2011-08-11 20:22 UTC (permalink / raw)
To: Util-Linux
[-- Attachment #1: Type: text/plain, Size: 1780 bytes --]
Hi,
Attached bunch of patches improve or correct several error messages
or usage synopses.
About the fourth patch I'm unsure. The current description of the option
'--no-reread' is "skip partition re-read at boot". With "boot" is meant
"program startup", so that needs to be corrected. But the real effect of
--no-reread seems to be to just check that the relevant partition is not
in use. Is that correct?
By the way, I don't understand why the options -g (--show-geometry) and
-G (show-pt-geometry) are listed under "Dangerous options". How can
they be dangerous when they just show things?
Also I do not understand the descriptions of the new options --nested,
--chained, and --onesector. How is "disjoint" different from "mutually
disjoint"? Would the following attempts at description be correct?
--nested each logical and extended partition falls within an extended one
--chained each logical partition falls within an extended one
--onesector not any partition falls within another
The two new options --inside-outer and --not-inside-outer have been
misdocumented as --inside-order and --not-inside-order. The last and
seventeenth patch fixes that.
The fourteenth patch adds the missing "[options]" to the usage synopsis
of scriptreplay, and also indicates the timingfile argument as optional.
However, I find this a bit misleading: the timingfile is only optional when
it is specified via the -t option. Wouldn't it be better to describe the
command with two alternative synopses, as follows?
Usage: scriptreplay timingfile [typescript [divisor]]
or: scriptreplay [options] [timingfile] [typescript] [divisor]
Regards,
Benno
--
http://www.fastmail.fm - Accessible with your email software
or over the web
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-mkfs.cramfs-clearer-error-message-cannot-close-inste.patch --]
[-- Type: text/x-patch; name="0001-mkfs.cramfs-clearer-error-message-cannot-close-inste.patch", Size: 990 bytes --]
From 8675f4f28e656a3d754a569afd0a732f786fa572 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 20:55:48 +0200
Subject: [PATCH 01/17] mkfs.cramfs: clearer error message, "cannot close" instead of "closing"
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
disk-utils/mkfs.cramfs.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/disk-utils/mkfs.cramfs.c b/disk-utils/mkfs.cramfs.c
index 9bb9153..5193634 100644
--- a/disk-utils/mkfs.cramfs.c
+++ b/disk-utils/mkfs.cramfs.c
@@ -665,7 +665,7 @@ static unsigned int write_file(char *file, char *base, unsigned int offset)
memcpy(base + offset, buf, image_length);
munmap(buf, image_length);
if (close (fd) < 0)
- err(MKFS_ERROR, _("closing file %s"), file);
+ err(MKFS_ERROR, _("cannot close file %s"), file);
/* Pad up the image_length to a 4-byte boundary */
while (image_length & 3) {
*(base + offset + image_length) = '\0';
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-fdisksgilabel-correct-the-grammar-of-an-error-messag.patch --]
[-- Type: text/x-patch; name="0002-fdisksgilabel-correct-the-grammar-of-an-error-messag.patch", Size: 894 bytes --]
From fb2664acf48c1c4c278caabade80f75ddd3ea467 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 20:57:07 +0200
Subject: [PATCH 02/17] fdisksgilabel: correct the grammar of an error message
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
fdisk/fdisksgilabel.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fdisk/fdisksgilabel.c b/fdisk/fdisksgilabel.c
index cc95598..8179bc1 100644
--- a/fdisk/fdisksgilabel.c
+++ b/fdisk/fdisksgilabel.c
@@ -533,7 +533,7 @@ int
sgi_change_sysid(int i, int sys)
{
if (sgi_get_num_sectors(i) == 0) /* caught already before, ... */ {
- printf(_("Sorry You may change the Tag of non-empty partitions.\n"));
+ printf(_("Sorry, only for non-empty partitions you can change the tag.\n"));
return 0;
}
if (((sys != ENTIRE_DISK) && (sys != SGI_VOLHDR))
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-sfdisk-gettextize-each-warning-as-a-whole.patch --]
[-- Type: text/x-patch; name="0003-sfdisk-gettextize-each-warning-as-a-whole.patch", Size: 1332 bytes --]
From aec94f1a8a9c2ae333f2659d283ad8f355869d01 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 20:58:49 +0200
Subject: [PATCH 03/17] sfdisk: gettextize each warning as a whole
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
fdisk/sfdisk.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/fdisk/sfdisk.c b/fdisk/sfdisk.c
index 6cd85a2..6ae0be4 100644
--- a/fdisk/sfdisk.c
+++ b/fdisk/sfdisk.c
@@ -1243,8 +1243,8 @@ partitions_ok(struct disk_desc *z) {
q = p->ep;
if (p->start < q->start
|| p->start + p->size > q->start + q->size) {
- my_warn(_("Warning: partition %s "), PNO(p));
- my_warn(_("is not contained in partition %s\n"), PNO(q));
+ my_warn(_("Warning: partition %s is not contained in "
+ "partition %s\n"), PNO(p), PNO(q));
return 0;
}
}
@@ -1255,8 +1255,8 @@ partitions_ok(struct disk_desc *z) {
for (q = p + 1; q < partitions + partno; q++)
if (q->size && !is_extended(q->p.sys_type))
if (!((p->start > q->start) ? disj(q, p) : disj(p, q))) {
- my_warn(_("Warning: partitions %s "), PNO(p));
- my_warn(_("and %s overlap\n"), PNO(q));
+ my_warn(_("Warning: partitions %s and %s overlap\n"),
+ PNO(p), PNO(q));
return 0;
}
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0004-sfdisk-improve-descriptions-of-options-no-reread-and.patch --]
[-- Type: text/x-patch; name="0004-sfdisk-improve-descriptions-of-options-no-reread-and.patch", Size: 1747 bytes --]
From 2f124ce033ced627e121522b07795e610b0c5b9d Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 20:59:49 +0200
Subject: [PATCH 04/17] sfdisk: improve descriptions of options --no-reread and --show-extended
Also keep the two geometry options (-g and -G) together by moving -A.
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
fdisk/sfdisk.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/fdisk/sfdisk.c b/fdisk/sfdisk.c
index 6ae0be4..b01723d 100644
--- a/fdisk/sfdisk.c
+++ b/fdisk/sfdisk.c
@@ -2378,13 +2378,13 @@ usage(FILE * out) {
fprintf(out, _("\nDangerous options:\n"
" -f, --force disable all consistency checking\n"
+ " --no-reread do not check whether the partition is in use\n"
" -g, --show-geometry print the kernel's idea of the geometry\n"
- " -A, --activate[=device] activate bootable flag\n"
" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+ " -A, --activate[=device] activate bootable flag\n"
" -U, --unhide[=device] set partition unhidden\n"
- " --no-reread skip partition re-read at boot\n"
- " -x, --show-extended also list extended partitions on output\n"
- " or expect descriptors for them on input\n"
+ " -x, --show-extended also list extended partitions in the output,\n"
+ " or expect descriptors for them in the input\n"
" --leave-last do not allocate the last cylinder\n"
" --IBM same as --leave-last\n"
" --in-order partitions are in order\n"
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0005-sfdisk-remove-inconsistent-and-wasteful-newlines-in-.patch --]
[-- Type: text/x-patch; name="0005-sfdisk-remove-inconsistent-and-wasteful-newlines-in-.patch", Size: 11969 bytes --]
From e2bac4d95b0d6da74215337a6211e1312ad771e7 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:02:10 +0200
Subject: [PATCH 05/17] sfdisk: remove inconsistent and wasteful newlines in the _() calls
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
fdisk/sfdisk.c | 113 +++++++++++++++++++++----------------------------------
1 files changed, 43 insertions(+), 70 deletions(-)
diff --git a/fdisk/sfdisk.c b/fdisk/sfdisk.c
index b01723d..cd494d0 100644
--- a/fdisk/sfdisk.c
+++ b/fdisk/sfdisk.c
@@ -489,10 +489,9 @@ get_cylindersize(char *dev, int fd, int silent) {
B.cylinders = B.total_size / B.cylindersize;
if (R.start && !force) {
- my_warn(_
- ("Warning: start=%lu - this looks like a partition rather than\n"
- "the entire disk. Using fdisk on it is probably meaningless.\n"
- "[Use the --force option if you really want this]\n"),
+ my_warn(_("Warning: start=%lu - this looks like a partition rather than\n"
+ "the entire disk. Using fdisk on it is probably meaningless.\n"
+ "[Use the --force option if you really want this]\n"),
R.start);
exit(1);
}
@@ -505,15 +504,13 @@ get_cylindersize(char *dev, int fd, int silent) {
R.sectors);
if (R.cylinders && B.cylinders != R.cylinders
&& B.cylinders < 65536 && R.cylinders < 65536)
- my_warn(_
- ("Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"),
+ my_warn(_("Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"),
R.cylinders);
#endif
if (B.sectors > 63)
- my_warn(_
- ("Warning: unlikely number of sectors (%lu) - usually at most 63\n"
- "This will give problems with all software that uses C/H/S addressing.\n"),
+ my_warn(_("Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+ "This will give problems with all software that uses C/H/S addressing.\n"),
B.sectors);
if (!silent)
printf(_("\nDisk %s: %lu cylinders, %lu heads, %lu sectors/track\n"),
@@ -960,8 +957,7 @@ out_partition_header(char *dev, int format, struct geometry G) {
if (G.cylindersize) {
printf(_("Units = cylinders of %lu bytes, blocks of 1024 bytes"
", counting from %d\n\n"), G.cylindersize << 9, increment);
- printf(_
- (" Device Boot Start End #cyls #blocks Id System\n"));
+ printf(_(" Device Boot Start End #cyls #blocks Id System\n"));
break;
}
/* fall through */
@@ -978,8 +974,7 @@ out_partition_header(char *dev, int format, struct geometry G) {
case F_MEGABYTE:
printf(_("Units = mebibytes of 1048576 bytes, blocks of 1024 bytes"
", counting from %d\n\n"), increment);
- printf(_
- (" Device Boot Start End MiB #blocks Id System\n"));
+ printf(_(" Device Boot Start End MiB #blocks Id System\n"));
break;
}
}
@@ -1138,20 +1133,17 @@ out_partition(char *dev, int format, struct part_desc *p,
aa = chs_to_longchs(a);
bb = chs_to_longchs(b);
if (a.s && !is_equal_chs(a, b))
- do_warn(_
- ("\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
+ do_warn(_("\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
aa.c, aa.h, aa.s, bb.c, bb.h, bb.s);
a = (size ? ulong_to_chs(end, G) : zero_chs);
b = p->p.end_chs;
aa = chs_to_longchs(a);
bb = chs_to_longchs(b);
if (a.s && !is_equal_chs(a, b))
- do_warn(_
- ("\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
+ do_warn(_("\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
aa.c, aa.h, aa.s, bb.c, bb.h, bb.s);
if (G.cylinders && G.cylinders < 1024 && bb.c > G.cylinders)
- do_warn(_
- ("partition ends on cylinder %ld, beyond the end of the disk\n"),
+ do_warn(_("partition ends on cylinder %ld, beyond the end of the disk\n"),
bb.c);
}
}
@@ -1223,15 +1215,13 @@ partitions_ok(struct disk_desc *z) {
for (p = partitions; p - partitions < partno; p++)
if (p->size == 0) {
if (p->p.sys_type != EMPTY_PARTITION)
- my_warn(_
- ("Warning: partition %s has size 0 but is not marked Empty\n"),
+ my_warn(_("Warning: partition %s has size 0 but is not marked Empty\n"),
PNO(p));
else if (p->p.bootable != 0)
my_warn(_("Warning: partition %s has size 0 and is bootable\n"),
PNO(p));
else if (p->p.start_sect != 0)
- my_warn(_
- ("Warning: partition %s has size 0 and nonzero start\n"),
+ my_warn(_("Warning: partition %s has size 0 and nonzero start\n"),
PNO(p));
/* all this is probably harmless, no error return */
}
@@ -1285,8 +1275,7 @@ partitions_ok(struct disk_desc *z) {
return 0;
}
if (p->size && p->start + p->size > ds) {
- my_warn(_
- ("Warning: partition %s extends past end of disk\n"),
+ my_warn(_("Warning: partition %s extends past end of disk\n"),
PNO(p));
return 0;
}
@@ -1302,9 +1291,8 @@ partitions_ok(struct disk_desc *z) {
if (p->p.sys_type == EXTENDED_PARTITION)
ect++;
if (ect > 1 && !Linux) {
- my_warn(_
- ("Among the primary partitions, at most one can be extended\n"
- " (although this is not a problem under Linux)\n"));
+ my_warn(_("Among the primary partitions, at most one can be extended\n"
+ " (although this is not a problem under Linux)\n"));
return 0;
}
}
@@ -1348,25 +1336,22 @@ partitions_ok(struct disk_desc *z) {
if (pno == -1)
pno = p - partitions;
else if (p - partitions < 4) {
- my_warn(_
- ("Warning: more than one primary partition is marked "
- "bootable (active)\n"
- "This does not matter for LILO, but the DOS MBR will "
- "not boot this disk.\n"));
+ my_warn(_("Warning: more than one primary partition is marked "
+ "bootable (active)\n"
+ "This does not matter for LILO, but the DOS MBR will "
+ "not boot this disk.\n"));
break;
}
if (p - partitions >= 4) {
- my_warn(_
- ("Warning: usually one can boot from primary partitions "
- "only\nLILO disregards the `bootable' flag.\n"));
+ my_warn(_("Warning: usually one can boot from primary partitions "
+ "only\nLILO disregards the `bootable' flag.\n"));
break;
}
}
if (pno == -1 || pno >= 4)
- my_warn(_
- ("Warning: no primary partition is marked bootable (active)\n"
- "This does not matter for LILO, but the DOS MBR will "
- "not boot this disk.\n"));
+ my_warn(_("Warning: no primary partition is marked bootable (active)\n"
+ "This does not matter for LILO, but the DOS MBR will "
+ "not boot this disk.\n"));
}
/* Is chs as we expect? */
@@ -1381,8 +1366,7 @@ partitions_ok(struct disk_desc *z) {
if (!chs_ok(b, PNO(p), _("start")))
return 0;
if (a.s && !is_equal_chs(a, b))
- my_warn(_
- ("partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
+ my_warn(_("partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
PNO(p), aa.c, aa.h, aa.s, bb.c, bb.h, bb.s);
a = p->size ? ulong_to_chs(p->start + p->size - 1, B) : zero_chs;
b = p->p.end_chs;
@@ -1391,12 +1375,10 @@ partitions_ok(struct disk_desc *z) {
if (!chs_ok(b, PNO(p), _("end")))
return 0;
if (a.s && !is_equal_chs(a, b))
- my_warn(_
- ("partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
+ my_warn(_("partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
PNO(p), aa.c, aa.h, aa.s, bb.c, bb.h, bb.s);
if (B.cylinders && B.cylinders < 1024 && bb.c > B.cylinders)
- my_warn(_
- ("partition %s ends on cylinder %ld, beyond the end of the disk\n"),
+ my_warn(_("partition %s ends on cylinder %ld, beyond the end of the disk\n"),
PNO(p), bb.c);
}
@@ -1816,8 +1798,7 @@ read_stdin(char **fields, char *line, int fieldssize, int linesize) {
if (*ip == 0)
return fno;
if (*ip != ',' && *ip != ';')
- fatal(_
- ("input error: unexpected character %c after %s field\n"),
+ fatal(_("input error: unexpected character %c after %s field\n"),
*ip, d->fldname);
*ip = 0;
goto nxtfld;
@@ -2163,8 +2144,7 @@ read_line(int pno, struct part_desc *ep, char *dev, int interactive,
p.size -= (p.size % unitsize(format));
}
if (p.size > ml1) {
- my_warn(_
- ("Warning: given size (%lu) exceeds max allowable size (%lu)\n"),
+ my_warn(_("Warning: given size (%lu) exceeds max allowable size (%lu)\n"),
(p.size + unitsize(0) - 1) / unitsize(0), ml1 / unitsize(0));
if (!force)
return 0;
@@ -2327,10 +2307,9 @@ read_input(char *dev, int interactive, struct disk_desc *z) {
z->partno = 0;
if (interactive)
- my_warn(_
- ("Input in the following format; absent fields get a default value.\n"
- "<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
- "Usually you only need to specify <start> and <size> (and perhaps <type>).\n"));
+ my_warn(_("Input in the following format; absent fields get a default value.\n"
+ "<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+ "Usually you only need to specify <start> and <size> (and perhaps <type>).\n"));
eof = 0;
for (i = 0; i < 4; i++)
@@ -2408,11 +2387,9 @@ static void
activate_usage(char *progn) {
puts(_("Usage:"));
printf(_("%s device list active partitions on device\n"), progn);
- printf(_
- ("%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"),
+ printf(_("%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"),
progn);
- printf(_
- ("%s -An device activate partition n, inactivate the other ones\n"),
+ printf(_("%s -An device activate partition n, inactivate the other ones\n"),
PROGNAME);
exit(1);
}
@@ -3040,8 +3017,7 @@ do_activate(char **av, int ac, char *arg) {
if (z->partitions[pno].p.bootable)
i++;
if (i != 1)
- my_warn(_
- ("You have %d active primary partitions. This does not matter for LILO,\n"
+ my_warn(_("You have %d active primary partitions. This does not matter for LILO,\n"
"but the DOS MBR will only boot a disk with 1 active partition.\n"),
i);
@@ -3167,10 +3143,9 @@ do_fdisk(char *dev) {
if (!no_write && !no_reread) {
my_warn(_("Checking that no-one is using this disk right now ...\n"));
if (reread_ioctl(fd)) {
- do_warn(_
- ("\nThis disk is currently in use - repartitioning is probably a bad idea.\n"
- "Umount all file systems, and swapoff all swap partitions on this disk.\n"
- "Use the --no-reread flag to suppress this check.\n"));
+ do_warn(_("\nThis disk is currently in use - repartitioning is probably a bad idea.\n"
+ "Umount all file systems, and swapoff all swap partitions on this disk.\n"
+ "Use the --no-reread flag to suppress this check.\n"));
if (!force) {
do_warn(_("Use the --force flag to overrule all checks.\n"));
exit(1);
@@ -3205,8 +3180,7 @@ do_fdisk(char *dev) {
fatal(_("I don't like these partitions - nothing changed.\n"
"(If you really want this, use the --force option.)\n"));
else
- do_warn(_
- ("I don't like this - probably you should answer No\n"));
+ do_warn(_("I don't like this - probably you should answer No\n"));
}
ask:
if (interactive) {
@@ -3241,10 +3215,9 @@ do_fdisk(char *dev) {
if (!reread_disk_partition(dev, fd))
exit_status = 1;
- my_warn(_
- ("If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
- "to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
- "(See fdisk(8).)\n"));
+ my_warn(_("If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+ "to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+ "(See fdisk(8).)\n"));
sync(); /* superstition */
exit(exit_status);
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0006-ul-in-usage-not-overwriting-but-overriding-is-meant.patch --]
[-- Type: text/x-patch; name="0006-ul-in-usage-not-overwriting-but-overriding-is-meant.patch", Size: 1060 bytes --]
From 5776dd6bcb05f4e2a666608ac2608cf123c3c15f Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:04:42 +0200
Subject: [PATCH 06/17] ul: in usage() not overwriting but overriding is meant
Also always use lowercase.
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
text-utils/ul.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/text-utils/ul.c b/text-utils/ul.c
index 1cbacfc..9e08bc1 100644
--- a/text-utils/ul.c
+++ b/text-utils/ul.c
@@ -137,8 +137,8 @@ usage(FILE *out)
fprintf(out, _(
"\nOptions:\n"
- " -t, --terminal TERMINAL overwrite TERM environment variable\n"
- " -i, --indicated Underlining is indicated by a separate line\n"
+ " -t, --terminal TERMINAL override the TERM environment variable\n"
+ " -i, --indicated underlining is indicated via a separate line\n"
" -V, --version output version information and exit\n"
" -h, --help display this help and exit\n\n"));
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: 0007-ul-make-usage-say-that-more-than-one-input-file-is-a.patch --]
[-- Type: text/x-patch; name="0007-ul-make-usage-say-that-more-than-one-input-file-is-a.patch", Size: 757 bytes --]
From 88f0d378e8ed1474bce2a16f0b7269576dc6a66e Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:06:07 +0200
Subject: [PATCH 07/17] ul: make usage() say that more than one input file is allowed
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
text-utils/ul.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/text-utils/ul.c b/text-utils/ul.c
index 9e08bc1..a52000b 100644
--- a/text-utils/ul.c
+++ b/text-utils/ul.c
@@ -133,7 +133,7 @@ usage(FILE *out)
{
fprintf(out, _(
"\nUsage:\n"
- " %s [options] [file]\n"), program_invocation_short_name);
+ " %s [options] [file...]\n"), program_invocation_short_name);
fprintf(out, _(
"\nOptions:\n"
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: 0008-ul-add-h-and-V-to-the-man-page-use-file-and-lowercas.patch --]
[-- Type: text/x-patch; name="0008-ul-add-h-and-V-to-the-man-page-use-file-and-lowercas.patch", Size: 1486 bytes --]
From fd4c3ccf8b3b9ca9b6f134fb297e5fe90e3a78c0 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:07:13 +0200
Subject: [PATCH 08/17] ul: add -h and -V to the man page; use "file" and lowercase
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
text-utils/ul.1 | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/text-utils/ul.1 b/text-utils/ul.1
index 7d4e57a..7992d72 100644
--- a/text-utils/ul.1
+++ b/text-utils/ul.1
@@ -39,11 +39,11 @@
.Nd do underlining
.Sh SYNOPSIS
.Nm ul
-.Op Fl i
+.Op Fl hiV
.Op Fl t Ar terminal
-.Op Ar name Ar ...
+.Op Ar file Ar ...
.Sh DESCRIPTION
-.Nm Ul
+.Nm ul
reads the named files (or standard input if none are given)
and translates occurrences of underscores to the sequence
which indicates underlining for the terminal in use, as specified
@@ -63,6 +63,8 @@ If the terminal cannot underline, underlining is ignored.
.Pp
The following options are available:
.Bl -tag -width Ds
+.It Fl h
+Display a help text and exit.
.It Fl i
Underlining is indicated by a separate line containing appropriate
dashes `\-'; this is useful when you want to look at the underlining
@@ -72,6 +74,8 @@ output stream on a crt-terminal.
.It Fl t Ar terminal
Overrides the terminal type specified in the environment with
.Ar terminal .
+.It Fl V
+Display version information and exit.
.El
.Sh ENVIRONMENT
The following environment variable is used:
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #10: 0009-ul-remove-superfluous-return-as-usage-does-not-retur.patch --]
[-- Type: text/x-patch; name="0009-ul-remove-superfluous-return-as-usage-does-not-retur.patch", Size: 873 bytes --]
From db67b9c1332a703b7071c2ff02db41b0e91819ef Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:10:29 +0200
Subject: [PATCH 09/17] ul: remove superfluous return as usage() does not return
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
text-utils/ul.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/text-utils/ul.c b/text-utils/ul.c
index a52000b..6132166 100644
--- a/text-utils/ul.c
+++ b/text-utils/ul.c
@@ -192,12 +192,11 @@ int main(int argc, char **argv)
case 'V':
printf(_("%s from %s\n"), program_invocation_short_name,
PACKAGE_STRING);
- return(EXIT_SUCCESS);
+ return EXIT_SUCCESS;
case 'h':
usage(stdout);
default:
usage(stderr);
- return EXIT_FAILURE;
}
setupterm(termtype, STDOUT_FILENO, &ret);
switch (ret) {
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #11: 0010-tailf-harmonize-option-argument-and-explanation-in-u.patch --]
[-- Type: text/x-patch; name="0010-tailf-harmonize-option-argument-and-explanation-in-u.patch", Size: 986 bytes --]
From 372194ba12cb789f5e03e59b70dcc60461d9d386 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:11:45 +0200
Subject: [PATCH 10/17] tailf: harmonize option argument and explanation in usage message
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
text-utils/tailf.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/text-utils/tailf.c b/text-utils/tailf.c
index fbe81c8..c8f3e91 100644
--- a/text-utils/tailf.c
+++ b/text-utils/tailf.c
@@ -200,8 +200,8 @@ static void __attribute__ ((__noreturn__)) usage(FILE *out)
fprintf(out, _(
"\nOptions:\n"
- " -n, --lines NUMBER output the last N lines\n"
- " -NUMBER same as -n NUMBER\n"
+ " -n, --lines NUMBER output the last NUMBER lines\n"
+ " -NUMBER same as `-n NUMBER'\n"
" -V, --version output version information and exit\n"
" -h, --help display this help and exit\n\n"));
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #12: 0011-hexdump-fix-beginnin-typo-in-usage-message.patch --]
[-- Type: text/x-patch; name="0011-hexdump-fix-beginnin-typo-in-usage-message.patch", Size: 1098 bytes --]
From 68cbfe5ad7c2aadbabee083d156ebd5ed893b691 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:12:56 +0200
Subject: [PATCH 11/17] hexdump: fix "beginnin" typo in usage message
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
text-utils/hexsyntax.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/text-utils/hexsyntax.c b/text-utils/hexsyntax.c
index 211e5d5..5cdd1de 100644
--- a/text-utils/hexsyntax.c
+++ b/text-utils/hexsyntax.c
@@ -145,7 +145,7 @@ void __attribute__((__noreturn__)) usage(FILE *out)
" -e format format string to be used for displaying data\n"
" -f format_file file that contains format strings\n"
" -n length interpret only length bytes of input\n"
- " -s offset skip offset bytes from the beginnin\n"
+ " -s offset skip offset bytes from the beginning\n"
" -v display without squeezing similar lines\n"
" -V output version information and exit\n\n"));
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #13: 0012-write-remove-inconsistent-periods-from-two-error-mes.patch --]
[-- Type: text/x-patch; name="0012-write-remove-inconsistent-periods-from-two-error-mes.patch", Size: 1097 bytes --]
From a592a8c71f020e3b44ca0f952de459cc94c39fdb Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:13:44 +0200
Subject: [PATCH 12/17] write: remove inconsistent periods from two error messages
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
term-utils/write.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/term-utils/write.c b/term-utils/write.c
index 8843362..b44f0e0 100644
--- a/term-utils/write.c
+++ b/term-utils/write.c
@@ -143,7 +143,7 @@ int main(int argc, char **argv)
exit(EXIT_FAILURE);
if (!msgsok)
errx(EXIT_FAILURE,
- _("you have write permission turned off."));
+ _("you have write permission turned off"));
} else
mytty = "<no tty>";
@@ -161,7 +161,7 @@ int main(int argc, char **argv)
argv[2] += 5;
if (utmp_chk(argv[1], argv[2]))
errx(EXIT_FAILURE,
- _("%s is not logged in on %s."),
+ _("%s is not logged in on %s"),
argv[1], argv[2]);
if (term_chk(argv[2], &msgsok, &atime, 1))
exit(EXIT_FAILURE);
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #14: 0013-script-indicate-that-the-file-argument-to-timing-is-.patch --]
[-- Type: text/x-patch; name="0013-script-indicate-that-the-file-argument-to-timing-is-.patch", Size: 1521 bytes --]
From 215d39ef6686e02db8a5842e5051242763ba2bd6 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:21:17 +0200
Subject: [PATCH 13/17] script: indicate that the file argument to --timing is optional
Also improve some other descriptions in the usage message.
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
term-utils/script.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/term-utils/script.c b/term-utils/script.c
index 1f88253..deba155 100644
--- a/term-utils/script.c
+++ b/term-utils/script.c
@@ -133,13 +133,13 @@ usage(FILE *out)
fprintf(out, _(
"\nOptions:\n"
- " -a, --append append output\n"
- " -c, --command COMMAND run command rather than interactive shell\n"
+ " -a, --append append the output\n"
+ " -c, --command COMMAND run COMMAND rather than interactive shell\n"
" -r, --return return exit code of the child process\n"
" -f, --flush run flush after each write\n"
- " --force use output file even it would be a link\n"
+ " --force use output file even when it is a link\n"
" -q, --quiet be quiet\n"
- " -t, --timing=FILE output timing data to stderr, or to file\n"
+ " -t, --timing[=FILE] output timing data to stderr (or to FILE)\n"
" -V, --version output version information and exit\n"
" -h, --help display this help and exit\n\n"));
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #15: 0014-scriptreplay-add-options-to-usage-and-timingfile-is-.patch --]
[-- Type: text/x-patch; name="0014-scriptreplay-add-options-to-usage-and-timingfile-is-.patch", Size: 870 bytes --]
From 498625334309e88b21acc859a24b986721b3d184 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:31:55 +0200
Subject: [PATCH 14/17] scriptreplay: add [options] to usage(), and timingfile is optional too
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
term-utils/scriptreplay.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/term-utils/scriptreplay.c b/term-utils/scriptreplay.c
index 86c82fd..d7fb031 100644
--- a/term-utils/scriptreplay.c
+++ b/term-utils/scriptreplay.c
@@ -36,7 +36,7 @@
void __attribute__((__noreturn__))
usage(FILE *out)
{
- fprintf(out, _("Usage: %s timingfile [typescript] [divisor]\n"),
+ fprintf(out, _("Usage: %s [options] [timingfile] [typescript] [divisor]\n"),
program_invocation_short_name);
fprintf(out, _(
"\nOptions:\n"
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #16: 0015-scriptreplay-improve-synopsis-and-formatting-in-man-.patch --]
[-- Type: text/x-patch; name="0015-scriptreplay-improve-synopsis-and-formatting-in-man-.patch", Size: 2215 bytes --]
From 8cf2b7aa035653cfc26226c275c412569447e492 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 21:46:13 +0200
Subject: [PATCH 15/17] scriptreplay: improve synopsis and formatting in man page
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
term-utils/scriptreplay.1 | 23 ++++++++++++-----------
1 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/term-utils/scriptreplay.1 b/term-utils/scriptreplay.1
index 5610eb1..785d60e 100644
--- a/term-utils/scriptreplay.1
+++ b/term-utils/scriptreplay.1
@@ -145,9 +145,10 @@ scriptreplay \- play back typescripts, using timing information
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.B scriptreplay
-.I timingfile
-.RI [ typescript
-.RI [ divisor ]]
+.RI [ option ...]
+.RI [ timingfile ]
+.RI [ typescript ]
+.RI [ divisor ]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This program replays a typescript, using timing information to ensure that
@@ -175,29 +176,29 @@ parameter.
By default, the typescript to display is assumed to be named \*(L"typescript\*(R",
but other filenames may be specified, as the second parameter.
.PP
-If the third parameter is specified, it is used as a speed-up multiplier. For
-example, a speed-up of 2 makes
+If the third parameter is specified, it is used as a speed-up multiplier.
+For example, a speed-up of 2 makes
.B scriptreplay
go twice as fast and a speed-up of 0.1 makes it go ten times slower
than the original session.
.SH OPTIONS
The options will overide old style arguments.
.TP
-.BR \-t , " \-\-timing FILE"
+.BR \-t , " \-\-timing " \fIfile\fR
File containing script timing output.
.TP
-.BR \-s , " \-\-typescript FILE"
-Script terminal output file.
+.BR \-s , " \-\-typescript " \fIfile\fR
+File containing the script terminal output.
.TP
-.BR \-d , " \-\-divisor NUM"
+.BR \-d , " \-\-divisor " \fInumber\fR
Speed up or slow down replay displaying by divisor. The argument
is floating point number.
.TP
.BR \-V , " \-\-version"
-Print version information.
+Display version information and exit.
.TP
.BR \-h , " \-\-help"
-Print a help message.
+Display a help message exit.
.SH "EXAMPLE"
.IX Header "EXAMPLE"
.Vb 7
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #17: 0016-script-normalize-formatting-of-the-man-page.patch --]
[-- Type: text/x-patch; name="0016-script-normalize-formatting-of-the-man-page.patch", Size: 3344 bytes --]
From 97795839cc61476c6d0cba4351bb9a1c29491ec6 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 10 Aug 2011 22:37:31 +0200
Subject: [PATCH 16/17] script: normalize formatting of the man page
Also improve the description of the --timing option,
and discard a then superfluous paragraph.
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
term-utils/script.1 | 37 ++++++++++++++++++-------------------
1 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/term-utils/script.1 b/term-utils/script.1
index f618ec3..5f96b9c 100644
--- a/term-utils/script.1
+++ b/term-utils/script.1
@@ -40,16 +40,16 @@
.Sh SYNOPSIS
.Nm script
.Op Fl a
-.Op Fl c Ar COMMAND
+.Op Fl c Ar command
.Op Fl e
.Op Fl f
.Op Fl q
-.Op Fl t[=FILE]
+.Op Fl t Ns Op Ns = Ns Ar file
.Op Fl V
.Op Fl h
.Op Ar file
.Sh DESCRIPTION
-.Nm Script
+.Nm script
makes a typescript of everything printed on your terminal.
It is useful for students who need a hardcopy record of an interactive
session as proof of an assignment, as the typescript file
@@ -73,32 +73,31 @@ Append the output to
or
.Pa typescript ,
retaining the prior contents.
-.It Fl c, Fl Fl command Ar COMMAND
-Run the COMMAND rather than an interactive shell.
+.It Fl c, Fl Fl command Ar command
+Run the
+.Ar command
+rather than an interactive shell.
This makes it easy for a script to capture the output of a program that
behaves differently when its stdout is not a tty.
.It Fl e, Fl Fl return
-Return the exit code of the child process. Uses the same format as bash
+Return the exit code of the child process. Uses the same format as bash
termination on signal termination exit code is 128+n.
.It Fl f, Fl Fl flush
-Flush output after each write. This is nice for telecooperation:
-One person does `mkfifo foo; script -f foo' and another can
+Flush output after each write. This is nice for telecooperation:
+one person does `mkfifo foo; script -f foo', and another can
supervise real-time what is being done using `cat foo'.
.It Fl Fl force
-Allow default output destination, e.g. typescript file, to be
-hard or symbolic link. The command will follow symbolic link.
+Allow the default output destination, i.e. the typescript file, to be a
+hard or symbolic link. The command will follow a symbolic link.
.It Fl q, Fl Fl quiet
Be quiet.
-.It Fl t, Fl Fl timing[=FILE]
-Output timing data to standard error. This data contains two fields,
-separated by a space. The first field indicates how much time elapsed since
-the previous output. The second field indicates how many characters were
-output this time. This information can be used to replay typescripts with
+.It Fl t, Fl Fl timing Ns Op Ns = Ns Ar file
+Output timing data to standard error, or to \fIfile\fR when given.
+This data contains two fields, separated by a space.
+The first field indicates how much time elapsed since the previous output.
+The second field indicates how many characters were output this time.
+This information can be used to replay typescripts with
realistic typing and output delays.
-
-The timing option is able to take file path as an argument. The
-file is used as output detination instead of standard error when
-it is supplied.
.It Fl V, Fl Fl version
Output version information and exit.
.It Fl h, Fl Fl help
--
1.7.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #18: 0017-sfdisk-correct-inside-order-to-inside-outer-in-docum.patch --]
[-- Type: text/x-patch; name="0017-sfdisk-correct-inside-order-to-inside-outer-in-docum.patch", Size: 1801 bytes --]
From 43dd49413578c384a059ba7c0ffcad60dab718ed Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Thu, 11 Aug 2011 21:47:15 +0200
Subject: [PATCH 17/17] sfdisk: correct '--inside-order' to '--inside-outer' in documentation
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
---
fdisk/sfdisk.8 | 4 ++--
fdisk/sfdisk.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/fdisk/sfdisk.8 b/fdisk/sfdisk.8
index c3f06b3..02e8d11 100644
--- a/fdisk/sfdisk.8
+++ b/fdisk/sfdisk.8
@@ -322,10 +322,10 @@ Caution, see warning section. To be documented.
.B \-\-not\-in\-order
Caution, see warning section. To be documented.
.TP
-.B \-\-inside\-order
+.B \-\-inside\-outer
Caution, see warning section. Chaining order.
.TP
-.B \-\-not\-inside\-order
+.B \-\-not\-inside\-outer
Caution, see warning section. Chaining order.
.TP
.B \-\-nested
diff --git a/fdisk/sfdisk.c b/fdisk/sfdisk.c
index cd494d0..08e1b0c 100644
--- a/fdisk/sfdisk.c
+++ b/fdisk/sfdisk.c
@@ -2368,8 +2368,8 @@ usage(FILE * out) {
" --IBM same as --leave-last\n"
" --in-order partitions are in order\n"
" --not-in-order partitions are not in order\n"
- " --inside-order all logicals inside outermost extended\n"
- " --not-inside-order not all logicals inside outermost extended\n"
+ " --inside-outer all logicals inside outermost extended\n"
+ " --not-inside-outer not all logicals inside outermost extended\n"
" --nested every partition is disjoint from all others\n"
" --chained like nested, but extended partitions may lie outside\n"
" --onesector partitions are mutually disjoint\n"
--
1.7.0.4
^ permalink raw reply related
* Re: mkswap fails to use more than 2GiB and doesn't recognize LVM
From: Florian Pritz @ 2011-08-11 18:52 UTC (permalink / raw)
To: util-linux
In-Reply-To: <20110811181454.GD32051@nb.net.home>
[-- Attachment #1: Type: text/plain, Size: 407 bytes --]
On 11.08.2011 20:14, Karel Zak wrote:
>> busybox mkswap crates the expected 8GiB swap, so I think this is a bug.
>
> Do you see see 8GiB swap area in /proc/swaps after swapon? I don't
> think so...
> cat /proc/swaps
Filename Type Size Used
Priority
/dev/dm-4 partition 8388604 0 -1
--
Florian Pritz
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: mkswap fails to use more than 2GiB and doesn't recognize LVM
From: Karel Zak @ 2011-08-11 18:14 UTC (permalink / raw)
To: Florian Pritz; +Cc: util-linux
In-Reply-To: <4E43F629.6040408@xinu.at>
On Thu, Aug 11, 2011 at 05:32:57PM +0200, Florian Pritz wrote:
> mkswap displays the following output when trying to create swap on a
> 8GiB logical volume.
> > # mkswap /dev/mapper/vg_brynhild-swap
> > mkswap: warning: truncating swap area to 2097144 KiB
It seems correct. The swap header does not allow to address more than
UINT_MAX pages. You have to create more swap areas or use system with
bigger pages.
> > mkswap: /dev/mapper/vg_brynhild-swap: warning: don't erase bootbits sectors
> > on whole disk. Use -f to force.
> > Setting up swapspace version 1, size = 2097140 KiB
> > no label, UUID=5eae2d8b-f664-46f5-983c-bdcd4301fa66
>
> I tried adding -p 8589934592 to force 8GiB, but that doesn't change
> anything.
:-)
> busybox mkswap crates the expected 8GiB swap, so I think this is a bug.
Do you see see 8GiB swap area in /proc/swaps after swapon? I don't
think so...
Karel
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply
* mkswap fails to use more than 2GiB and doesn't recognize LVM
From: Florian Pritz @ 2011-08-11 15:32 UTC (permalink / raw)
To: util-linux
[-- Attachment #1: Type: text/plain, Size: 799 bytes --]
Hi,
I'm running util-linux 2.19.1 with a x86_64 linux 3.0.1 on Arch Linux.
mkswap displays the following output when trying to create swap on a
8GiB logical volume.
> # mkswap /dev/mapper/vg_brynhild-swap
> mkswap: warning: truncating swap area to 2097144 KiB
> mkswap: /dev/mapper/vg_brynhild-swap: warning: don't erase bootbits sectors
> on whole disk. Use -f to force.
> Setting up swapspace version 1, size = 2097140 KiB
> no label, UUID=5eae2d8b-f664-46f5-983c-bdcd4301fa66
I tried adding -p 8589934592 to force 8GiB, but that doesn't change
anything.
It also fails to see that we are using LVM so this is not a real device
and we won't overwrite any boot sectors.
busybox mkswap crates the expected 8GiB swap, so I think this is a bug.
--
Florian Pritz
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* [PATCH] hexdump: fix segfault due to uninitialized memory
From: Petr Uzel @ 2011-08-10 13:32 UTC (permalink / raw)
To: util-linux
[-- Attachment #1: Type: text/plain, Size: 1875 bytes --]
util-linux commit 85bf44b714ab184907eb448eba389218956d6a51
replaced all calls to emalloc() with xmalloc(), whose semantics
is however different - it does not zero allocated memory. This
made hexdump segfault if MALLOC_PERTURB_ was set.
Reported-by: Kyrill Detinov <lazy.kent@opensuse.org>
Addresses: https://bugzilla.novell.com/show_bug.cgi?id=710877
Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
---
text-utils/display.c | 4 ++--
text-utils/parse.c | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/text-utils/display.c b/text-utils/display.c
index c700b02..ad638e7 100644
--- a/text-utils/display.c
+++ b/text-utils/display.c
@@ -233,8 +233,8 @@ get(void)
u_char *tmpp;
if (!curp) {
- curp = xmalloc(blocksize);
- savp = xmalloc(blocksize);
+ curp = xcalloc(1, blocksize);
+ savp = xcalloc(1, blocksize);
} else {
tmpp = curp;
curp = savp;
diff --git a/text-utils/parse.c b/text-utils/parse.c
index 7168aad..e41b4a0 100644
--- a/text-utils/parse.c
+++ b/text-utils/parse.c
@@ -86,7 +86,7 @@ void add(const char *fmt)
const char *savep;
/* Start new linked list of format units. */
- tfs = xmalloc(sizeof(FS));
+ tfs = xcalloc(1, sizeof(FS));
if (!fshead)
fshead = tfs;
else
@@ -102,7 +102,7 @@ void add(const char *fmt)
break;
/* Allocate a new format unit and link it in. */
- tfu = xmalloc(sizeof(FU));
+ tfu = xcalloc(1, sizeof(FU));
*nextfu = tfu;
nextfu = &tfu->nextfu;
tfu->reps = 1;
@@ -219,7 +219,7 @@ void rewrite(FS *fs)
* conversion character gets its own.
*/
for (nconv = 0, fmtp = fu->fmt; *fmtp; nextpr = &pr->nextpr) {
- pr = xmalloc(sizeof(PR));
+ pr = xcalloc(1, sizeof(PR));
if (!fu->nextpr)
fu->nextpr = pr;
else
--
1.7.3.4
Petr
--
Petr Uzel
IRC: ptr_uzl @ freenode
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply related
* [PATCH] dmesg: avoid mess at the end of dmesg output
From: Petr Uzel @ 2011-08-10 12:16 UTC (permalink / raw)
To: util-linux
[-- Attachment #1: Type: text/plain, Size: 1212 bytes --]
Since util-linux commit a7ee94f2204011f26232ed3133514bf6e0d4a62c,
dmesg incorrectly calculates number of bytes that are remaining in the
buffer in get_next_record(). This could, under specific circumstances,
cause printing mess at the end of dmesg output:
> dmesg | tail
[ 1191.478725] Adding 285488k swap on /root/swapfile. Priority:-2 extents:15 across:1186612k
[ 1205.588331] Adding 285488k swap on /root/swapfile. Priority:-2 extents:15 across:1186612k
\xffffffba\xffffffba
Reported-by: Glenn Doig <doiggl@velocitynet.com.au>
Addresses: https://bugzilla.novell.com/show_bug.cgi?id=710417
Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
---
sys-utils/dmesg.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c
index 94f8c11..705269d 100644
--- a/sys-utils/dmesg.c
+++ b/sys-utils/dmesg.c
@@ -494,6 +494,8 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec)
rec->next_size -= end - rec->next;
rec->next = rec->next_size > 0 ? end + 1 : NULL;
+ if (rec->next_size > 0)
+ rec->next_size--;
return 0;
}
--
1.7.3.4
Petr
--
Petr Uzel
IRC: ptr_uzl @ freenode
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply related
* [PATCH] logger.1: use simple apostrophe instead of multibyte char
From: Petr Uzel @ 2011-08-10 11:46 UTC (permalink / raw)
To: util-linux
[-- Attachment #1: Type: text/plain, Size: 789 bytes --]
Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
---
misc-utils/logger.1 | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/misc-utils/logger.1 b/misc-utils/logger.1
index 4312551..c5f8424 100644
--- a/misc-utils/logger.1
+++ b/misc-utils/logger.1
@@ -110,7 +110,7 @@ The
utility exits 0 on success, and >0 if an error occurs.
.Pp
Valid facility names are: auth, authpriv (for security information of a
-sensitive nature), cron, daemon, ftp, kern (can’t be generated from user
+sensitive nature), cron, daemon, ftp, kern (can't be generated from user
process), lpr, mail, news, security (deprecated synonym for auth), syslog,
user, uucp, and local0 to local7, inclusive.
.Pp
--
1.7.3.4
Petr
--
Petr Uzel
IRC: ptr_uzl @ freenode
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply related
* [patch 8/8] [PATCH] lscpu: add physical cpu address to parseable output
From: Heiko Carstens @ 2011-08-10 8:36 UTC (permalink / raw)
To: Karel Zak; +Cc: util-linux, Heiko Carstens
In-Reply-To: <20110810083645.135814950@de.ibm.com>
From: Heiko Carstens <heiko.carstens@de.ibm.com>
Print also the physical cpu address for each logical cpu in parsable
output if selected and present via sysfs.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
sys-utils/lscpu.1 | 5 +++--
sys-utils/lscpu.c | 22 ++++++++++++++++++++--
2 files changed, 23 insertions(+), 4 deletions(-)
--- a/sys-utils/lscpu.1
+++ b/sys-utils/lscpu.1
@@ -32,8 +32,9 @@ separate CPU cache columns. If no CPU ca
columns are not printed at all.
The \fIlist\fP argument is comma delimited list of the columns. Currently
-supported are CPU, Core, Node, Socket, Book, Cache and Polarization columns. If the
-\fIlist\fP argument is given then always all requested columns are printed in
+supported are CPU, Core, Node, Socket, Book, Cache, Polarization and Address
+columns.
+If the \fIlist\fP argument is given then always all requested columns are printed in
the defined order. The Cache columns are separated by ':'.
Note that the optional \fIlist\fP argument cannot be separated from the
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -168,6 +168,7 @@ struct lscpu_desc {
struct cpu_cache *caches;
int *polarization; /* cpu polarization */
+ int *addresses; /* physical cpu addresses */
};
static size_t sysrootlen;
@@ -199,7 +200,8 @@ enum {
COL_NODE,
COL_BOOK,
COL_CACHE,
- COL_POLARIZATION
+ COL_POLARIZATION,
+ COL_ADDRESS
};
static const char *colnames[] =
@@ -210,7 +212,8 @@ static const char *colnames[] =
[COL_NODE] = "Node",
[COL_BOOK] = "Book",
[COL_CACHE] = "Cache",
- [COL_POLARIZATION] = "Polarization"
+ [COL_POLARIZATION] = "Polarization",
+ [COL_ADDRESS] = "Address"
};
@@ -762,6 +765,16 @@ read_polarization(struct lscpu_desc *des
desc->polarization[num] = POLAR_UNKNOWN;
}
+static void
+read_address(struct lscpu_desc *desc, int num)
+{
+ if (!path_exist(_PATH_SYS_CPU "/cpu%d/address", num))
+ return;
+ if (!desc->addresses)
+ desc->addresses = xcalloc(desc->ncpus, sizeof(int));
+ desc->addresses[num] = path_getnum(_PATH_SYS_CPU "/cpu%d/address", num);
+}
+
static int
cachecmp(const void *a, const void *b)
{
@@ -916,6 +929,10 @@ print_parsable_cell(struct lscpu_desc *d
if (desc->polarization)
printf("%s", polar_modes[desc->polarization[i]]);
break;
+ case COL_ADDRESS:
+ if (desc->addresses)
+ printf("%d", desc->addresses[i]);
+ break;
}
}
@@ -1230,6 +1247,7 @@ int main(int argc, char *argv[])
read_topology(desc, i);
read_cache(desc, i);
read_polarization(desc, i);
+ read_address(desc, i);
}
qsort(desc->caches, desc->ncaches, sizeof(struct cpu_cache), cachecmp);
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox