util-linux 2.32: Mar 21 2018
* see Documentation/releases/v2.32-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32-ChangeLog

util-linux 2.32-rc2: Mar 01 2018
* see Documentation/releases/v2.32-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32-rc2-ChangeLog

util-linux 2.32-rc1: Feb 13 2018
* see Documentation/releases/v2.32-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32-rc1-ChangeLog

util-linux 2.31: Oct 19 2017
* see Documentation/releases/v2.31-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31-ChangeLog

util-linux 2.31-rc2: Oct 03 2017
* see Documentation/releases/v2.31-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31-rc2-ChangeLog

util-linux 2.31-rc1: Sep 22 2017
* see Documentation/releases/v2.31-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31-rc1-ChangeLog

util-linux 2.30: Jun 02 2017
* see Documentation/releases/v2.30-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30-ChangeLog

util-linux 2.30-rc2: May 12 2017
* see Documentation/releases/v2.30-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30-rc2-ChangeLog

util-linux 2.30-rc1: May 12 2017
* see Documentation/releases/v2.30-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30-rc1-ChangeLog

util-linux 2.29: Nov 8 2016
* see Documentation/releases/v2.29-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29-ChangeLog

util-linux 2.29-rc2: Oct 19 2016
* see Documentation/releases/v2.29-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29-rc2-ChangeLog

util-linux 2.29-rc1: Sep 30 2016
* see Documentation/releases/v2.29-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29-rc1-ChangeLog

util-linux 2.28: Apr 12 2016
* see Documentation/releases/v2.28-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28-ChangeLog

util-linux 2.28-rc2: Mar 29 2016
* see Documentation/releases/v2.28-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28-rc2-ChangeLog

util-linux 2.28-rc1: Mar 11 2016
* see Documentation/releases/v2.28-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28-rc1-ChangeLog

util-linux 2.27: Sep 07 2015
* see Documentation/releases/v2.27-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27-ChangeLog

util-linux 2.27-rc2: Aug 24 2015
* see Documentation/releases/v2.27-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27-rc2-ChangeLog

util-linux 2.27-rc1: Jul 31 2015
* see Documentation/releases/v2.27-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27-rc1-ChangeLog

util-linux 2.26: Feb 19 2015
* see Documentation/releases/v2.26-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26-ChangeLog

util-linux 2.26-rc2: Feb 4 2015
* see Documentation/releases/v2.26-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26-rc2-ChangeLog

util-linux 2.26-rc1: Jan 14 2015
* see Documentation/releases/v2.26-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26-rc1-ChangeLog

util-linux 2.25: Jul 22 2014
* see Documentation/releases/v2.25-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25-ChangeLog

util-linux 2.25-rc2: Jul 2 2014
* see Documentation/releases/v2.25-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25-rc2-ChangeLog

util-linux 2.25-rc1: Jun 18 2014
* see Documentation/releases/v2.25-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25-rc1-ChangeLog

util-linux 2.24: Oct 21 2013
* see Documentation/releases/v2.24-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.24/v2.24-ChangeLog

util-linux 2.24-rc2: Oct 11 2013
* see Documentation/releases/v2.24-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.24/v2.24-rc2-ChangeLog

util-linux 2.24-rc1: Sep 27 2013
* see Documentation/releases/v2.24-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.24/v2.24-rc1-ChangeLog

util-linux 2.23: Apr 25 2013
* see Documentation/releases/v2.23-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23-ChangeLog

util-linux 2.23-rc2: Apr 10 2013
* see Documentation/releases/v2.23-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23-rc2-ChangeLog

util-linux 2.23-rc1: Mar 22 2013
* see Documentation/releases/v2.23-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23-rc1-ChangeLog

util-linux 2.22: Sep 04 2012
* see Documentation/releases/v2.22-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-ChangeLog

util-linux 2.22-rc2: Aug 15 2012
* see Documentation/releases/v2.22-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-rc2-ChangeLog

util-linux 2.22-rc1: Jul 27 2012
* see Documentation/releases/v2.22-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-rc1-ChangeLog

util-linux 2.21: Feb 24 2012
* see Documentation/releases/v2.21-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-ChangeLog

util-linux 2.21-rc2: Feb 06 2012
* see Documentation/releases/v2.21-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-rc2-ChangeLog

util-linux 2.21-rc1: Jan 18 2012
* see Documentation/releases/v2.21-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-rc1-ChangeLog

util-linux 2.20: Aug 29 2011
* see Documentation/releases/v2.20-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-ChangeLog

util-linux 2.20-rc2: Aug 17 2011
* see Documentation/releases/v2.20-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-rc2-ChangeLog

util-linux 2.20-rc1: Jul 29 2011
* see Documentation/releases/v2.20-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-rc1-ChangeLog

util-linux 2.19: Feb 10 2011
* see Documentation/releases/v2.19-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-ChangeLog

util-linux 2.19-rc3: Jan 25 2011
* see Documentation/releases/v2.19-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc3-ChangeLog

util-linux 2.19-rc2: Jan 25 2011
* see Documentation/releases/v2.19-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc2-ChangeLog

util-linux 2.19-rc1: Jan 05 2011
* see Documentation/releases/v2.19-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc1-ChangeLog

util-linux-ng 2.18: Jun 30 2010
* see Documentation/releases/v2.18-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-ChangeLog

util-linux-ng 2.18-rc2: Jun 18 2010
* see Documentation/releases/v2.18-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-rc2-ChangeLog

util-linux-ng 2.18-rc1: Jun 7 2010
* see Documentation/releases/v2.18-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-rc1-ChangeLog

util-linux-ng 2.17: Jan 8 2010
* see Documentation/releases/v2.17-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-ChangeLog

util-linux-ng 2.17-rc3: Dec 10 2009
* see Documentation/releases/v2.17-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-rc3-ChangeLog

util-linux-ng 2.17-rc2: Dec 9 2009
* see Documentation/releases/v2.17-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-rc2-ChangeLog

util-linux-ng 2.17-rc1: Nov 20 2009
* see Documentation/releases/v2.17-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-rc1-ChangeLog

util-linux-ng 2.16: Jul  2009
* see Documentation/releases/v2.16-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16-ChangeLog

util-linux-ng 2.16-rc2: Jul 2 2009
* see Documentation/releases/v2.16-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16-rc2-ChangeLog

util-linux-ng 2.16-rc1: Jun 28 2009
* see Documentation/releases/v2.16-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16-rc1-ChangeLog

util-linux-ng 2.15: May 5 2009
* see Documentation/releases/v2.15-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15-ChangeLog

util-linux-ng 2.15-rc2: Apr 17 2009
* see Documentation/releases/v2.15-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15-rc2-ChangeLog

util-linux-ng 2.15-rc1: Mar 18 2009
* see Documentation/releases/v2.15-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15-rc1-ChangeLog

util-linux-ng 2.14: Jun 9 2008
* see Documentation/releases/v2.14-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-ChangeLog

util-linux-ng 2.14-rc3: May 19 2008
* see Documentation/releases/v2.14-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-rc3-ChangeLog

util-linux-ng 2.14-rc2: Apr 28 2008
* see Documentation/releases/v2.14-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-rc2-ChangeLog

util-linux-ng 2.14-rc1: Apr 16 2008
* see Documentation/releases/v2.14-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-rc1-ChangeLog

util-linux-ng 2.13: Aug 28 2007
* see Documentation/releases/v2.13-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-ChangeLog

util-linux-ng 2.13-rc3: Aug 8 2007
* see Documentation/releases/v2.13-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc3-ChangeLog

util-linux-ng 2.13-rc2: Jul 17 2007
* see Documentation/releases/v2.13-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc2-ChangeLog

util-linux-ng 2.13-rc1: Jul 4 2007
* see Documentation/releases/v2.13-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc1-ChangeLog

util-linux 2.13-pre7

* mount: default to cifs instead of smbfs for sources
         starting with // (Lars Mueller)
* flock: documentation updates (H. Peter Anvin)
* new translation: id
* updated translations: de, it, sl, uk

util-linux 2.13-pre6

* getopt: updated to 1.1.4
* replaced all *llseek variants with lseek
* misc build system, code and docs cleanups and fixes
* updated translations: fr, it

util-linux 2.13-pre5

* {fsck,mkfs}.cramfs: updated to cramfs-1.1
* {fsck,mkfs}.cramfs: removed PAGE_CACHE_SIZE usage
* umount: fix "umount -n -r" (Derick Swanepoel)
* misc build system and code cleanups and fixes
* updated translation: ca

util-linux 2.13-pre4

* don't build fdisk on m68k (Mike Frysinger)
* misc build system and documentation fixes
* removed program: clear

util-linux 2.13-pre3

* misc buld system fixes
* cfdisk: fix a segfault with ReiserFS partitions
* umount: disallow -r option for non-root users
* updated translations: da, fr, it, nl, ru, sl, tr

util-linux 2.13-pre2

* flock: replaced with flock-2.0.2 by H. Peter Anvin
* misc build system fixes, libtool is no longer used
* misc code fixes
* updated translations: ca, fi, fr, nl, ru, tr

util-linux 2.13-pre1

* use GNU autoconf/automake/libtool for building
* added schedutils
* removed support for curses implementations other than ncurses
* removed programs: arch, passwd, rescuept, setfdprm, sln
* removed mkminix-0.1/
* misc fixes and documentation updates
* new translation: vi
* updated translations: ca, de, fi, fr, it, nl, ru, tr

