Karel Zak [Fri, 19 Sep 2014 09:31:07 +0000 (11:31 +0200)]
sfdisk: add --backup and --backup-file
The option --backup force sfdisk to store *all* fragments of the
partition table (including MBR partition tables store in the
extended partitions) to
$HOME/sfdisk-<devname>-<offset>.bak
The options -O, -backup-file <path> allows to override the default
path, but sfdisk still appends <devname>-<offset>.bak to the <path>.
The backup files always contain only raw data from the device, so it's
possible to use dd(1) to restore original data on the device.
The original sfdisk also supported -O <file>, but semantic was little
bit different:
- all was based on 512-byte sectors
- all sectors was stored to the one file in format
<offset>|<sector>|<offset>|...
this original concept makes the backup files specific to sfdisk and with
dependence on sector size.
The new concept is the same we already use for wipefs(8) backup files.
Example (disk with GPT):
# sfdisk /dev/sda --backup
Welcome to sfdisk (util-linux 2.25.202-f4deb-dirty).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Karel Zak [Thu, 18 Sep 2014 09:56:49 +0000 (11:56 +0200)]
sfdisk: add deprecated --Linux
The sfdisk does not care about compatibility with classic DOS
partitioning, and it does not warn about incompatibility with DOS at
all. It means that --Linux is default and it's unnecessary to use
this option.
It's the same situation like with "--unit S", these options are very
probably often used in scripts, and these all is default now. So for
backward compatibility new sfdisk accepts these options on command
line, but prints "option is deprecated" warning message.
Karel Zak [Thu, 18 Sep 2014 08:43:19 +0000 (10:43 +0200)]
sfdisk: add --quiet
Note that original sfdisk implementation suppressed warning
messages for --quiet.
Now we keep warning and error messages visible, but suppress
extra info messages only (for example to make it more usable in
scripts). IMHO suppress warnings is bad idea.
Karel Zak [Mon, 15 Sep 2014 10:37:52 +0000 (12:37 +0200)]
sfdisk: add --parttype
The patch also makes --{id,change-id,print-id} deprecated in favour
of --parttype. The original --id is too generic option name and the
--print-id and --change-id are unnecessary and inconsistent with
another sfdisk options (e.g. we don't have --change-bootable)
Karel Zak [Tue, 7 Oct 2014 10:44:34 +0000 (12:44 +0200)]
libblkid: zeroize errno on blkid_probe_get_buffer() success
Since 37f4060225df0591ab8e1dd676dbc8115d900d4f prober functions are
sensitive to errno, it seems more robust to set errno=0 with in
blkid_probe_get_buffer() on success than set the zero on all places
where we call blkid_probe_get_buffer().
Addresses: https://github.com/karelzak/util-linux/issues/119 Signed-off-by: Karel Zak <kzak@redhat.com>
Sami Kerola [Sun, 28 Sep 2014 19:51:43 +0000 (20:51 +0100)]
include: fix compiler warnings
This change has motivation to make -Wall -pedantic compiler options to
spit a little bit less noise, which with luck will increase change to
notice real issues.
Multiple of these:
warning: ISO C forbids braced-groups within expressions [-Wpedantic]
And nearly 300 times reported:
include/c.h:75:41: warning: struct has no named members [-Wpedantic]
#define UL_BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
In file included from /usr/include/stdio.h:27:0,
from libuuid/src/gen_uuid.c:46: /usr/include/features.h:148:3:
warning: #warning "_BSD_SOURCE and _SVID_SOURCE are
deprecated, use _DEFAULT_SOURCE" [-Wcpp]
Notice that the Makefile.am has
AM_CPPFLAGS = \
-include config.h \
that enforces the config.h is included before any other hearer. In the
configure.ac there is AC_USE_SYSTEM_EXTENSIONS that makes all possible
features that can be supported in a system are turned on. With these two
there is absolutely no need for any legacy _SOURCE definitions.
Sami Kerola [Sun, 28 Sep 2014 19:51:36 +0000 (20:51 +0100)]
hexdump: remove deprecation message
Message 'calling hexdump as od has been deprecated in favor of GNU
coreutils od' has informed the hexdump not to be used like that for three
and half years, and five releases. It is time to get rid of notice.
Karel Zak [Wed, 1 Oct 2014 09:38:49 +0000 (11:38 +0200)]
cfdisk: don't modify ncurses LINES and COLS
On Sun, Sep 28, 2014 at 01:48:38AM -0700, pv4 wrote:
If ncurses is build with --enable-reentrant, building
util-linux-2.25.1 fails with the folllowing error:
disk-utils/cfdisk.c: In function 'resize':
disk-utils/cfdisk.c:202:9: error: lvalue required as left operand of assignment
LINES = ws.ws_row;
^
disk-utils/cfdisk.c:203:8: error: lvalue required as left operand of assignment
COLS = ws.ws_col;
^
man COLS gives the following:
Depending on the configuration, these may be actual variables,
or macros (see curs_threads(3X)) which provide read-only
access to curses's state. In either case, applications should
treat them as read-only to avoid confusing the library.
Addresses: https://github.com/karelzak/util-linux/issues/125 Signed-off-by: Karel Zak <kzak@redhat.com>
An example is, in one terminal "sudo su -; echo $$", and in
another terminal, "kill -9 $PID" (the pid of the su -). It
should not print "(core dumped)", unless the kill signal
specified so, e.g. kill -7 or kill -11.
libmount: don't return root if path contains // or ending /
If the path fx. is /foo/bar/ the initial stripoff will replace the last slash
with \0 and return a pointer to that exact \0 character. The same thing will
happen if the path contains // somewhere.
Karel Zak [Mon, 22 Sep 2014 12:55:37 +0000 (14:55 +0200)]
Merge branch 'misc' of git://github.com/kerolasa/lelux-utiliteetit
* 'misc' of git://github.com/kerolasa/lelux-utiliteetit:
textual: share crypt() error message in sulogin and newgrp
newgrp: avoid use of obsolete getpass() function
newgrp: use libc function to read gshadow if it is available
setarch: use personality() system call when it is available
setarch: reindent code
hwclock: remove referal to deprecated keyboard interface
eject: make open_device() and select_speed() to use struct eject_control
eject: add struct eject_control to remove global variables
mountpoint: simplify if statement
mkfs.minix: fix couple compiler warnings
mountpoint: add struct mountpoint_control
last: improve code readability by renaming variable names
last: make is_phantom() when kernel config does not include audit support
lib: remove xgetpass()
include: simplify fputc_careful() in carefulputc.h
libuuid: add extern qualifiers to uuid/uuid.h system header
Karel Zak [Mon, 22 Sep 2014 12:43:30 +0000 (14:43 +0200)]
Merge branch 'renice' of git://github.com/kerolasa/lelux-utiliteetit
* 'renice' of git://github.com/kerolasa/lelux-utiliteetit:
renice: reorder usage() option descriptions
rename: add getpriority() message lookup table
renice: fix numeric uid argument parsing
renice: avoid having same lines of code twice
renice: disallow --priority <arg> without pid argument
rename: use usage and version print out macros
renice: reorder functions to avoid need of function prototype