
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]

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

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

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


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

 For more details see ChangeLog files at:
 ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/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 Miskiewicz]
   - 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:
   - dont 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]

