build-sys: fix ENABLE_ALL

Signed-off-by: Karel Zak <kzak@redhat.com>
tests: remove deprecated mount tests

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests: ignore deprecated last

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
build-sys: use automake's PYTHON primary for __init__.py

Actually the initial reason for this commit was to remove execute
permission from installed __init__.py.

Now after discovering automake's _PYTHON suffix we slightly cleanup
Makemodule.am and we will install byte compiled .pyc and .pyo files.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
build-sys: restore make distcheck's configure flags

They got lost with --enable-most-builds in 08b1c219.

Note additionally we add --enable-gtk-doc but don't add
--with-systemd because there are still many systems where systemd
is not available.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
build-sys: fix update-potfiles script

Now are using "git ls-files" to avoid finding non-project
files or autoheaders which could break the dist tarball.

For non-git source dirs we assume that any existing POTFILES.in is
up-todate (build from tarball) or we provide at least an empty list
to not be a show-stopper for builds from poor "git archive".

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests: fix python tests for dist and out-of-tree builds

- add python helper scripts to the dist
- helper scripts are always in srcdir
- python libs are in builddir
- abort tests if helpers are missing

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
build-sys: add --enable-pylibmount

 * 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>
build-sys: fix with_python usage, improve logic

We have to set the default withval= on the default with_python=check
otherwise uninitialized value is used.

Signed-off-by: Karel Zak <kzak@redhat.com>
Merge branch 'misc-build-sys' of https://github.com/rudimeier/util-linux

* 'misc-build-sys' of https://github.com/rudimeier/util-linux:
  tests: fix python tests for dist and out-of-tree builds
  build-sys: fix update-potfiles script
  build-sys: restore make distcheck's configure flags
  build-sys: use automake's PYTHON primary for __init__.py
  tests: ignore deprecated last
  tests: remove deprecated mount tests

Conflicts:
	Makefile.am
cfdisk: add [Sort] operation

Signed-off-by: Karel Zak <kzak@redhat.com>
cfdisk: resize UI on SIGWINCH

Signed-off-by: Karel Zak <kzak@redhat.com>
docs: fix "behaviour" vs. "behavior"

Sometimes we use "behaviour" and "behavior" in the same text, let's
use "behavior" only everywhere.

Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1011068
Signed-off-by: Karel Zak <kzak@redhat.com>
mount: add btrfs to mount.8

Based on Documentation/filesystems/btrfs.txt

Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
libsmartcols: add debug messages

Signed-off-by: Karel Zak <kzak@redhat.com>
travis-ci: refactor and add .travis-functions.sh

Travis yaml syntax, where we can only use shell one-liners, is awful
and ugly. We add a real shell script and source it from .travis.yml.

This commit squashes a lot changes because we don't want to pollute
history with this meta CI stuff.

Highlights of this commit:
  - enable make distcheck
  - cleanup configure options (enable all progs, with python and docs)
  - shorter config.log dump
  - out-of-tree build supported
  - workaround broken libtool on travis host
  - now it's easy to add temporary debugging stuff
  - testing locally is possible now

What are we testing now:
  - gcc and clang compiler
  - configure mostly with --enable-all-programs, --with-python and
    --enable-gtk-doc
  - make check with and without root permissions
  - make distcheck
  - make install (with and without --prefix as well as DESTDIR=...)
  - usually we always build in-tree but distcheck does out-of-tree

What do we want/expect at all:
  - This travis setup is intended to always work without fixing or
    updating this build script all the time. Thats why we only use a
    few configure flags.
  - We want to avoid predictable failures on travis host to not make
    developers tired of this machinery. Any tested feature which is
    known to be (sometimes) broken should be fixed or skipped as soon
    as possible.
  - If this works like wanted then in future almost any point in master
    commit history should at least survive the build and common tests
    on this reference host/arch. Moreover we will have a comparable,
    deterministic build log history. This could make bisecting real
    bugs easier.
  - It's not our goal to test any kind of config flags, host setup and
    arch combination. This would be done better by external build
    scripts which do not live within the project itself.
  - Of course this machinery can be also used to reproduce bugs with
    more exotic config and host setup by pushing a debug branch with
    modified travis script to github.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
umount: Make sure exit code does not overflow

POSIX exit code is only 8-bit, and since umount sums up error
codes, it can sometimes report success (exit code 0) even though
a number of operations failed.

For example, running, in an empty directory:
 umount `seq 1 7`
returns 224 (7*32), since none of the 7 mount point exists but
 umount `seq 1 8`
returns 0 (8*32=256)

This patch clips the return value to 255.

Signed-off-by: Nicolas Boichat <nicolas@boichat.ch>
tests: rewrite hwclock test

Major changes:
 - don't use deprecated ntpdate but sntp client
 - don't update sys time from ntp, just compare offsets
 - now hwclock is the only command which needs root permissions
 - resolve ntp server to one fixed IP to get comparable offsets
   always from the same remote machine
 - don't enter the systohc/hctosys loop if not even --show works
 - verbose but not too ugly debug output

Note, maybe later the resolve_host function could be moved to functions.sh
because other tests (e.g. last) should check whether dns is available.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
libfdisk: fix bsd_translate_fstype() for alpha

Reported-by: Tobias Klausmann <klausman@schwarzvogel.de>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
flock: document exit status of flock in man page

The man page did not indicate that the exit status of flock
is actually that of the child command, when one is run.