util-linux
00-about-docs
AUTHORS
NEWS.Debian
PAM-configuration
="; if it cannot be so parsed, then the
original attribute_name is returned in a copied allocated string.
This is a convenience to allow user programs to want to translate user
input, whether it is of the form: "/dev/hda1", "LABEL=root",
"UUID=082D-26E3", and get back a device name that it can use.
Alternatively, of course, the programmer can pass an attribute name of
"LABEL", and value of "root", if that is more convenient.
Another common usage is to retrieve the value of a specific attribute
for a particular device. This can be used to determine the filesystem
type, or label, or uuid for a particular device:
if ((value = blkid_get_tag_value(cache, attribute_name, devname))) {
/* do something with value */
string_free(value);
}
If a program needs to call multiple blkid functions, then passing in a
cache value of NULL is not recommended, since the blkid.tab file
will be repeatedly parsed over and over again, with memory allocated
and deallocated. To initialize the blkid cache, blkid_get_cache()
function is used:
if (blkid_get_cache(&cache, NULL) < 0)
goto errout;
The second parameter of blkid_get_cache (if non-zero) is the alternate filename
of the blkid cache file (see blkid man page for more information about the
default cach file location).
Normally, programs should just pass in NULL.
If you have called blkid_get_cache(), you should call blkid_put_cache()
when you are done using the blkid library functions. This will save the
cache to the blkid.tab file, if you have write access to the file. It
will also free all associated devices and tags:
blkid_put_cache(cache);
">blkid
cal
changelog.Debian
col
in all scripts.
--------------------------
what: "pid" as binary name for "kill --pid"
why: too ugly, too obscure
--------------------------
What: mkfs
Why: use filesystem specific mkfs..
--------------------------
What: fdisk -s
Why: this does not belong to fdisk, use "blockdev --getsz"
--------------------------
What: 'udev' and 'list' blkid(8) output formats
Why: udevd links libblkid directly; the 'list' is unnecessary, use lsblk(8)
--------------------------
What: line(1) command
Why: useless, nobody uses this command, head(1) is better
--------------------------
What: pg(1) command
Why: use less(1) or more(1)
--------------------------
What: CHS stuff in fdisk (except SUN where are partitions addresses by cylinders only)
Why: use addresssing by sectors, CHS does not work with modern disks,
confusing for users...
--------------------------
What: losetup -s
Why: the option -s is in collision with the Loop-AES losetup dialect that is used
in some distributions. Use the long version (--show) only.
--------------------------
What: losetup output format without --list
deprecated format"
# losetup -a
/dev/loop0: []: (/home/fs-images/swap.img)
/dev/loop1: []: (/home/fs-images/disk.img), offset 100
new format:
# losetup
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0 0 0 0 0 /home/fs-images/swap.img
/dev/loop1 0 100 0 0 /home/fs-images/disk.img
--------------------------
What: tunelp
Why: parallel port printers are probably almost extinct devices
----------------------------
What: reset
Why: ncurses has better reset(1)
----------------------------
The Single UNIX(TM) Specification, Version 2
Copyright (C) 1997 The Open Group
Legacy utilities which are part util-linux package are:
col
line
pg
http://pubs.opengroup.org/onlinepubs/7908799/xcu/intro.html#tag_001_003_003
">deprecated
examples
getopt
getopt_changelog
" blocks are never nested within another "if BUILD_",
all dependencies have to be resolved in configure.ac (see UL_REQUIRES_BUILD())
- all BUILD_ in configure.am are always based on build_ variables,
for example:
AM_CONDITIONAL([BUILD_HWCLOCK], test "x$build_hwclock" = xyes)
the $build_ should be available in whole configure script
- AC_ARG_ENABLE() status is always stored in $enable_ variable, possible
setting:
"check" - util/feature is optional, if any subcomponent (function, lib,
...) is missing a warning is printed and the util/feature is
disabled
"yes" - util/feature is required, if any subcomponent (function, lib,
...) is missing an error is printed and ./configure aborted
"no" - the util/feature is unwanted
The default status is always defined by UL_DEFAULT_ENABLE() and it might be
globally modified by $ul_default_estate (see AC_ARG_ENABLE([all-programs])).
- it's possible to disable all programs, but enable just one (or more)
explicitly specified, for example:
./configure --disable-all-programs --enable-hwclock
- some basic scenarios for the ./configure script are defined in the
tools/config-gen.d/ directory. If you want to use these predefined scenarios
then call
./tools/config-gen [ ...]
for example
./tools/config-gen all selinux
will build all utils with enabled selinux support. You can also define some
CFLAGS, for example:
CFLAGS=$(rpm --eval '%optflags') ./tools/config-gen all
will use the default distro flags.
WARNING: config-gen is not designed for end-user or downstream distributions!
It's for development purpose only. All end-users and downstream have
to use standard ./configure script only.
- the tools/config-gen script is also used for build system regression tests,
the test is not enabled by default, you have to use
tests/run.sh build-sys --force
">howto-build-sys
howto-compilation
howto-contribute.txt
howto-debug
howto-man-page.txt
howto-pull-request.txt
for example:
$ ./run.sh blkid
$ ./run.sh libmount
The tests is possible to exclude by ./run.sh --exclude= where the
is blank separated test names in format "testdir/testname", for example:
$ ./run.sh --exclude="mount/move"
The --exclude is evaluated by the ./run.sh script only. See below
TS_OPT_testdir_[testscript_]fake=
environment variable which provides more powerful functionality to skip tests.
*** WARNING for root users ***
The tests touch your /etc/fstab, initialize loop devices or scsi_debug devices
if executed with root permissions.
Please, be careful and use these tests only for development and never on
production system.
environment variables
---------------------
TS_COMMAND
Evaluated by "make check" to override the default command (run.sh).
Example:
- build all test dependencies, but skip the actual test
$ make check TS_COMMAND="true"
TS_OPTS
Evaluated by "make check" to pass options.to run.sh (see ./run.sh --help).
Examples:
- run utmp tests only
$ make check TS_OPTS="--parallel=1 utmp"
TS_OPT_testdir_[testscript_]fake=""
Evaluated by any test script to skip certain tests.
Examples:
- skip all the tests within "fdisk" test-direcrory:
$ make check TS_OPT_fdisk_fake="yes"
- skip only "fdisk/bsd" test:
$ make check TS_OPT_fdisk_bsd_fake="yes"
- skip all "fdisk" tests except fdisk/bsd:
$ make check TS_OPT_fdisk_fake="yes" TS_OPT_fdisk_bsd_fake="no"
TS_OPT_testdir_[testscript_]known_fail=""
Similar usage like TS_OPT_*_fake above. "known_fail" means that the given
test will run but (negative) results will be ignored. The build log and test
diffs will still remind you about the issue.
TS_OPT_testdir_[testscript_]verbose=""
Set verbosity for certain tests. Similar usage like TS_OPT_*_fake above.
TS_OPT_testdir_[testscript_]memcheck=""
Run certain tests with valgrind. Similar usage like TS_OPT_*_fake above.
External services
-----------------
Travis CI - automatically executed for all github commits.
URL: https://travis-ci.org/karelzak/util-linux/
See .travis.yml for more details.
We require "sudo" to install additional stuff and to run the tests with
UID=0, it means that tests are executed on travis "legacy infrastructure".
Drone.io - automatically executed for all github commits.
URL: https://drone.io/github.com/karelzak/util-linux
The drone.io does not use any in-tree config file (like travis-ci), the
currently used configuration (maintained by Drone.io web UI):
MAKE_CHECK="root"
MAKE_CHECK_OPTS="--skip-loopdevs --exclude=mount/move"
source ./.travis-functions.sh
travis_install_script || exit
travis_before_script || exit
ret=0
travis_script || ret=$?
travis_after_script
exit $ret
yes, it shares the setup functions with travis-ci.
">howto-tests
howto-usage-function.txt
hwclock
modems-with-agetty
mount
pg
poeigl.txt
release-schedule
releases
* KNOWN BUGS:
- tag v2.13.1 is typo. Please, ignore this tag.
">source-code-management