util-linux 2.12q

* updated translation: nl

util-linux 2.12q-pre2

* sfdisk: document -G option in --help output
* updated translations: ca, et, fr

util-linux 2.12q-pre1

* new maintainer
* sfdisk: add -G option (Andries Brouwer)
* updated translations: de, es, ru, sv, tr

util-linux 2.12p

* cfdisk: fix number of new partition when partitions not in disk order
* fdisk: fix Sun label handling in sector mode
* mkfs: never truncate filename (not that that ever happened)
* more: fix redraw flaw

util-linux 2.12n,o

* lomount: revert patch from 2.12j
* lptune.8: -T option is obsolete
* mkswap, mkswap.8, swapon: support labels
  (use HAVE_BLKID=no as long as the blkid library doesn't support this)
* umount: allow user unmounting repeatedly mounted nfs mounts

util-linux 2.12m

* cfdisk: recognize JFS, support reiserfs labels (flavio.stanchina@tin.it)
* mount: fix option parsing bug
* mount.8: several updates
* swapon.8: document -v option

util-linux 2.12l

* Makefile: remove cat-id-tbl.c upon make clean
* fdisk: fixed a bug that would cause a non-update of a sun disklabel
* fdisk: use sectorsize instead of 512 for SGI (Eric Y. Theriault)
* fdisk: use __attribute__((packed)) for alpha, ARM: avoid unaligned accesses
* hwclock: actually use HAVE_tm_gmtoff
* swapon: fix priority handling
* umount: refuse to unmount an empty string

util-linux 2.12k

* cfdisk: fixed a signed character bug causing problems for Spanish users
* configure, MCONFIG: detect gcc 3.4.0 and use -mtune option (Matthew Burgess)
* configure: do not run ./conftest (for cross compilation) (NIIBE Yutaka)
* fsck.cramfs: try to get correct PAGE_CACHE_SIZE
* losetup: try to give better error messages
* readprofile: default map file is /boot/System.map
* rdev.8: added historical info on ramdisk
* New French, Spanish, Swedish and Turkish messages

util-linux 2.12j

* cal: highlight today (Pádraig Brady)
* lomount: stop reading passwd at NUL, fix lo_encrypt key_size (Wolfram Kleff)
* losetup: add -f option to find an unused loop device
  (Alexander Wigen, Remco van Mook)
* more: code cleanup (Joachim Henke)
* mount: add "group" mount option (Martin Dickopp)
* sfdisk: fix 2.6.8 BLKRRPART ioctl damage (Eric Lammerts)
* swapon: let swapon -a skip the swapfiles marked "noauto" (Dale R. Worley)
* umount: fix problem with empty mtab (Bryan Kadzban)
* umount: use special umount program if it exists (Ram Pai)
* New Danish and French messages

util-linux 2.12i

* MCONFIG: fix build conditions
* chfn, chsh: add error checking
* cytune: use local header cyclades.h
* fdisk: fix default SGI volume header size (Eric Sandeen)
* fstab.c: use strsignal() instead of sys_siglist[]
* hwclock: use <sys/io.h> when available on i386
* hwclock: don't try KDGHWCLK on archs other than __m68k__
* sfdisk: correct typo in __attribute__used nonsense
* sfdisk: use PACKED on __arm__ (Jeroen Dobbelaere)
* sfdisk: fix warning printout

util-linux 2.12e,f,g,h

* cfdisk: avoid crash if no partition table
* elvtune: tell user that this only works on 2.4 kernels
* lomount: clear passwords after use
* mount: accept comments (introduced by \;) in fstab - withdrawn again
* mount: accept comments (specified by comment=) in fstab
* mount: support ocfs, ocfs2
* [u]mount: be more careful with malloc, try to avoid OOM with many mounts
* sfdisk: __attribute__used nonsense to support gcc 3.4
* shutdown: do not unmount various virtual filesystems

util-linux 2.12c,d

* mount.8: added recent ext2 mount options
* mount: support jfs mount-by-label, improve reiserfs support
* sfdisk: remove strange "ends in a digit" heuristic
* *fdisk: use common disksize() routine

util-linux 2.12b

* chsh: improved error message
* dmesg: ask kernel proper buffer size
* losetup: handle 64-bit offsets
* blockdev: also report BLKGETSIZE64 result
* blockdev, elvtune, fdisk: handle new kernel _IOR,_IOW defines
* fdisk: remove strange "ends in a digit" heuristic
* fdisk: also list Solaris as possible type for 0x82
* mount: added --rbind option
* mount: use blkid, uuid libraries when available
* mount: support reiserfs mount by label
* mount: attempt to use the right definition of dev_t in struct loopinfo
* mount.8: jfs mount options added
* readprofile: new -s option
* rename.1: added ref to mmv.1
* replay: renamed to scriptreplay; correct typos
* script: do not use locale for time delay floating point number format
* sfdisk: error messages to stderr
* New Catalan, Dutch, Finnish, French, German, Spanish, Swedish, Turkish,
  Ukrainian messages

util-linux 2.12a

* chfn, chsh, login, vipw: SElinux support
* fdisk: fix for kernels 2.4.15-2.4.17
* fdisk: fix when all partitions are in use
* hwclock: add a timeout when waiting for a clock update (Göran Weinholt)
* ipcs: compilation fix
* ipcs: shminfo.shmall gives pages
* login: use getutline() instead of getutid()
* login: fix for 64-bit time_t
* mount: efs support
* partx: bigendian fix
* readprofile: support for 64-bit addresses
* setterm: fix klogctl error message (Joern Heissler)
* setterm.1: clarification
* sfdisk: fix check for is_ide_cdrom_or_tape
* umount: skip proc, devfs, devpts on umount -a

util-linux 2.12

* losetup: cryptoloop support
* losetup: -p option specifies fd for passphrase
* fdisk: sgi layout fix
* mount: -p option specifies fd for passphrase
* mount: recognize some PCDOS floppies
* umount: in "umount name", first try to interpret "name" as a mount point

util-linux 2.12pre

* Catalan messages (Antoni Bella Pérez)
* Danish messages (Claus Hindsgaul)
* Dutch messages (Taco Witte)
* Finnish messages (Lauri Nurmi)
* French messages (Michel Robitaille)
* German messages (Michael Piefel)
* Slovenian messages (Primož Peterlin)
* Spanish messages (Santiago Vila Doncel)
* Swedish messages (Christian Rose)
* Turkish messages (Nilgün Belma Bugüner)
* cfdisk: localize the Y/N answer, improve printing localized messages
* cfdisk: make various variables long long - some disks are close to 2 TB
* cfdisk: use BLKGETSIZE64
* fdisk: make various variables unsigned to lengthen the life of 32-bit vars
* fdisk: some sgi fixes (Phillip Kesling)
* fdisk: k=1000, K=1024
* fdisk: removed last occurrences of HDIO_REQ
* fdisk: use BLKGETSIZE64
* hwclock: fix rtc test (Heiko Zuerker)
* login: set a timeout on printing the timeout message (Robert Ambrose)
* md5: x86_64 fix (mmj)
* more: POSIX fixes
* mount: do not supply MS_MGC_VAL when there are conflicting flags
* mount: ncp and smb are called smbfs and ncpfs - global change
* mount: add support for xvm mount by label (Eric Sandeen)
* mount: correct hfs magic recognition
* mount: keep original umask - it influences the mount call (mmj)
* raw.8: documented unbinding of raw devices
* readprofile: fixed off-by eight error (Werner Almesberger)
* script: add -c option (Wayne Davison)
* sfdisk.8: added an example of partitioning with logical partitions
* sfdisk: only add a AA55 signature for DOS-type partition tables
* tailf: new (Rik Faith)

util-linux 2.11z

* Catalan messages (Antoni Bella Pérez)
* Danish messages (Claus Hindsgaul)
* Dutch messages (Taco Witte)
* Finnish messages (Lauri Nurmi)
* French messages (Michel Robitaille) - HURRAY!
* German messages (Michael Piefel)
* Slovenian messages (Primož Peterlin)
* Spanish messages (Santiago Vila Doncel)
* Swedish messages (Christian Rose)
* Turkish messages (Nilgün Belma Bugüner)
* getopt: replaced getopt-1.1.2 by getopt-1.1.3 (Frodo Looijaard)
* mkcramfs: change default blocksize for ia64 and alpha
* more.help: removed (it is built-in now, and translated)
* mount: add -i option (inhibit calling external mount programs)
* mount: change default: do resolve symlinks
* readprofile: look for System.map also in /boot/System.map-`uname -r` (mmj)
* sfdisk: also translate "start" and "end"; s/MB/MiB/

util-linux 2.11y

* Danish messages (Claus Hindsgaul)
* Finnish messages (Lauri Nurmi)
* German messages (Michael Piefel)
* Spanish messages (Santiago Vila Doncel)
* Swedish messages (Christian Rose)
* cfdisk: improve escape seq recognition when compiled with slang
* fdisk: decimal units
* hwclock/rtc.c: minor cleanup (Joachim Henke)
* ipcs: compilation fix
* more: kill external help file (Joachim Henke)
* mount: fix LABEL= handling for user umount
* mount: don't abort on read error on photocds (György Kövesdi)
* mount.8: add dmask and fmask vfat mount options
* pg: compilation fix (Joachim Henke)
* script: localized time strings (Göran Uddeborg)
* setterm: accept devfs name (Joachim Henke)
* simpleinit: security: refuse initctl_fd if setting FD_CLOEXEC fails
* umount: allow user umount after mount by label or uuid

util-linux 2.11x

* Danish messages (Claus Hindsgaul)
* Dutch messages (Taco Witte)
* Finnish messages (Lauri Nurmi)
* German messages (Michael Piefel)
* Swedish messages (Christian Rose)
* Turkish messages (Nilgün Belma Bugüner)
* cfdisk: correct error printout
* fdisk: allow addition of a new partition when logicals all used
  but primary free
* hwclock: detect systime jumps backward during setting hwclock
* mkfs.cramfs: do not mmap all files simultaneously
* mkfs.cramfs: make blocksize settable
* mkfs.minix: correct error printout
* mkswap.8: now max 32 swapspaces
* mount: new --rbind flag, for recursive loopback mounts
* mount, umount: new -O option (Michael K. Johnson)
* mount.8: -O and win95 options documented
* setpwnam.c: open temp pw file with O_EXCL
* simpleinit: fix for "spawn too fast" (Denis Vlasenko)
* swapon: new -e option (Erik Troan)

util-linux 2.11w

* cfdisk, fdisk: allow slightly larger disk sizes
* fdisk: Makefile: also for m68 (sun3) (Kaj-Michael Lang)
* fdisk: allow to use the last partial cylinder, change display format
* fdisk: do not ask partition number in case there is only one choice
* fdisk: new sunlabel fix
* login: fix possible local root exploit (Wojciech Purczyński)
* more: bigendian fix

util-linux 2.11v

* Catalan messages (Antoni Bella Pérez)
* Finnish messages (Lauri Nurmi)
* Very few Russian messages (panivan@yandex.ru)
* Slovenian messages (Primož Peterlin)
* Spanish messages (Santiago Vila Doncel)
* Swedish messages (Christian Rose)
* Turkish messages (Nilgün Belma Bugüner)
* fdisk: add -C, -H, -S command line options
* fdisk: allow changing type 0
* mkswap: enable use of > 2GB swapspace
* more: translation fix
* mount: set umask (Sebastian Krahmer)
* mount: test both le and be version of cramfs magic (Olaf Hering)
* mount: recognize Oracle magic
* pg: use fseeko64 and ftello64 when available

util-linux 2.11u

* Danish messages (Claus Hindsgaul)
* German messages (Michael Piefel)
* Spanish messages (Santiago Vila Doncel)
* Swedish messages (Christian Rose)
* Turkish messages (Nilgün Belma Bugüner)
* configure: for fsck.cramfs, mkfs.cramfs: add test for libz
* text-utils/Makefile: pg fix (Toomas Rosin)
* po/Makefile: typo fix (Silvan Minghetti)
* agetty: use same test as login does to find utmp entry
* fdisk: fix for fdisk on empty disk (Michael D. Black)
* hwclock: compilation fix on alpha
* mount: add mount by label for jfs (Christoph Hellwig)
* mount: add mount by label for evms (Luciano Chavez)
* mount: allow regular files when guessing (Michal Svec)
* partx/gpt.c: fix size computation (Matt Domsch)
* readprofile: new option -b (David Mosberger)
* umount: don't umount devfs upon umount -a (David Gilbert)

util-linux 2.11t

* fdformat: remove test on major
* fsck.cramfs: added NLS
* fdisk: fix device names with sundisklabels under devfs (Kaj-Michael Lang)
* fdisk: minor polishing
* hwclock: also handle ENOTTY ioctl return (Maciej W. Rozycki)
* hwclock: minor polishing
* ipcrm.8: minor polishing
* mkfs.cramfs: added NLS
* mkfs.cramfs: added -v (verbose) option, and made default silent
* mount: patch for make -j (RedHat)
* swapoff: minor polishing

util-linux 2.11s

* Estonian messages (Meelis Roos)
* French messages: some minor corrections
* German messages (Michael Piefel)
* Spanish messages (Santiago Vila Doncel)
* Swedish messages (Christian Rose)
* Turkish messages (Nilgün Belma Bugüner)
* MCONFIG: allow "make DISABLE_NLS=yes <target>" (Peter Breitenlohner)
* configure: don't run ./conftest - better for cross-compilation (Magnus Damm)
* fdisk: fixes for disks with OSF/1 label
* fsck.cramfs: new (from kernel source)
* hwclock: improved adjtime handling (James P. Rutledge)
* hwclock: remove shhopts stuff
* ipcs: remove unused heading (Michael Kerrisk)
* line: replace by C version - the sh version was broken (Gunnar Ritter)
* login: default root path: added /usr/local/[s]bin (RedHat)
* mkfs.cramfs: new (from kernel source)
* mount: when no type is known, assume that prefix // implies samba (RedHat)
* mount -a: avoid stat on devices that have noauto option (Jeroen Mostert)
* mount by label: ignore RAID partitions (RedHat)
* [u]mount: fstab.c fix (ejb@ql.org)
* pg: new (Gunnar Ritter)
* sfdisk: small BSD partition fix
* swapoff -a: also do swapoff on all files found in /proc/swaps
* swapon -a: skip files already found in /proc/swaps

util-linux 2.11r

* Estonian messages (Meelis Roos)
* German messages (Michael Piefel)
* Spanish messages (Santiago Vila Doncel)
* Swedish messages (Christian Rose)
* Turkish messages (Nilgün Belma Bugüner)
* MCONFIG: move $(CFLAGS) to the end to allow overrides (Kevin P. Fleming)
* cal: tiny fix (Mitsuru Chinen)
* fdisk: avoid <linux/hdreg.h>
* fdisk: x86_64 patch (Mads Martin Jørgensen)
* hwclock.8: zoneinfo is now in /usr/share
* mkswap: report in KiB instead of bytes.

util-linux 2.11q

* fdisk: geometry improvement
* login: open tty fix (Denis Vlasenko)
* more: wide character patches (Mitsuru Chinen)
* mount: complain on mount-by-label when label is not unique (Matt Copping)
* partx: add GUID Partition Tables (Matt Domsch)

util-linux 2.11p

* Danish messages (Claus Hindsgaul)
* German messages (Karl Eichwalder)
* Spanish messages (Santiago Vila Doncel)
* Swedish messages (Christian Rose)
* Turkish messages (Nilgün Belma Bugüner)
* ipcrm: make POSIX compatible (Andre Corwin Mazzone)
* ipcrm.8: idem
* kill: fixed Makefile
* login: setsid fixes
* mkswap: max size of swap space is very large (Peter Chubb)
* mount: JFS support for mount-by-label (hch)
* nfsmount: check for <rpcsvc/nfs_prot.h> (hch)
* readprofile: keep track of line numbers (John Levon)
* umount: fix for MNT_DETACH

util-linux 2.11o

* Estonian messages (Meelis Roos)
* Japanese messages (Daisuke Yamashita)
* Spanish messages (Santiago Vila Doncel)
* cal: option -s: Sunday is first day of the week
* cal.1: updated
* cfdisk: give not only bytes but also MB or GB for clarity.
* colrm: wide character fix (Elliot Lee)
* *fdisk: added Darwin types (Vincent Bourgonjen)
* fstab.5: updated
* hexdump: -C option
* hwclock: cmos.c: do not include <asm/io.h> on alpha
* mount: improved detection of ufs (and slowdown of detection of iso9660)
* mount.8: added info on * in /etc/filesystems, shortname option of vfat,
  mount --move, udf, return codes
* raw: try /dev/raw/rawctl when /dev/rawctl fails (Thierry Vignaud)
* rc.serial: removed - setserial is no longer in util-linux (kromJx)
* README.admutil: removed - only of historical interest
* README.bootutils-0.1: removed - only of historical interest
* script: security fix
* sfdisk: improved geometry detection; wider columns; default disks from
  /proc/partitions
* umount: permission test owner umount
* wall.1: added suid restriction

util-linux 2.11n

* Danish messages (Claus Hindsgaul)
* German messages (Karl Eichwalder)
* Swedish messages (Christian Rose)
* Turkish messages now in UTF-8 (Nilgün Belma Bugüner)
* blockdev: add --report option
* cal: fix for wide multibyte-char (Motonobu Ichimura)
* cfdisk: recognize ext3 and reiserfs (Flavio Stanchina)
* fsck.minix: i18n changes
* ipc.{info,texi}: minor correction
* login: compilation fix (Jaroslaw J. Pyszny)
* mount.8: tmpfs mount options (Karl Eichwalder)
* mount: recognize minix v2
* mount: support mount-by-label also for lvm (Kirby Bohling)
* mount: order guessing of fstypes according to seek offset
* pivot_root: compilation fix for ia64
* readprofile: byte order auto-detection (Werner Almesberger)

util-linux 2.11m

* Danish messages (Claus Hindsgaul)
* German messages (Karl Eichwalder)
* Swedish messages (Christian Rose)
* Turkish messages (Nilgün Belma Bugüner)
* fdisk: added netbsd type (Steven J. Hill)
* more: fix for unsigned char (Rusty Russell)
* mount: added sysv magic (Tim Launchbury)
* setterm: fixed "setterm -foreground default"

util-linux 2.11l

* Danish messages (Claus Hindsgaul)
* banner: removed - it is in bsdgames
* fdisk: show partitions with empty type but some other nonzero field
* login: copy the static struct that getpwnam() returns before calling
  PAM routines that might themselves use getpwnam(). Abort on problems.
  (Olaf Kirch)
* mount: added jfs magic (Christoph Hellwig)
* renice: report the correct new priority after a setpriority()
* umount: add lazy unmount (Christoph Hellwig)

util-linux 2.11k

  Various potential buffer overflows were pointed out by awayzzz@digibel.org.
  Fixes in agetty, hwclock, namei, readprofile, simpleinit, vipw.
  (Also added a few [f]close() calls - entirely superfluously.)

* agetty: avoid possible buffer overflow
* cfdisk: recognize xfs (Nathan Scott)
* cytune: added close()
* fdformat: added close()
* fdisk: added fclose()
* hwclock: avoid possible buffer overflow
* mkfs.minix: added fclose()
* mount: remove the assumption that 635 is the default mount port
* namei: avoid possible buffer overflow
* rdev: added closedir()
* readprofile: avoid possible buffer overflow
* sfdisk: added fclose()
* simpleinit: avoid possible buffer overflow
* swapon: added fclose()
* umount: use tcp when mount was done using tcp (James D Strandboge)
* vipw: avoid possible buffer overflow

util-linux 2.11j

* fdisk: fix for AIX label (Olaf Hering)
* fdisk: fix for creating DOS label when BSD label is present
* mount.8: added remark about blocksize to ext2 sb= mount option description.
* partitiontype: new, not installed

util-linux 2.11i

* testincl: do not run conftest (Brian Murphy)
* blockdev: corrected ioctl numbers now that BLKBSZGET is in 2.4.10pre3
* cal: fixed for Hungarian locale
* cal: fixed for multibyte locales (Pablo Saratxaga)
* fdisk: avoid superfluous warning about DOS partitions
* line: new, to support SCO shell scripts (Christoph Hellwig)
* mount: added vxfs magic
* passwd: tiny fix for ARM (Ken Cox)
* replay: replay typescript with timings (Joey Hess)
* script: add -t flag for timing (Joey Hess)

util-linux 2.11h

* Turkish messages (Nilgün Belma Bugüner)
* Danish messages (Claus Hindsgaul)
* banner: minor fix (awayzzz@digibel.org)
* mkfs.minix: minix v2 fix
* more.1: improved (Edward Betts)
* mount.8: corrected description of the nwfs uni_xlate mount option
* vipw: make temp files of mode 0600 (Bill Nottingham)
* wall: avoid writing to /dev/:0

util-linux 2.11g

* MCONFIG & configure: fix for gcc 3.0
  Note that nfsmount_xdr.c may give warnings with gcc 3.0, essentially
  because of defines in <rpc/xdr.h> that use things like ntohl(*buf++)
  where ntohl(x) is a macro with several occurrences of x.
* blockdev: support for the get/set blocksize ioctls
  [not yet in the 2.4.5 kernel]
* fdisk: added Linux/PA-RISC type (Matt Taggart)
* mount: minor fix (Andrey J. Melnikoff)
* mount: added some ext3 stuff (Andrew Morton)
* mount: added heuristics for reiserfs (Andrew Morton)
* mount.8: added ext3 and reiserfs docs (Andrew Morton)

util-linux 2.11f

* Czech messages (Jiří Pavlovský)
* fdisk: fix for "reorder" expert command
  (use of sfdisk afterwards is still recommended)
* mount: minor fixes

util-linux 2.11e

* Danish messages (Claus Hindsgaul)
* Brazilian Portuguese messages (Rodrigo Stulzer Lopes)
* agetty: give tty mode 0600 instead of 0622
* cal: improved manpage
* cfdisk: add user-friendliness in case of empty disk (Matthew Wilcox)
* dmesg: improved manpage
* fdisk: SuperH fix (ISHIKAWA Mutsumi)
* hwclock: accept alpha options in both upper and lower case
  (so as to make the man page correct)
* hwclock: add option --noadjtime (Henrique M. Holschuh)
* login: child must have controlling tty (Michał Moskal)
* more: don't seek unseekable input (David Whedon)
* mount: upon request by Richard Gooch: if the mount point is specified
  as symlink, put symlink, not actual mount point in mtab.
  (This avoids the long and ugly devfs names, but may break things.
  Please complain in case of problems.)
* mount: with mount -a -t nfs:
  if we used fallback to nfs v3, don't do so for subsequent mounts
* mount: add heuristics for ext3 (Andrew Morton)
* mount: added quota info to mount.8
* mount: allow comma-separated type lists, also in fstab
* raw: small fix for ppc

util-linux 2.11d

* fdisk: fix for OSF (Will Woods)
* chsh: compilation fix (Ronald Wahl)

util-linux 2.11c

* Czech messages (Jiří Pavlovský)
* German messages (Elrond)
* Makefile/MCONFIG improvements (Peter Breitenlohner)
* fdisk: added a few partition types
* fdisk: correct partition numbering for sgi partitions (Nathan Scott)
* fdisk: make it compile on hppa by arbitrarily treating hppa like powerpc
  (Matt Taggart)
* fsck.minix: improved localisation (Elrond)
* getopt: updated to version 1.1.2 (Frodo Looijaard)
* hwclock: fixes for IA64 (Thorsten Kukuk)
* hwclock: use /dev/vc/1 when devfs is used (Thomas Koeller)
* hwclock: more devfs support (e.g. /dev/misc/rtc)
* ipcs: add spaces in output (DeWitt Clinton),
  correct some error messages (Bobby de Vos)
* login: fix TIOCNOTTY (Andreas Haumer, Adam J. Richter)
* login: add btmp logging of unsuccessful login attempts (Erik Troan)
* login: avoid a SIGHUP race with PAM enabled (Peter 'Luna' Runestig)
* login: copy the static result returned by gethostbyname to avoid
  corruption by pam_authenticate via pam_ldap (Andreas Damm)
* login: removed the REDHAT_IGNORED_MAILSIZE hack
* login: unconditionally do vhangup
* login: zero PAM_USER when no username was given (Arkadiusz Miśkiewicz)
* look: dictionary now under /usr/share (Erik Troan)
* mount: add sanitize_env() (Solar Designer)
* mount: another heuristic for vfat (Michal Svec)
* mount: xfs magic has only one endianness (Nathan Scott)
* mount: return failure when tcp used and portmap returns 0 (H. J. Lu)
* rdev: allow unlimited recursion to find the long devfs names
  Also, allow major,minor pair the specify device (request by Russell Coker)
* readprofile: array bound check (Andrew Morton)
* script: transmit window changes to child (Joey Hess)
* sfdisk: endian fix for ppc (Gregory Geiselhart)
* sfdisk: new feature: sign is offset from default (Byron Stanoszek)
* sfdisk: add some default devices to list (Luca Montecchiani)
* sfdisk: no partition table on ide tape
* shutdown: close files, unblock signals (Richard Gooch)
* simpleinit: block signals in handlers; add no_reboot option (Richard Gooch)
* swapdev: deleted, it was last used with Linux 0.12.
* umount: mips does support umount2 (Maciej W. Rozycki)
* umount: add sanitize_env() (Solar Designer)
* umount: fix exit status
* wall: do not forget 80th character (Thorsten Kukuk)

util-linux 2.11b:

* Danish messages (Claus Hindsgaul)
* umount: mips does not support umount2 (Christoph Martin)
* fdisk: tiny fix
* mount.8: adfs options documented, xfs corrected

util-linux 2.11a:

* tsort: deleted - it is part of GNU textutils 2.0
* mount: fix rootdev() (Richard Kettlewell)
* mount: fix gid of mtab file
* mount: try /proc/filesystems after /etc/filesystems if the latter ends in "*"
* fdisk: added a few system types

util-linux 2.11:

* Jump to 2.11 to note that libc-4.5.26 is no longer supported,
  and we require libc-4.6.27 (since now snprintf is used).
  Also, kbdrate has now been removed. Find it in kbd-1.05.
  Added -D_FILE_OFFSET_BITS=64 to CFLAGS.
* Danish messages (Claus Hindsgaul)
* fdisk: avoid loop in case of extended without logical
* ipcs: corrected interchanged report on msg_rtime/msg_stime (Arun Kumar U)
* kill: updated manpage
* last: very much faster with mmap (Marek Zelem)
* login: Applied PAM patch by David MacKenzie <djm@web.us.uu.net>
* login: do a setsid in the child (Erik Troan)
* mount: make "mount 192.168.1.8:/ /a -o bg" work again (Bjoern Voigt)
* mount: added constant MS_MOVE
* readprofile: added -M option, updated manpage (Andrew Morton)
* setsid: fork when it would fail otherwise (John Fremlin)
* simpleinit: updated (Richard Gooch et al.)
* vipw: also offer to edit shadow file (Erik Troan)
* xfs docs (Nathan Scott)

util-linux 2.10s:

* Danish messages (Claus Hindsgaul)
* fixes to make gcc happy (Joseph S. Myers)
* fix for more on parisc (Richard Hirst)
* change rdev to search subdirectories of /dev (Paul Clements)
* ul fix (Masao Kawamura) - set columns correctly
* cal fix (Brendan Kehoe) - don't overflow weekday array in Gaelic
* fdisk fix (niles@scyld.com) - flush stdout
* fdisk fix - don't forget to write out empty label
* login: make default tty mode 0600
* script: refuse to write typescript if that is a symlink
* script: accept -V to output version
* whereis: also search /usr/share/man.
* hwclock: improve locale handling
* hwclock: fix for Nautilus (Neoklis Kyriazis)
* isosize: new

util-linux 2.10r:

* mount: support mount by uuid or label for xfs (Nathan Scott)
* mount: added probe for minix on bigendian systems (Nathan Scott)
* mount: added probes for cramfs, hfs, hpfs and adfs (Sepp Wijnands)
* mount: change setup; let umount remove at most one line from /etc/mtab
* mount: improve man page
* more, col, colcrt, colrm, column, ul: nls improvements (Masao Kawamura)

util-linux 2.10q:

* mount: accept nonnumeric uid= and gid= options
* write and wall: security improvement
* fixed fdformat flaw (Werner Almesberger)
* use right mountport upon umount (Glenn Lingle)
* simpleinit / need / initctl stuff (Richard Gooch)
* Portuguese messages (Rodrigo Stulzer Lopes et al.)

util-linux 2.10p:

* mount: don't set up a loop file with -o loop,remount (Marc Mutz)
* fdisk: changes for sectorsize different from 512
* more: standout fix (Paul Vojta)
* more: improve usage message (Lincoln Myers)
* logger: Added -d option to use datagrams (Gerwin Pfab)
* cal: Added -3 option to also print prev/next month (Michael Charles Pruznick)
* French messages (Christophe Merlet)
* Japanese messages (Daisuke Yamashita)

util-linux 2.10o:

* fdformat: fixed to work with kernel 2.4.0test6 (Marek Wojtowicz)
* losetup: also return status when only showing loop device status (ewt)
* mount: do not retry ro if mount was ro; improve error message
* login: not installed suid
* getopt: by default install aux files in /usr/share/misc

util-linux 2.10n:

* added blockdev.8
* change to elvtune (andrea)
* fixed overrun in agetty (vii@penguinpowered.com)
* shutdown: prefer umounting by mount point (rgooch)
* fdisk: added plan9
* fdisk: remove empty links in chain of extended partitions
* mount: define ALWAYS_STAT
* mount: add replace, after, before, over, bind
* umount: also free loop device when not writing mtab
* lomount: try both /dev/loopN and /dev/loop/N
* hwclock: handle both /dev/rtc and /dev/efirtc (Bill Nottingham)
* script: added -f (flush) option (Ivan Schreter)
* script: added -q (quiet) option (Per Andreas Buer)
* getopt: updated to version 1.1.0 (Frodo Looijaard)
* Czech messages (Jiří Pavlovský)

util-linux 2.10m:

* chfn fix when PAM is used (Martin-D. Lacasse)
* do not use LC_NUMERIC part of locale in hwclock when writing /etc/adjtime
* mount status return from smb or ncp fix (Mark Peloquin)
* mount new option -l: also print label when listing mounts
* mount add heuristic for xfs (Martin K. Petersen)
* mount UUID and label cache (Erik Troan)
* mount improve check for `already mounted' in case of label or uuid
* fdisk partition names more devfs-friendly
* fdisk bsdlabel large disk support
* setterm.1: options documented (Colin Watson)
* rename correction
* German, Spanish, French, Italian, Portuguese messages
  (Roger Luethi, Beth Powell, Alvaro Antunes)

util-linux 2.10l:

* Merged losetup.c and lomount.c
* ANSIfied everything

util-linux 2.10k:

* NFS version 4 mount support (Trond Myklebust)
* hwclock fix (Stefan Ring)
* Added -p option to col, as required by SUS (Joseph S. Myers)

util-linux 2.10j:

* fdisk fixes (Michal Jaegermann)

util-linux 2.10i:

* new directory partx (with code to play with, not to use)
* minor fdisk changes

util-linux 2.10h:

* Added pivot_root (Werner Almesberger)
* Added elvtune (Andrea Arcangeli)
* Added need and extended simpleinit and shutdown (Richard Gooch)
* Removed all #include <linux/fs.h>
* errno fixes (Joseph S. Myers)
* IA-64 fixes (Michael K. Johnson)
* fdisk fixes for OSF/1 on Alpha (David Huggins-Daines)
* fdisk sectorsize fix (Greg Hosler)
* mount speed= option to enable mounting bad CDROMs (Marco d'Itri)
* ipcrm deletes several things at once (Frank Zago)

util-linux 2.10g:

* fdisk can now sort partitions into order [untested, beware!]
* Update of mkswap for sparc64 (jj)
* Update of raw (Stephen Tweedie):
  Control file was /dev/raw, now /dev/rawctl
  Access files were /dev/raw*, now /dev/raw/raw*
* Czech messages (Jiří Pavlovský)
* German messages (Daniel Egger)
* losetup locks memory (Frank v Waveren)

util-linux 2.10f:

* Security fix for mount (okir)
* Avoid infinite loop in namei (Brett Wuth)
* added clock-ppc.c (from Matsuura Takanori), not merged yet
* deleted clockB subdirectory
* recognize mkdosfs string (Michal Svec)

util-linux 2.10e:

* New: rename
* Added option to mkswap so that user can override pagesize
* fdisk -l now reads /proc/partitions when no device was given
* Fixed fdisk.8 (James Manning)
* Added devpts info to mount.8 (Elrond)
* Newline fix for logger output to stdout (Henri Spencer)

util-linux 2.10d:

* Do not try to mount something as udf without good reason
* Do not loop in umount if there is a stale lock file
* Allow fdisk twice as many cylinders
* Fixed non-casefolding search in look (Markus Demleitner)

util-linux 2.10c:

* Various compilation fixes

util-linux 2.10b:

* Fixed smbmount problem (Andrew Tridgell)
* Fixed ddate problem with the day after St. Tib's Day (Brad)
* German messages (Elrond)
* Made kill a bit more standard compliant
* Made some more programs output a version

util-linux 2.10a:

* Japanese messages (Daisuke Yamashita)
* French messages and several Debian fixes (Vincent Renardias)
* Fixed infinite loop in mkfs.minix

util-linux 2.10:

* Added BSD disklabel code to rescuept
* Added blockdev utility
* Fix losetup return code
* Fix unit display in cfdisk
* Do not redefine _PATH_MAILDIR (so that recent systems can have /var/mail)
* Added --localtime option to hwclock;
  added third line (LOCAL/UTC) to /etc/adjtime.
* Add -H option to agetty (David Holland)

util-linux 2.9z:

* Japanese messages (Daisuke Yamashita)
* Czech messages (Jiří Pavlovský)
* Added some udf stuff to mount.8
* Added ioctl for fdisk on bsdlabels

util-linux 2.9y:

* Wide character support (Bruno Haible)
* German messages and some small fixes (Elrond)
* Small fix to owner mount option (Erik Troan)
* Don't sleep so long in clock/kd.c (Christian T. Steigies)

util-linux 2.9x:

* German messages and a i18n fix (Elrond)
* mount option: allow the owner to mount a device (RedHat)
* ugly: let login open console with O_NONBLOCK (Maciej W. Rozycki)
* UGLY: let login ignore mail that is precisely 523 bytes long (RedHat)
* added mkfs.bfs, mkfs.bfs.8
* mount now recognizes qnx4 and bfs partitions
* rescuept now recognizes Unixware partitions
* hwclock fix on m68k (Roman Hodek)
* several minor things

util-linux 2.9w:

* Updated mount.8 (Yann Droneaud)
* Improved makefiles
* Fixed flaw in fdisk

util-linux 2.9v:

* cfdisk no longer believes the kernel's HDGETGEO
  (and may be able to partition a 2 TB disk)

util-linux 2.9u:

* Czech more.help and messages (Jiří Pavlovský)
* Japanese messages (Daisuke Yamashita)
* fdisk fix (Klaus G. Wagner)
* mount fix (Hirokazu Takahashi)
* agetty: enable hardware flow control (Thorsten Kranzkowski)
* minor cfdisk improvements
* fdisk no longer accepts a default device
* Makefile fix

util-linux 2.9t:

* national language support for hwclock
* Japanese messages (both by Daisuke Yamashita)
* German messages and some misc i18n fixes (Elrond)
* Czech messages (Jiří Pavlovský)
* wall fixed for /dev/pts/xx ttys
* make last and wall use getutent() (Sascha Schumann)
  [Maybe this is bad: last reading all of wtmp may be too slow.
   Revert in case people complain.]
* documented UUID= and LABEL= in fstab.5
* added some partition types
* swapon: warn only if verbose

util-linux 2.9s:

* tunelp patch (Andrea Arcangeli)
* fixed mount race (HJLu)
* German messages (Elrond)

util-linux 2.9[pqr]:

* errno->errsv patch (Arnaldo Carvalho de Melo)
* hwclock patch for the Award 4.50g BIOS "2094" bug. (Dave Coffin)
* fdisk patch to correct deletion of last logical partition

util-linux 2.9o:

* fix to login by Ambrose C. Li
* improvement to mcookie inspired by a patch from Rik Faith
* more i18n by Arnaldo Carvalho de Melo; pt_BR locale

util-linux 2.9n:

* Added -u option to logger (write to user-specified socket; Martin Schultze)
* Added mount.smb script contributed by Greg Galperin
* Some more national language support
* mkfs.minix argument parsing fixed
* write fixed for /dev/pts/xx ttys
* configure adapted for the case of <scsi/scsi.h> that needs u_char.

util-linux 2.9m:

* Added national language support (misiek@pld.ORG.PL)
* minor improvements in mount, fdisk, cfdisk, agetty, more

util-linux 2.9l:

* Added /dev/port use to hwclock again - it may be necessary for Jensen.

util-linux 2.9k:

* major reshuffle of hwclock stuff; added sparc and alpha code
* fdisk fix
* tiny shutdown fix

util-linux 2.9j:

* added configure
* merged three lists of partition types in *fdisk
* multi page display in cfdisk
* test for getlogin() == "";
* start fixup hwclock

util-linux 2.9i:

* fixed 2.9h typo in more
* added -m: `Monday is 1st day' option to cal (Jean-Francois Bignolles)
* changed PAM stuff in login.c (+- mjohnson)
* added warning to cfdisk in case of multiple bootable partitions
* added 2048-byte sector support in fdisk (Oliver Schaertel)

util-linux 2.9h:

* mount recognizes "uid=useruid" and "gid=usergid" in /etc/fstab.
* documented the fact that "mount -t smb" will call /sbin/mount.smb.
* mount gives clear error message when fstab does not end in newline.
* swapon checks mode of file
* cfdisk got a more specific exit status (Enrique Zanardi)

util-linux 2.9g:

* mount updates (locking, "users" keyword, "/etc/filesystems",
  "proto" and "vers" options in nfsmount, ...)

util-linux 2.9f:

* made ul handle lines of arbitrary length (Scott Maxwell)
* killed some C/H/S nonsense in fdisk
* fixes for archs with unsigned char type (Ambrose Li)
* fdisk fixes for power pc (Tom Rini)
* added a define for NCURSES_CONST
* fixes for list of signals in kill.c
* fixes for user name length in last.c

util-linux 2.9e:

* added a forgotten declaration to login.c (Christian Oyarzun)

util-linux 2.9d:

* fixed segfault in umount caused by Wilcox' patch (Steffen Zahn)
* added lnz stuff to fdisk

util-linux 2.9c:

* refixed PAM stuff in login.c that was broken in 2.8.

util-linux 2.9b:

* split README into INSTALL and HISTORY
* added a sentence to swapon.8
* behavior of write on non-ASCII fixed
* hwclock adapted to survive a failing mktime()

util-linux 2.9a:

* added an include to lib/my_reboot.c so that __GLIBC__ is defined
* added setlocale() to login-utils/chfn.c
* do not recompute MAIL in login-utils/login.c

util-linux 2.9:

HIGHLIGHTS for version 2.9:

1) Removed programs:
   - strings. There is a version in binutils.
   - frag. (Moved to historic in 2.4, crept back in 2.5. Gone again.)
