* '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
This enables libmount to build on non-linux, which also
means we can build fsck on non-linux again.
(Since the context part of libmount still needs porting,
building the mount utility has instead been restricted
to only build on Linux.)
This has been build-tested on Debian GNU/kFreeBSD.
Signed-off-by: Andreas Henriksson <andreas@fatal.se>
The glib versionf of getsgnam() is using /etc/nsswitch.conf, allowing the
group passwords to come from external database.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
* with configure --prefix=$HOME --libdir=$HOME usrlib_execdir
ends up being ${exec_prefix}/${libbir}, which is double-prefixed
* fix: use explict given ${libbir} if is matches ${prefix}/*
Signed-off-by: Christoph Junghans <ottxor@gentoo.org>
Add an 'agetty --reload' command which asks all running agetty
commands to display their prompts again.
Several of the /etc/issue escape codes such as \4 and \S depend on
variable data which can change after the agetty prompt is displayed.
This can cause stale data to be displayed when a user looks at a VT,
especially in cases of DHCP racing with system start up.
We never want this to occur once the user has started typing a
user name. So we detect when the user starts typing, after which
no further reprompting occurs after that point.
[kzak@redhat.com: - add #ifdefs to make it usable on non-inotify systems,
- use futimens() with NULL timespec
- add --reaload to usage()]
Signed-off-by: Stef Walter <stefw-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
The "linux only" check for pivot_root seems to suffer from
a cut-n-paste problem from the earlier switch_root part.
Signed-off-by: Andreas Henriksson <andreas@fatal.se>
We avoid or fix many portability issues.
The first more generic "sort --version-sort" solution was almost
useless anyway because autopoint itself can also only deal with
a few hardcoded versions.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
We add a little hack for backward compatibility on systems with
older gettext installed
See 0576dbd3 and 81ed13ed.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
* globally disable all Python bindings by --without-python
* use --with-python=<version> to specify Python version
* --enable-pylibmount to override --disable-all-programs
Reported-by: Ruediger Meier <sweet_f_a@gmx.de>
Signed-off-by: Karel Zak <kzak@redhat.com>
This is necessary to build only explicitly specified program/library,
for example to build only libblkid.so
./configure --disable-all-programs --enable-libblkid
or to build only hwclock(8):
./configure --disable-all-programs --enable-hwclock
Signed-off-by: Karel Zak <kzak@redhat.com>
Assumption is there are not many who need this tool. Whom ever they
might be the recommendation is to use the command from old util-linux
release. Second reason to removal is difficulty to test hardware
specific command when none of the active project members does not seem to
have such. Basically the command has reached dead end what comes to
maintainability of it.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This reverts commit 0576dbd3ea.
There is two possible ways:
1/ autotools complains that gettext 0.18 uses deprecated macro
2/ users complain that 0.18.2 is too new and they cannot rebuild
We care about users and project contributors, so let's live for the
next util-linux release with the old stupid gettext 0.18.
Signed-off-by: Karel Zak <kzak@redhat.com>
* systemd (since v209) uses only one library (when compiled
without --enable-compat-libs)
* all systemd build-sys stuff is merged into HAVE_SYSTEMD
(automake) and HAVE_LIBSYSTEMD (C macro) now
* all is controlled by --with-systemd, default is to automatically
check for systemd libs
* no more --enable-socket-activation and --enable-journald
Signed-off-by: Karel Zak <kzak@redhat.com>
The function is no critical for fdisk functionality. The SUN label
verification will check for less issues. All the verification code is
optional ('v' fdisk command).
Signed-off-by: Karel Zak <kzak@redhat.com>
Note that open_memstream() is POSIX-1.2008, so it's possible than not
all libc have already implemented this function.
Signed-off-by: Karel Zak <kzak@redhat.com>
The autopoint is designed to not use the latest installed bug fix
release, if you specify
AM_GNU_GETTEXT_VERSION([0.18])
in your configure.ac then it really uses 0.18, rather than also
installed 0.18.2 or 0.18.3. It means that bug fix update has no any
effect. Oh...
The AM_PROG_MKDIR_P is deprecated for years, unfortunately still used
in 0.18 gettext m4 stuff. This problem should be fixed in 0.18.2 where
is the correct AC_PROG_MKDIR_P macro.
If you do not have gettext 0.18.2 (or 0.18.3) then update.
Signed-off-by: Karel Zak <kzak@redhat.com>
This feature is hopefully mostly used to give MESSAGE_ID labels for
messages coming from scripts, making search of messages easy. The
logger(1) manual page update should give enough information how to use
--journald option.
[kzak@redhat.com: - add missing #ifdefs
- use xalloc.h]
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
[kzak@redhat.com: - remove USE_SOCKET_ACTIVATION and use
HAVE_* as we use for another libs]
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
This avoids unneeded churn during POT-file renewal and PO-file updates,
as the PO files at the TP are made with '--no-wrap'.
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
Acked-by: Sami Kerola <kerolasa@iki.fi>
* it seems that we don't have to link the utils with ncurses, tinfo is enough.
This change saves one unnecessary dependence.
* libtinfo is also distributed with pkg-config files, so we can use
PKG_CHECK_MODULES() as a primary source for LIBS and CFLAGS.
* add TINFO_CFLAGS (although it's probably always empty)
Signed-off-by: Karel Zak <kzak@redhat.com>
__sighandler_t is libc implementation specific and should not be relied
upon. Instead, we fall back upon void (*)(int), as specified by POSIX.
Signed-off-by: Karel Zak <kzak@redhat.com>
sys/types.h: For u_char typedef
sys/params.h: For MAXNAMLEN
sys/ttydefaults.h: For various tty definitions (also add configure check)
Signed-off-by: Karel Zak <kzak@redhat.com>
This allows './configure --enable-most-builds' and 'make distcheck' to
work when both python2 and python3 are installed, and user has set python
version preference using symlink and PATH order.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
The ncurses package has been providing pkg-config files for a while now.
So let's start using them to get the proper linker & compiler flags. It
can make a difference when ncurses is configured in a way that requires
extra link time flags but util-linux doesn't provide them, or when the
headers live in a weird place and util-linux can't find them.
Since the NCURSES_LIBS is always defined for the Makefile, there's no need
to gate on the HAVE_NCURSES conditional. When it's disabled, the var will
simply be empty.
With a minor tweak to how tinfo is handled, we can do the same thing -- we
just always use TINFO_LIBS in the Makefile's.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
- incorrect ${prefix} and ${exec_prefix} usage in AC_CASE
(bug introduced by commit 9f57e6e8)
- disable python by default (you have to use --with-python)
- add python paths to the finale ./configure info message
Signed-off-by: Karel Zak <kzak@redhat.com>
It seems we have to call AM_PATH_PYTHON() monster to get
pyexec (shared libs) and python (scripts) directories.
Signed-off-by: Karel Zak <kzak@redhat.com>
* we use pkg-config to get CGLAGS and LIBS, use package specific
config (e.g. python-config) is non-sense.
* default is to follow distribution and use pkg-config module name
"python". This is probably symlink to python2.pc or python3.pc.
* --with-python=2 forces to pkg-module "python2 >= 2"
* --with-python=3 forces to pkg-module "python3 >= 3"
Signed-off-by: Karel Zak <kzak@redhat.com>
While compiling with up to date Archlinux I notice the recently added
pylibmount does not link correctly. Failures inform fundamental types
such as PyFileObject and PyFile_Type being missing.
It seems automake AM_PATH_PYTHON will prefer the python in path, which
for this distribution right now is python3. As some sort of go-around
one can install older python, and symlink it to earlier in PATH lookup.
$ ln -s /usr/bin/python2 $HOME/bin/python
$ export PATH=$HOME/bin:$PATH
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This is necessary for paranoid security guys who believe that things
like "-Wl,-z,relro" or "-Wl,-z,bind_now" is a way how to make the
world a safer place...
Signed-off-by: Karel Zak <kzak@redhat.com>
It seems that our mesg(1) implementation is compatible with sysvinit,
let's use it by default in mainstream distros.
Signed-off-by: Karel Zak <kzak@redhat.com>
It seems to be pointless to spend time in ./configure phase when
preprocessor has to perform #ifndef check anyway.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
$ ./configure --disable-unshare
$ make nsenter
CC sys-utils/nsenter.o
In file included from sys-utils/nsenter.c:36:0:
./include/namespace.h:31:19: error: static declaration of ‘unshare’ follows non-static declaration
In file included from /usr/include/sched.h:42:0,
from sys-utils/nsenter.c:23:
/usr/include/bits/sched.h:86:12: note: previous declaration of ‘unshare’ was here
make: *** [sys-utils/nsenter.o] Error 1
We have to always check for the libc function independently on
--disable-{unshare,nsenter} to avoid collision between local and libc
declarations.
Reported-by: "Gabor Z. Papp" <gzp@papp.hu>
Signed-off-by: Karel Zak <kzak@redhat.com>
* extend UL_WARN_ADD() for accept non-default CFLAGS variable
* add BSD_WARN_CFLAGS with -Wno-clobbered
* use all this for pg(1) and more(1)
Signed-off-by: Karel Zak <kzak@redhat.com>
Our code depends on libuser >= 0.58, it's better to completely rely on
pkg-config results rather than also call UL_CHECK_LIB (that overwrites
previous pkg-config have_user= result independently on libuser
version).
Signed-off-by: Karel Zak <kzak@redhat.com>