
Util-linux-ng 2.15 Release Notes (05-May-2009)
==============================================

Release highlights
------------------

mkswap(8):
  - mkswap like many others mkfs-like utils ERASES THE FIRST BLOCKS on 
    the device to remove old on-disk filesystems. mkswap refuses to 
    erase the first block on a device with a disk label (SUN, BSD, ...)
    or on whole disk (e.g. /dev/sda).

  - DOES NOT SUPPORT v0 SWAP SPACE any more. The kernel has not
    supported v0 swap space format since 2.5.22. The new version v1 is 
    supported since 2.1.117.

swapon(8):
  - supports new command line option "-f/--fixpg" to reinitialize the
    swap space with a wrong pagesize. As swap format depends on the pagesize
    being used, it may happen that the pagesize of the swap space and the
    current pagesize differ.

login(1):
  - requires /etc/pam.d/remote when compiled with PAM support and
    executed with "-h <hostname>" option. The "-h" option is used by other
    servers (i.e., telnetd(8)) to pass the name of the remote host to login.

cal(1):
  - determines the first day of week from the locale.

libblkid, blkid(8) and findfs(8):
  The libblkid library has been moved from e2fsprogs to util-linux-ng. The 
  library has been extended and now includes:
  
    - low-level probing API that is useful for example for udev rules
      (cmdline: blkid -p -o udev <device>)

    - very high-level API that provides portable interface for LABELs and
      UUIDs evaluation on 2.4, 2.6 and udev-based system. It's recommended
      to use "blkid -L|-U" in your scripts rather than directly read 
      /dev/disk/by-* symlinks.

    - the old ABI and API is backwardly compatible with the current version
      from e2fsprogs.

  All utils (mount, swapon, fsck, ...) in the package is possible to link 
  against this new library, or the old version from e2fsprogs, or 
  libvolume_id from udev package.

  The default is still libblkid from e2fsprogs. The new library could be 
  enabled by "--with-fsprobe=builtin" configure option.

  The libvolume_id from udev and vol_id command is deprecated now.

fsck(8):
  - has been moved to from e2fsprogs to util-linux-ng.

dmesg(1)
  - supports new command line option "-r" to print the raw message buffer
    (i.e. don’t strip the log level prefixes).

flock(1):
  - allows lock directory

fsck.cramfs:
  - automatically detects the image endianness, and can work on images of 
    either endianness.

mkfs.cramfs:
  - now accepts a new optional parameter (-N) that allows creating 
    the cramfs image in either endianness.

renice(1):
  - supports new command line option "-n" for compatibility with POSIX

hwclock(8)
  - supports new command line option "--systz" to reset the System Time
    based on the current timezone. Since the system clock time is already
    set from the hardware clock by the kernel (when compiled with 
    CONFIG_RTC_HCTOSYS), there's no particular need to read the hardware
    clock again.

ionice(1):
  - supports new command line option "-t" option to ignore failure to set
    requested priority.  This might be of use in case something (selinux,
    old kernel, etc.) does not allow the requested scheduling priority 
    to be set.

  - the command line option "-p" handles multiple PIDs now.

losetup(8):
  - detaches more devices by "-d <loop> [<loop> ..]"

ipcmk(1):
  - this NEW COMMAND allows to create ad-hoc IPC resources.

lscpu(1):
  - this NEW COMMAND gathers CPU architecture information like number
    of CPUs, threads, cores, sock, NUMA nodes, information about CPU 
    caches, information about hypervisor and virtualization support, 
    ..etc. and prints it in human-readable or parse-able format.

namei(1):
  - supports new command line options --owners, --long and --vertical
    to print ls(1)-like output.


Stable maintenance releases between v2.14 and v2.15
---------------------------------------------------

util-linux-ng 2.14.1 [10-Aug-2008]

 * https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.1-ReleaseNotes
   https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.1-ChangeLog

util-linux-ng 2.14.2 [09-Feb-2009]

 * https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.2-ReleaseNotes
   https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.2-ChangeLog


ChangeLog between v2.14 and v2.15
---------------------------------

 For more details see ChangeLog files at:
 https://www.kernel.org/pub/linux/utils/util-linux/v2.15/

addpart:
   - 512-byte sectors in code, bytes in man-page  [Karel Zak]
agetty:
   - IUCLC and OLCUC are Linux extensions  [Aurelien Jarno]
   - check for termios.c_line struct member by autoconf  [Karel Zak]
   - sys/types.h and time.h are included more than once  [Karel Zak]