1a) Not yet removed program:
   - setfdprm. It also is in fdutils-5.2 (with an exceptionally
     ugly man page).
1b) Removed directory:
   - bsd. (The routine getopt() is in libc. err() moved to lib.)
2) Improvements:
   - ddate has been fixed to count down to the new, right X-day
   - look is now willing to search non-English dictionaries
     (i.e., uses locale)
   - cal now knows that Dutch day abbreviations have length 2 only
   - mcookie does not block when no random stuff is available
   - shutdown got a configuration file /etc/shutdown.conf
   - fdisk now reads SGI disk labels (thanks to Andreas Neuper)
   - mkswap now knows about new swap areas; mkswap.8 has been rewritten
   - umount knows about umount2() and forced unmounting of nfs mounts
     (however, I don't think it really works)
   - mount is now willing to handle file names with embedded spaces
   - mount can now mount things by UUID or volume name
3) Uglifications:
   - swap.h has been replaced by a private swap_constants.h since
     <linux/swap.h> does not compile
   - reboot has become a private routine, since libc5 and glibc2 conflict
   - a mkminix-0.1 directory contains some patches to let mkfs.minix
     work under DOS. (Untested.)
4) Numerous other small changes.

0xF) Send questions and/or patches to util-linux@math.uio.no

util-linux 2.9 was released by Andries Brouwer - aeb@cwi.nl
The address util-linux@math.uio.no reaches Rik, Andries, Peter,
Michael, Erik, Nicolai and possibly others.  Hwclock stuff is
forwarded to Bryan.

