Rafal Luzynski [Tue, 21 Mar 2017 08:27:08 +0000 (09:27 +0100)]
cal: Use ALTMON_* correctly
cal: use ALTMON_* and _NL_ABALTMON_* constants to display
months in a standalone form correctly. These constants have just
been newly added to glibc. ALTMON_x has been used in BSD family
since 1990s and has been accepted as the future POSIX extension.
_NL_ABALTMON_* is exclusively a GNU extension but it is expected
to be added to POSIX in future.
More info: https://sourceware.org/bugzilla/show_bug.cgi?id=10871
Undocumented at this time, because it is a skeleton
implementation. More debugging points are to be added after
refactoring is complete, or ad hoc in the mean time.
When fully implemented, enough time may have passed that the
deprecated --debug could be used to replace --ul-debug.
[kzak@redhat.com: - use __UL_INIT_DEBUG_FROM_STRING() to initialize the mask
- add hwclock_init_debug()]
Coauthored-by: Sami Kerola <kerolasa@iki.fi> Signed-off-by: Sami Kerola <kerolasa@iki.fi> Signed-off-by: J William Piggott <elseifthen@gmx.com> Signed-off-by: Karel Zak <kzak@redhat.com>
Carlos Santos [Sun, 14 Jan 2018 18:39:31 +0000 (16:39 -0200)]
docs: add ISC licence
Save the top 21 lines of sys-utils/rfkill.c as COPYING.ISC. This is
useful for Linux distributions an integration tools like Buildroot,
to collect detailed legal information for each package.
[kzak@redhat.com: - remove C-comments and rfkill header]
Signed-off-by: Carlos Santos <casantos@datacom.ind.br> Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Fri, 12 Jan 2018 10:59:22 +0000 (11:59 +0100)]
Merge branch 'mbsencode' of https://github.com/yontalcar/util-linux
* 'mbsencode' of https://github.com/yontalcar/util-linux:
tests: mark mbsencode as KNOWN_FAIL
tests: mbsencode - test for HAVE_WIDECHAR
lib/mbsalign: Fix escaping nonprintable multibyte characters
tests: mbsencode - removed emoji, added control unicode character
tests: add tests for encode functions from lib/mbsalign.c
lib/mbsalign: escape "\x" when HAVE_WIDECHAR not defined
Karel Zak [Fri, 12 Jan 2018 10:01:26 +0000 (11:01 +0100)]
include/debug: don't print pointer address for SUID programs
* introduce new flag __UL_DEBUG_FL_NOADDR to suppress pointer address printing
* use __UL_DEBUG_FL_NOADDR when SUID
* move ul_debugobj() to debugobj.h, and require UL_DEBUG_CURRENT_MASK
to provide access to the current mask from ul_debugobj(). It's better
than modify all ul_debugobj() calls and use the global mask as
argument.
* remove never used UL_DEBUG_DEFINE_FLAG
Reported-by: halfdog <me@halfdog.net> Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 2 Jan 2018 13:48:01 +0000 (14:48 +0100)]
sfdisk: wait before re-read
The original old (v2.13) fdisk had sleep(2) beany ideafore re-read ioctl. It
seems overkill, but short sleep is probably a good idea as we call
re-read on sfdisk start and at the end. It's possible that sfdisk is
too fast and the initial re-read is not gone yet.
It would be nice to have something more elegant than sleep, any idea?
Addresses: https://github.com/karelzak/util-linux/issues/557 Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 20 Dec 2017 11:29:16 +0000 (12:29 +0100)]
Merge branch 'gpt-part-name' of https://github.com/yontalcar/util-linux
* 'gpt-part-name' of https://github.com/yontalcar/util-linux:
libfdisk: return bytes processed from gpt_entry_set_name(), process rc
libfdisk: allocate enough bytes for ucs2 to utf8 encoding
libfdisk: gpt: properly encode string on rename
lib/mbsalign: encode backslash to prevent ambiguity
Karel Zak [Tue, 19 Dec 2017 12:46:35 +0000 (13:46 +0100)]
tests: don't use mount.<type> helpers in mount-by-pattern tests
The test behavior is fragile if depends on external helpers. Let's
keep it based on mount(2) only. The test will be faster too.
Note that "mount -t <pattern>" does not behaviour as expected with
helpers. We need to try another helper if the current one ends with
status=1 (waitpid()). Now it returns status from the first helper.
Reported-by: Ruediger Meier <sweet_f_a@gmx.de> Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 18 Dec 2017 12:57:20 +0000 (13:57 +0100)]
build-sys: don't check for swapon() number of arguments
The syscall swapon() with two arguments is supported since Linux 1.3.2
and it's really long time ago... Let's assume that all libc header files
have been already fixed.
Karel Zak [Mon, 18 Dec 2017 11:44:03 +0000 (12:44 +0100)]
cal: fix multi-byte comment, explain in better way
On Sun, Dec 17, 2017 at 07:47:49PM -0500, J William Piggott wrote
> * it contains multi-byte characters (which is what drew me to reading it).
> * it truncates one very important piece of the formula: ". . . (mod 7)."
> * it explains the values for 'e', but there is no 'e' in the code.
> * it doesn't include a row resolving 'e' in the table, so it is not
> obvious what it relates to in the code.
> * without citing it as an external reference, the comment language is confusing.
Co-Author: J William Piggott <elseifthen@gmx.com> Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 12 Dec 2017 12:19:36 +0000 (13:19 +0100)]
libsmartcols: don't add blank padding after left aligned title
Let's use the same semantic for the title as for the last column in
the table. If aligned on left, table is not "maxout" and title padding
symbol is undefined (or blank) then keep title as short as possible.
Addresses: https://github.com/karelzak/util-linux/issues/549 Signed-off-by: Karel Zak <kzak@redhat.com>
Year can wrap when adding the tm struct epoch during iso formatting:
hwclock --utc --noadjfile --predict --date '67768034678844900 seconds'
-2147481749-12-31 23:59:59.000000-05:00
Note: the 'seconds' argument is relative to the current time, so
reaching this max year output is a moving target. The values shown
above were invalid one second later. They then overflow tm_year
upon conversion with localtime(3) and friends, which causes them
to return NULL indicating that an error occurred.
Signed-off-by: J William Piggott <elseifthen@gmx.com>
Use reentrant time functions to avoid sending a NULL pointer to
format_iso_time() (and to be reentrant ;). Followup commits test for
errors and tm_year wrapping (illustrated below).
Sami Kerola [Sun, 3 Dec 2017 12:51:17 +0000 (12:51 +0000)]
setarch: minor code clean up
Remove global variable, skip unnecessary comparison, and remove version
printing function when a simple printf() can do the job. In same go fix
compiler warning.
Karel Zak [Mon, 4 Dec 2017 11:31:29 +0000 (12:31 +0100)]
login: add LOGIN_PLAIN_PROMPT to login.defs
We have command line option -H to disable hostname in login prompt.
Unfortunately, in same cases (e.g. telnetd) it's impossible to specify
login(1) command line options due to hardcoded execl()...
This patch introduces LOGIN_PLAIN_PROMPT boolean for /etc/login.defs
to suppress hostname in the prompt.
Karel Zak [Wed, 29 Nov 2017 13:26:42 +0000 (14:26 +0100)]
fallocate: dig holes only in data extents
Based on patch from Vaclav Dolezal <vdolezal@redhat.com>, this
implementation is less invasive.
The patch adds a new while() for pread() call (so diff is mostly code
indention). The pread() is called for a real data only (addressed by
'off' and 'end') and we use SEEK_{DATA,HOLE} before the pread() to
skip already existing holes. The variables 'file_off' and 'file_end'
addresses area in the file as specified on fallocate command line.
The CDROM_SELECT_SPEED should be available practically everywhere. Where
the define is missing an error message about path /proc/sys/dev/cdrom/info
cannot be opened is better error than a warnx() about kernel support.
Karel Zak [Tue, 28 Nov 2017 09:53:35 +0000 (10:53 +0100)]
nsenter: fix compiler warning [-Wuninitialized]
sys-utils/nsenter.c: In function ‘is_same_namespace’:
sys-utils/nsenter.c:170:2: warning: ‘b_ino’ may be used uninitialized in this function [-Wuninitialized]
sys-utils/nsenter.c:170:2: warning: ‘a_ino’ may be used uninitialized in this function [-Wuninitialized]
Karel Zak [Tue, 28 Nov 2017 09:45:06 +0000 (10:45 +0100)]
dmesg: fix compiler warning [-Wuninitialized]
sys-utils/dmesg.c: In function ‘print_record.constprop.12’:
sys-utils/dmesg.c:1039:14: warning: ‘mesg_size’ may be used uninitialized in this function [-Wuninitialized]