blkid:
   - Give a priority bonus to "leaf" devicemapper devices  [Theodore Ts'o]
   - LSI MegaRAID  [Karel Zak]
   - NVIDIA raid  [Karel Zak]
   - Optimize devicemapper support  [Theodore Ts'o]
   - Promise raid  [Karel Zak]
   - Refuse to create a device structure for a non-existent device  [Theodore Ts'o]
   - Unexport the private symbol blkid_devdirs  [Theodore Ts'o]
   - add  to reiser  [Karel Zak]
   - add -L -U options (evaluation API)  [root]
   - add -p and low-probe mode to blkid binary  [Karel Zak]
   - add Christoph's note about libdisk to TODO  [Karel Zak]
   - add DDF raid  [Karel Zak]
   - add DEBUG_LOWPROBE, cleanup a little debug stuff  [Karel Zak]
   - add GFS and GFS2  [Karel Zak]
   - add GFS2 UUID support  [Karel Zak]
   - add GFS2 reg. test  [Karel Zak]
   - add HFS and HFS+  [Karel Zak]
   - add HPFS  [Karel Zak]
   - add HTFS  [Karel Zak]
   - add ISW raid  [Karel Zak]
   - add JMicron RAID  [Karel Zak]
   - add LUKS support  [Karel Zak]
   - add LVM2 support and a fix _sprintf_uuid() bug  [Karel Zak]
   - add Linux RAID  [Karel Zak]
   - add Silicon Image Medlay RAID  [Karel Zak]
   - add TODO file  [Karel Zak]
   - add TODO hint about DM devnames in sysfs  [Karel Zak]
   - add TODO hint about blkid_parse_tag_string()  [Karel Zak]
   - add TODO note about blkid_evaluate_spec_to_buffer()  [Karel Zak]
   - add UDF support  [Karel Zak]
   - add UFS  [Karel Zak]
   - add VFAT support  [Karel Zak]
   - add VIA RAID  [Karel Zak]
   - add ZSF support  [Andreas Dilger]
   - add ZSF test  [Karel Zak]
   - add __attribute__ ((format))  [Karel Zak]
   - add a note to TODO list  [Karel Zak]
   - add adaptec raid  [Karel Zak]
   - add basic configure.ac stuff and blkid.pc  [Karel Zak]
   - add blkid_do_safeprobe()  [Karel Zak]
   - add blkid_evaluate_spec()  [Karel Zak]
   - add blkid_probe_get_sb() macro  [Karel Zak]
   - add btrfs support  [Karel Zak]
   - add cmdline interface for blkid_probe_filter_usage()  [Karel Zak]
   - add ddf raid regression test  [Karel Zak]
   - add ext{2,3,4,4devel} support  [Karel Zak]
   - add fallback to ext4 for 2.6.29+ kernels if ext2 is not present  [Theodore Ts'o]
   - add findfs(8)  [Karel Zak]
   - add highpoint{37x,45x} RAIDs  [Karel Zak]
   - add hpfs regression test  [Karel Zak]
   - add iso9600  [Karel Zak]
   - add jfs  [Karel Zak]
   - add low level probing API  [Karel Zak]
   - add lvm1  [Karel Zak]
   - add lvm2 reg.test  [Karel Zak]
   - add minix  [Karel Zak]
   - add missing blkidP.h to Makefile.am  [Karel Zak]
   - add missing hfs.c  [Karel Zak]
   - add netware (NSS)  [Karel Zak]
   - add netware regression test  [Karel Zak]
   - add new options to blkid.8 and help output  [Karel Zak]
   - add new requirements to TODO list  [Karel Zak]
   - add ocfs and oracleasm  [Karel Zak]
   - add ocfs2 version  [Karel Zak]
   - add proper copying info  [Karel Zak]
   - add reg.tests for HFS and HFS+  [Karel Zak]
   - add romfs  [Karel Zak]
   - add squashfs  [Karel Zak]
   - add support for /etc/blkid.conf file  [Karel Zak]
   - add sysv and xenix  [Karel Zak]
   - add tst_types.c to Makefile.am  [Karel Zak]
   - add udev ID_FS_* output to blkid binary  [Karel Zak]
   - add udev string encoding routines  [Karel Zak]
   - add uuid and version support to gfs2  [Karel Zak]
   - add version and probe FSInfo  [Karel Zak]
   - add version support to LVM2  [Karel Zak]
   - add vol_id call to blkid regression test  [Karel Zak]
   - add vxfs  [Karel Zak]
   - add xfs  [Karel Zak]
   - blkdev size fallback  [Karel Zak]
   - blkid.static make target  [Karel Zak]
   - blkid_evaluate_spec() shouldn't ignore $BLKID_FILE  [Karel Zak]
   - check calloc() return value  [Karel Zak]
   - check idinfo[] index  [Karel Zak]
   - clean up man pages  [Karel Zak]
   - cleanup _LOGPROBE debug messages  [Karel Zak]
   - cleanup starts of probing files  [Karel Zak]
   - compile TEST_PROGRAMs  [Karel Zak]
   - correctly initialize magics[] arrays  [Karel Zak]
   - create basic directories  [Karel Zak]
   - don't dereference NULL upon slashless module dependency line  [Jim Meyering]
   - fix ..._strncpy_uuid  [Karel Zak]
   - fix a syntax nit  [Karel Zak]
   - fix blkid_do_probe()  [Karel Zak]
   - fix blkid_probe_sprintf_version() usage  [Karel Zak]
   - fix blkid_safe_string()  [Karel Zak]
   - fix exit codes in blkid(8)  [Scott James Remnant]
   - fix ext2 SEC_TYPE  [Karel Zak]
   - fix file descriptor leak when checking for a module  [Karel Zak]
   - fix gcc warning in blkid_get_cache_filename()  [Karel Zak]
   - fix hedeader in ntfs.c  [Karel Zak]
   - fix highpoint37x offset  [Karel Zak]
   - fix low-probe mode return codes  [Karel Zak]
   - fix non-udev low-probe mode output  [Karel Zak]
   - fix ocfs2 detection  [Karel Zak]
   - fix typo (syntax error)  [Karel Zak]
   - fix udev output  [Karel Zak]
   - fix xfs label  [Karel Zak]
   - hfs - do not set UUID for emtpy finder info  [Kay Sievers]
   - hfs - use proper native UUID format  [Kay Sievers]
   - improve ddf detection  [Karel Zak]
   - linux_raid - fix logic for volumes with size == 0  [Karel Zak]
   - merge libblkid code from e2fsprogs/lib/blkid  [Karel Zak]
   - minor changes to library build system  [Karel Zak]
   - netware SB has to be packed  [Karel Zak]
   - optimize for string UUIDs  [Karel Zak]
   - re-order list of filesystems  [Karel Zak]
   - recognize ext3 with test_fs set as ext3  [Eric Sandeen]
   - recognize ext4(dev) without journal  [Eric Sandeen]
   - refresh TODO file  [Karel Zak]
   - remove blkid_types.h  [Karel Zak]
   - remove unnecessary debug message  [Karel Zak]
   - remove unnecessary ifdef __cplusplus  [Karel Zak]
   - remove unused stuff from Makefile  [Karel Zak]
   - remove useless if-before-free tests  [Jim Meyering]
   - remove whole-disk entries from cache when partitions are found  [Eric Sandeen]
   - rename blkid_debug_init to blkid_init_debug  [Karel Zak]
   - rename blkid_evaluate_spec to blkid_evaluate_tag  [Karel Zak]
   - set size for non-blkdevs, add blkid_probe_strcpy_uuid()  [Karel Zak]
   - split SONAME and LIBBLKID_VERSION  [Karel Zak]
   - start to use ABI versioning  [Karel Zak]
   - support detection of multiple signatures  [Karel Zak]
   - support via raid version 2  [Sven Jost]
   - update TODO  [Karel Zak]
   - update gitignore  [Karel Zak]
   - use "char **" rather than "unsigned char **"  [Karel Zak]
   - use /dev/mapper/<name> rather than /dev/dm-<N>  [Karel Zak]
   - use /sys/block/dm-<N>/dm/name  [Karel Zak]
   - use Requires.private and fix the include directory  [Karel Zak]
   - use blkid_probe_strcpy_uuid() for luks  [Karel Zak]
   - use posix uint32_t in ocfs superblock  [Karel Zak]
   - use posix uintXX_t in lvm code  [Karel Zak]
   - use sizeof() for hfs uuid  [Karel Zak]
   - vfat - fix declaration  [Kay Sievers]
blkis:
   - fix detection of ext4dev as ext4  [Eric Sandeen]
blockdev:
   - add note that the StartSec is in 512-byte sectors  [Karel Zak]
   - fix possible buffer overflow  [Karel Zak]
build-sys:
   - add $usrlibexecdir and fix paths for [/usr]/lib64  [Karel Zak]
   - add --disable-mount  [Alon Bar-Lev]
   - add --with=fsprobe=builtin  [Karel Zak]
   - add -luuid to BLKID_LIBS  [Karel Zak]
   - add fsck binary to .gitignore  [Karel Zak]
   - add missing AC_C_BIGENDIAN  [Karel Zak]
   - add missing files to include/Makefile.am  [Karel Zak]
   - add temporary libtool *.m4 stuff  [Karel Zak]
   - cleanup --with-fsprobe help string  [Karel Zak]
   - cleanup sys-utils/Makefile.am  [Karel Zak]
   - define libdir  [Karel Zak]
   - fix bugs detected by "make distcheck"  [Karel Zak]
   - libtoolize by libtool-2  [Karel Zak]
   - libtoolize mount/Makefile.am  [Karel Zak]
   - move pivot_root(8) to sys-utils  [Karel Zak]
   - refresh generated libtool-2 stuff  [Karel Zak]
   - release++ (v2.15-rc1)  [Karel Zak]
   - release++ (v2.15-rc2)  [Karel Zak]
   - remove use of devmapper library  [Karel Zak]
   - tgets is not in ncurses but in tinfo  [Arkadiusz Miśkiewicz]
   - use pkg-config for blkid and volume_id  [Karel Zak]
cal:
   - determine the first day of week from the locale  [Pádraig Brady]
   - remove gcc-ism from nl_langinfo() call  [Karel Zak]
cfdisk:
   - accept yes/no as fallback  [Matthias Koenig]
   - fix "cannot seek on disk drive" bug  [Karel Zak]
chfn:
   - several strings without gettext calls  [Karel Zak]
chrt:
   - add NLS support, clean error messages and return codes  [Karel Zak]
   - add a comment about non POSIX 1003.1b attributes in chrt.1  [Aurelien Jarno]
   - output buglet when reporting scheduling class  [Karel Zak]
   - support CFS SCHED_IDLE priority and document it  [Martin Steigerwald]
disk-utils:
   - clean up code, use blkdev_* functions  [Samuel Thibault]
   - include fcntl.h directly (mkfs.cramfs, raw)  [maximilian attems]
   - s/MOUNTED/_PATH_MOUNTED/  [maximilian attems]
dmesg:
   - Add -r (raw) option.  [Adam Jackson]
   - nuke old glibc 5 support  [maximilian attems]
docs:
   - TODO: add request to use nl_langinfo()  [Karel Zak]
   - TODO update  [Karel Zak]
   - add a note about /proc/sys/kernel/random/uuid  [Karel Zak]
   - add a note about kpartx to TODO  [Karel Zak]
   - add entry about /proc/partitions parsing  [Karel Zak]
   - add feature-requests from RH bugzilla to TODO list  [Karel Zak]
   - add suggestion about TZ=UTC to TODO file  [Karel Zak]
   - fix typo, cal(8) --> cal(1)  [Karel Zak]
   - update AUTHORS file  [Karel Zak]
   - update TODO list  [Karel Zak]
   - update v2.15 ReleaseNotes  [Karel Zak]
elvtune:
   - add NLS support  [Pedro Ribeiro]
fdisk:
   - (and partx) remove BLKGETLASTSECT  [Karel Zak]
   - add 0xaf HFS / HFS partition type  [Karel Zak]
   - add some missing includes  [Matthias Koenig]
   - cannot create partition with starting beyond 1 TB  [Karel Zak]
   - cleanup _PATH_DEV_* macros  [Karel Zak]
   - doesn't handle large (4KiB) sectors properly  [Eric Sandeen]
   - don't check for GPT when asked for disk size only  [Karel Zak]
   - don't use get_linux_version() for non-linux  [Samuel Thibault]
   - exit(3) needs stdlib.h include  [maximilian attems]
   - fix man page typo  [Karel Zak]
   - fix max. ptname  [Karel Zak]
   - non-linux support (BLK* and HDIO_*)  [Samuel Thibault]
   - read /proc/partitions in more robust way  [Karel Zak]
   - remove obsolete information from man page  [Karel Zak]
   - remove unnecessary gettext call  [Karel Zak]
   - rename ENABLE_CMDTAGQ macro  [Karel Zak]
   - round reported sizes rather than truncate  [Karel Zak]
   - several strings without gettext calls  [Pedro Ribeiro]
   - suggest partprobe(8) and kpartx(8) when BLKRRPART failed  [Vincent Deffontaines, Karel Zak]
   - support "-b 4096" option  [Karel Zak]
   - support +cylinder notation  [Karel Zak]
   - use real sector size in verify() and warn_cylinders()  [Karel Zak]
   - warn users about 2.2TB dos partition limit  [Karel Zak]
flock:
   - Allow lock directory  [Alexey Gladkov]
   - add NLS support, remove tailing white-spaces  [Karel Zak]
   - fix printf format error in usage()  [Karel Zak]
   - segfaults when file name is not given  [Karel Zak]
fsck:
   - cosmetic changes (NLS, paths, ...)  [Karel Zak]
   - link with generic fsprobe wrapper  [Karel Zak]
   - move fsck from e2fsprogs to util-linux-ng  [Karel Zak]
   - remove  from warning message  [Karel Zak]
   - remove useless if-before-free tests  [Karel Zak]
fsck.cramfs:
   - add NLS support  [Pedro Ribeiro]
   - fix compiler warning  [Karel Zak]
   - segfault with INCLUDE_FS_TESTS and no -x option  [Karel Zak]
fsck.minix:
   - add regression test  [Karel Zak]
getopt:
   - remove unnecessary ifdefs  [Karel Zak]
   - remove useless if-before-free tests  [Karel Zak]
hwclock:
   - add --systz option to set system clock from itself  [Scott James Remnant]
   - always reads hardware clock  [Karel Zak]
   - cleanup help output and man page  [Karel Zak]
   - clock.h is included more than once  [Karel Zak]
   - delay loop in set_hardware_clock_exact  [Kalev Soikonen]
   - don't open /dev/rtc repeatedly  [Karel Zak]
   - omit warning about drift if --noadjfile given  [Matthias Koenig]
   - read_hardware_clock_rtc() need to return error codes  [Karel Zak]
   - remove "cli" and "sti" from i386 CMOS code  [Karel Zak]
   - remove x86_64-specific bogon  [David Brownell]
   - several strings without gettext calls  [Pedro Ribeiro]
   - unshadow a diagnostic printf  [Kalev Soikonen]
   - use carefully synchronize_to_clock_tick() return codes  [Karel Zak]
   - use time limit for synchronization busy wait  [Karel Zak]
include:
   - add missing files to Makefile.am  [Karel Zak]
   - bitops - explicitly include endian.h  [Karel Zak]
   - move swapheader.h to include  [Matthias Koenig]
   - swapheader.h is missing in Makefile.am  [Karel Zak]
   - use __BYTE_ORDER rather than AC specific WORDS_BIGENDIAN  [Karel Zak]
ionice:
   - Extend the man page to explain the "none" class and cpu-nice inheritance  [Jakob Unterwurzacher]
   - a little cleanup of "none" description  [Karel Zak]
   - add -t option  [Lubomir Kundrak]
   - add strtol() checks, cleanup usage text and man page  [Karel Zak]
   - change Jens Axboe's email  [Karel Zak]
   - cleanup error messages, add NLS support  [Karel Zak]
   - cleanup man page  [Karel Zak]
   - fix typo in manpage  [Karel Zak]
   - let -p handle multiple PIDs  [Stephan Maka]
ipcmk:
   - add NLS support  [Karel Zak]
   - fix error codes and error messages  [Karel Zak]
   - new command  [Hayden James]
ipcs:
   - adjust some field positions and widths for correct alignment  [Benno Schulenberg]
   - fix exit codes, remove tailing white-spaces  [Karel Zak]
   - ungettextize the spacing of the table headers  [Benno Schulenberg]
ldattach:
   - don't compile for non-linux systems  [Samuel Thibault]
lib:
   - add __BYTE_ORDER to md5.c  [Karel Zak]
   - add is_whole_disk() from fdisk code  [Karel Zak]
   - add pttype.c for PT types detection  [Karel Zak]
   - add test_ismounted for regression test  [Karel Zak]
   - blkdev.c clean up, non-linux support  [Samuel Thibault]
   - do not include <linux/fd.h> in ismounted.c  [Aurelien Jarno]
   - fix fsprobe wrapper (const char * is nonsense)  [Karel Zak]
   - fsprobe - fix gcc warning  [Karel Zak]
   - gcc warning in fix fsprobe  [Karel Zak]
   - make open_device() optional in fsprobe.c  [Karel Zak]
   - pttype  add BSD subpartitions support  [Karel Zak]
   - pttype  fix DOS detection  [Karel Zak]
   - pttype - extend the API to work with file descriptors  [Karel Zak]
   - wholedisk - extend API, add test program  [Karel Zak]
   - pttype - fix typo  [Karel Zak]
logger:
   - several strings without gettext calls  [Pedro Ribeiro]
login:
   - cleanup includes  [Karel Zak]
   - fix compiler warning (int32 time() arg)  [Karel Zak]
   - fix warning "dereferencing type-punned pointer will break strict-aliasing rules"  [Karel Zak]
   - remove "switching users" nonsense from man page  [Karel Zak]
   - use "remote" as a PAM service name for "login -h"  [Karel Zak]
   - use open(2) rather then access(2) for $HOME/.hushlogin  [Karel Zak]
login-utils:
   - several strings without gettext calls  [Pedro Ribeiro]
losetup:
   - add warning about read-only mode  [Karel Zak]
   - clean up code around LO_FLAGS_AUTOCLEAR  [Karel Zak]
   - cleanup man page  [Karel Zak]
   - detach more devices by "-d <loop> [<loop> ..]"  [Karel Zak]
   - looplist_* refactoring, remove scandir()  [Karel Zak]
   - missing EBUSY error hint message  [Karel Zak]
   - mount endless loop hang  [Karel Zak]
   - remove dependence on minor numbers  [Karel Zak]
   - several strings without gettext strings  [Pedro Ribeiro]
   - try to set up loop readonly if EACCES  [Matthias Koenig]
lscpu:
   - --sysroot option and stable cache output  [Cai Qian]
   - add Hypervisor detection  [Karel Zak, Ky Srinivasan]
   - new command  [Cai Qian, Karel Zak]
   - regression tests  [Cai Qian]
   - return EXIT_SUCCESS at the end  [Matthias Koenig]
misc-utils:
   - write include signal.h directly  [maximilian attems]
mkfs.cramfs:
   - add endianness support to cramfs tools  [Roy Peled]
   - lower memory requirements for layouts with duplicate files  [Roy Peled]
   - several strings without gettext calls  [Pedro Ribeiro]
mkfs.minix:
   - (and fsck) rename bitops.h  [Karel Zak]
   - add regression test  [Karel Zak]
   - fix size detection  [Matthias Koenig]
   - remove local implementation of {set,clr}bit  [Karel Zak]
mkswap:
   - clean up man page  [Karel Zak]
   - handle 2^32 pages  [Hugh Dickins]
   - non-linux support  [Samuel Thibault]
   - remove v0 swap space support  [Karel Zak]
   - zap bootbits  [Karel Zak]
more:
   - don't use a.out.h  [Mike Frysinger]
   - minor fixes to magic()  [James Youngman]
mount:
   - Add strictatime support  [Matthew Garrett]
   - add docs about utf8=0 for vfat  [Karel Zak]
   - add i_version support  [Karel Zak]
   - add info about /proc/mounts to mount.1  [Karel Zak]
   - add info about semantics of read-only mount to mount.8  [Karel Zak]
   - add info about tz=UTC option for FAT to mount.8  [Karel Zak]
   - add norealtime to mount.8  [Karel Zak]
   - add rootcontext= SELinux mount option  [Karel Zak]
   - add shortoptions for bind, move and rbind  [maximilian attems]
   - clean up SPEC canonicalization  [Karel Zak]
   - cleans up mount(8) troff markup  [Sam Varshavchik]
   - create separate section for fs-independent options in mount.8  [Karel Zak]
   - document newinstance and ptmxmode options to devpts  [Sukadev Bhattiprolu]
   - finalize support of quoted LABELs/UUIDs  [Karel Zak]
   - fix gcc warning (variable used uninitialized)  [Karel Zak]
   - fix mount_static_LDADD  [Karel Zak]
   - fix typo  [Guan Xin]
   - fix typo  [Karel Zak]
   - fix typo in volume_id code  [Karel Zak]
   - generic blkid/volume_id wrapper, use blkid_evaluate_*  [Karel Zak]
   - inform about UID and eUID when verbose > 2  [Karel Zak]
   - make file_t SELinux warning optional and shorter  [Karel Zak]
   - move realpath.c code to lib/  [Karel Zak]
   - mtab created multiple times with -a option  [Karel Zak]
   - non-setuid (POSIX file capabilities) support  [Karel Zak]
   - remove link to namesys.com  [Karel Zak]
   - remove spurious newline from mount.8  [Mike Frysinger]
   - remove useless if-before-free tests  [Karel Zak]
   - reorder list of options in mount.8  [Karel Zak]
   - retry on ENOMEDIUM  [Matthias Koenig]
   - s/MOUNTED/_PATH_MOUNTED/  [maximilian attems]
   - suggest to use blockdev --setro rather than losetup  [Karel Zak]
   - sundries.h add klibc support  [maximilian attems]
   - sync FAT info in mount.8 with Documentation/filesystems/vfat.txt  [Karel Zak]
   - sync tmpfs info in mount.8 with Documentation/filesystems/tmpfs.txt  [Karel Zak]
   - use subsections in mount.8 DESCRIPTION  [Karel Zak]
   - warn on "file_t" selinux context  [Karel Zak]
namei:
   - add --owners and --long options  [Karel Zak]
   - add --vertical option  [Karel Zak]
   - add missing options to namei.1  [Karel Zak]
   - don't duplicate '/' directory  [Karel Zak]
   - fix buffer overflow  [Karel Zak]
   - new re-written version  [Karel Zak]
partx:
   - convert hard sector size to 512-byte sectors  [Karel Zak]
   - don't duplicate lib/blkdev.c code  [Karel Zak]
   - don't redeclare daddr_t  [maximilian attems]
   - use ioctls from lib/blkdev.c  [Karel Zak]
pg:
   - add gettext call for the help string  [Karel Zak]
   - several strings without gettext calls  [Pedro Ribeiro]
pivot_root:
   - clean up  [Karel Zak]
po:
   - add zh_CN.po (from translationproject.org)  [Ray Wang]
   - merge changes  [Karel Zak]
   - rewrite update-potfiles script  [Karel Zak]
   - update POTFILES.in  [Karel Zak]
   - update cs.po (from translationproject.org)  [Petr Pisar]
   - update fi.po (from translationproject.org)  [Lauri Nurmi]
   - update fr.po (from translationproject.org)  [Nicolas Provost]
   - update id.po (from translationproject.org)  [Arif E. Nugroho]
   - update ja.po (from translationproject.org)  [Makoto Kato]
   - update list of .c files  [Karel Zak]
   - update nl.po (from translationproject.org)  [Benno Schulenberg]
   - update vi.po (from translationproject.org)  [Clytie Siddall]
raw:
   - add NLS support  [Pedro Ribeiro]
   - default to /dev/raw/rawctl  [Karel Zak]
rdev:
   - cleanup includes  [Karel Zak]
readprofile:
   - several strings without gettext calls  [Pedro Ribeiro]
renice:
   - add -n option for compatibility with POSIX  [Karel Zak]
rtcwake:
   - add mising .RE to the man page  [Karel Zak]
   - cleanup return codes  [Karel Zak]
   - explain supported modes in rtcwake.8  [Karel Zak]
   - prefer RTC_WKALM_SET over RTC_ALM_SET  [Gabriel Burt]
   - support not suspending  [Marco d'Itri]
script:
   - don't flush input when starting script  [Andrew McGill]
scriptreplay:
   - new implementation is out-of-sync  [Karel Zak]
selinux:
   - is_selinux_enabled() returns 0, 1 and -1  [Karel Zak]
setterm:
   - fix -blank man page  [Karel Zak]
sfdisk:
   - fix Compilation Error  [CAI Qian]
   - fix possible buffer overflow  [Karel Zak]
   - print version should end with a newline  [Denis ChengRq]
simmpleinit:
   - fix gcc warning (buffer size in read())  [Karel Zak]
simpleinit:
   - cleanup gettext calls, use snprintf()  [Karel Zak]
swapon:
   - -a has to complain, fix leaks  [Karel Zak]
   - add -f/--fixpgsz option  [Karel Zak]
   - add error messages for lseek and write  [Karel Zak]
   - add generic swap_get_header()  [Karel Zak]
   - add swap format detection and pagesize check  [Matthias Koenig, Olaf Hering]
   - cleanup man page  [Karel Zak]
   - do_swapon() refactoring (move stat() checks)  [Karel Zak]
   - do_swapon() refactoring (split into two functions)  [Karel Zak]
   - fix typo s/warn/warnx/  [Karel Zak]
   - fix wording in man page  [Karel Zak]
   - rewrite SWSUSPEND signature rather than exec mkswap  [Karel Zak]
   - simplify spec to devname conversion  [Karel Zak]
   - use err.h stuff  [Karel Zak]
tailf:
   - unistd.h is included more than once  [Karel Zak]
tests:
   - add "byte-order" to helpers/test_sysinfo  [Karel Zak]
   - add ./run.sh <component>  [Karel Zak]
   - add MD5 regression test  [Karel Zak]
   - add fsck ismounted reg.test  [Karel Zak]
   - add libblkid regression tests (images from e2fsprogs)  [Karel Zak]
   - add lscpu(1) test for fullvirt. Xen x86_64  [Karel Zak]
   - add lscpu(1) test for paravirt. Xen i386  [Karel Zak]
   - add md5 regression test  [Karel Zak]
   - add mk-lscpu-input.sh  [Karel Zak]
   - add support for subdirs to basic test functions  [Karel Zak]
   - add support for subtests  [Karel Zak]
   - add swabN() regression test  [Karel Zak]
   - check also for /dev/loop/X  [Karel Zak]
   - chmod -x ts/lscpu/mk-input.sh  [Karel Zak]
   - clean up the testing scripts  [Américo Wang]
   - cleanup lscpu reg.tests  [Karel Zak]
   - cleanup ts/bitops  [Karel Zak]
   - cleanup ts/cal scripts  [Karel Zak]
   - cleanup ts/col scripts  [Karel Zak]
   - cleanup ts/cramfs/fsck-endianness  [Karel Zak]
   - cleanup ts/cramfs/mkfs-endianness  [Karel Zak]
   - cleanup ts/hwclock  [Karel Zak]
   - cleanup ts/ipcs  [Karel Zak]
   - cleanup ts/login  [Karel Zak]
   - cleanup ts/look  [Karel Zak]
   - cleanup ts/md5  [Karel Zak]
   - cleanup ts/minix  [Karel Zak]
   - cleanup ts/mount  [Karel Zak]
   - cleanup ts/namei  [Karel Zak]
   - cleanup ts/paths  [Karel Zak]
   - cleanup ts/script  [Karel Zak]
   - cleanup ts/swapon  [Karel Zak]
   - create expected/$(component)/$(testname)  [Karel Zak]
   - create subdirs for test scripts  [Karel Zak]
   - detect libvolume_id when mount(8) is compiled  [Karel Zak]
   - disable blkid tests when blkid(8) is not compiled  [Karel Zak]
   - disable suid mount test  [Karel Zak]
   - fix -regex in run.sh  [Karel Zak]
   - fix TS_* paths  [Karel Zak]
   - fix file name is too long (max 99) - gtar  [Karel Zak]
   - fix output string  [Karel Zak]
   - fix the final message for subtests  [Karel Zak]
   - fix typo in low-probe test  [Karel Zak]
   - fix typo in lscpu test  [Karel Zak]
   - move some generic stuff from ts_init() to a new ts_init_env()  [Karel Zak]
   - refresh Makefile.am (add missing lscpu tests)  [Karel Zak]
   - refresh and cleanup cramfs/mkfs  [root]
   - refresh cal(1) expected outputs  [Karel Zak]
   - refresh expected mount(8) outputs  [Karel Zak]
   - refresh ipcs expected outputs  [Karel Zak]
   - remove input directory  [Karel Zak]
   - remove obsolete stuff from Makefile.am  [Karel Zak]
   - remove unexpected exit from *_subtest functions  [Karel Zak]
   - remove useless return value checks in testing scripts  [Américo Wang]
   - update namei reg.test  [Karel Zak]
   - we needn't blkid.sh  [Karel Zak]
tools:
   - add checkconfig to top-level Makefile  [Karel Zak]
   - add checkincludes.pl (from linux kernel)  [Karel Zak]
   - rename codecheck-config to checkconfig.sh  [Karel Zak]
umount:
   - check for overlaid mounts  [Guan Xin]
   - cleanup gefs_by_specdir()  [Karel Zak]
   - improve "-d" option for autoclear loops  [Karel Zak]
   - no checking mount point removal  [Guan Xin]
whereis:
   - include dirent.h instead sys/dir.h  [maximilian attems]
write:
   - doesn't check for tty group  [Karel Zak]