util-linux 2.8:

HIGHLIGHTS for version 2.8:

1) New programs:
   - getopt(1) by Frodo Looijaard replaces the older bsd based version.
     Keywords: Backward compatible, supports --long options.
1) Removed programs: 
   - chroot: is no longer in util-linux.  Get it free with GNU sh-utils
   - hostid: No-one could figure out the right way for this program to
		work.  Another hostid program is included in poeigl
		(see the LSM, Primary-site: ftp.daimi.aau.dk /pub/linux/poe)
2) Various portability enhancements.  Among other things hwclock now works
   a lot better on non Intel architectures.  Should compile with libc 4, 5
   and 6 as well as old and recent kernels.  People using non-intel hardware
   are encouraged to send patches.
3) rev now only limits linelength to memory capacity
4) dmesg now uses a buffer that matches the kernel buffer in size (8KB)


util-linux 2.7:

HIGHLIGHTS for version 2.7:

1) util-linux now _requires_ ncurses.  Several programs are completely
   converted to use terminfo (instead of termcap).

2) Removed programs:
   - clock: Dropped entirely.  Use hwclock (included).
   - sync: is in gnu fileutils.
   - setserial: Is being maintained by Ted Ts'o, he recommends
	setserial-2.12 (2.13 is bad luck)
   - clear: Included in ncurses
   - hostname, domainname, dnsdomainname: It's in net-utils.
   - lpcntl.

