util-linux 2.26: Feb 19 2015
* see Documentation/releases/v2.26-ReleaseNotes or the complete changelog at
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.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
  ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc1-ChangeLog

util-linux 2.13-pre7

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

util-linux 2.13-pre6

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

util-linux 2.13-pre5

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

util-linux 2.13-pre4

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

util-linux 2.13-pre3

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

util-linux 2.13-pre2

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

util-linux 2.13-pre1

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

util-linux 2.12q

* updated translation: nl

util-linux 2.12q-pre2

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

util-linux 2.12q-pre1

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

util-linux 2.12p

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

util-linux 2.12n,o

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

util-linux 2.12m

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

util-linux 2.12l

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

util-linux 2.12k

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

util-linux 2.12j

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

util-linux 2.12i

* MCONFIG: fix build conditions
* chfn, chsh: add error checking
* cytune: use local header cyclades.h
* fdisk: fix default SGI volume header size (Eric Sandeen)
* fstab.c: use strsignal() instead of sys_siglist[]
* hwclock: use <sys/io.h> when available on i386
* hwclock: dont 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:

HIGLIGHTS for version 2.7:

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

2) Removed progams:
   - 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 enhancments 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
   releated 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

