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