3) Bugfixes, additions:
   - cfdisk: A much improved version. All known bugs have been fixed.
   - sfdisk: A command line fdisk type utility, formerly called fdisk-3.04.
   - SECURITY: All known holes in login, chfn, chsh and others have been
     plugged.  UPGRADE NOW if you haven't already fixed them yourself.
   - Should work with libc 4, 5 and 6 (gnulibc), on m68k, intel, alpha
     and sparc.

4) Problems:
   - The rpcgen that comes in NetKit-B-0.09 is broken.  At least as
     packaged with RedHat 4.2 (NetKit-B-0.09-6).  There are several
     ways to deal with this:
     - Don't run rpcgen, the needed pre-generated sources are included
       (nfsmount_xdr.c).  You must hack mount/Makefile to do this.
     - Edit the source emitted by rpcgen so it can compile.  This is very
       simple if you know C.
     - Disable the NFS parts of mount.  You have to edit mount/Makefile
       to do this.
     - Use some other rpcgen.

util-linux 2.6.1

This release was never made public

See notes for 2.6 for installation instructions.

This is a incremental release containing some fixes.  A new release
will be made later fixing the outstanding bugs.
- Things compiles and works better with recent releases of kernel, 
  ncurses, and so forth: fdisk, more
- Some fixes to make things compile out of the box on alphas.
- There has been reported a problem with login and /etc/usertty.  It
  should be fixed.  If you still have problems get a recent MAKEDEV and 
  use it to make new tty devices.  They were renumbered sometime during
  the 1.3 phase of the kernel.
