util-linux 2.36.1: Nov 16 2020
* see Documentation/releases/v2.36.1-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.1-ChangeLog

util-linux 2.36: Jul 23 2020
* see Documentation/releases/v2.36-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36-ChangeLog

util-linux 2.36-rc2: Jul 09 2020
* see Documentation/releases/v2.36-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36-rc2-ChangeLog

util-linux 2.36-rc1: Jun 09 2020
* see Documentation/releases/v2.36-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36-rc1-ChangeLog

util-linux 2.35: Jan 21 2020
* see Documentation/releases/v2.35-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.35/v2.35-ChangeLog

util-linux 2.35-rc2: Jan 8 2020
* see Documentation/releases/v2.35-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.35/v2.35-rc2-ChangeLog

util-linux 2.35-rc1: Dec 11 2019
* see Documentation/releases/v2.35-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.35/v2.35-rc1-ChangeLog

util-linux 2.34: Jun 14 2019
* see Documentation/releases/v2.34-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.34/v2.34-ChangeLog

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

util-linux 2.34-rc1: Apr 30 2019
* see Documentation/releases/v2.34-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.34/v2.34-rc1-ChangeLog

util-linux 2.33: Nov 6 2018
* see Documentation/releases/v2.33-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.33/v2.33-ChangeLog

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

util-linux 2.33-rc1: Sep 25 2018
* see Documentation/releases/v2.33-ReleaseNotes or the complete changelog at
  https://www.kernel.org/pub/linux/utils/util-linux/v2.33/v2.33-rc1-ChangeLog

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 build 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