- ipcs now displays the key of the structures.
- A (harmless?) overflow bug was fixed in login.

Outstanding bugs:
- login/getty has a denial of service problem.
- Several places needs a bit more polish.
- There are a _lot_ of nonfatal warnings when compiling mount.  This will
  not necessarily be fixed.


util-linux 2.6

HIGHLIGHTS for version 2.6:

0) The first release with me at the helm.  PLEASE SEND PATCHES AND
   UPDATES TO: util-linux@math.uio.no.

1) Removed programs:
   - md5sum, dsplit: available in GNU textutils.
   - syslogd: Sysklogd is now preferred.  It is available at
	tsx-11.mit.edu:/pub/sources/sbin
	sunsite.unc.edu:/pub/Linux/system/Daemons

2) Bugfixes, additions: 
   - SECURITY: All known holes in mount have been fixed.  UPGRADE NOW
     if you haven't already!
   - Portability enhancements to the minix filesystem utils (m68k and
     Arm patches).
   - passwd/chsh/chfn will not mess up the passwd file on a NIS machine
   - others too numerous to enumerate.

3) New programs: 
   - vigr (it's like vipw)
   - Introducing hwclock.  A complete rewrite of the latest available
     clock source.  It supports intel/CMOS, /dev/rtc and linux/m68k
     system clock interfaces.  Clock supports the same things but is now
     obsolete and will not be present in the next release.  Start using
     hwclock now.  Please.


util-linux 2.5

HIGHLIGHTS for version 2.5:
0) Nicolai Langfeldt is taking over maintenance of util-linux, with the
   help of a few others (Michael K. Johnson, Andries Brouwer, and Rik
   Faith).

   PLEASE SEND PATCHES AND UPDATES TO: util-linux@math.uio.no

1) The following packages have been removed.  Please use the up-to-date,
   canonical versions of these packages from the listed places:

    timezone support (/usr/lib/zoneinfo, libz.a, zic, zdump):
        elsie.nci.nih.gov:/pub/tzcode95d.tar.gz
        elsie.nci.nih.gov:/pub/tzdata95h.tar.gz
    MAKEDEV-C:
        sunsite.unc.edu:/pub/Linux/system/Admin/MAKEDEV-C-1.5.tar.gz
    MAKEDEV:
        sunsite.unc.edu:/pub/Linux/system/Admin/MAKEDEV-2.2.tar.gz
    md5sum:
        prep.ai.mit.edu:/pub/gnu/textutils-1.3.tar.gz
        [The GNU version is now compatible with the Plumb/Lankester
        version.]
    ksymoops:
        Now bundled with the kernel in linux/scripts.

2) update_state has been removed
3) fdisk now supports NetBSD disklabels courtesy of Bernhard Fastenrath
   <fasten@athene.informatik.uni-bonn.de> (and > 8GB disks, courtesy of
   Andries Brouwer)
4) mount improved -- many patches from Andries Brouwer for greatly improved
   error reporting
5) ddate, chkdupexe, and other programs have been improved and bug fixed
6) util-linux is now a source-only distribution
7) mcookie generates better random numbers and will use /dev/random or
   /dev/audio if available
8) chfn, chsh, passwd, and vipw have been updated with security patches
   from Zefram <A.Main@dcs.warwick.ac.uk>.  Now, they all use the same
   locking, and several security holes have been patched.  Further, chsh
   and chfn can be configured at compile time to require a password before
   updates and chsh can be configured to only use shells from /etc/shells.
        

HIGHLIGHTS for version 2.4 (2.3 was never released):
0) Michael K. Johnson <johnsonm@nigel.vnet.net> is the interim maintainer
   while Rik Faith is working on PhD work.
1) login now makes the login tty mode 600 and places it in group "tty"
2) wall, and write will not write dangerous escape sequences
3) wall and write can be run setgid "tty".  If util-linux is compiled for
   this option, "mesg y" will only set group write instead of group/other
   write.
4) fdisk and cfdisk have been patched with the latest llseek.c.  Although I
   had a lot of bug reports about fdisk from util-linux-2.2, I was unable
   to reproduce any of the problems.  Some of the problems appeared to be
   related to a failure to reboot the machine after changing the partition
   table, and some may have been due to a specific kernel revision problem.
   However, this doesn't seem to account for all of the bug reports -- if
   this version gives you problem, please send as complete a bug report as
   possible.
5) chkdupexe from Nicolai Langfeldt (janl@ifi.uio.no)
6) ctrlaltdel now installs into /sbin instead of /usr/sbin
7) mkfs replacement from Ron Sommeling (sommel@sci.kun.nl)
8) lpcntl removed.  Use tunelp instead.
9) ksymoops from Greg McGary <gkm@magilla.cichlid.com>
10) mkfs.minix now clears the first 512 bytes of the file system so that
    Minix disks won't be confused with MSDOS disks (Daniel Quinlan
    (quinlan@yggdrasil.com))
11) mkswap should now work on an Alpha running Linux
12) frag removed.  See
    sunsite.unc.edu:/pub/Linux/system/Filesystems/defrag-0.6.tar.gz for the
    latest version.
13) mount patches from Andries.Brouwer@cwi.nl and Dan Quinlan
    (quinlan@yggdrasil.com).
14) MAKEDEV and MAKEDEV-C updated to the latest versions.
15) Paths updated for FSSTND 1.2.  This means that you may need to make
    some links.  The links you need to make we system dependent.  The
    ultimate goal is to rename /var/adm to /var/log and have a symbolic
    link from /var/adm to /var/log during the transition period.  If you
    are running an ELF system, you probably won't have to do anything.  The
    bottom line is that the following files must exist or be pointers to
    the old version (used internally by the a.out libraries):

             New                 Old

        /var/log/wtmp       /var/adm/wtmp
        /var/log/lastlog    /var/adm/lastlog
        /var/run/utmp       /var/adm/utmp

HIGHLIGHTS for version 2.2:
1) This is primarily a quick bug-fix release for version 2.1
2) mkfs wrapper added back in, since e2fsprogs only supplies an fsck wrapper
3) selection removed, since someone appears to be maintaining it now.  See
   sunsite.unc.edu:/pub/linux/kernel/patches/console for recent sources.
   For the time being, I'm keeping a copy in the historic subdirectory of
   util-linux.  A "make install" should work find from within that
   directory.
4) Note that other floppy utilities are available from:
    ftp.imag.fr:pub/Linux/ZLIBC/fdutils/fdutils-4.1.src.tar.gz
    sunsite.unc.edu:/pub/Linux/system/Misc/fdutils-4.1.src.tar.gz
    tsx-11.mit.edu:/pub/linux/sources/sbin/fdutils-4.1.src.tar.gz


HIGHLIGHTS for version 2.1:

1) Directory structure rearrange, with configuration support for those who
   use shadow passwords and System V init (no support is provided for these
   things, but your utilities won't get overwritten if you do a "make
   install" after you properly edit MCONFIG).
2) fdisk and cfdisk should work as expected with 2GB+ disk drives
3) As usual, lots of stuff was updated and added, including mount, vipw,
   readprofile
4) Some stuff was also deleted, and can now be found elsewhere:
    fsck wrapper: tsx-11.mit.edu:/pub/linux/ALPHA/ext2fs/e2fsprogs*
    pwd, su: prep.ai.mit.edu:/pub/gnu/sh-utils*
    ed: prep.ai.mit.edu:/pub/gnu/ed*
    od: prep.ai.mit.edu:/pub/gnu/textutils*
    uudecode/uuencode: prep.ai.mit.edu:/pub/gnu/sharutils*
    bdflush/update: ftp.funet.fi:/pub/OS/Linux/PEOPLE/Linus/v1.1/bdflush*



PARTIAL HISTORY OF UTIL-LINUX:

bsd:
    Nothing in this directory gets installed, but some BSD programs need
    this support:
        err.c: 8.1 (Berkeley) 6/4/93
        err.h: 8.1 (Berkeley) 6/2/93
        getopt.c: 4.13 (Berkeley) 2/23/91
        pathnames.h: 5.3 (Berkeley) 5/9/89 with extensive modifications for
                     Linux

disk-utils:
    cfdisk: 0.8 BETA (>2GB) from Kevin E. Martin (martin@cs.unc.edu) with
            modifications for disks > 2GB.
            ftp.cs.unc.edu:/pub/users/martin/linux/cfdisk-0.8.tar.gz
    fdformat: Werner Almesberger (almesber@nessie.cs.id.ethz.ch), with
              modifications by Marcel Mol (marcel@dutecad.et.tudelft.nl)).
              Later, updated with a September 1992 version by Werner.
    fdisk: A. V. Le Blanc (LeBlanc@mcc.ac.uk) fdisk 1.5 release, with
           patched from Kevin Martin for DOS and OS/2 compatibility (1.5a);
           Rik Faith (1.5b, 2.0).
    fsck.minix, mkfs.minix: Linus Torvalds, with modifications by: Rik
                            Faith (faith@cs.unc.edu), Scott Heavner
                            (sdh@po.cwru.edu), Dr. Wettstein
                            (greg%wind.uucp@plains.nodak.edu), Daniel
                            Quinlan (quinlan@yggdrasil.com).
    mkfs: David Engel (david@ods.com) and Fred N. van Kempen
          (waltje@uWalt.NL.Mugnet.ORG)
          Version 1.9 from Ron Sommeling (sommel@sci.kun.nl)
    mkswap: Linus Torvalds, with modifications by Mike Jagdis
            (jaggy@purplet.demon.co.uk. )
            Version for Alpha from
            cage.cs.arizona.edu:/pub/davidm/linux/mkswap-axp-950503.tar.gz
    setfdprm: Werner Almesberger (almesber@nessie.cs.id.ethz.ch)
              Note that more floppy utilities are available from:
                ftp.imag.fr:pub/Linux/ZLIBC/fdutils/fdutils-4.1.src.tar.gz
                sunsite.unc.edu:/pub/Linux/system/Misc/fdutils-4.1.src.tar.gz
                tsx-11.mit.edu:/pub/linux/sources/sbin/fdutils-4.1.src.tar.gz
    llseek.c: from Remy Card's e2fsprogs-0.5b.tar.gz (21Mar95 version) from:
                sunsite.unc.edu:/pub/Linux/system/Filesystems/ext2

games:
    banner: (8.3 (Berkeley) 4/2/94)
            ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin

login-utils:
    agetty: W. Z. Venema, ported by Peter Orbaek <poe@daimi.aau.dk>.
            ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
    chfn: Salvatore Valente <svalente@athena.mit.edu>
    chsh: Salvatore Valente <svalente@athena.mit.edu>
    last: 5.11 w/year (Berkeley) 6/29/88; Port by Michael Haardt with
          changes by Peter Orbaek.
          ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
    login: 5.40 (Berkeley) 5/9/89; with ports by Michael Glad and Peter Orbaek
           ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
    mesg: 8.2 (Berkeley) 1/21/94
          ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
    newgrp: Michael Haardt, with modifications by Peter Orbaek.
            ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
    passwd: Peter Orbaek, with yp modifications by Alvaro Martinez
            Echevarria (alvaro@enano.etsit.upm.es)
            ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
    shutdown: Peter Orbaek, with new modifications by Stephen Tweedie, Rik
              Faith, and Dave (gentzel@nova.enet.dec.com).
              ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
    simpleinit: Peter Orbaek
                ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
    vipw: 5.16 (Berkeley) 3/3/91, with modifications by Mike Grupenhoff
          <kashmir@umiacs.UMD.EDU> 
    wall: 8.2 (Berkeley) 11/16/93 (With changes so that damaging escape
          sequences cannot be sent.)
          ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin


misc-utils:
    cal: 8.4 (Berkeley) 4/2/94, with modifications by Rik Faith and
         Hein@student.tu-clausthal.de (Jochen Hein).
         ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
    chkdupexe: Version 1.2 from "Nicolai Langfeldt" <janl@ifi.uio.no>
    clear: Rik Faith
    ddate: Druel the Chaotic aka Jeremy Johnson aka mpython@gnu.ai.mit.edu,
           with modifications by Lee Harvey Oswald Smith, K.S.C. and
           substantial updates from Rev. Bro. Lee H:. O:. Smith, KYTP
    domainname: Peter Orbaek
            ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
    dsplit: David Arnstein (arnstein@netcom.com)
            gatekeeper.dec.com:/pub/usenet/comp.sources.misc/volume40/dsplit
    getopt (getoptprog): jhunix.hcf.jhu.edu:
           /pub/public_domain_software/NetBSD/usr/src/usr.bin/getopt
	   replaced by getopt-1.0.3.tar.gz from Frodo Looijaard,
	   found at http://huizen.dds.nl/~frodol
    hostid: Mitch DSouza (m.dsouza@mrc-apu.cam.ac.uk)
            ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
    hostname/dnsdomainname: Peter Tobias <tobias@server.et-inf.fho-emden.de>
              This version (1.6) should also be available soon in:
              nic.funet.fi:/pub/OS/Linux/PEOPLE/Linus/net-source/base/NetKit-A*
    kill: BSD version, modified by Salvatore Valente <svalente@mit.edu>
    logger: 8.1 (Berkeley) 6/6/93, with modifications by Rik Faith
            ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
    look.c: 8.1 (Berkeley) 6/14/93, with modifications by Rik Faith
            ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
    mcookie: Rik Faith (faith@cs.unc.edu)
    md5sum: Branki Lankester and Colin Plumb.  The MD5 message-digest
            algorithm is in the Public Domain.  This implementation
            calculates message-digest information only, and can NOT be used
            for encryption.  Therefore it is exportable from the USA.
            Original sources in the MIT version of PGP 2.6.2.
    namei: Roger S. Southwick, with modifications by Steve Tell.
    reset: Rik Faith
    script: 5.13 (Berkeley) 3/5/91, with modifications by Rick Sladkey
            (jrs@world.std.com), Harald Koenig
            (koenig@nova.tat.physik.uni-tuebingen.de).
    setterm: Gordon Irlam (gordoni@cs.ua.oz.au), with modifications by
             Peter MacDonald, Mika Liljeberg (liljeber@cs.Helsinki.FI),
             John Walder (j-walder@uiuc.edu) [for dosemu].
    tsort: 5.3 (Berkeley) 6/1/90
           wuarchive.wustl.edu:/mirrors/4.3-reno
    whereis: 5.5 (Berkeley) 4/18/91
             wuarchive.wustl.edu:/mirrors/4.3-reno
    write: 8.1 (Berkeley) 6/6/93, with modifications by Mike Grupenhoff
           (kashmir@umiacs.umd.edu).  With changes so that damaging escape
           sequences cannot be sent.
           ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin


mount:
    mount, umount, swapon

    Rick Sladkey put together the mount-0.99.6.tar.Z package, and Stephen
    Tweedie provided updates.  The utilities were originally from that
    package (all appear to be by Doug Quale (quale@saavik.cs.wisc.edu),
    with modifications by H. J. Lu (hlu@eecs.wsu.edu) on 11/25/92; Rick
    Sladkey (jrs@world.std.com) in January 1993; and Stephen Tweedie
    <sct@dcs.ed.ac.uk> on 8 October 1993.  This distribution mount now
    supports NFS stuff.  I have modified the man pages.  I have also added
    a small patch from Hamish Glen Coleman (t933093@minyos.xx.rmit.OZ.AU)
    which restores the -o semantics.
    
    Updated with Rick Sladkey's mount-0.99.14.tar.gz package, and with
    extra patches from Rick.  Adam J. Richter allowed -t option to be
    optional. Patrick J. Volkerding (volkerdi@mhd1.moorhead.msus.edu) and
    Mitchum DSouza both provided patches that fixed the (null) problem when
    not using -t. Mitchum DSouza
    (mitch@mrc-applied-psychology.cambridge.ac.uk) added support for loop
    device mounts. Sebastian Lederer
    (lederer@next-pc.informatik.uni-bonn.de) added support for sending an
    unmount RPC call to the server when an NFS-filesystem is unmounted.
    Sander van Malssen (svm@kozmix.hacktic.nl) added support for remounting
    readonly file systems readonly.  Mike Grupenhoff
    <kashmir@umiacs.UMD.EDU> added a probe of the superblock for the type
    before /proc/filesystems is checked.  Andries.Brouwer@cwi.nl fixed up
    error reporting.

    Updated with patches from Andries.Brouwer@cwi.nl and Dan Quinlan
    (quinlan@yggdrasil.com).  And more patches from Andries and others.

historic/selection: The complete selection-1.5 package, by Andrew Haylett
    <ajh@gec-mrc.co.uk>, 17th June 1993, is included in the historic tree.
    Kernel patches are no longer necessary for modern kernels, but these
    were tiny so I left them in for historical reasons.  The Makefile was
    modified for this distribution.  With changes from Rick Sladkey.

sys-utils:
    arch: Rik Faith <faith@cs.unc.edu>
    chroot: Rick Sladkey <jrs@world.std.com>
    clock: Originally from the timesrc-1.2.tar.Z package, Charles Hedrick,
           hedrick@cs.rutgers.edu (V1.0); Rob Hooft, hooft@chem.ruu.nl
           (V1.1); Harald Koenig (koenig@nova.tat.physik.uni-tuebingen.de)
           (V1.2).  With additional changes: Hamish Coleman
           (hamish@zot.apana.org.au) (V1.2a); Alan Modra
           (alan@spri.levels.unisa.edu.au (V1.3, V1.4).
    ctrlaltdel: Peter Orbaek <poe@daimi.aau.dk>
                ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
    cytune: Nick Simicish (njs@scifi.emi.net) and Rik Faith (faith@cs.unc.edu)
    dmesg: Theodore Ts'o (tytso@athena.mit.edu); Rick Sladkey
           (jrs@world.std.com)
    ipcrm: From the ipcdelta.tar.z distribution by krishna
           balasub@cis.ohio-state.edu on 3/15/93.  ipc.info and ipc.texi
           are also from that distribution.
    ipcs: Also from the ipcdelta.tar.z distribution by krishna
          balasub@cis.ohio-state.edu, with patches from Mike Jagdis
          (jaggy@purplet.demon.co.uk)
    kbdrate: Rik Faith (faith@cs.unc.edu), with patches from
             Andries.Brouwer@cwi.nl and John Bowman
             (bowman@hagar.ph.utexas.edu)
    ksymoops: 1.7 from Greg McGary <gkm@magilla.cichlid.com>
    rdev: almesber@nessie.cs.id.ethz.ch (Werner Almesberger), with
          modifications from Peter MacDonald, Stephen Tweedie
          (sct@dcs.ed.ac.uk), and Dave (gentzel@nova.enet.dec.com)
    readprofile: Alessandro Rubini from readprofile-2.0.tar.gz
    renice: 8.1 (Berkeley) 6/9/93
            ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
    setserial: Michael K. Johnson (johnsonm@stolaf.edu) re-released Rick
               Sladkey's setserial in January 1993, with changes by
               Theodore Ts'o (tytso@mit.edu).  I think that Theodore also
               did extensive changes for version 2.01, I can't find any
               notes about this in the documentation. However, Theodore
               Ts'o (tytso@ATHENA.MIT.EDU) released version 2.10, and that
               is now included.
    setsid: Rick Sladkey <jrs@world.std.com>
    sln: Mike Parker and David MacKenzie (from Linux's libc)
    sync: Nick Holloway, with thanks to James Bonfield
    tunelp: Michael K. Johnson (johnsonm@nigel.vnet.net)


syslogd:
   5.45 (Berkeley) 3/2/91

   Most of the changes for syslogd come from Rick Sladkey
   (jrs@world.std.com), but I'd like to thank other people who sent in
   changes (which usually got forwarded to Rick): Carsten Paeth
   (calle@calle.in-berlin.de) and Kaz Sasayama (kaz@lilia.iijnet.or.jp).

text-utils:
    col: 5.3 (Berkeley) 2/2/91; with patches from Andries.Brouwer@cwi.nl
         and Carl Christofferson (cchris@connected.com)
         wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin}
    colcrt: 8.1 (Berkeley) 6/6/93 (Bill Joy)
            ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
    colrm: 5.4 (Berkeley) 6/1/90 (Jeff Schriebman)
    column: 8.3 (Berkeley) 4/2/94
            ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
    hexdump: 5.5 (Berkeley) 6/1/90
             wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin}
    more: 5.19 (Berkeley) 6/29/88 (Eric Shienbrood, Geoff Peck, John Foderaro)
    rev: 5.2 (Berkeley) 3/21/92; with modifications by Charles Hannum
         (mycroft@gnu.ai.mit.edu), Brian Koehmstedt (bpk@gnu.ai.mit.edu),
         bjdouma@xs4all.nl
         wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin}
    strings: 5.10 (Berkeley) 5/23/91; with patches from Vitor Duarte
             <vad@fct.unl.pt>
             wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin}
    ul: 8.1 (Berkeley) 6/6/93
        ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin

