Import Upstream version 2.39.3

This commit is contained in:
liushanwen 2024-03-09 06:52:11 +00:00
commit ceeae46c4c
3157 changed files with 1916139 additions and 0 deletions

1
.tarball-version Normal file
View File

@ -0,0 +1 @@
2.39.3

1
.version Normal file
View File

@ -0,0 +1 @@
2.39.3

1282
ABOUT-NLS Normal file

File diff suppressed because it is too large Load Diff

994
AUTHORS Normal file
View File

@ -0,0 +1,994 @@
util-linux
MAINTAINER:
Karel Zak <kzak@redhat.com>
PAST MAINTAINERS:
Adrian Bunk <bunk@stusta.de>
Andries E. Brouwer <aeb@cwi.nl>
AUTHORS (merged projects & commands):
blkdiscard: Lukas Czerner <lczerner@redhat.com>
blkpr: zhenwei pi <pizhenwei@bytedance.com>
blkzone: Shaun Tancheff <shaun@tancheff.com>
Damien Le Moal <damien.lemoal@wdc.com>
fallocate: Eric Sandeen <sandeen@redhat.com>
Karel Zak <kzak@redhat.com>
Matěj Cepl <mcepl@redhat.com>
fincore: Masatake YAMATO <yamato@redhat.com>
findmnt: Karel Zak <kzak@redhat.com>
flock: H. Peter Anvin <hpa@zytor.com>
fsck: [merged from e2fsprogs]
Theodore Ts'o <tytso@mit.edu>
fstrim: Lukas Czerner <lczerner@redhat.com>
fsfreeze: Hajime Taira <htaira@redhat.com>
getopt: Frodo Looijaard <frodol@dds.nl>
hardlink: Jakub Jelinek <jakub@redhat.com>
hwclock: Bryan Henderson <bryanh@giraffe-data.com>
ipcmk: Hayden James <hayden.james@gmail.com>
irqtop/lsirq: Zhenwei Pi <pizhenwei@bytedance.com>
Sami Kerola <kerolasa@iki.fi>
last/lastb: [merged from sysvinit]
Miquel van Smoorenburg <miquels@cistron.nl>
ldattach: Tilman Schmidt <tilman@imap.cc>
libblkid: [merged from e2fsprogs]
Theodore Ts'o <tytso@mit.edu>
libmount: Karel Zak <kzak@redhat.com>
libuuid: Theodore Ts'o <tytso@mit.edu>
lscpu: Cai Qian <qcai@redhat.com>
lsblk: Milan Broz <gmazyland@gmail.com>
Karel Zak <kzak@redhat.com>
lsfd: Masatake YAMATO <yamato@redhat.com>
lsipc: Ondrej Oprala <ooprala@redhat.com>
Karel Zak <kzak@redhat.com>
lslocks: Davidlohr Bueso <dave@gnu.org>
lslogins: Ondrej Oprala <ooprala@redhat.com>
lsmem/chmem: Heiko Carstens <heiko.carstens@de.ibm.com>
mountpoint: Karel Zak <kzak@redhat.com>
nsenter: Eric W. Biederman <ebiederm@xmission.com>
prlimit: Davidlohr Bueso <dave@gnu.org>
runuser: [derived from coreutils su(1)]
Karel Zak <kzak@redhat.com>
resizepart: Vivek Goyal <vgoyal@redhat.com>
rfkill: Johannes Berg <johannes@sipsolutions.net>
Marcel Holtmann <marcel@holtmann.org>
Tim Gardner <tim.gardner@canonical.com>
rtcwake: David Brownell <david-b@pacbell.net>
Bernhard Walle <bwalle@suse.de>
schedutils: Robert Love <rlove@rlove.org>
setarch: Elliot Lee <sopwith@redhat.com>
Jindrich Novy <jnovy@redhat.com>
setpriv: Andy Lutomirski <luto@amacapital.net>
simpleinit: Richard Gooch <rgooch@atnf.csiro.au>
su: [merged from coreutils]
Free Software Foundation, Inc.
SUSE Linux Products GmbH
sulogin: [merged from sysvinit]
Miquel van Smoorenburg
switch_root: Peter Jones <pjones@redhat.com>
Jeremy Katz <katzj@redhat.com>
uclampse: Qais Yousef <qais.yousef@arm.com>
unshare: Mikhail Gusarov <dottedmag@dottedmag.net>
utmpdump: [merged from sysvinit]
Danek Duvall <duvall@alumni.princeton.edu>
Miquel van Smoorenburg <miquels@cistron.nl>
wipefs: Karel Zak <kzak@redhat.com>
swaplabel: Jason Borden <jborden@bluehost.com>
Karel Zak <kzak@redhat.com>
zramctl: Timofey Titovets <nefelim4ag@gmail.com>
Karel Zak <kzak@redhat.com>
CONTRIBUTORS:
95p <seven-master@hotmail.de>
Aaron Lu <aaron.lu@intel.com>
A. Bram Neijt <bneijt@gmail.com>
A. Costa <agcosta@gis.net>
Adam Jackson <ajax@redhat.com>
Adriaan de Groot <groot@kde.org>
Adrian Knoth <adi@drcomp.erfurt.thur.de>
Adrian Reber <areber@redhat.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
ahmogit <ahmogit@zplane.com>
Alain Guibert <alguibert+ulng@free.fr>
Alan Curry <pacman@TheWorld.com>
Alan Jenkins <alan.christopher.jenkins@gmail.com>
Alan Wendt <alan@ezlink.com>
Alban Crequy <alban@kinvolk.io>
Alberto Ruiz <aruiz@gnome.org>
Alden Tondettar <alden.tondettar@gmail.com>
Alejandro Martinez Ruiz <alex@nowcomputing.com>
Alex <aleksandrosansan@gmail.com>
Alexander F Rødseth <xyproto@archlinux.org>
Alexander Kuleshov <kuleshovmail@gmail.com>
Alexander Shishkin <virtuoso@slind.org>
Alexander Troosh <trush@yandex.ru>
Alexandra Surdina <alexandrasurdina@gmail.com>
Alexandre Ghiti <alexandre.ghiti@canonical.com>
Alexandre Peixoto Ferreira <alexandref75@gmail.com>
Alex Bligh <alex@alex.org.uk>
Alexey Galakhov <agalakhov@gmail.com>
Alexey Gladkov <gladkov.alexey@gmail.com>
Alexey Obitotskiy <aleksey.obitotskiy@intel.com>
Alex Ivanov <yourbestfriend@openmailbox.org>
Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
Ali Saidi <alisaidi@amazon.com>
Alison Chaiken <alison@she-devel.com>
Allon Mureinik <amureini@redhat.com>
Alon Bar-Lev <alon.barlev@gmail.com>
Alvaro M. Echevarria
Américo Wang <xiyou.wangcong@gmail.com>
Anatoly Pugachev <matorola@gmail.com>
Andrea Galbusera <gizero@gmail.com>
Andreas Bießmann <biessmann@corscience.de>
Andreas Dilger <adilger@sun.com>
Andreas Henriksson <andreas@fatal.se>
Andreas Hindborg <andreas.hindborg@wdc.com>
Andreas Schwab <schwab@linux-m68k.org>
Andreas Vogel <Andreas.Vogel@anvo-it.de>
Andrew G. Morgan <morgan@kernel.org>
Andre Wild <wild@linux.vnet.ibm.com>
Andrew McGill <list2008@lunch.za.net>
Andrew Nayenko <resver@gmail.com>
Andrew Price <anprice@redhat.com>
Andrew Savchenko <bircoph@altlinux.org>
Andrew Shapiro <anshapiro@gmail.com>
Andrew Vagin <avagin@openvz.org>
Andrew Wilcox <AWilcox@Wilcox-Tech.com>
Andrey Albershteyn <aalbersh@redhat.com>
Andrii Bordunov <andrew.bordunov@gmail.com>
Andrius Štikonas <andrius@stikonas.eu>
Andrzej Krzysztofowicz <ankry@mif.pg.gda.pl>
Andy Grover <agrover@redhat.com>
Andy Lutomirski <luto@amacapital.net>
Aner Perez <aner@mi-bohio.net>
Anna Jonna Ármannsdóttir <annajonna@gmail.com>
Anthony Iliopoulos <ailiop@suse.com>
Anthony Rumble <arumble@extro.ucc.su.OZ.AU>
Antoine Beaupré <anarcat@debian.org>
Anton Blanchard <anton@samba.org>
Antonio Ceballos Roa <aceballos@gmail.com>
Antonio Ospite <ao2@ao2.it>
Anton V. Boyarshinov <boyarsh@altlinux.org>
Anya <anya@neverten.org>
Aravind Ramesh <Aravind.Ramesh@wdc.com>
Ard Biesheuvel <ard.biesheuvel@linaro.org>
Arif E. Nugroho <arif_endro@yahoo.com>
Arkadiusz Miśkiewicz <arekm@maven.pl>
Armin Begovic <armin.begovic@hotmail.com>
Arnaud Mouiche <arnaud.mouiche@invoxia.com>
Arun Persaud <arun@nubati.net>
Attila Áfra <attila.afra@gmail.com>
Aurelien Aptel <aaptel@suse.com>
Aurelien Jarno <aurel32@debian.org>
Aurelien LAJOIE <orel@melix.net>
Austin English <austinenglish@gmail.com>
Awal Garg <awalgarg@gmail.com>
Bader Zaidan <bzaidan@studentsforliberty.org>
Balint Cristian <cbalint@redhat.com>
Bastian Friedrich <bastian.friedrich@collax.com>
Bastian Krause <bst@pengutronix.de>
Bauke Jan Douma <bjdouma@xs4all.nl>
benaryorg <binary@benary.org>
Ben Frankel <ben.frankel7@gmail.com>
Ben Hutchings <ben@decadent.org.uk>
Benjamin Robin <dev@benjarobin.fr>
Benjamin Romer <benjamin.romer@unisys.com>
Benno Schulenberg <bensberg@justemail.net>
Bernardo Innocenti <bernie@codewiz.org>
Bernhard Voelker <mail@bernhard-voelker.de>
Bernhard Walle <bwalle@suse.de>
Bert van Hall <bert.vanhall@avionic-design.de>
Bill Pemberton <wfp5p@virginia.edu>
Bill Pemberton <wfp5p@worldbroken.com>
Bill Reynolds <bill@goshawk.lanl.gov>
Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Björn Jacke <bj@sernet.de>
Bjørn Mork <bjorn@mork.no>
blacknon <blacknon@orebibou.com>
Bob Proulx <rwp@hprwp.fc.hp.com>
Boris Egorov <egorov@linux.com>
Boyuan Yang <073plan@gmail.com>
Božidar Putanec <bozidarp@yahoo.com>
Brad Forschinger <bnjf@bnjf.id.au>
Bruno Heridet <delapouite@gmail.com>
Bryn M. Reeves <bmr@errorists.org>
B Watson <yalhcru@gmail.com>
Cai Qian <qcai@redhat.com>
Carlo Caione <carlo@endlessm.com>
Carlos Maiolino <cmaiolino@redhat.com>
Carlos Santos <casantos@datacom.ind.br>
Casper Ti. Vector <caspervector@gmail.com>
Chandan B Rajenda <chandan@linux.vnet.ibm.com>
changlianzhi <changlianzhi@uniontech.com>
chanthmiao <chanthmiao@outlook.com>
chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Chen Qi <Qi.Chen@windriver.com>
Chistyj Arkadij <chstarkd@gmail.com>
Chow Loong Jin <hyperair@ubuntu.com>
Chris Down <chris@chrisdown.name>
Chris Frost <chris@frostnet.net>
Chris Hofstaedtler <zeha@debian.org>
Chris MacGregor <chrismacgregor@google.com>
Chris Metcalf <cmetcalf@mellanox.com>
Chris Morin <chris.morin2@gmail.com>
Christian Bartolomäus <use_v6@aglaz.de>
Christian Brauner <brauner@kernel.org>
Christian Finnberg <christian@finnberg.net>
Christian Göttsche <cgzones@googlemail.com>
Christian Hesse <mail@eworm.de>
Christian von Roques <roques@juliet.ka.sub.org>
Christian Wiese <chris@opensde.org>
Christophe Blaess <Christophe@Blaess.fr>
Christoph Egger <christoph@debian.org>
Christopher James Halse Rogers <raof@ubuntu.com>
Christoph Hellwig <hch@infradead.org>
Christoph Junghans <ottxor@gentoo.org>
Christoph Lameter <clameter@miriam.fuller.edu>
Chris Webb <chris@arachsys.com>
Claus Hindsgaul <claus_h@image.dk>
Cliff Wickman <cpw@sgi.com>
Clytie Siddall <clytie@riverland.net.au>
Cody Maloney <cmaloney@theoreticalchaos.com>
Colin Gillespie <colin@cgillespie.xyz>
Colin Watson <cjwatson@canonical.com>
Cong Wang <xiyou.wangcong@gmail.com>
Connor-GH <72793802+Connor-GH@users.noreply.github.com>
Corentin Chary <corentincj@iksaif.net>
Cristian Rodríguez <crrodriguez@opensuse.org>
Csaba Kos <csaba.kos@gmail.com>
csbo98 <boliu98@foxmail.com>
Daan De Meyer <daan.j.demeyer@gmail.com>
Daisuke Yamashita <yamad@mb.infoweb.ne.jp>
Damien Goutte-Gattat <dgouttegattat@incenp.org>
Damien Le Moal <damien.lemoal@wdc.com>
dana <dana@dana.is>
Daniel Drake <drake@endlessm.com>
Daniele Pizzolli <dan+dev@toel.it>
Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Mierswa <impulze@impulze.org>
Daniel Nylander <po@danielnylander.se>
Daniel Peukert <daniel@peukert.cc>
Daniel Quinlan <quinlan@yggdrasil.com>
Daniel Shahaf <danielsh@apache.org>
Daniel Stodden <daniel.stodden@googlemail.com>
Daniel Thumim <dthumim@mit.edu>
Daniel Trebbien <dtrebbien@gmail.com>
Darren Salt <linux@youmustbejoking.demon.co.uk>
Darsey Litzenberger <dlitz@dlitz.net>
Dave Jones <davej@fedoraproject.org>
Dave Reisner <dreisner@archlinux.org>
David Anes <david.anes@suse.com>
David Brownell <david-b@pacbell.net>
David Cantrell <david@cantrell.org.uk>
David Engraf <david.engraf@sysgo.com>
David Flor <493294@mail.muni.cz>
David Holland <dholland@hcs.harvard.edu>
Davidlohr Bueso <davidlohr@hp.com>
David Miller <davem@davemloft.net>
David Prévot <david@tilapin.org>
David Shea <dshea@redhat.com>
David Woodhouse <dwmw2@infradead.org>
Debarshi Ray <rishi@fedoraproject.org>
Deiz <silverwraithii@gmail.com>
Denis Chaplygin <dchaplyg@redhat.com>
Denis ChengRq <crquan@gmail.com>
Dennis Gilmore <dennis@ausil.us>
Dennis H Jensen <dennis.h.jensen@siemens.com>
Dennis Jensen <dennis.h.jensen@siemens.com>
Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com>
Dima Kogan <dkogan@cds.caltech.edu>
Dimitri John Ledkov <xnox@ubuntu.com>
Dirk Mueller <dmueller@suse.com>
Disconnect3d <dominik.b.czarnota@gmail.com>
Dmitriy Chestnykh <dm.chestnykh@gmail.com>
Dmitry V. Levin <ldv@altlinux.org>
Đoàn Trần Công Danh <congdanhqx@gmail.com>
Dong Hao <haodong@linux.vnet.ibm.com>
Dongli Zhang <dongli.zhang@oracle.com>
Dongsu Park <dongsu.park@profitbricks.com>
Douglas E. Quale
Doug Quale <quale@saavik.cs.wisc.edu>
Dov Grobgeld <dov.grobgeld@gmail.com>
Dr. David Alan Gilbert <dave@treblig.org>
Dusty Mabe <dusty@dustymabe.com>
Earl Chew <earl_chew@yahoo.com>
Ed Carp
Eduard Bloch <blade@debian.org>
edupont <emeric.dupont@agol.org>
Egor Chelak <egor.chelak@gmail.com>
Elan Ruusamäe <glen@delfi.ee>
Eli Schwartz <eschwartz@archlinux.org>
ellcs <me@ellcs.de>
Elliott Mitchell <ehem+util-linux@drgnwing.com>
Enze Li <lienze@kylinos.cn>
Eric Biggers <ebiggers@google.com>
Eric Desrochers <eric.desrochers@canonical.com>
Érico Nogueira <erico.erc@gmail.com>
Érico Rolim <erico.erc@gmail.com>
Eric Rannaud <e@nanocritical.com>
Eric Rasmussen <ear@usfirst.org>
Eric Sandeen <sandeen@redhat.com>
Eric Simpson <esimpson@ca.ibm.com>
Eric S. Raymond <esr@thyrsus.com>
Eric W. Biederman <ebiederm@xmission.com>
Erik Troan
Ernesto A. Fernández <ernesto.mnd.fernandez@gmail.com>
Erwan Velu <e.velu@criteo.com>
Eryu Guan <guaneryu@gmail.com>
Etienne Mollier <etienne.mollier@mailoo.org>
Eugene Yunak <eugene@yunak.eu>
Evan Green <evangreen86@gmail.com>
Evgeniy Yakushev <yen81@mail.ru>
Evgeny Vereshchagin <evvers@ya.ru>
Fabian Frederick <fabf@skynet.be>
Fabian Groffen <grobian@gentoo.org>
Fabian.Kirsch@dlr.de <Fabian.Kirsch@dlr.de>
Fabian Vogt <fvogt@suse.de>
Fabrice Fontaine <fontaine.fabrice@gmail.com>
Federico Simoncelli <fsimonce@redhat.com>
FeRD (Frank Dana) <ferdnyc@gmail.com>
Filipe Brandenburger <filbranden@google.com>
Filipe Manana <fdmanana@kernel.org>
Flávio Leitner <fleitner@redhat.com>
Florentin Duneau <fduneau@gmail.com>
Florian Weimer <fweimer@redhat.com>
Florian Zumbiehl <florz@florz.de>
Forest Bond <forest@alittletooquiet.net>
Francesco Cosoleto <cosoleto@gmail.com>
Francisco Javier Tsao Santín <tsao@gpul.org>
Franck Bui <fbui@suse.com>
Franco Fichtner <franco@opnsense.org>
François Revol <revol@free.fr>
Fran Diéguez <frandieguez@ubuntu.com>
Frank Mayhar <fmayhar@google.com>
Frank Schaefer <kelledin@gmail.com>
Frantisek Sumsal <frantisek@sumsal.cz>
Frédéric Bothamy <frederic.bothamy@free.fr>
Frederick Grose <fgrose@sugarlabs.org>
Frédéric Marchal <fmarchal@perso.be>
Frederik "Freso" S. Olesen <freso@freso.dk>
Fred Mora <fmora@datto.com>
fREW Schmidt <frioux@gmail.com>
Fridolin Pokorny <fpokorny@redhat.com>
Gabor Kelemen <kelemeng@gnome.hu>
Gabriel Barazer <gabriel@oxeva.fr>
Gabriel Burt <gburt@novell.com>
Gabriel de Perthuis <g2p.code@gmail.com>
Gabriele Giacone <1o5g4r8o@gmail.com>
Gabriel M. Schuyler <schuyler@easiest.com>
Gaël PORTAY <gael.portay@collabora.com>
Gao Xiang <hsiangkao@redhat.com>
Georg Schiesser <georg.schiesser@opentech.at>
Georgy Yakovlev <gyakovlev@gentoo.org>
Gerald Schaefer <gerald.schaefer@de.ibm.com>
Gerhard Schneider <gs@ilfb.tuwien.ac.at>
Gero Treuner <gero@70t.de>
Gerrit Renker <gerrit@erg.abdn.ac.uk>
Giacomo <giacomo.perale@gmail.com>
Gilles Espinasse <g.esp@free.fr>
Giulio Orsero <giulioo@gmail.com>
Giuseppe Scrivano <gscrivan@redhat.com>
Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Goffredo Baroncelli <kreijack@inwind.it>
Goldwyn Rodrigues <rgoldwyn@suse.de>
Grady Martin <admin@nosuck.org>
G.raud Meyer <graud@gmx.com>
Guan Xin <guanx.bac@gmail.com>
Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Guillem Jover <guillem@hadrons.org>
Gunnar Ritter <g-r@bigfoot.de>
Gustavo Zacarias <gustavo@zacarias.com.ar>
Hajime Taira <htaira@redhat.com>
Hamish Coleman <hamish@zot.org>
Hannes Müller <>
Hannes Reinecke <hare@suse.de>
Hans de Goede <hdegoede@redhat.com>
Hans Holmberg <hans.holmberg@wdc.com>
Harald Hoyer <harald@redhat.com>
Harry Mallon <hjmallon@gmail.com>
Hayden James <hayden.james@gmail.com>
Heiko Carstens <heiko.carstens@de.ibm.com>
Heinrich Schuchardt <xypron.glpk@gmx.de>
heitbaum <rudi@heitbaum.com>
Helge Deller <deller@gmx.de>
Helmut Grohne <helmut@subdivi.de>
Hendrik Lönngren <wikibugs@googlemail.com>
Henne Vogelsang <hvogel@opensuse.org>
Hennie Botha <42469385+theHenMan@users.noreply.github.com>
Hideki EIRAKU <hdk@igel.co.jp>
Hill Ma <maahiuzeon@gmail.com>
Hiroaki Sengoku <sengoku@senri.gcd.org>
H.J. Lu <hlu@eecs.wsu.edu>
H. Peter Anvin <hpa@zytor.com>
Huang Shijie <shijie@os.amperecomputing.com>
HUANG Wei <weih@opera.com>
Hugh Dickins <hughd@google.com>
Hugo Osvaldo Barrera <hugo@barrera.io>
Humberto Zuazaga
Huschaam Hussain <Huschaam.Hussain@hp.com>
Hushan Jia <hushan.jia@gmail.com>
Ian Jones <ian@contractcoder.biz>
Ian Kent <raven@themaw.net>
Ian Wienand <iwienand@redhat.com>
Icenowy Zheng <icenowy@aosc.io>
Igor Bazhitov <igor.bazhitov@gmail.com>
Igor Gnatenko <i.gnatenko.brain@gmail.com>
ihno <ihno@suse.de>
Ilias Mamedov <arknir@yandex.ru>
Imre Kaloz <kaloz@openwrt.org>
Ingo Brückl <ib@wupperonline.de>
Isaac Dunham <ibid.ag@gmail.com>
Issam E. Maghni <issam.e.maghni@mailbox.org>
Ivan Delalande <colona@arista.com>
Ivan Mironov <mironov.ivan@gmail.com>
Jaakko Hyvätti <HYVATTI@cc.helsinki.fi>
Jakob Unterwurzacher <jakobunt@gmail.com>
Jakub Bogusz <qboosh@pld-linux.org>
Jakub Hrozek <jhrozek@redhat.com>
Jakub Wilk <jwilk@jwilk.net>
James Bottomley <James.Bottomley@HansenPartnership.com>
James Buren <ryuo@frugalware.org>
James Calligeros <jcalligeros99@gmail.com>
James Clarke <jrtc27@jrtc27.com>
James Hunt <james.hunt@ubuntu.com>
James Le Cuirot <chewi@aura-online.co.uk>
James Peach <jpeach@apache.org>
James Sanford <jsanfordgit@froop.com>
James Youngman <jay@gnu.org>
Jan Chren (rindeal) <dev.rindeal@gmail.com>
Jan Engelhardt <jengelh@inai.de>
Jan Kara <jack@suse.cz>
Jan Macku <jamacku@redhat.com>
Jann Horn <jannh@google.com>
Jan Samek <samekh@email.cz>
Jan Sarenik <jsarenik@redhat.com>
Jan (yac) Matějka <JMatejka@suse.cz>
Jan "Yenya" Kasprzak <kas@fi.muni.cz>
Jan Zeleny <jzeleny@redhat.com>
Jari Aalto <jari.aalto@cante.net>
Jaromir Capik <jcapik@redhat.com>
Jason Borden <jborden@bluehost.com>
Jason Vas Dias <jvdias@redhat.com>
Jean-Loup 'clippix' Bogalho <clippix@lse.epita.fr>
Jean-Philippe ROMAIN <jean-philippe.romain@st.com>
Jeff Layton <jlayton@kernel.org>
Jeff Mahoney <jeffm@suse.com>
Jeffrey Bastian <jbastian@redhat.com>
Jeffrey Ferreira <jeffpferreira@gmail.com>
Jens Kristian Søgaard <jens@mermaidconsulting.dk>
Jeremi Piotrowski <jpiotrowski@linux.microsoft.com>
Jeremy Fitzhardinge <jeremy@suite.sw.oz.au>
Jeremy Huntwork <jhuntwork@lightcubesolutions.com>
Jeremy Katz <katzj@fedoraproject.org>
Jeremy Linton <jeremy.linton@arm.com>
Jeremy Linton <lintonrjeremy@gmail.com>
Jeroen Oortwijn <oortwijn@gmail.com>
Jesper Dahl Nyerup <nyerup@one.com>
Jesse Thilo <jesse.thilo@pobox.com>
Jiaxun Yang <jiaxun.yang@flygoat.com>
jiazhenyuan <jiazhenyuan@uniontech.com>
Jim Meyering <jim@meyering.net>
Jim Patterson <jimp@wegrok.net>
Jindrich Makovicka <makovick@gmail.com>
Jindrich Novy <jnovy@redhat.com>
Jiro SEKIBA <jir@unicus.jp>
Joe Hansen <joedalton2@yahoo.dk>
Johan Herland <johan@herland.net>
Johannes Altmanninger <aclopte@gmail.com>
Johannes Berg <johannes@sipsolutions.net>
Johannes Nixdorf <mixi@shadowice.org>
Johannes Thumshirn <johannes.thumshirn@wdc.com>
John Baublitz <jbaublitz@redhat.com>
John Garry <john.garry@huawei.com>
John Groves <jgroves@micron.com>
John Keeping <john.keeping@lineone.net>
John Lindgren <john.lindgren@tds.net>
John Paul Morrison <jmorriso@rflab.ee.ubc.ca>
John W Higgins <wishdev@gmail.com>
John W. Linville <linville@tuxdriver.com>
Jonathan Liu <net147@gmail.com>
Jon Grant <jg@jguk.org>
Jon Ringle <jon@ringle.org>
Jookia <contact@jookia.org>
Jordi Mas i Hernàndez <jmas@softcatala.org>
Jörg Jenderek <joerg.jen.der.ek@gmx.net>
Joseph Parmelee <jparmele@wildbear.com>
Josep Puigdemont <josep.puigdemont@gmail.com>
Jose Riha <jose1711@gmail.com>
Josh Triplett <josh@joshtriplett.org>
Joshua Hudson <joshudson@gmail.com>
Joshua Watt <jpewhacker@gmail.com>
Josiah Worcester <josiahw@gmail.com>
Jouke Witteveen <j.witteveen@gmail.com>
Juerg Haefliger <juerg.haefliger@canonical.com>
Juha Laiho <jlaiho@ichaos.nullnet.fi>
Jun Hamano <junio@shadow.twinsun.com>
Justin B Rye <jbr@edlug.org.uk>
Justin Chen <justinpopo6@gmail.com>
J William Piggott <elseifthen@gmx.com>
KaiGai Kohei <kaigai@kaigai.gr.jp>
Kai Lüke <kailueke@riseup.net>
Kalev Soikonen <ksop@hot.ee>
Kaligule <Code@schauderbasis.de>
Kay Sievers <kay.sievers@vrfy.org>
Kees Cook <kees.cook@canonical.com>
Ken Kopin <kenkopin@gmail.com>
Kenneth Van Alstyne <kvanalstyne@knightpoint.com>
Kent Overstreet <kent.overstreet@gmail.com>
Kenyon Ralph <kenyon@kenyonralph.com>
kernc <kerncece@gmail.com>
Kevin E. Martin <martin@cs.unc.edu>
Kevin Fenzi <kevin@scrye.com>
kevin.granade@gmail.com <kevin.granade@gmail.com>
Kevin Hao <kexin.hao@windriver.com>
Kevin Locke <kevin@kevinlocke.name>
Khem Raj <raj.khem@gmail.com>
Kirill Elagin <kirelagin@gmail.com>
Kir Kolyshkin <kir@openvz.org>
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
kraptor <kraptor@kraptor.com>
Kunihiko IMAI <kimai@iodata.jp>
KyleMahlkuch <Kyle.Mahlkuch@ibm.com>
Lada Trimasova <ltrimas@synopsys.com>
LaMont Jones <lamont@debian.org>
Lars Wirzenius
Laurent Vivier <laurent@vivier.eu>
Lauri Nurmi <lanurmi@iki.fi>
Lawrence Rust <lawrence@softsystem.co.uk>
Lennard Hofmann <lennard.hofmann@web.de>
Lennart Poettering <lennart@poettering.net>
Leon <adigitoleo@protonmail.com>
Liam Ryan <liamryandev@gmail.com>
Libor Bukata <lbukata@gmail.com>
Linus Torvalds <torvalds@linux-foundation.org>
lishengyu <lishengyu@uniontech.com>
Li Zefan <lizf@cn.fujitsu.com>
Lorenzo Beretta <vc.net.loreb@gmail.com>
LoSh <losh@example.com>
Lubomir Kundrak <lkundrak@redhat.com>
Lubomir Rintel <lkundrak@v3.sk>
Luca Boccassi <bluca@debian.org>
Luca Boccassi <luca.boccassi@microsoft.com>
Luca BRUNO <luca.bruno@coreos.com>
Luca Ceresoli <luca@lucaceresoli.net>
Luciano Chavez <lnx1138@us.ibm.com>
Ludwig Nussel <ludwig.nussel@suse.de>
Luiz Angelo Daros de Luca <luizluca@gmail.com>
Lukas Czerner <lczerner@redhat.com>
Łukasz Stelmach <l.stelmach@samsung.com>
Makoto Kato <makoto.kt@gmail.com>
Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
Manatsu Takahashi <takahashi.manatsu@gmail.com>
Mantas Mikulėnas <grawity@gmail.com>
Manuel Bentele <development@manuel-bentele.de>
Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Marcel Holtmann <marcel@holtmann.org>
Marcel Waldvogel <marcel.waldvogel@trifence.ch>
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Marco Colombo <m.colombo@ed.ac.uk>
Marco d'Itri <md@Linux.IT>
Marcos Mello <marcosfrm@gmail.com>
Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Marek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>
Marek Otahal <markotahal@gmail.com>
Marek Polacek <mmpolacek@gmail.com>
Mario Blättermann <mario.blaettermann@gmail.com>
Mark Barbone <mark.l.barbone@gmail.com>
Mark Hindley <mark@hindley.org.uk>
Mark McLoughlin <markmc@redhat.com>
Mark Sheppard <mark@ddf.net>
Mark Tinguely <mark.tinguely@hpe.com>
Markus Mayer <mmayer@broadcom.com>
Markus Rinne <markus.ka.rinne@gmail.com>
Martin K. Petersen <martin.petersen@oracle.com>
Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Martin Schlemmer <azarah@gentoo.org>
Martin Schulze <joey@infodrom.org>
Martin Steigerwald <ms@teamix.de>
Masami Hiramatsu <mhiramat@kernel.org>
Masami Ichikawa <masami256@gmail.com>
Masanari Iida <standby24x7@gmail.com>
Masatake YAMATO <yamato@redhat.com>
Masato Suzuki <masato.suzuki@wdc.com>
Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
Mateusz Marciniec <mateuszmar2@gmail.com>
Matthew Garrett <mjg59@srcf.ucam.org>
Matthew Harm Bekkema <id@mbekkema.name>
Matthew Krupcale <mkrupcale@matthewkrupcale.com>
Matthias Gerstner <matthias.gerstner@suse.de>
Matthias König <mk@phasorlab.de>
Mattias Nissler <mnissler@chromium.org>
Matti Niemenmaa <matti.niemenmaa+git@iki.fi>
Mauricio Faria de Oliveira <mfo@canonical.com>
Maurizio Lombardi <m.lombardi85@gmail.com>
maximilian attems <max@stro.at>
Maxim Levitsky <maximlevitsky@gmail.com>
Maxim V. Dziumanenko <mvd@mylinux.com.ua>
Max Klinger <max@fs.lmu.de>
Meelis Roos <mroos@linux.ee>
Merlin Büge <merlin.buege@tuhh.de>
Mesutcan Kurt <mesutcank@gmail.com>
Michael Bunk <bunk@iat.uni-leipzig.de>
michael-dev <michael-dev@fami-braun.de>
Michael Forney <mforney@mforney.org>
Michael Glad <glad@daimi.aau.dk>
Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
Michael Kerrisk <mtk.manpages@gmail.com>
Michael Marineau <michael.marineau@coreos.com>
Michael Piefel <piefel@informatik.hu-berlin.de>
Michael Trapp <michael.trapp@sap.com>
Michał Bartoszkiewicz <mbartoszkiewicz@gmail.com>
Michal Humpula <michal.humpula@hudrydum.cz>
Michal Luscon <mluscon@redhat.com>
Michal Schmidt <mschmidt@redhat.com>
Michal Suchanek <msuchanek@suse.de>
Michel Robitaille <robitail@IRO.UMontreal.CA>
Mike Frysinger <vapier@gentoo.org>
Mike Gilbert <floppym@gentoo.org>
Mike Hommey <mh@glandium.org>
Mikel Olasagasti Uranga <hey_neken@mundurat.net>
Mike Place <mp@saltstack.com>
Mikhail Gusarov <dottedmag@dottedmag.net>
Mikhail Vorobyov <m.vorobyov@cs.msu.ru>
Miklos Szeredi <mszeredi@suse.cz>
Mikulas Patocka <mpatocka@redhat.com>
Milan Bouchet-Valat <nalimilan@club.fr>
Milan Broz <gmazyland@gmail.com>
Ming Lei <tom.leiming@gmail.com>
Miquel van Smoorenburg <miquels@maestro.htsa.aha.nl>
Mitchum DSouza
Moritz Muehlenhoff <jmm@inutil.org>
M.S.Colclough <m.s.colclough@bham.ac.uk>
Namhyung Kim <namhyung@gmail.com>
Naohiro Aota <naohiro.aota@wdc.com>
Narthorn <narthorn@gmail.com>
Natanael Copa <ncopa@alpinelinux.org>
Nate Clark <nate@neworld.us>
Nathan Rossi <nathan.rossi@xilinx.com>
Nathan Sharp <nwsharp@live.com>
NeilBrown <neilb@suse.com>
Neil Horman <nhorman@tuxdriver.com>
nick black <dankamongmen@gmail.com>
nick black <nick.black@sprezzatech.com>
Nick Holloway <Nick.Holloway@pyrites.org.uk>
Nicolai Dagestad <nicolai@dagestad.fr>
Nicolai Langfeldt <janl@math.uio.no>
Nicolas Boichat <nicolas@boichat.ch>
Nicolas Caramelli <caramelli.devel@gmail.com>
Nicolas Melot <nicolas.melot@ericsson.com>
Nicolas Provost <nprovost@quadriv.com>
Niklas Hambüchen <mail@nh2.me>
Nik Nyby <nikolas@gnu.org>
Nikolay Borisov <nborisov@suse.com>
Nikolay Sivov <nsivov@codeweavers.com>
Nilgün Belma Bugüner <nilgun@buguner.name.tr>
nl6720 <nl6720@gmail.com>
Noel Cragg <noel@squeezehead.com>
Noel Kuntze <noel@familie-kuntze.de>
Norbert Buchmuller <norbi@nix.hu>
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Oliver Falk <oliver@linux-kernel.at>
Olivier Blin <blino@mandriva.com>
Olivier Mengué <dolmen@cpan.org>
Ondrej Oprala <ooprala@redhat.com>
Osamu Aoki <osamu@debian.org>
osexp2000 <osexp2000@gmail.com>
Pádraig Brady <P@draigBrady.com>
Pali Rohár <pali.rohar@gmail.com>
panchenbo <panchenbo@uniontech.com>
Pankaj Raghav <p.raghav@samsung.com>
Pascal Terjan <pterjan@mandriva.com>
Patrice Dumas <pertusus@free.fr>
Patrick Plagwitz <patrick.plagwitz@fau.de>
Patrick Steinhardt <ps@pks.im>
Paul Asmuth <paul@asmuth.com>
Paul Eggert <eggert@cs.ucla.edu>
Paul Fox <pgf@laptop.org>
Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Paul Laffitte <plaffitt@gmail.com>
Paul Menzel <paulepanter@users.sourceforge.net>
Paul M <paul@chezp4ul.fr>
Paul Sarena <paul@sarena.ca>
Pavel Butsykin <pbutsykin@virtuozzo.com>
Pavel Maryanov <acid@jack.kiev.ua>
pcpa <paulo.cesar.pereira.de.andrade@gmail.com>
Pedro Albuquerque <pmra@protonmail.com>
Pedro Miguel Carvalho <PedroMC@pmc.com.pt>
Pedro Ribeiro <p.m42.ribeiro@gmail.com>
Pedro Tammela <pctammela@mojatatu.com>
peppe <g1pi@libero.it>
Peter Breitenlohner <peb@mppmu.mpg.de>
Peter Cordes <peter@cordes.ca>
Peter De Wachter <pdewacht@gmail.com>
Peter Hoeg <peter@speartail.com>
Peter Jones <pjones@redhat.com>
Peter Orbaek <poe@daimi.aau.dk>
Peter Rajnoha <prajnoha@redhat.com>
Peter Tobias <tobias@server.et-inf.fho-emden.de>
Peter Tyser <ptyser@xes-inc.com>
Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Peter Volkov <pva@gentoo.org>
Peter Wu <peter@lekensteyn.nl>
Petr Písař <petr.pisar@atlas.cz>
Petr Štetiar <ynezz@true.cz>
Petr Uzel <petr.uzel@suse.cz>
Petr Vorel <pvorel@suse.cz>
Phan Vinh Thinh <teppi82@gmail.com>
Philip Hazelden <philip.hazelden@gmail.com>
Philippe Reynes <philippe.reynes@softathome.com>
Philipp Marek <philipp.marek@linbit.com>
Philip Prindeville <philipp@redfish-solutions.com>
Philipp Thomas <pth@suse.de>
Phillip Susi <psusi@ubuntu.com>
Phil Ruffwind <rf@rufflewind.com>
Pierre Hauweele <antegallya@gmail.com>
Pierre Labastie <pierre.labastie@neuf.fr>
Pietro Castelli
Pino Toscano <toscano.pino@tiscali.it>
Platon Pronko <platon7pronko@gmail.com>
Portisch <hugo.portisch@yahoo.de>
Po-Yu Chuang <ratbert@faraday-tech.com>
Prarit Bhargava <prarit@redhat.com>
Qais Yousef <qais.yousef@arm.com>
Quentin Rameau <quinq@fifth.space>
Radka Skvarilova <rskvaril@redhat.com>
Rafael Aquini <aquini@redhat.com>
Rafael Ferreira <rafael.f.f1@gmail.com>
Rafael Fontenelle <rafaelff@gnome.org>
Rafael Fontenelle <rffontenelle@gmail.com>
Rafal Luzynski <digitalfreak@lingonborough.com>
Rafał Miłecki <rafal@milecki.pl>
Raghavendra D Prabhu <rprabhu@wnohang.net>
Rainer Gerhards <rgerhards@adiscon.com>
Rajeev V. Pillai <rajeevvp@gmail.com>
Ram Pai <linuxram@us.ibm.com>
Randolph Bentson <bentson@grieg.seaslug.org>
Randy Dunlap <randy.dunlap@oracle.com>
Raphael S. Carvalho <raphaelsc@cloudius-systems.com>
Rasmus Villemoes <rasmus.villemoes@prevas.dk>
ratijas <me@ratijas.tk>
Raul Gutierrez Segales <rgs@itevenworks.net>
Ray Wang <wanglei1123@gmail.com>
Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Rian Hunter <rian@alum.mit.edu>
Richard Allen <rsaxvc@rsaxvc.net>
Richard Fuchs <rfuchs@sipwise.com>
Richard Tollerton <rich.tollerton@ni.com>
Richard Weinberger <richard@nod.at>
Richard W.M. Jones <rjones@redhat.com>
Richard Yann <yann.richard@uhb.fr>
Richard Yao <ryao@gentoo.org>
Rickard Faith <faith@cs.unc.edu>
Rick Sladkey <jrs@world.std.com>
Riku Voipio <riku.voipio@iki.fi>
Rik van Riel <riel@redhat.com>
Ritika Srivastava <ritika.srivastava@oracle.com>
ritikrajdev <ritikrajdev761@gmail.com>
Robert Förster <Dessa@gmake.de>
Robert Millan <rmh@debian.org>
Roberto Bergantinos Corpas <rbergant@redhat.com>
Robert Schiele <rschiele@gmail.com>
Roddy Shuler <roddy@endlessm.com>
Rodrigo Campos <rodrigo@sdfg.com.ar>
Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>
Roland Kammerer <roland.kammerer@linbit.com>
Rolf Fokkens <rolf@rolffokkens.nl>
Romain Bouvier <skunnyk@alteroot.org>
Romain Izard <romain.izard.pro@gmail.com>
Romain Naour <romain.naour@gmail.com>
Ronan Pigott <ronan@rjp.ie>
Ronny Chevalier <chevalier.ronny@gmail.com>
Ron Sommeling <sommel@sci.kun.nl>
Rosen Penev <rosenp@gmail.com>
Ross Biro <biro@yggdrasil.com>
Ross Burton <ross.burton@arm.com>
Rostislav Skudnov <rostislav@tuxera.com>
Roy Peled <the.roy.peled@gmail.com>
Ruediger Meier <ruediger.meier@ga-group.nl>
Rui Zhao (renyuneyun) <renyuneyun@gmail.com>
Rupesh Girase <rgirase@redhat.com>
Ryan Finnie <ryan@finnie.org>
Samanta Navarro <ferivoz@riseup.net>
Sami Kerola <kerolasa@iki.fi>
Sami Liedes <sami.liedes@iki.fi>
Sami Loone <sami@loone.fi>
Samir Benmendil <me@rmz.io>
Sam James <sam@gentoo.org>
Sam Morris <sam@robots.org.uk>
Samuel Dionne-Riel <samuel@dionne-riel.com>
Samuel Ortiz <sameo@linux.intel.com>
Samuel Thibault <samuel.thibault@aquilenet.fr>
Sam Varshavchik <mrsam@courier-mta.com>
Sam Voss <sam.voss@gmail.com>
Sander van Malssen <svm@kozmix.ow.nl>
Santiago Vila Doncel <sanvila@unex.es>
Sascha Sommer <ssommer@suse.de>
Sassan Panahinejad <sassan@sassan.me.uk>
Scott James Remnant <scott@ubuntu.com>
Scott Moser <smoser@ubuntu.com>
Scott Shambarger <devel@shambarger.net>
Scott Telford <st@epcc.ed.ac.uk>
Sean Anderson <seanga2@gmail.com>
Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Sebastian Krahmer <krahmer@suse.de>
Sebastian Pucilowski <smopucilowski@gmail.com>
Sebastian Rasmussen <sebras@gmail.com>
Sebastian Schrader <sebastian.schrader@ossmail.de>
Sébastien Helleu <flashcode@flashtux.org>
Seong-ho Cho <darkcircle.0426@gmail.com>
Serge Hallyn <serge.hallyn@ubuntu.com>
Sergei Antonov <saproj@gmail.com>
Sergey Gusarov <laborer2008@gmail.com>
Seth Girvan <snth@snthhacks.com>
Sevan Janiyan <venture37@geeklan.co.uk>
sgargel <sgargel@yahoo.it>
Shachar Shemesh <shachar@debian.org>
Shahid Laher <govellius@gmail.com>
Shaun Tancheff <shaun@tancheff.com>
Shigeki Morishima <s.morishima@fujitsu.com>
Shigeki Morishima <s.morishima@jp.fujitsu.com>
Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Shunsuke Nakamura <nakamura.shun@jp.fujitsu.com>
Simon Mihevc <simonmihevc@email.si>
Sinan Kaya <sinan.kaya@microsoft.com>
sluidfoe <sluidfoe@gmail.com>
Smitty <me@smitop.com>
Sol Boucher <sboucher@cmu.edu>
Søren Holm <sgh@sgh.dk>
Soumendra Ganguly <soumendraganguly@gmail.com>
SOUMENDRA GANGULY <soumendra@indra.local>
s.p@orbitalfox.com <s.p@orbitalfox.com>
Stanislav Brabec <sbrabec@suse.cz>
Stefan Krah <stefan@bytereef.org>
Stefan Schubert <schubi@suse.de>
Stef Walter <stefw@redhat.com>
Stepan Kasal <skasal@redhat.com>
Štěpán Němec <snemec@redhat.com>
Stéphane Aulery <lkppo@free.fr>
Stephan Maka <stephan@spaceboyz.net>
Stephan Müller <fruktopus@gmail.com>
Stephen Gallimore
Stephen Hemminger <shemminger@vyatta.com>
Stephen Kitt <steve@sk2.org>
Stephen Tweedie <sct@dcs.ed.ac.uk>
Steve Grubb <sgrubb@redhat.com>
Steve Kenton <skenton@ou.edu>
Steven J. Magnani <steve@digidescorp.com>
Steven S. Dick <ssd@nevets.oau.org>
Steven Smith <sos22@archy.org.uk>
Steve Philp
Stewart Smith <stewart@linux.vnet.ibm.com>
Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Sumanth Korikkar <sumanthk@linux.ibm.com>
Sven Eckelmann <sven.eckelmann@gmx.de>
Sven Jost <sven.jost@googlemail.com>
Sven Wiltink <swiltink@transip.nl>
Sweet Tea Dorminy <sweettea@mit.edu>
taiyu <taiyu.len@gmail.com>
Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>
tamz <totemz@protonmail.com>
Temuri Doghonadze <temuri.doghonadze@gmail.com>
Terry Burton <tez@terryburton.co.uk>
Thayne McCombs <thayne@lucidchart.com>
Theodore Ts'o <tytso@mit.edu>
Thiébaud Weksteen <tweek@google.com>
Thierry Reding <thierry.reding@avionic-design.de>
Thierry Vignaud <thierry.vignaud@gmail.com>
Thomas Abraham <tabraham@suse.com>
Thomas Bächler <thomas@archlinux.org>
Thomas Deutschmann <whissi@gentoo.org>
Thomas Fehr <fehr@suse.de>
Thomas Haller <thaller@redhat.com>
Thomas Kaiser <ThomasKaiser@users.noreply.github.com>
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Schwinge <thomas@codesourcery.com>
Thomas Voss <mail@thomasvoss.com>
Thomas Weißschuh <thomas@t-8ch.de>
Thorsten Glaser <tg@mirbsd.org>
Thorsten Kukuk <kukuk@suse.com>
Thorsten Wilmer <wilmer.thorsten@gmail.com>
Tilman Schmidt <tilman@imap.cc>
Tim Gardner <tim.gardner@canonical.com>
Tim Hildering <hilderingt@posteo.net>
Timo Juhani Lindfors <timo.lindfors@iki.fi>
Timo Warns <Warns@Pre-Sense.DE>
Tim Waugh <twaugh@redhat.com>
Tj <hacker@iam.tj>
Tobias Klauser <tklauser@distanz.ch>
Tobias Stoeckmann <tobias@stoeckmann.org>
Todd Lewis <todd_lewis@unc.edu>
Todd Lewis <utoddl@email.unc.edu>
ToddRK <ToddRK@example.com>
Tomas Winkler <tomas.winkler@intel.com>
Tom Gundersen <teg@jklm.no>
Tomislav Krznar <tomislav.krznar@gmail.com>
Tommi Kyntola <kynde@iki.fi>
Tommy Thorn
Tomoaki Teshima <tomoaki.teshima@gmail.com>
Tom Prince <tom.prince@ualberta.net>
Toni Uhlig <matzeton@googlemail.com>
Tony Asleson <tasleson@redhat.com>
Toomas Losin <tlo@lenrek.net>
Topi Miettinen <toiwoton@gmail.com>
Torsten Hilbrich <torsten.hilbrich@secunet.com>
Toshi Kani <toshi.kani@hp.com>
Trần Ngọc Quân <vnwildman@gmail.com>
Tycho Andersen <tycho@tycho.ws>
u2386 <hugo.cavan2386@gmail.com>
utoddl <todd_lewis@unc.edu>
Vaclav Dolezal <vdolezal@redhat.com>
Valerie Aurora <vaurora@redhat.com>
Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Vasilis Liaskovitis <vliaskovitis@suse.com>
Vicente Jimenez Aguilar <googuy@gmail.com>
Victor Dodon <dodonvictor@gmail.com>
Viktor Rosendahl (BMW) <viktor.rosendahl@gmail.com>
Ville Skyttä <ville.skytta@iki.fi>
Vincent Deffontaines <vincent@gryzor.com>
Vincent McIntyre <vincent.mcintyre@csiro.au>
Vincent Smeets <Vincent.VSmeets@GMail.com>
Vincent Stehlé <vincent.stehle@arm.com>
Vinnie Magro <vmagro@fb.com>
Vitezslav Cizek <vcizek@suse.cz>
Vladimir Brednikov <vbrednikov@gmail.com>
Vladimir Slavik <vslavik@redhat.com>
Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com>
Vojtěch Eichler <vojta.eich@gmail.com>
Vojtech Trefny <vtrefny@redhat.com>
Volker Kuhlmann <v.kuhlmann@elec.canterbury.ac.nz>
Volker Schatz <oss@volkerschatz.com>
Vratislav Podzimek <vpodzime@redhat.com>
Waldemar Brodkorb <wbx@openadk.org>
WANG Chao <wcwxyz@gmail.com>
Wang Shilong <wshilong@ddn.com>
WANG Xuerui <git@xen0n.name>
Wanlong Gao <wanlong.gao@gmail.com>
Warner Losh <imp@FreeBSD.org>
Wayne Pollock <profwaynepollock@gmail.com>
Wayne R. Roth <wayneroth42@gmail.com>
Wei-Lun Chao <bluebat@member.fsf.org>
Werner Almesberger <almesber@bernina.ethz.ch>
Werner Fink <werner@suse.de>
Wieland Hoffmann <themineo@gmail.com>
William Pitcock <nenolod@dereferenced.org>
Will Johansson <will.johansson@gmail.com>
Will Jordan <will.jordan@gmail.com>
Wojtek Kaniewski <wojtekka@toxygen.net>
Wolfgang Richter <wolf@cs.cmu.edu>
Wolfram Sang <wsa@kernel.org>
W. Trevor King <wking@tremily.us>
WUEBBELS, Josef <Josef.WUEBBELS@mtu.de>
Wylmer Wang <wantinghard@gmail.com>
W.Z. Venema
Xi Ruoyao <xry111@xry111.site>
Yann Droneaud <yann@droneaud.fr>
Yannick Le Pennec <yannick.lepennec@live.fr>
Yegor Yefremov <yegorslists@googlemail.com>
Yonatan Goldschmidt <yon.goldschmidt@gmail.com>
Yoshihiro Takahashi <ytakahashi@miraclelinux.com>
Yousong Zhou <yszhou4tech@gmail.com>
Yuezhang Mo <Yuezhang.Mo@sony.com>
Yuri Chornoivan <yurchor@ukr.net>
Yuriy M. Kaminskiy <yumkam@gmail.com>
Yuriy Nazarov <nazarov.yuriy.pavlovich@gmail.com>
Yu Zhiguo <yuzg@cn.fujitsu.com>
Zachary Catlin <z@zc.is>
Zac Medico <zmedico@gentoo.org>
Zane van Iperen <zane@zanevaniperen.com>
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Zdenek Behan <rain@matfyz.cz>
Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
zhanchengbin <zhanchengbin1@huawei.com>
zhenwei pi <pizhenwei@bytedance.com>
Zhi Li <lizhi1215@gmail.com>
zuoqian <zuoqian2023@gmail.com>
Мирослав Николић <miroslavnikolic@rocketmail.com>
наб <nabijaczleweli@nabijaczleweli.xyz>

339
COPYING Normal file
View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

3
ChangeLog Normal file
View File

@ -0,0 +1,3 @@
See version control history.
https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/log?h=v2.39.3

View File

@ -0,0 +1,7 @@
What is here
------------
The util-linux contains supplementary textual material, such as
readme files, release notes, licenses and so on. Common to these
files is that they contain information for contributors but
should not end up to end user installation.

View File

@ -0,0 +1,31 @@
PAM configuration is very distribution specific. This is reason why upstream
util-linux package does not install any PAM config files.
Expected PAM config files:
login(1):
/etc/pam.d/remote - for -h command line option
/etc/pam.d/login - regular login
su(1):
/etc/pam.d/su-l - for --login command line option
/etc/pam.d/su - regular su
runuser(1):
/etc/pam.d/runuser-l - for --login command line option
/etc/pam.d/runuser - regular su
Note that runuser requires only "session" setting (and for example
"auth sufficient pam_rootok.so" dummy line).
chfn(1):
/etc/pam.d/chfn
chsh(1):
/etc/pam.d/chsh

195
Documentation/TODO Normal file
View File

@ -0,0 +1,195 @@
See also:
https://github.com/util-linux/util-linux/issues?q=is%3Aissue+is%3Aopen+label%3ATODO
all
---
- use gettext() for column names on output in libsmartcols based tools and
accept trantated as well as original names on command line (lsblk -o NAME,SIZE).
https://github.com/util-linux/util-linux/issues/1291
tests
-----
- add MacOS to GitHub Actions (.github/workflows/cibuild.yml). Note, we have used
Mac in Travis-CI (see .travis.yml).
- add Coverity to GitHub Actions (see for example .github/workflows/coverity.yml
in systemd repo).
fstrim
------
- "fstrim --fstab" uses root= from /proc/cmdline to get root FS when it's missing
in fstab file. This is fragile (due to missing root= or the root FS is not
accessible). The best seems to parse mountinfo and use mnt_table_get_root_fs()
as a fallback solution. https://github.com/util-linux/util-linux/issues/1266.
script (lib/pty-session.c)
--------------------------
- (!) add #ifdefs and optional code for non-signalfd() systems
docs
----
- use terminal hyperlinks (for example for --help)
try on terminal: printf 'For more details see \e]8;;man:fdisk(8)\e\\fdisk(8)\e]8;;\e\\.\n'
https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
rev
---
- support huge input lines (for example read input by small fixed buffer
rather than try allocate all buffer for a whole line)
see: https://github.com/util-linux/util-linux/issues/972
col
---
- use unsigned sizes for columns and lines
- check for limits to avoid segfaults
- make it more robust
https://github.com/util-linux/util-linux/issues/749
cal
---
- support another --reforms, see for example freebsd version
https://github.com/freebsd/freebsd/blob/master/usr.bin/ncal/ncal.c#L72
lscpu
-----
- add "Boost/Turbo: true|false" based on /sys/devices/system/cpu/intel_pstate/no_turbo and
/sys/devices/system/cpu/cpufreq/boost
- add --freq output to visualise CPU use, see https://github.com/util-linux/util-linux/issues/1314
- read cpuid and uname information from file if --sysroot is specified, then
we can prepare regression tests completely independent on hw and architecture.
hwclock
------
- use /var/lib/hwclock/drift to store hw-clock drift numbers.
- use /etc/adjtime as read-only for UTC/LOCAL information only
- the /var/lib/hwclock/drift should be implemented backwardly compatible,
it means use the file only if exists, otherwise follow /etc/adjtime
- see topic/hwclock-drift-file branch
bash completion
---------------
- Optional argument handling requires user to press backspace to get
argument completion.
- Comma separated value, e.g., --output 'value1,value2', are not
completed for users.
libmount (mount/umount)
-----------------------
- mnt_context_get_excode() does not return error messages from /sbin/[u]mount.<type>
external helpers. It is disadvantages in same cases (non-terminal programs).
The solution is to use pipe(), keep output from helper in memory and return it later
by mnt_context_get_excode() (or mnt_context_get_helper_output(), etc.). This feature
should be optional and disabled by default.
see: https://github.com/util-linux/util-linux/issues/1208
- add --onlyonce to force mount(8) to check if mountpoint is already used. Now
"already mounted" detection is used for --all only. The problem is if you
call "mount <mountpoint>" more than once for in fstab defined tmpfs (or network
filesystem etc.). In this case kernel does not return EBUSY, but a new instance
of the FS is created. https://github.com/util-linux/util-linux/issues/448
(... just idea, maybe wrong idea)
- Extend mount(8) command line for mount flags modification without remount:
"mount modify --clear noexec --set nodev,private,ro /mnt"
This functionality should be implemented by mount_setattr() syscall.
partx
-----
- support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used.
getopt
------
It would be great if getopt could optionally ignore unknown options.
Currently, it outputs -- for every option it doesn't recognize but leaving the
option as it is could beneficial wrapper scripts which could then pass the
options they don't recognize as they are to the command they are wrapping.
https://github.com/util-linux/util-linux/issues/701
docs
----
- (!) use something better than gtk-doc for libmount and libblkid (doxygen?)
- (!) add API documentation to libuuid
- Improve line breaks in man pages and review markup
login-utils:
-----------
- consolidate newgrp(1)
* we have "su --group/--supp-group" to switch between groups, newgrp(1) in
util-linux and shadow-utils (and sg(1) alias in shadow-utils)
* the unique functionality provided by newgpr(1) is support for group
passwords [/etc/gshadow] -- do we really need this functionality?
* maybe we can mark group-passwords as deprecated, and replace sg(1) and
newgpr(1) with su(1) code. The another way is to ask for group password in
su --group too.
* note that shadow-utils newgpr(1) provides support for syslog and audit log.
libsmartcols / column -t
------------------------
- add column --table-header-color
- add support for border of table
* extend 'struct libscols_symbols', use box-drawing chars UTF8/ASCII
* add scols_table_enable_border()
column(1):
- add "--output-width unlimited" and no call cols_table_set_termwidth() and
cols_table_set_termforce() in this case. See https://github.com/util-linux/util-linux/issues/1618
libblkid
--------
- extend ZFS proper to scan for more uberblocks if BLKID_SUBLKS_MAGIC flag is set.
This solution will make wipefs(8) more usable as ZFS is extremely variable with
additional root blocks locations. See https://github.com/util-linux/util-linux/issues/1228
- (!) add support for BitLocker Drive Encryption
https://github.com/util-linux/util-linux/issues/617
https://github.com/libyal/libbde/blob/master/documentation/BitLocker%20Drive%20Encryption%20(BDE)%20format.asciidoc
- (!) add support for dasd PT (used for example on s390)
libfdisk
--------
- add support for Apple Partition Map (see libblkid/src/partitions/mac.c)
http://en.wikipedia.org/wiki/Apple_Partition_Map
- add support for nested PT (e.g. hybrid MBR) to scripts
* add "nested-label:" block to sfdisk --dump
* add "nested-partitiontable" to sfdisk --JSON
* support nested labels parsing from dump
see https://github.com/util-linux/util-linux/issues/850
misc
----
- add mllockall() and SCHED_FIFO to hwclock,
see http://lkml.org/lkml/2008/10/12/132
---------------
exotic requests
---------------
- add SELinux security contexts support to the 'ipcs' utility
http://bugzilla.redhat.com/show_bug.cgi?id=225342
Would be great to list the current system IPC Objects with their respective
security labels (where allowed) with something like 'ipcs -Z' - following the
way other tools reports those.

80
Documentation/blkid.txt Normal file
View File

@ -0,0 +1,80 @@
libblkid - a library to handle device identification and token extraction
Basic usage is as follows - there are two normal usage patterns:
For cases where a program wants information about multiple devices, or
expects to be doing multiple token searches, the program should
directly initialize cache file via (second parameter is cache
filename, NULL = default):
blkid_cache cache = NULL;
if (blkid_get_cache(&cache, NULL) < 0)
/* error reading the cache file, not really fatal */
Note that if no cache file exists, an empty cache struct is still
allocated. Usage of libblkid functions will use the cache to avoid
needless device scans.
The model of the blkid cache is that each device has a number of
attributes that can be associated with it. Currently the attributes
which are supported (and set) by blkid are:
TYPE filesystem type
UUID filesystem uuid
LABEL filesystem label
How to use libblkid? Normally, you either want to find a device with
a specific NAME=value token, or you want to output token(s) from a
device. To find a device that matches a following attribute, you
simply call the blkid_get_devname() function:
if ((devname = blkid_get_devname(cache, attribute_name, value))) {
/* do something with devname */
string_free(devname);
}
The cache parameter is optional; if it is NULL, then the blkid library
will load the default blkid.tab cache file, and then release the cache
before function call returns. The return value is an allocated string
which holds the resulting device name (if it is found). If the value
is NULL, then attribute_name is parsed as if it were
"<attribute_name>=<value>"; if it cannot be so parsed, then the
original attribute_name is returned in a copied allocated string.
This is a convenience to allow user programs to want to translate user
input, whether it is of the form: "/dev/hda1", "LABEL=root",
"UUID=082D-26E3", and get back a device name that it can use.
Alternatively, of course, the programmer can pass an attribute name of
"LABEL", and value of "root", if that is more convenient.
Another common usage is to retrieve the value of a specific attribute
for a particular device. This can be used to determine the filesystem
type, or label, or uuid for a particular device:
if ((value = blkid_get_tag_value(cache, attribute_name, devname))) {
/* do something with value */
string_free(value);
}
If a program needs to call multiple blkid functions, then passing in a
cache value of NULL is not recommended, since the blkid.tab file
will be repeatedly parsed over and over again, with memory allocated
and deallocated. To initialize the blkid cache, blkid_get_cache()
function is used:
if (blkid_get_cache(&cache, NULL) < 0)
goto errout;
The second parameter of blkid_get_cache (if non-zero) is the alternate filename
of the blkid cache file (see blkid man page for more information about the
default cache file location).
Normally, programs should just pass in NULL.
If you have called blkid_get_cache(), you should call blkid_put_cache()
when you are done using the blkid library functions. This will save the
cache to the blkid.tab file, if you have write access to the file. It
will also free all associated devices and tags:
blkid_put_cache(cache);

103
Documentation/boilerplate.c Normal file
View File

@ -0,0 +1,103 @@
/* Please use this file as a template when introducing new command to
* util-linux package.
* -- remove above */
/*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* fixme-command-name - purpose of it
*
* Copyright (c) 20nn Example Commercial, Inc
* Written by Your Name <you@example.com>
*
*/
#include <getopt.h>
#include <stdio.h>
#include <unistd.h>
#include "c.h"
#include "closestream.h"
#include "nls.h"
/*
* FIXME: remove this comment.
* Other usage() constants that are not demonstrated below:
* USAGE_FUNCTIONS USAGE_COMMANDS USAGE_COLUMNS
*/
static void __attribute__((__noreturn__)) usage(void)
{
fputs(USAGE_HEADER, stdout);
printf(_(" %s [options] file...\n"), program_invocation_short_name);
fputs(USAGE_SEPARATOR, stdout);
puts(_("Short program description."));
fputs(USAGE_OPTIONS, stdout);
puts(_(" -n, --no-argument option does not use argument"));
puts(_(" --optional[=<arg>] option argument is optional"));
puts(_(" -r, --required <arg> option requires an argument"));
puts(_(" -z no long option"));
puts(_(" --xyzzy a long option only"));
puts(_(" -e, --extremely-long-long-option\n"
" use next line for description when needed"));
puts(_(" -l, --long-explanation an example of very verbose, and chatty option\n"
" description on two, or multiple lines, where the\n"
" consecutive lines are intended by two spaces"));
puts(_(" -f, --foobar next option description resets indent"));
fputs(USAGE_SEPARATOR, stdout);
printf(USAGE_HELP_OPTIONS(25)); /* char offset to align option descriptions */
printf(USAGE_MAN_TAIL("fixme-command-name(1)"));
exit(EXIT_SUCCESS);
}
int main(int argc, char **argv)
{
int c;
enum {
OPT_XYZZY = CHAR_MAX + 1,
OPT_OPTIONAL /* see howto-man-page.txt about short option */
};
static const struct option longopts[] = {
{ "no-argument", no_argument, NULL, 'n' },
{ "optional", optional_argument, NULL, OPT_OPTIONAL },
{ "required", required_argument, NULL, 'r' },
{ "extremely-long-long-option", no_argument, NULL, 'e' },
{ "xyzzy", no_argument, NULL, OPT_XYZZY },
{ "long-explanation", no_argument, NULL, 'l' },
{ "foobar", no_argument, NULL, 'f' },
{ "version", no_argument, NULL, 'V' },
{ "help", no_argument, NULL, 'h' },
{ NULL, 0, NULL, 0 }
};
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
close_stdout_atexit();
while ((c = getopt_long(argc, argv, "nr:zelfVh", longopts, NULL)) != -1)
switch (c) {
case 'n':
case OPT_OPTIONAL:
case 'r':
case 'z':
case OPT_XYZZY:
case 'e':
case 'l':
case 'f':
break;
case 'V':
print_version(EXIT_SUCCESS);
case 'h':
usage();
default:
errtryhelp(EXIT_FAILURE);
}
return EXIT_SUCCESS;
}

42
Documentation/cal.txt Normal file
View File

@ -0,0 +1,42 @@
The cal(1) date routines were written from scratch, basically from first
principles. The algorithm for calculating the day of week from any
Gregorian date was "reverse engineered". This was necessary as most of
the documented algorithms have to do with date calculations for other
calendars (e.g. julian) and are only accurate when converted to gregorian
within a narrow range of dates.
1 Jan 1 is a Saturday because that's what cal says and I couldn't change
that even if I was dumb enough to try. From this we can easily calculate
the day of week for any date. The algorithm for a zero based day of week:
calculate the number of days in all prior years (year-1)*365
add the number of leap years (days?) since year 1
(not including this year as that is covered later)
add the day number within the year
this compensates for the non-inclusive leap year
calculation
if the day in question occurs before the gregorian reformation
(3 sep 1752 for our purposes), then simply return
(value so far - 1 + SATURDAY's value of 6) modulo 7.
if the day in question occurs during the reformation (3 sep 1752
to 13 sep 1752 inclusive) return THURSDAY. This is my
idea of what happened then. It does not matter much as
this program never tries to find day of week for any day
that is not the first of a month.
otherwise, after the reformation, use the same formula as the
days before with the additional step of subtracting the
number of days (11) that were adjusted out of the calendar
just before taking the modulo.
It must be noted that the number of leap years calculation is sensitive
to the date for which the leap year is being calculated. A year that occurs
before the reformation is determined to be a leap year if its modulo of
4 equals zero. But after the reformation, a year is only a leap year if
its modulo of 4 equals zero and its modulo of 100 does not. Of course,
there is an exception for these century years. If the modulo of 400 equals
zero, then the year is a leap year anyway. This is, in fact, what the
gregorian reformation was all about (a bit of error in the old algorithm
that caused the calendar to be inaccurate.)
Once we have the day in year for the first of the month in question, the
rest is trivial.

41
Documentation/col.txt Normal file
View File

@ -0,0 +1,41 @@
# @(#)README 5.1 (Berkeley) 5/22/90
col - filter out reverse line feeds.
In the 32V source code to col(1) the default behavior was to NOT compress
spaces into tabs. There was a -h option which caused it to compress spaces
into tabs. There was no -x flag.
The 32V documentation, however, was consistent with the SVID (actually, V7
at the time) and documented a -x flag (as defined above) while making no
mention of a -h flag. Just before 4.3BSD went out, CSRG updated the manual
page to reflect the way the code worked. Suspecting that this was probably
the wrong way to go, this version adopts the SVID defaults, and no longer
documents the -h option.
The S5 -p flag is not supported because it isn't clear what it does (looks
like a kludge introduced for a particular printer).
Known differences between AT&T's col and this one (# is delimiter):
Input AT&T col this col
#\nabc\E7def\n# # def\nabc\r# # def\nabc\n#
#a# ## #a\n#
- last line always ends with at least one \n (or \E9)
#1234567 8\n# #1234567\t8\n# #1234567 8\n#
- single space not expanded to tab
-f #a\E8b\n# #ab\n# # b\E9\ra\n#
- can back up past first line (as far as you want) so you
*can* have a super script on the first line
#\E9_\ba\E8\nb\n# #\n_\bb\ba\n# #\n_\ba\bb\n#
- always print last character written to a position,
AT&T col claims to do this but doesn't.
If a character is to be placed on a line that has been flushed, a warning
is produced (the AT&T col is silent). The -l flag (not in AT&T col) can
be used to increase the number of lines buffered to avoid the problem.
General algorithm: a limited number of lines are buffered in a linked
list. When a printable character is read, it is put in the buffer of
the current line along with the column it's supposed to be in. When
a line is flushed, the characters in the line are sorted according to
column and then printed.

View File

@ -0,0 +1,124 @@
The following is a list of commands or features that are deprecated. All
deprecated utils are in maintenance mode and we keep them in source tree for
backward compatibility only.
what: column --table-empty-lines
why: renamed to --keep-empty-lines
since: v2.37
--------------------------
what: hwclock --debug
why: renamed to --verbose, and may be repurposed later.
since: v2.32
--------------------------
what: hwclock -v for version
why: renamed to -V
since: v2.20 (was repurposed to verbose in v2.32)
--------------------------
what: column --columns
why: renamed to --output-width
since: v2.30
--------------------------
what: sfdisk --show-size
why: this does not belong to fdisk, use "blockdev --getsz"
--------------------------
what: sfdisk --Linux
why: unnecessary option, only Linux (non-DOS mode) is supported
--------------------------
what: sfdisk --unit
why: unnecessary option, only 'S'ector unit is supported
--------------------------
what: sfdisk --show-pt-geometry
why: equal to --show-geometry for a long time
--------------------------
what: "swapon --summary" output format
why: does not provide control on output data formatting. The recommended solution
is to use --show=<columns> in all scripts.
--------------------------
What: mkfs
Why: use filesystem specific mkfs.<type>.
--------------------------
What: fdisk -s <device>
Why: this does not belong to fdisk, use "blockdev --getsz"
--------------------------
What: 'udev' and 'list' blkid(8) output formats
Why: udevd links libblkid directly; the 'list' is unnecessary, use lsblk(8)
--------------------------
What: line(1) command
Why: use the read(1) command
--------------------------
What: pg(1) command
Why: use less(1) or more(1)
--------------------------
What: CHS stuff in fdisk (except SUN where are partitions addresses by cylinders only)
Why: use addressing by sectors, CHS does not work with modern disks,
confusing for users...
--------------------------
What: losetup -s
Why: the option -s is in collision with the Loop-AES losetup dialect that is used
in some distributions. Use the long version (--show) only.
--------------------------
What: losetup output format without --list
deprecated format:
# losetup -a
/dev/loop0: []: (/home/fs-images/swap.img)
/dev/loop1: []: (/home/fs-images/disk.img), offset 100
new format:
# losetup
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0 0 0 0 0 /home/fs-images/swap.img
/dev/loop1 0 100 0 0 /home/fs-images/disk.img
--------------------------
What: tunelp
Why: parallel port printers are probably almost extinct devices
----------------------------
The Single UNIX(TM) Specification, Version 2
Copyright (C) 1997 The Open Group
Legacy utilities which are part util-linux package are:
col
line
pg
https://pubs.opengroup.org/onlinepubs/7908799/xcu/intro.html#tag_001_003_003

View File

@ -0,0 +1,7 @@
ext4
ext3
vfat
hfs
hfsplus
iso9660
btrfs

View File

@ -0,0 +1,15 @@
# /etc/fstab
# static file system information
#
# This file is not used by the kernel, but rather by mount(8) and umount(8)
# (and some day fsck(8)). Comment lines have "#" in the first column.
#
# For more information see fstab(5) man page.
#
# device directory type options freq pass
UUID=2cda1e08-1f22-490b-9101-c93d511bc9c9 / ext4 defaults 1 1
UUID=805e7418-fc20-4dcf-830c-729781e58d1a /boot ext4 defaults 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0

View File

@ -0,0 +1,10 @@
|^^^^^^|
| | _____________________
| | / \
| (o)(o) | |
@ _) | BOGUS man!! |
| ,___| ,,| |
| / ..'' | |
/____\ \_____________________/

View File

@ -0,0 +1,5 @@
tty1
tty2
tty3
tty4
ttyS1

View File

@ -0,0 +1,4 @@
/bin/sh
/bin/bash
/bin/csh
/bin/tcsh

View File

@ -0,0 +1,7 @@
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.

31
Documentation/getopt.txt Normal file
View File

@ -0,0 +1,31 @@
This package contains a reimplementation of getopt(1).
PREFACE
Getopt(1) is a program to help shell scripts parse command-line parameters.
HIGHLIGHTS
It can do anything that the GNU getopt(3) routines can do.
It can cope with spaces and shell metacharacters within arguments.
It can parse long parameters.
It can shuffle parameters, so you can mix options and other parameters on
the command-line.
It can be easily identified as an enhanced getopt(1) from within shell scripts.
It can report parse errors as coming from the shell script.
It is fully compatible with other getopt(1) implementations.
COPYING
This program comes under the GNU general public license version 2. See the
file COPYING included in this package. Note that though you may freely
copy it, it is copyright (c) 1997-2005 by Frodo Looijaard
<frodo@frodo.looijaard.name>.
Files in the gnu directory are from glibc-2.0.4: copyright (C) 1987, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.

View File

@ -0,0 +1,38 @@
20051107: Bumped up version number to 1.1.4
20051107: Makefile: package target
20051107: Changed email and website to current ones
20051107: Fixed a few typos in the manpage (sync with util-linux (2.12r)
20030123: Bumped up version number to 1.1.3
20030123: Changed WITH_GETTEXT option to WITHOUT_GETTEXT
20030123: Renamed example programs to have the string getopt- prepended
20030123: Manpage: all minus signs are now escaped
20030123: Sync with util-linux (2.11y)
20010329: Bumped up version number to 1.1.2
20010329: Sync with util-linux
20010311: Bumped up version number to 1.1.1
20010311: Fixed stupid compilation error if NLS not selected
20000630: Bumped up version number to 1.1.0
20000630: Ported the Native Language Support patches from util-linux
They are written by Arkadiusz Miśkiewicz <misiek@pld.org.pl>
20000627: Bumped up version number to 1.0.6
20000627: A few manpage tweaks
20000616: Introduced DESTDIR and directory creation in the Makefile.
19990716: Bumped up version number to 1.0.5
19990622: Made -u work
19990101: Bumped up version number to 1.0.4 (aka. 1.0.3a in util-linux)
19990101: Very small fix in main()
19990101: Updated util-linux Makefile
19980628: Bumped up version number to 1.0.3
19980628: Removed remaining incompatibility with tcsh-6.02 from parse.tcsh
980626: Added separate Makefile for util-linux
19980625: Removed several bugs from parse.tcsh, partly thanks to Volker Kuhlmann
(v.kuhlmann@elec.canterbury.ac.nz).
19980612: Removed reference to getopt in util-linux
19980611: Bumped up version number to 1.0.2
19980611: Fixed --version bug (was not available, though documented!)
19980611: Removed compiler warnings.
19980603: Bumped up version number to 1.0.1
19980603: Fixed sizeof() bug (should be strlen) in getopt.c, thanks to
Bob Proulx (rwp@hprwp.fc.hp.com).
19980505: Changed date field in LSM to proper syntax
19980505: Released version 1.0

View File

@ -0,0 +1,95 @@
util-linux build system
=======================
- the build system is non-recursive, individual subdirectories use
Makemodule.am files. These files are merged together by automake
into one global Makefile in the top-level directory
- all final build results (binaries, libtool scripts) are stored in top-level
source directory
- all Makemodule.am files have to be designed as top-level makefiles, it
means with full paths (e.g. foo_SOURCES = subdir/foo.c)
- always use '+=' operator for global variables (e.g. bin_PROGRAMS += foo)
- use libcommon.la (without path!) for lib/ stuff (e.g. foo_LDADD = libcommon.la)
- for libblkid, libuuid and libmount use lib<name>.la in _LDADD and
-I$(ul_lib<name>_incdir) in _CFLAGS, for example
foo_LDADD = libmount.la
foo_CFLAGS = -I$(ul_libmount_incdir)
- always use suffixes for hooks, for example
install-exec-hook-foo:
ln -sf foo foooo
INSTALL_EXEC_HOOKS += install-exec-hook-foo
- all util-linux specific autoconf macros use UL_ prefix
- utils in Makefile.am files are enabled/disabled according to BUILD_<NAME>
conditions (AM_CONDITIONAL), for example:
if BUILD_HWCLOCK
...
endif
- "if BUILD_<NAME>" blocks are never nested within another "if BUILD_<NAME>",
all dependencies have to be resolved in configure.ac (see UL_REQUIRES_BUILD())
- all BUILD_<NAME> in configure.am are always based on build_<name> variables,
for example:
AM_CONDITIONAL([BUILD_HWCLOCK], test "x$build_hwclock" = xyes)
the $build_<name> should be available in whole configure script
- AC_ARG_ENABLE() status is always stored in $enable_<name> variable, possible
setting:
"check" - util/feature is optional, if any subcomponent (function, lib,
...) is missing a warning is printed and the util/feature is
disabled
"yes" - util/feature is required, if any subcomponent (function, lib,
...) is missing an error is printed and ./configure aborted
"no" - the util/feature is unwanted
The default status is always defined by UL_DEFAULT_ENABLE() and it might be
globally modified by $ul_default_estate (see AC_ARG_ENABLE([all-programs])).
- it's possible to disable all programs, but enable just one (or more)
explicitly specified, for example:
./configure --disable-all-programs --enable-hwclock
- some basic scenarios for the ./configure script are defined in the
tools/config-gen.d/ directory. If you want to use these predefined scenarios
then call
./tools/config-gen [<scenario> ...]
for example
./tools/config-gen all selinux
will build all utils with enabled selinux support. You can also define some
CFLAGS, for example:
CFLAGS=$(rpm --eval '%optflags') ./tools/config-gen all
will use the default distro flags.
WARNING: config-gen is not designed for end-user or downstream distributions!
It's for development purpose only. All end-users and downstream have
to use standard ./configure script only.
- the tools/config-gen script is also used for build system regression tests,
the test is not enabled by default, you have to use
tests/run.sh build-sys --force

View File

@ -0,0 +1,90 @@
The common case
./autogen.sh && ./configure && make
If something fails read the last lines. Typical reason to
fail is a missing dependency, such as libtool or gettext.
make install-strip
Note that on the production systems it is strongly recommended to use
"make install-strip" to install binaries and libraries. The result
from the standard "make install" may produce large binaries with
unnecessary symbols.
Autotools
`./autogen.sh' generates all files needed to compile
and install the code (run it after checkout from git)
`make distclean' removes all unnecessary files, but the
code can still be recompiled with "./configure; make"
`make dist-gzip' (or -bzip2) creates a tarball that can
be configured and compiled without running `./autogen.sh'
Compiling
Use SUID_CFLAGS and SUID_LDFLAGS when you want to define
special compiler options for typical suid programs, for
example:
./configure SUID_CFLAGS="-fpie" SUID_LDFLAGS="-pie"
The SUID_* feature is currently supported for chfn, chsh,
newgrp, su, write, mount, and umount.
Use DAEMON_CFLAGS and DAEMON_LDFLAGS when you want to define
special compiler options for daemons; supported for uuidd.
Use SOLIB_CFLAGS and SOLIB_LDFLAGS when you want to define
special compiler options for shared libraries; supported for
libmount, libblkid and libuuid.
FIXME: add notes about klib and uClib.
Compile certain portion
See ./configure --help and use --disable-* and --enable-* options.
It's also possible to disable all the programs and enable only wanted.
For example:
./configure --disable-all-programs --enable-fallocate
Note that the configure script tracks dependencies between libs and
tools. Always see warning messages and follow error messages if any
dependence is necessary. For example to compile mount(8) you need also
libmount, libblkid and libuuid:
./configure --disable-all-programs --enable-mount --enable-libmount \
--enable-libblkid --enable-libuuid
Static linking
Use --enable-static-programs[=LIST] configure option when
you want to use statically linked programs.
Note, mount(8) uses get{pw,gr}nam() and getpwuid()
functions for translation from username and groupname to
UID and GID. These functions could be implemented by
dynamically loaded independent modules (NSS) in your libc
(e.g. glibc). These modules are not statically linked to
mount(8) and mount.static is still using dlopen() like
dynamically linked version.
The translation won't work in environment where NSS
modules are not installed.
For example normal system (NSS modules are available):
# ./mount.static -v -f -n -ouid=kzak /mnt/foo
LABEL=/mnt/foo on /mnt/foo type vfat (rw,uid=500)
^^^^^^^
and without NSS modules:
# chroot . ./mount.static -v -f -n -ouid=kzak /mnt/win
LABEL=/mnt/win on /mnt/win type vfat (rw,uid=kzak)
^^^^^^^^

View File

@ -0,0 +1,248 @@
CONTENTS
Sending Patches
Patching Process
Email Format
Coding Style
Options
Various Notes
Standards Compliance
Sending Patches
* send your patches to the mailing list (see ../README) or by
github.com pull request.
* email is accepted as an inline patch with, or without, a git pull
request. Pull request emails need to include the patch set for review
purposes. See howto-pull-request.txt and ../README for git repository
instructions.
* email attachments are difficult to review and not recommended.
Hint: use git send-email.
* one patch per email.
See Email Format.
* many small patches are preferred over a single large patch. Split
patch sets based upon logical functionality. For example: #endif mark
ups, compiler warnings, and exit code fixes should all be individual
small patches.
* don't include generated (autotools) files in your patches.
Hint: use 'git clean -Xd'.
* don't include po/ (translations) changes to the upstream patches.
The po/ stuff is maintained on https://translationproject.org/domain/util-linux.html
and updated always before the next release.
* neutrality: the files in util-linux should be distribution-neutral.
Packages like RPMs, DEBs, and the rest, are not provided. They should
be available from the distribution.
Repositories & Branches
* Primary repository is on kernel.org:
git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
We use this repository for master and stable branches only.
* Backup repository at github.com:
git clone https://github.com/util-linux/util-linux.git
We use this repository to backup kernel.org and for pull requests,
issues tracking and topic branches. The master and stable branches are
always pushed to the both repositories in the same time.
It's recommended to use github.com for development.
* Branches:
master - development for the next release
stable/* - stable maintenance releases
Github only:
next - optionally used when master branch is frozen due to -rcN releases
topic/* - long time development
Patching Process
* announce it on the mailing list when you are going to work with some
particular piece of code for a long time. This helps others to avoid
massive merge conflicts. Small or quick work, does not need to be
announced.
* make sure that after applying your patch the file(s) will compile
without errors.
* test that the previously existing program behavior is not altered. If
the patch intentionally alters the behavior explain what changed, and
the reason for it, in the changelog/commit message.
* only submit changes that you believe are ready to merge. To post a
patch for peer review only, state it clearly in the email and use
the Subject: [PATCH RFC] ...
* incorporate reviewer comments in the patches. Resubmitting without
changes is neither recommended nor polite.
* resubmission can be partial or complete. If only a few alterations are
needed then resubmit those particular patches. When comments cause a
greater effect then resubmit the entire patch set.
* When resubmitting use the email Subject: [PATCH v2] ...
Hint: use the --subject-prefix='PATCH v2' option with 'git format-patch'
* using a git repository for (re)submissions can make life easier.
See howto-pull-request.txt and ../README.
* all patch submissions are either commented, rejected, or accepted.
If the maintainer rejects a patch set it is pointless to resubmit it.
Email Format
* Subject: [PATCH] subsystem: description.
* Start the message body with an explanation of the patch, that is, a
changelog/commit entry.
* if someone else wrote the patch, they should be credited (and
blamed) for it. To communicate this, add a line like:
From: John Doe <jdoe@wherever.com>
* add a Signed-off-by line.
Hint: use git commit -s
The sign-off is a simple line at the end of the explanation for the
patch; which certifies that you wrote it or otherwise have the
right to pass it on as an open-source patch. The rules are pretty
simple; if you can certify the following:
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including
all personal information I submit with it, including my
sign-off) is maintained indefinitely and may be redistributed
consistent with this project or the open source license(s)
involved.
Then you just add a line like:
Signed-off-by: Random J Developer <random@developer.example.org>
Use your real name (sorry, no pseudonyms or anonymous contributions.)
* Next a single line beginning with three hyphen-minus characters (---)
and nothing else.
* Followed by the unified diff patch.
Note: the mailing list will reject certain content. See ../README.
Coding Style
* the preferred coding style is based on the linux kernel coding-style.
Available here:
https://docs.kernel.org/process/coding-style.html
* use 'FIXME:' with a good description, if you want to inform others
that something is not quite right, and you are unwilling to fix the
issue in the submitted change.
* do not use `else' after non-returning functions. For
example:
if (this)
err(EXIT_FAIL, "this failed");
else
err(EXIT_FAIL, "that failed");
Is wrong and should be written:
if (this)
err(EXIT_FAIL, "this failed");
err(EXIT_FAIL, "that failed");
* when you use 'if' short-shorthand make sure it does not wrap into
multiple lines. In case the shorthand does not look good on one line
use the normal "if () else" syntax.
Options
* The rule of thumb for options is that once they exist, you may not
change them, nor change how they work, nor remove them.
* The following options are well-known, and should not be used for any
other purpose:
-h, --help display usage and exit
-V, --version display version and exit
* Some commands use peculiar options and arguments. These will continue
to be supported, but anything like them will not be accepted as new
additions. A short list of examples:
Characters other than '-' to start an option. See '+' in 'more'.
Using a number as an option. See '-<number>' in 'more'.
Long options that start with a single '-'. See 'setterm'.
'-?' is not a synonym for '--help', but is an unknown option
resulting in a suggestion to try --help due to a getopt failure.
Various Notes
* util-linux does not use kernel headers for file system super
blocks structures.
* patches relying on kernel features that are not in Linus Torvalds's
tree are not accepted.
Standards Compliance
Some of the commands maintained in this package have Open Group
requirements. These commands are:
cal
col
ipcrm
ipcs
kill
line
logger
mesg
more
newgrp
pg
renice
If you change these tools please make sure it does not create a conflict
with the latest standard. For example, it is not recommended to add
short command line options before they are part of the standard.
Introducing new long options is acceptable.
The Single UNIX(TM) Specification, Version 2
Copyright (C) 1997 The Open Group
https://pubs.opengroup.org/onlinepubs/7908799/xcuix.html

View File

@ -0,0 +1,74 @@
Debugging util-linux programs
=============================
How to deal libtool
-------------------
There are considerations to be made when profiling or debugging some programs
found in the util-linux package. Because wrapper scripts are used for the
binaries to make sure all library dependencies are met, you cannot use tools
such as gdb or valgrind directly with them.
Let's take for example the mount command:
$> cd /path/to/util-linux
$> file mount/mount
mount/mount: Bourne-Again shell script text executable
The binary itself is located in the mount/.libs/ directory:
$> file mount/.libs/mount
mount/.libs/mount: ELF 64-bit LSB executable, x86-64, version 1 \
(SYSV), dynamically linked (uses shared libs) [...]
When this command is run, there's a library dependency error:
$> mount/.libs/mount
mount/.libs/mount: /lib/libblkid.so.1: version `BLKID_2.20' not found \
(required by mount/.libs/mount)
To overcome this we need set the LD_LIBRARY_PATH variable to read the path of
the shared lib found in the sources, and not system-wide:
$> export LD_LIBRARY_PATH=$PWD/libblkid/src/.libs/:$LD_LIBRARY_PATH
Now external debugging tools can be run on the binary.
Happy hacking!
Davidlohr Bueso, August 2011
The libmount & libblkid
-----------------------
Both of the libraries can be debugged by setting an environment variable
consisting of a number. The number will be used as a bit mask, so the more 1 the
higher the debugging level. Search for `DEBUG' from files
libblkid/src/blkidP.h
libmount/src/mountP.h
to see what the different bits mean. At the time of writing this the following
enabled full debug.
export LIBBLKID_DEBUG=all
export LIBMOUNT_DEBUG=all
export LIBFDISK_DEBUG=all
export LIBSMARTCOLS_DEBUG=all
The libblkid reads by default /etc/blkid.conf which can be overridden by the
environment variable BLKID_CONF. See manual libblkid/libblkid.3 for details
about the configuration file.
Block device information is normally kept in a cache file (see blkid man page
for more information about the cache file location) that can be overridden by
the environment variable BLKID_FILE.
To libmount uses three paths, which can be overridden by using environment
variables. Notice that these environment variables are ignored for non-root
users.
env variable if not set defaults to
LIBMOUNT_FSTAB /etc/fstab
LIBMOUNT_MTAB /etc/mtab
LIBMOUNT_UTAB /run/mount/utab or /dev/.mount/utab

View File

@ -0,0 +1,2 @@
Since v2.37 util-linux project uses asciidoc format to maintain man pages.
See man-common/manpage-stub.adoc for more details.

View File

@ -0,0 +1,296 @@
Introduction
------------
These instructions are wrote to contributors who tend to send lots of
changes. The basics from howto-contribute.txt file are assumed to be
read and understood by the time this file becomes useful.
Setup
-----
1. Find a git server that can be reached from anywhere in internet
anonymously. Github is for example a popular choice.
2. Create your own util-linux contributor repository, and push an upstream
clone to there.
3. In these instructions the upstream remote repository is called
'origin' and the 'yourgit' is the contributor repo.
cd ~/projects
git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
cd util-linux
git remote add yourgit git@github.com:yourlogin/util-linux.git
git push yourgit
Branches
--------
1. Use the name of the subsystem, such as blkid, libmount, misc-utils,
that is the common thing for changes in the change set.
2. If the changes do not have anything in common use some random name,
such as YYYY-MM-DD of the first patch in the branch. Name of the branch
does not really matter that much, with one exception.
3. Do not use 'master' branch to your contributions. The 'master' branch
is needed to stay up to date with upstream.
4. When done push your branch to your remote git server.
git checkout master
git branch textual
# spent here most of the effort
git push yourgit textual:textual
5. Do not worry if you used stupid-and-wrong branch name, it can be fixed
before submission.
git branch -m stupid-and-wrong brilliant
git push yourgit brilliant:brilliant :stupid-and-wrong
Stay up to date
---------------
1. Ensure you have the latest from all remote repositories.
2. Merge upstream 'master' branch if needed to your local 'master'.
3. Rebase your working contribution branches.
4. Push the changes to 'yourgit'.
git fetch --all
git log --graph --decorate --pretty=oneline --abbrev-commit --all
5. If you notice upstream has changed while you were busy with your
changes rebase on top of the master, but before that:
6. Push a backup of your branch 'textual' to 'yourgit', then
git checkout master
git merge origin/master
git checkout textual
git rebase master
If rebase reports conflicts fix the conflicts. In case the rebase
conflict is difficult to fix rebase --abort is good option, or recover
from 'yourgit', either way there is some serious re-work ahead with the
change set.
7. Assuming rebase went fine push the latest to 'yourgit'.
git push yourgit master:master
git push yourgit --force textual:textual
The contributor branch tends to need --force every now and then, don't be
afraid using it.
8. Push error with master branch
If 'master' needs --force then something is really messed up. In that
case it is probably the wise to abandon(*) local clone, and start all
over from cloning upstream again. Once the upstream is cloned add again
'yourgit' remote and
git push --mirror yourgit
But be WARNED. The --mirror will nuke all of your stuff had in
'yourgit', that can cause data loss. (*)So don't remove the local clone,
just move the directory to broken repos area.
Sending pull request
--------------------
1. When you are happy with your changes sleep over night. This is not a
speed competition, and for some reason looking the changes the next day
often makes one to realize how things could be improved. The best this
way you avoid changing the changes (that is always confusing).
2. Check the next day the changes compile without errors or warnings, and
that regression tests run fine.
make clean &&
make -j3 &&
make check
Notice that regression tests will not cover all possible cases, so you
most likely need to use the commands, features, and fixes you did
manually.
3. If you need to change something.
git rebase -i master
# change something
git push -f yourgit textual:textual
4. You have two ways how to send your pull request:
4.1 Github pull request
This is recommended way for your small and trivial changes, or for
work-in-progress projects (rewrites, new commands, etc.). All you
need is to press "pull request" button on GitHub.
4.2. Send your work to the mailing list
Assuming the changes look good send them to mail list. Yes, the all
of them! Sending pull request with github is not visible for project
contributors, and they will not have change to review your changes.
Sending only the pull request, i.e., not each patch, to mail-list is also
bad. Nothing is as good as seeing the changes as they are, and being
able to find them from with your favourite web search engine from
mail-list archive. Obviously the pull request content does not get
indexed, and that is why it is worse.
git format-patch --cover-letter master..textual
git request-pull upstream/master https://github.com/yourlogin/util-linux.git textual > tempfile
Take from the 'tempfile' the header:
----------------------------------------------------------------
The following changes since commit 17bf9c1c39b4f35163ec5c443b8bbd5857386ddd:
ipcrm: fix usage (2015-01-06 11:55:21 +0100)
are available in the git repository at:
https://github.com/yourlogin/util-linux.git textual
----------------------------------------------------------------
and copy paste it to 0000-cover-letter.patch file somewhere near 'BLURB
HERE'. Rest of the 'request-pull' output should be ignored.
In same go fix the Subject: line to have reasonable description, for
example
Subject: [PATCH 00/15] pull: various textual improvements
Feedback and resubmissions
--------------------------
1. Since you sent each patch to mail-list you can see which ones got to
be responded. In case the feedback will result in changes to the
submission then rebase, perform the changes, and push again to your
remote.
# you probably should use 'Stay up to date' instructions now
git checkout textual
git rebase master -i
# edit something
git add files
git commit --amend
# Add 'Reviewed-by:', 'Tested-by:', 'Signed-off-by:', 'Reference:', and
# other lines near signoff when needed. Attributing the reviewers is a
# virtue, try to do it.
git rebase --continue
git push -f yourgit textual:textual
2. Send a message to mail-list that the submitted change has changed, and
that the new version can be found from
https://github.com/yourlogin/util-linux/commit/0123456789abcdef0123456789abcdef01234567
3. There is no need to update the pull request cover letter. The project
maintainer has done enough of this stuff to know what to do.
Repository maintenance
----------------------
1. When your remote branch is merged, or you got final reject, it is time
to clean it up.
git branch textual -d
git push yourgit :textual
2. If you have other contributor repositories configured you may also
want to clean up the branches the others are done with.
for I in $(git remote); do
echo "pruning: $I"
git remote prune $I
done
3. When all of your contributions are processed you should tidy up the
git's guts.
git reflog expire --all
git gc --aggressive --prune=now
Warning. That tidying is not good idea while you are actively working
with the change set. You never know when you need to recover something
from reflog, so keep that option available until you know the reflog is
not needed.
More branches, on top of branches, on top of ...
------------------------------------------------
Here is a one way of laying out multiple branches.
git log --graph --decorate --pretty=oneline --abbrev-commit --all
* 13bfff3 (HEAD, docs-update) docs: small improvements to howto-contribute.txt
* 5435d28 (sami/more, more) more: do not call fileno() for std{in,out,err} streams
* 3e1ac04 more: remove unnecessary braces
* c19f31c more: check open(3) return value
* 651ec1b more: move skipping forewards to a function from command()
* bf0c2a7 more: move skipping backwards to a function from command()
* 53a438d more: move editor execution to a function from command()
* b11628b more: move runtime usage output away from command()
* 6cab04e more: avoid long else segment in prbuf()
* a2d9fbb more: remove 'register' keywords
* c6b2d29 more: remove pointless functions
* b41fe34 more: remove function like preprocessor defines
* 1aaa1ce more: use paths.h to find bourne shell and vi editor
* 016a019 more: return is statement, not a function
* ff7019a more: remove dead code and useless comments
* 1705c76 more: add struct more_control and remove global variables
* 3ad4868 more: reorder includes, declarations, and global variables
* 7220e9d more: remove function declarations - BRANCH STATUS: WORK IN PROGRESS
* 04b9544 (sami/script) script: add noreturn function attributes
* e7b8d50 script: use gettime_monotonic() to get timing file timestamps
* 11289d2 script: use correct input type, move comment, and so on
* 524e3e7 script: replace strftime() workaround with CFLAGS = -Wno-format-y2k
* 0465e7f script: move do_io() content to small functions
* 751edca script: add 'Script started' line always to capture file
* f831657 script: remove io vs signal race
* eefc1b7 script: merge doinput() and output() functions to do_io()
* 9eba044 script: use poll() rather than select()
* a6f04ef script: use signalfd() to catch signals
* 4a86d9c script: add struct script_control and remove global variables
* d1cf19c script: remove function prototypes
* 6a7dce9 (sami/2015wk00) fsck.minix: fix segmentation fault
* 5e3bcf7 lslocks: fix type warning
* 3904423 maint: fix shadow declarations
* 17bf9c1 (upstream/master, sami/master, kzgh/master, master) ipcrm: fix usage
[...]
The above gives a hint to maintainer what is the preferred merge order.
The branches '2015wk00' and 'script' are ready to be merged, and they
were sent to mail-list.
The 'more' branch was not submitted at the time of writing this text.
Mark-up the branch is not ready is clearly marked in the commit subject,
that will need some rebaseing to before submission.
Good order of the branches is;
1. First the minor & safe changes.
2. Then the ready but less certain stuff.
3. Followed by work-in-progress.
If you go down this route you will get used to typing a lot of
git rebase previous-branch
git push -f yourgit branch:branch
Alternatively rebase each branch on top of origin/master, which is not
quite as good. How do you ensure your own changes are not in conflict
with each other? And there is no hint of preferred merging order.

View File

@ -0,0 +1,152 @@
util-linux regression tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~
It's expected that for each invasive change or important bugfix you will
include a test to your patch.
Compile binaries, libs, extra test programs and run the basic tests:
$ make check
Compile extra test programs only:
$ make check-programs
Note that the configure option --disable-static disables many of libmount and
libblkid unit tests.
Run all tests including tests that require root permissions:
# cd tests
# ./run.sh [options, see --help]
Alternatively using sudo and make:
$ make check-programs
$ sudo -E make check TS_OPTS="--parallel=1"
note that as root you have to manually remove output and diff directories
# rm -rf output diff
or run 'make clean' as root.
Run subset of tests:
$ cd tests
$ ./run.sh <test_directory-name>
for example:
$ ./run.sh blkid
$ ./run.sh libmount
or individual test script, for example:
$ ./ts/cal/year
The tests is possible to exclude by ./run.sh --exclude=<list> where the
<list> is blank separated test names in format "testdir/testname", for example:
$ ./run.sh --exclude="mount/move"
The --exclude is evaluated by the ./run.sh script only. See below
TS_OPT_testdir_[testscript_]fake=
environment variable which provides more powerful functionality to skip tests.
*** WARNING for root users ***
The tests touch your /etc/fstab, initialize loop devices or scsi_debug devices
if executed with root permissions.
Please, be careful and use these tests only for development and never on
production system.
fuzz targets
------------
The fuzz targets can be built and run along with the other tests (after installing
clang):
$ ./tools/config-gen fuzz
$ make check
environment variables
---------------------
TS_COMMAND
Evaluated by "make check" to override the default command (run.sh).
Example:
- build all test dependencies, but skip the actual test
$ make check TS_COMMAND="true"
TS_OPTS
Evaluated by "make check" to pass options.to run.sh (see ./run.sh --help).
Examples:
- run utmp tests only
$ make check TS_OPTS="--parallel=1 utmp"
TS_OPT_testdir_[testscript_]fake="<yes|no>"
Evaluated by any test script to skip certain tests.
Examples:
- skip all the tests within "fdisk" test-directory:
$ make check TS_OPT_fdisk_fake="yes"
- skip only "fdisk/bsd" test:
$ make check TS_OPT_fdisk_bsd_fake="yes"
- skip all "fdisk" tests except fdisk/bsd:
$ make check TS_OPT_fdisk_fake="yes" TS_OPT_fdisk_bsd_fake="no"
TS_OPT_testdir_[testscript_]known_fail="<yes|no>"
Similar usage like TS_OPT_*_fake above. "known_fail" means that the given
test will run but (negative) results will be ignored. The build log and test
diffs will still remind you about the issue.
TS_OPT_testdir_[testscript_]verbose="<yes|no>"
Set verbosity for certain tests. Similar usage like TS_OPT_*_fake above.
TS_OPT_testdir_[testscript_]memcheck="<yes|no>"
Run certain tests with valgrind. Similar usage like TS_OPT_*_fake above.
External services
-----------------
Coveralls coverage reports
URL: https://coveralls.io/github/util-linux/util-linux
lgtm CI - automatically executed security code analysis
URL: https://lgtm.com/projects/g/util-linux/util-linux/
Coverity Scan
URL: https://scan.coverity.com/projects/karelzak-util-linux
Fossies codespell report
URL: https://fossies.org/linux/test/util-linux-master.tar.gz/codespell.html
OSS-Fuzz
URL: https://google.github.io/oss-fuzz/
URL: https://oss-fuzz-build-logs.storage.googleapis.com/index.html#util-linux
URL: https://oss-fuzz.com/coverage-report/job/libfuzzer_asan_util-linux/latest
CIFuzz
URL: https://google.github.io/oss-fuzz/getting-started/continuous-integration/
URL: https://github.com/util-linux/util-linux/actions?query=workflow%3ACIFuzz

View File

@ -0,0 +1,134 @@
Example file
------------
Refer to the ./boilerplate.c example file while reading this howto.
How a usage text is supposed to look
------------------------------------
The usage() output format is: Usage section, command description one-liner,
Options section (see below), special sections like 'Available columns', and
the last line is either the man page reference or an empty line. The output
begins with, and each of the above are separated by, one empty line.
The Usage section contains the synopsis line that describes how to compose
the command. Sometimes you may need multiple synopsis lines (see below).
Only the synopsis and option lines are indented. Indent is one space (0x40).
Option lines do not use line-ending punctuation. Other sentences do.
Notations: diamond brackets are used to mark an argument to be filled in;
square brackets are used to mark anything that is optional, such as optional
command arguments, or optional option arguments. In the later case the '='
character is required in between the option and argument with no whitespace;
three consecutive dots means the unlimited repetition of the preceding.
The short option is always written first, followed by the long option. They
are separated with a comma and one space. Lonely short or long options do
not affect their alignment. That is, they must be in their respective column.
Below, in between the snips, is an example of what the usage output should
look like.
-- snip
Usage:
program [options] <file> [...]
Short program description, ideally one line only.
Options:
-n, --no-argument option does not use argument
--optional[=<arg>] option argument is optional
-r, --required <arg> option requires an argument
-z no long option
--xyzzy a long option only
-e, --extremely-long-long-option
use next line for description when needed
-l, --long-explanation an example of very verbose, and chatty option
description on two, or multiple lines, where the
continuation lines are indented by two spaces
-f, --foobar next option description resets indent
-h, --help display this help and exit
-V, --version output version information and exit
For more details see program(1).
-- snip
Option descriptions
-------------------
This information also applies to other option-like arguments. That is,
arguments starting with '-'. Such as: functions, commands, and so forth.
An option description should not exceed the width of 80 characters. If
you need a longer description, use multiple lines and indentation.
The description text begins from the point of the longest option plus two
spaces. If adding a new option would necessitate a re-indentation of the
descriptions, it either has to be done, or the new option should begin its
description on the next line. Usually the later is better.
An argument is preferably worded appropriately. For example, if an option
expects a number as argument, '<num>' is a suitable argument indicator.
The order of the options has no special meaning, with the exception of
--help and --version which are expected to be last ones in the list.
Usage function
--------------
The usage() function will never return. It must only be called by -h/--help.
All other cases use errtryhelp(EXIT_FAILURE).
Section headers, man page, version, help, and other components of usage()
have string constants defined in 'include/c.h' which must be used. See the
example file listed at the top of this document. The help and version options
are combined into a single macro which takes an argument for the column that
their descriptions will begin on: USAGE_HELP_OPTIONS(<num>). This allows
them to align properly with the other options.
In the code, all option strings must start at the same position.
See here what this means:
printf(out, _(" -x[=<foo>] default foo is %s"), x);
puts( _(" -y some text"), out);
Be nice to translators. One gettext entry should be one option, no more,
no less. For example:
puts(_(" --you-there be nice\n"), out);
puts(_(" -2 <whom> translators\n"), out);
puts(_(" -t, --hey are doing a job that we probably cannot,"
" or how is your klingon?\n"), out);
When existing usage output is changed, and it happens to be one big text,
split it into chunks the size of one option. The extra work this will entail
for translators will pay off later; the next string change will not force a
search of the long fuzzy text for what was changed, where, how, and whether
it was the only change.
Synopsis
--------
You may need to use multiple synopsis lines to show that a command does
fundamentally different things depending on the options and/or arguments.
For example, ionice either changes the priority of a running command, or
executes a program with a defined priority. Therefore it is reasonable
to have two synopsis lines:
ionice [options] -p <pid> ...
ionice [options] <command> [<arg> ...]
Note that the synopsis is not meant to be a repetition of the options
section. The fundamental difference in execution is a bit difficult to
define. The command author, package maintainer or patch submitter will
usually know when it should be done that way.

View File

@ -0,0 +1,3 @@
Hwclock is a program that runs under Linux and sets and queries the
Hardware Clock, which is often called the Real Time Clock, RTC, or
CMOS clock.

View File

@ -0,0 +1,25 @@
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, and the entire permission notice in its entirety,
including the disclaimer of warranties.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

View File

@ -0,0 +1,32 @@
/*
* Copyright (c) 1989 The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/

View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

View File

@ -0,0 +1,11 @@
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@ -0,0 +1,502 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@ -0,0 +1,76 @@
25/10/95 Peter Orbaek <poe@daimi.aau.dk>
Some notes for using agetty with modems
Using a comms program to initialize the modem
---------------------------------------------
* Use kermit or minicom to initialize the modem to
- be entirely quiet.
- don't do local echo in command mode.
- turn on DCD (carrier detect) only when there is a connection going.
- enable auto-answer.
- keep a constant computer/modem bitrate at all times.
- optionally save this setup as the modem startup configuration.
* Run agetty on the appropriate ttySn port with the arguments:
* -w to wait for a CR or LF before writing the /etc/issue message
* computer/modem bitrate
* the tty name.
Example from my modem setup, an old 2400 bps SupraModem using Hayes standard
AT commands.
Initialize modem using kermit with the commands
AT E0 Q1 &D2 &C1 S0=1 &W0
to
- turn off local echo from modem when in command mode (E0).
- disable all result codes from modem (Q1).
- make an on/off transition on the DTR line make the modem
disconnect and go into command mode (&D2).
- make the computer/modem DCD line track the modem/modem
carrier detect signal, i.e. no connection means no
carrier detect signal to the computer (&C1).
- enable auto-answer after the first ring (S0=1).
- store the configuration as the start configuration (&W0).
The commands on your modem to achieve the same setup may vary, especially
the &D2 and &C1 commands may not be entirely standard.
Exit kermit/minicom.
Put the command
/sbin/agetty -w 2400 ttyS1
in the command field of the appropriate line in /etc/inittab to start
agetty on /dev/ttyS1 with a 2400 bps speed between modem and computer.
Initializing the modem with agetty
----------------------------------
Use the agetty -I command line option to specify a modem init string, like
for the same setup as above, use the following agetty command in your
/etc/inittab.
/sbin/agetty -w -I 'ATE0Q1&D2&C1S0=1\015' 2400 ttyS1
The final \015 is an octal coding of the carriage return character
ending the command string.
If you're using simpleinit (part of this package) instead of the SYSV
compatible init (you're most likely using the SYSV one!) then you must
remove the single quotes from the command line above.
Note that the &W0 command was not used here since the modem will be
initialized each time agetty starts.
With a V.34 (28.8 kbps) modem try starting with a command like:
/sbin/agetty -w -I 'ATE0Q1&D2&C1S0=1\015' 115200 ttyS1
Note that agetty supports the higher (>9600 bps) serial speeds
directly, there's no need to use setserial to use the higher speeds.

17
Documentation/mount.txt Normal file
View File

@ -0,0 +1,17 @@
mount/umount for Linux 0.97.3 and later.
Authors:
Doug Quale <quale@saavik.cs.wisc.edu>,
H.J. Lu <hlu@eecs.wsu.edu>,
Rick Sladkey <jrs@world.std.com>,
Stephen Tweedie <sct@dcs.ed.ac.uk>.
Andries Brouwer <aeb@cwi.nl>
Adrian Bunk <bunk@stusta.de>
Presently in util-linux maintained by Karel Zak <kzak@redhat.com>.
== Notes to developers ==
The final solution will be libmount/mount.c as the
mount(8) command implementation. So, let's keep the
current mount/* code in maintenance mode and don't try to
rewrite it :-)

View File

@ -0,0 +1,468 @@
NAME
parse_date - parses a date string into a timespec struct.
SYNOPSIS
#include "timeutils.h"
int parse_date(struct timespec *result, char const *p,
struct timespec const *now)
LDADD libcommon.la
DESCRIPTION
Parse a date/time string, storing the resulting time value into *result.
The string itself is pointed to by *p. Return 1 if successful.
*p can be an incomplete or relative time specification; if so, use
*now as the basis for the returned time.
This function is based upon gnulib's parse-datetime.y-dd7a871.
Below is a plain text version of the gnulib parse-datetime.texi-dd7a871 manual
describing the input strings that are recognized.
Any future modifications to the util-linux parser that affect input strings
should be noted below.
1 Date input formats
********************
First, a quote:
Our units of temporal measurement, from seconds on up to months,
are so complicated, asymmetrical and disjunctive so as to make
coherent mental reckoning in time all but impossible. Indeed, had
some tyrannical god contrived to enslave our minds to time, to
make it all but impossible for us to escape subjection to sodden
routines and unpleasant surprises, he could hardly have done
better than handing down our present system. It is like a set of
trapezoidal building blocks, with no vertical or horizontal
surfaces, like a language in which the simplest thought demands
ornate constructions, useless particles and lengthy
circumlocutions. Unlike the more successful patterns of language
and science, which enable us to face experience boldly or at least
level-headedly, our system of temporal calculation silently and
persistently encourages our terror of time.
... It is as though architects had to measure length in feet,
width in meters and height in ells; as though basic instruction
manuals demanded a knowledge of five different languages. It is
no wonder then that we often look into our own immediate past or
future, last Tuesday or a week from Sunday, with feelings of
helpless confusion. ...
--Robert Grudin, `Time and the Art of Living'.
This section describes the textual date representations that GNU
programs accept. These are the strings you, as a user, can supply as
arguments to the various programs. The C interface (via the
`parse_datetime' function) is not described here.
1.1 General date syntax
=======================
A "date" is a string, possibly empty, containing many items separated
by whitespace. The whitespace may be omitted when no ambiguity arises.
The empty string means the beginning of today (i.e., midnight). Order
of the items is immaterial. A date string may contain many flavors of
items:
* calendar date items
* time of day items
* time zone items
* combined date and time of day items
* day of the week items
* relative items
* pure numbers.
We describe each of these item types in turn, below.
A few ordinal numbers may be written out in words in some contexts.
This is most useful for specifying day of the week items or relative
items (see below). Among the most commonly used ordinal numbers, the
word `last' stands for -1, `this' stands for 0, and `first' and `next'
both stand for 1. Because the word `second' stands for the unit of
time there is no way to write the ordinal number 2, but for convenience
`third' stands for 3, `fourth' for 4, `fifth' for 5, `sixth' for 6,
`seventh' for 7, `eighth' for 8, `ninth' for 9, `tenth' for 10,
`eleventh' for 11 and `twelfth' for 12.
When a month is written this way, it is still considered to be
written numerically, instead of being "spelled in full"; this changes
the allowed strings.
In the current implementation, only English is supported for words
and abbreviations like `AM', `DST', `EST', `first', `January',
`Sunday', `tomorrow', and `year'.
The output of the `date' command is not always acceptable as a date
string, not only because of the language problem, but also because
there is no standard meaning for time zone items like `IST'. When using
`date' to generate a date string intended to be parsed later, specify a
date format that is independent of language and that does not use time
zone items other than `UTC' and `Z'. Here are some ways to do this:
$ LC_ALL=C TZ=UTC0 date
Mon Mar 1 00:21:42 UTC 2004
$ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ'
2004-03-01 00:21:42Z
$ date --rfc-3339=ns # --rfc-3339 is a GNU extension.
2004-02-29 16:21:42.692722128-08:00
$ date --rfc-2822 # a GNU extension
Sun, 29 Feb 2004 16:21:42 -0800
$ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension.
2004-02-29 16:21:42 -0800
$ date +'@%s.%N' # %s and %N are GNU extensions.
@1078100502.692722128
Alphabetic case is completely ignored in dates. Comments may be
introduced between round parentheses, as long as included parentheses
are properly nested. Hyphens not followed by a digit are currently
ignored. Leading zeros on numbers are ignored.
Invalid dates like `2005-02-29' or times like `24:00' are rejected.
In the typical case of a host that does not support leap seconds, a
time like `23:59:60' is rejected even if it corresponds to a valid leap
second.
1.2 Calendar date items
=======================
A "calendar date item" specifies a day of the year. It is specified
differently, depending on whether the month is specified numerically or
literally. All these strings specify the same calendar date:
1972-09-24 # ISO 8601.
72-9-24 # Assume 19xx for 69 through 99,
# 20xx for 00 through 68.
72-09-24 # Leading zeros are ignored.
9/24/72 # Common U.S. writing.
24 September 1972
24 Sept 72 # September has a special abbreviation.
24 Sep 72 # Three-letter abbreviations always allowed.
Sep 24, 1972
24-sep-72
24sep72
The year can also be omitted. In this case, the last specified year
is used, or the current year if none. For example:
9/24
sep 24
Here are the rules.
For numeric months, the ISO 8601 format `YEAR-MONTH-DAY' is allowed,
where YEAR is any positive number, MONTH is a number between 01 and 12,
and DAY is a number between 01 and 31. A leading zero must be present
if a number is less than ten. If YEAR is 68 or smaller, then 2000 is
added to it; otherwise, if YEAR is less than 100, then 1900 is added to
it. The construct `MONTH/DAY/YEAR', popular in the United States, is
accepted. Also `MONTH/DAY', omitting the year.
Literal months may be spelled out in full: `January', `February',
`March', `April', `May', `June', `July', `August', `September',
`October', `November' or `December'. Literal months may be abbreviated
to their first three letters, possibly followed by an abbreviating dot.
It is also permitted to write `Sept' instead of `September'.
When months are written literally, the calendar date may be given as
any of the following:
DAY MONTH YEAR
DAY MONTH
MONTH DAY YEAR
DAY-MONTH-YEAR
Or, omitting the year:
MONTH DAY
1.3 Time of day items
=====================
A "time of day item" in date strings specifies the time on a given day.
Here are some examples, all of which represent the same time:
20:02:00.000000
20:02
8:02pm
20:02-0500 # In EST (U.S. Eastern Standard Time).
More generally, the time of day may be given as
`HOUR:MINUTE:SECOND', where HOUR is a number between 0 and 23, MINUTE
is a number between 0 and 59, and SECOND is a number between 0 and 59
possibly followed by `.' or `,' and a fraction containing one or more
digits. Alternatively, `:SECOND' can be omitted, in which case it is
taken to be zero. On the rare hosts that support leap seconds, SECOND
may be 60.
If the time is followed by `am' or `pm' (or `a.m.' or `p.m.'), HOUR
is restricted to run from 1 to 12, and `:MINUTE' may be omitted (taken
to be zero). `am' indicates the first half of the day, `pm' indicates
the second half of the day. In this notation, 12 is the predecessor of
1: midnight is `12am' while noon is `12pm'. (This is the zero-oriented
interpretation of `12am' and `12pm', as opposed to the old tradition
derived from Latin which uses `12m' for noon and `12pm' for midnight.)
The time may alternatively be followed by a time zone correction,
expressed as `SHHMM', where S is `+' or `-', HH is a number of zone
hours and MM is a number of zone minutes. The zone minutes term, MM,
may be omitted, in which case the one- or two-digit correction is
interpreted as a number of hours. You can also separate HH from MM
with a colon. When a time zone correction is given this way, it forces
interpretation of the time relative to Coordinated Universal Time
(UTC), overriding any previous specification for the time zone or the
local time zone. For example, `+0530' and `+05:30' both stand for the
time zone 5.5 hours ahead of UTC (e.g., India). This is the best way to
specify a time zone correction by fractional parts of an hour. The
maximum zone correction is 24 hours.
Either `am'/`pm' or a time zone correction may be specified, but not
both.
1.4 Time zone items
===================
A "time zone item" specifies an international time zone, indicated by a
small set of letters, e.g., `UTC' or `Z' for Coordinated Universal
Time. Any included periods are ignored. By following a
non-daylight-saving time zone by the string `DST' in a separate word
(that is, separated by some white space), the corresponding daylight
saving time zone may be specified. Alternatively, a
non-daylight-saving time zone can be followed by a time zone
correction, to add the two values. This is normally done only for
`UTC'; for example, `UTC+05:30' is equivalent to `+05:30'.
Time zone items other than `UTC' and `Z' are obsolescent and are not
recommended, because they are ambiguous; for example, `EST' has a
different meaning in Australia than in the United States. Instead,
it's better to use unambiguous numeric time zone corrections like
`-0500', as described in the previous section.
If neither a time zone item nor a time zone correction is supplied,
timestamps are interpreted using the rules of the default time zone
(*note Specifying time zone rules::).
1.5 Combined date and time of day items
=======================================
The ISO 8601 date and time of day extended format consists of an ISO
8601 date, a `T' character separator, and an ISO 8601 time of day.
This format is also recognized if the `T' is replaced by a space.
In this format, the time of day should use 24-hour notation.
Fractional seconds are allowed, with either comma or period preceding
the fraction. ISO 8601 fractional minutes and hours are not supported.
Typically, hosts support nanosecond timestamp resolution; excess
precision is silently discarded.
Here are some examples:
2012-09-24T20:02:00.052-05:00
2012-12-31T23:59:59,999999999+11:00
1970-01-01 00:00Z
1.6 Day of week items
=====================
The explicit mention of a day of the week will forward the date (only
if necessary) to reach that day of the week in the future.
Days of the week may be spelled out in full: `Sunday', `Monday',
`Tuesday', `Wednesday', `Thursday', `Friday' or `Saturday'. Days may
be abbreviated to their first three letters, optionally followed by a
period. The special abbreviations `Tues' for `Tuesday', `Wednes' for
`Wednesday' and `Thur' or `Thurs' for `Thursday' are also allowed.
A number may precede a day of the week item to move forward
supplementary weeks. It is best used in expression like `third
monday'. In this context, `last DAY' or `next DAY' is also acceptable;
they move one week before or after the day that DAY by itself would
represent.
A comma following a day of the week item is ignored.
1.7 Relative items in date strings
==================================
"Relative items" adjust a date (or the current date if none) forward or
backward. The effects of relative items accumulate. Here are some
examples:
1 year
1 year ago
3 years
2 days
The unit of time displacement may be selected by the string `year'
or `month' for moving by whole years or months. These are fuzzy units,
as years and months are not all of equal duration. More precise units
are `fortnight' which is worth 14 days, `week' worth 7 days, `day'
worth 24 hours, `hour' worth 60 minutes, `minute' or `min' worth 60
seconds, and `second' or `sec' worth one second. An `s' suffix on
these units is accepted and ignored.
The unit of time may be preceded by a multiplier, given as an
optionally signed number. Unsigned numbers are taken as positively
signed. No number at all implies 1 for a multiplier. Following a
relative item by the string `ago' is equivalent to preceding the unit
by a multiplier with value -1.
The string `tomorrow' is worth one day in the future (equivalent to
`day'), the string `yesterday' is worth one day in the past (equivalent
to `day ago').
The strings `now' or `today' are relative items corresponding to
zero-valued time displacement, these strings come from the fact a
zero-valued time displacement represents the current time when not
otherwise changed by previous items. They may be used to stress other
items, like in `12:00 today'. The string `this' also has the meaning
of a zero-valued time displacement, but is preferred in date strings
like `this thursday'.
When a relative item causes the resulting date to cross a boundary
where the clocks were adjusted, typically for daylight saving time, the
resulting date and time are adjusted accordingly.
The fuzz in units can cause problems with relative items. For
example, `2003-07-31 -1 month' might evaluate to 2003-07-01, because
2003-06-31 is an invalid date. To determine the previous month more
reliably, you can ask for the month before the 15th of the current
month. For example:
$ date -R
Thu, 31 Jul 2003 13:02:39 -0700
$ date --date='-1 month' +'Last month was %B?'
Last month was July?
$ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!'
Last month was June!
Also, take care when manipulating dates around clock changes such as
daylight saving leaps. In a few cases these have added or subtracted
as much as 24 hours from the clock, so it is often wise to adopt
universal time by setting the `TZ' environment variable to `UTC0'
before embarking on calendrical calculations.
1.8 Pure numbers in date strings
================================
The precise interpretation of a pure decimal number depends on the
context in the date string.
If the decimal number is of the form YYYYMMDD and no other calendar
date item (*note Calendar date items::) appears before it in the date
string, then YYYY is read as the year, MM as the month number and DD as
the day of the month, for the specified calendar date.
If the decimal number is of the form HHMM and no other time of day
item appears before it in the date string, then HH is read as the hour
of the day and MM as the minute of the hour, for the specified time of
day. MM can also be omitted.
If both a calendar date and a time of day appear to the left of a
number in the date string, but no relative item, then the number
overrides the year.
1.9 Seconds since the Epoch
===========================
If you precede a number with `@', it represents an internal timestamp
as a count of seconds. The number can contain an internal decimal
point (either `.' or `,'); any excess precision not supported by the
internal representation is truncated toward minus infinity. Such a
number cannot be combined with any other date item, as it specifies a
complete timestamp.
Internally, computer times are represented as a count of seconds
since an epoch--a well-defined point of time. On GNU and POSIX
systems, the epoch is 1970-01-01 00:00:00 UTC, so `@0' represents this
time, `@1' represents 1970-01-01 00:00:01 UTC, and so forth. GNU and
most other POSIX-compliant systems support such times as an extension
to POSIX, using negative counts, so that `@-1' represents 1969-12-31
23:59:59 UTC.
Traditional Unix systems count seconds with 32-bit two's-complement
integers and can represent times from 1901-12-13 20:45:52 through
2038-01-19 03:14:07 UTC. More modern systems use 64-bit counts of
seconds with nanosecond subcounts, and can represent all the times in
the known lifetime of the universe to a resolution of 1 nanosecond.
On most hosts, these counts ignore the presence of leap seconds.
For example, on most hosts `@915148799' represents 1998-12-31 23:59:59
UTC, `@915148800' represents 1999-01-01 00:00:00 UTC, and there is no
way to represent the intervening leap second 1998-12-31 23:59:60 UTC.
1.10 Specifying time zone rules
===============================
Normally, dates are interpreted using the rules of the current time
zone, which in turn are specified by the `TZ' environment variable, or
by a system default if `TZ' is not set. To specify a different set of
default time zone rules that apply just to one date, start the date
with a string of the form `TZ="RULE"'. The two quote characters (`"')
must be present in the date, and any quotes or backslashes within RULE
must be escaped by a backslash.
For example, with the GNU `date' command you can answer the question
"What time is it in New York when a Paris clock shows 6:30am on October
31, 2004?" by using a date beginning with `TZ="Europe/Paris"' as shown
in the following shell transcript:
$ export TZ="America/New_York"
$ date --date='TZ="Europe/Paris" 2004-10-31 06:30'
Sun Oct 31 01:30:00 EDT 2004
In this example, the `--date' operand begins with its own `TZ'
setting, so the rest of that operand is processed according to
`Europe/Paris' rules, treating the string `2004-10-31 06:30' as if it
were in Paris. However, since the output of the `date' command is
processed according to the overall time zone rules, it uses New York
time. (Paris was normally six hours ahead of New York in 2004, but
this example refers to a brief Halloween period when the gap was five
hours.)
A `TZ' value is a rule that typically names a location in the `tz'
database (http://www.twinsun.com/tz/tz-link.htm). A recent catalog of
location names appears in the TWiki Date and Time Gateway
(http://twiki.org/cgi-bin/xtra/tzdate). A few non-GNU hosts require a
colon before a location name in a `TZ' setting, e.g.,
`TZ=":America/New_York"'.
The `tz' database includes a wide variety of locations ranging from
`Arctic/Longyearbyen' to `Antarctica/South_Pole', but if you are at sea
and have your own private time zone, or if you are using a non-GNU host
that does not support the `tz' database, you may need to use a POSIX
rule instead. Simple POSIX rules like `UTC0' specify a time zone
without daylight saving time; other rules can specify simple daylight
saving regimes. *Note Specifying the Time Zone with `TZ': (libc)TZ
Variable.
1.11 Authors of `parse_datetime'
================================
`parse_datetime' started life as `getdate', as originally implemented
by Steven M. Bellovin (<smb@research.att.com>) while at the University
of North Carolina at Chapel Hill. The code was later tweaked by a
couple of people on Usenet, then completely overhauled by Rich $alz
(<rsalz@bbn.com>) and Jim Berets (<jberets@bbn.com>) in August, 1990.
Various revisions for the GNU system were made by David MacKenzie, Jim
Meyering, Paul Eggert and others, including renaming it to `get_date' to
avoid a conflict with the alternative Posix function `getdate', and a
later rename to `parse_datetime'. The Posix function `getdate' can
parse more locale-specific dates using `strptime', but relies on an
environment variable and external file, and lacks the thread-safety of
`parse_datetime'.
This chapter was originally produced by François Pinard
(<pinard@iro.umontreal.ca>) from the `parse_datetime.y' source code,
and then edited by K. Berry (<kb@cs.umb.edu>).

13
Documentation/pg.txt Normal file
View File

@ -0,0 +1,13 @@
README for the "pg" utility for Linux.
The "pg" utility is the historic System V equivalent to BSD's "more". This
is a free clone of it, and it is intended to conform to the SVID 4 as well
as the SUSv2 specification of this command.
Contrasting to the System V implementation, this one filters backspace
formatting sequences while searching, so you can comfortably search in nroff
output like manual pages.
Gunnar Ritter
Freiburg i. Br.
Germany

503
Documentation/poeigl.txt Normal file
View File

@ -0,0 +1,503 @@
README for init/getty/login, by poe@daimi.aau.dk
This package contains simpleinit, agetty, and login programs for Linux.
Additional utilities included are: hostname, who, write, wall, users
domainname, hostid, cage and mesg.
Most of this software has been contributed by others, I basically just
ported the things to Linux.
Version 1.49 (20-Jun-97)
Small patches for new util-linux distribution and glibc compat.
PAM support in login.c by Erik Troan.
Version 1.48 (6-Jun-97)
Now changes mode and owner of /dev/vcs devices for console logins.
After idea by Andries Brouwer.
Version 1.47 (2-Apr-97)
Got new version of hostid.c and hostid.1 from
Sander van Malssen <svm@kozmix.ow.nl>.
Removed premature endutent() call in login.c, simpleinit.c and
agetty.c to be compatible with the changed semantics of gnu libc2.
Fix by Jesse Thilo <Jesse.Thilo@pobox.com>.
Version 1.46 (28-Jan-97)
Several security fixes for login by David Holland (buffer overruns)
<dholland@hcs.harvard.edu>
Fixed write.c, to handle a terminating period correctly.
Re-indented login.c, it was getting too messy.
Version 1.45a (16-Dec-96)
Better support in login for shadow passwords. Compile with
-DSHADOW_PWD if you have <shadow.h>. This is on by default.
By Marek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>.
Changed the wtmp locking scheme in login.c,agetty.c,simpleinit.c
to flock() /etc/wtmplock instead of the wtmp file directly.
This avoids a denial of service attack.
Some support for the RB-1 Cryptocard token for challenge/response
authentication. This needs a DES library, either Eric Young's
libdes, or the Koontz implementation, see cryptocard.c.
Initial support patch by Randolph Bentson,
<bentson@grieg.seaslug.org>
Changed getpass() to use fputs() instead of fprintf().
Version 1.44 (13-Nov-96):
Made isapty() in checktty.c more resilient to 2.0 systems
that haven't re-MAKEDEV'ed their pty devices.
Version 1.43 (8-Nov-96):
Fix to checktty.c: PTY's are numbered differently after 1.3,
blush! Fix by Gerhard Schneider <gs@ilfb.tuwien.ac.at>
Version 1.42c (6-Nov-96):
Small fix by Gabriel M. Schuyler <schuyler@easiest.com>, to get
better syslog messages (1 LOGIN FAILURE instead of 2 LOGIN FAILURES).
Patch butchered by me.
Version 1.42b (30-Sep-96):
Got patch for checktty.c from Christoph Lameter
<clameter@miriam.fuller.edu> so it doesn't traverse the groupfile
"manually" but uses the getgroups() call, this is more efficient
with large groupfiles and NIS/YP.
Version 1.42a (24-Sep-96):
Added extra syslog() call to login.c to log all good logins.
Patch from Steve Philp.
Version 1.41 (20-Jul-96):
Added security fix to checktty.c by JDS to clear certain lists.
Patches butchered and ANSI'fied by me.
Added -n option to agetty to avoid the login prompt.
Version 1.40a (29-Dec-95):
Added -f <issue_file> option to agetty. Patches from Eric Rasmussen
<ear@usfirst.org>, but somewhat butchered by me.
Version 1.39 (25-Oct-95):
Lots of testing and bugfixes in agetty. Now the modem init stuff
should finally work (for me). Also wrote modem.agetty as an example
on how to use agetty with a modem.
Agetty now also supports baud rates of 38400, 57600, 115200 and
230400 bps.
Version 1.37 (15-Sep-95):
Added -I <initstring> and -w options to agetty.c for those that
use agetty with modems.
Version 1.36 (25-Aug-95):
Enhanced /etc/usertty features with group support. Moved this part
of login.c to checktty.c. One can now define classes of hosts and
ttys and do access checking based on unix-group membership. See
login.1. Also time ranges for logins can be specified, for example
writing the line
joe [mon:tue:wed:thu:fri:8-16]@barracuda [mon:tue:wed:thu:fri:0-7:17-23]@joes.pc.at.home [sat:sun:0-23]@joes.pc.at.home
says that during working hours, Joe may rlogin from the host
barracuda, whereas outside working hours and in weekends Joe may
rlogin from his networked PC at home.
login.c: failures was not properly initialized, it now is. Also
made sure ALL failures are really logged to syslog.
Version 1.35 (7-Aug-95):
login.c: Much improved features for the usertty file, allows
access control based on both hostnames/addresses and line. See the
about.usertty file and the man-page.
Fixed agetty so it doesn't fiddle with the ut_id field in the
utmp record, this should prevent growing utmps on systems with
more than 10 login lines. Fix suggested and checked by Alan Wendt
<alan@ezlink.com> in his agetty.1.9.1a.
Agetty now installs as agetty again, not as getty.
Updated man-page for login(1) to document /etc/usertty changes.
This has been tested on Linux 1.2.5 with GCC 2.5.8 and libc 4.5.26.
Version 1.33a (20-Jun-95):
rchatfie@cavern.nmsu.edu ("rc.") suggested that I should remove
the #ifndef linux around the special logging of dial-up
logins. This is now done, so each login via a serial port
generates a separate DIALUP syslog entry.
Version 1.33 (5-Jun-95):
Patch by Ron Sommeling <sommel@sci.kun.nl> and
jlaiho@ichaos.nullnet.fi (Juha Laiho) for agetty.c, used
to return a pointer to an automatic variable in get_logname().
Many patches from or via Rickard Faith <faith@cs.unc.edu>, fixing
man-pages etc, now defaults to using /var/log/wtmp and /var/run/utmp
according to the new FSSTND.
Fix in login.c for CPU eating bug when a remote telnet client dies
while logging in.
This is for Linux 1.2, GCC 2.6.2 or later.
Version 1.32b (12-Mar-95):
Login now sets the tty group to "tty" instead of "other". Depending
on compile-time define USE_TTY_GROUP the tty mode is set to 0620 or
0600 instead of 0622. All as per suggestion by Rik Faith and the
linux-security list.
Write/wall now strips control chars except BEL (\007). Again after
suggestion by Rik Faith.
Version 1.32a
Urgent security patch from Alvaro M. Echevarria incorporated into
login.c. This is really needed on machines running YP until
the libraries are fixed.
Version 1.32
Login now logs the ip-address of the connecting host to utmp as it
should.
Version 1.31b (2-Feb-95):
Daniel Quinlan <quinlan@yggdrasil.com> and Ross Biro
<biro@yggdrasil.com> suggested a patch to login.c that allows for
shell scripts in the shell field of /etc/passwd, so one can now
have (as a line in /etc/passwd):
bye::1000:1000:Outlogger:/bin:echo Bye
Logging in as "bye" with no password simply echoes Bye on the screen.
This has applications for pppd/slip.
Version 1.31a (28-Oct-94):
Scott Telford provided a patch for simpleinit, so executing reboot
from singleuser mode won't partially execute /etc/rc before
the reboot.
Version 1.30 (17-Sep-94):
tobias@server.et-inf.fho-emden.de (Peter Tobias) has made a more
advanced hostname command that understands some options such as
-f for FQDN etc. I'll not duplicate his work. Use his hostname
package if you wish.
svm@kozmix.xs4all.nl (Sander van Malssen) provided more features
for the /etc/issue file in agetty. \U and \u now expand to the
number of current users.
It is now possible to state the value of TERM on the agetty command
line. This was also provided by Sander.
This has been built under Linux 1.1.42 with gcc 2.5.8 and libc 4.5.26.
Version 1.29 (18-Aug-94):
Finally got around to making a real version after the numerous
alpha versions of 1.28. Scott Telford <st@epcc.ed.ac.uk> provided
a patch for write(1) to make it look more like BSD write.
Fixed login so that the .hushlogin feature works even with real
protective users mounted via NFS (ie. where root can't access
the user's .hushlogin file).
Cleaned up the code to make -Wall bearable.
Version 1.28c (21-Jul-94):
Rik Faith reminded me that agetty should use the syslog
facility. It now does.
Version 1.28b (30-May-94):
On suggestion from Jeremy Fitzhardinge <jeremy@suite.sw.oz.au>
I added -- as option delimiter on args passed from agetty to
login. Fixes -froot hole for other login programs. The login
program in this package never had that hole.
Version 1.28a (16-May-94):
bill@goshawk.lanl.gov provided a couple of patches, one fixing
terminal setup in agetty, and reboot is now supposed to be
in /sbin according to FSSTND.
Version 1.27 (10-May-94):
Changed login.c, so all bad login attempts are logged, and added
usertty security feature. See about.usertty for an explanation.
There's no longer a limit of 20 chars in the TERM environment
variable. Suggested by Nicolai Langfeldt <janl@math.uio.no>
Added #ifdef HAVE_QUOTA around quota checks. Enable them if
you have quota stuff in your libraries and kernel.
Also re-enabled set/getpriority() calls as we now have them,
and have had for a long time...
Now wtmp is locked and unlocked around writes to avoid mangling.
Due to Jaakko Hyv{tti <HYVATTI@cc.helsinki.fi>.
Wrt. agetty: A \o in /etc/issue now inserts the domainname, as
set by domainname(1). Sander van Malssen provided this.
This is being used under Linux 1.1.9
Beefed up the agetty.8 man-page to describe the /etc/issue
options. Added man-pages for wall, cage, who.
Version 1.26 alpha (25-Apr-94):
Added patch from Bill Reynolds <bill@goshawk.lanl.gov> to
simpleinit, so it will drop into single user if /etc/rc
fails, eg. from fsck.
Version 1.25 (9-Feb-94):
Agetty should now work with the Linux 0.99pl15a kernel.
ECHOCTL and ECHOPRT are no longer set in the termios struct.
Also made agetty accept both "tty baudrate" and "baudrate tty"
arguments.
Version 1.24 (23-Jan-94): changes since 1.22
Christian von Roques <roques@juliet.ka.sub.org> provided a patch
that cleans up the handling of the -L option on agetty.
Rik Faith <faith@cs.unc.edu> enhanced several man-pages...
Version 1.23 (11-Dec-93): changes since 1.21
Mitchum DSouza provided the hostid(1) code. It needs libc 4.4.4 or
later and a Linux 0.99.14 kernel or later. It can set and print
the world unique hostid of the machine. This may be used in
connection with commercial software licenses. God forbid!
I added the -v option, and munged the code a bit, so don't blame
Mitch if you don't like it.
I made the "cage" program. Using this as a shell in the passwd
file, enables one to let users log into a chroot'ed environment.
For those that have modem logins and are concerned about security.
Read the source for further info.
"who am i" now works.
The login program works with Yellow Pages (aka NIS) simply by
linking with an appropriate library containing a proper version
of getpwnam() and friends.
Version 1.21 (30-Oct-93): changes since 1.20
In simpleinit.c: The boottime wtmp record is now written *after*
/etc/rc is run, to put a correct timestamp on it.
Daniel Thumim <dthumim@mit.edu> suggested this fix.
The source and Makefile is prepared for optional installation of
binaries in /sbin instead of /etc, and logfiles in /usr/adm instead
of /etc. See and change the Makefile to suit your preferences.
Rik Faith and Stephen Tweedie inspired this change.
Version 1.20 (30-Jul-93): changes since 1.17:
Versions 1.18 and 1.19 were never made publicly available.
Agetty now supports a -L switch that makes it force the CLOCAL flag.
This is useful if you have a local terminal attached with a partly
wired serial cable that does not pass on the Carrier Detect signal.
There's a domainname program like the hostname program; contributed
by Lars Wirzenius.
Simpleinit will now write a REBOOT record to wtmp on boot up. Time-
zone support is now optional in simpleinit. Both of these patches
were made by Scott Telford <st@epcc.ed.ac.uk>.
This is for Linux 0.99.11 or later.
Version 1.17 (19-May-93): changes since 1.16:
Login, simpleinit and write should now work with shadow passwords
too. See the Makefile. Thanks to Anders Buch who let me have an
account on his SLS based Linux box on the Internet, so I could test
this. I should also thank jmorriso@rflab.ee.ubc.ca (John Paul Morrison)
who sent me the shadow patch to login.c
Version 1.16 (24-Apr-93): changes since 1.15a:
Simpleinit now clears the utmp entry associated with the pid's that
it reaps if there is one. A few are still using simpleinit and this
was a popular demand. It also appends an entry to wtmp
Version 1.15a (15-Mar-93): changes since 1.13a:
junio@shadow.twinsun.com (Jun Hamano) sent me a one-line fix
for occasional mangled issue-output from agetty.
Version 1.13a (2-Mar-93): changes since 1.12a:
With the new LILO (0.9), there are more than one possible arg
to init, so Werner Almesberger <almesber@bernina.ethz.ch>
suggested that a loop over argv[] was made in boot_single() in
simpleinit.c
Version 1.12a (24-Feb-93): changes since 1.11:
This is for Linux 0.99.6 or later. Built with gcc 2.3.3 and libc4.2
jrs@world.std.com (Rick Sladkey) told me that the setenv("TZ",..)
in login.c did more harm than good, so I commented it out.
Version 1.11a (16-Feb-93): changes since 1.9a:
This is for Linux 0.99.5 or later.
Anthony Rumble <arumble@extro.ucc.su.OZ.AU> made me avare that
the patches for vhangup() from Steven S. Dick didn't quite work,
so I changed it.
Linus Torvalds provided another patch relating to vhangup, since
in newer Linuxen vhangup() doesn't really close all files, so we
can't just open the tty's again.
Version 1.9a (18-Jan-93): changes since 1.8a:
Rick Faith sent me man-pages for most of the utilities in this
package. They are now included.
Steven S. Dick <ssd@nevets.oau.org> sent me a patch for login.c
so DTR won't drop during vhangup() on a modemline.
This is completely untested!! I haven't even had the time to
compile it yet.
Version 1.8a (13-Dec-92): changes since 1.7:
This is for Linux 0.98.6 or later. Compiles with gcc2.2.2d7 and libc4.1
Bettered write/wall after fix from I forget who. Now wall can have
commandline args.
Fixed bug in who.c
Patched simpleinit.c with patch from Ed Carp, so it sets the timezone
from /etc/TZ. Should probably by be /etc/timezone.
Sander Van Malssen <sander@kozmix.hacktic.nl> provided a patch
for getty, so it can understand certain escapecodes in /etc/issue.
I hacked up a very simple substitute for a syslog() call, to try out
the logging. If you have a real syslog() and syslogd then use that!
The special vhangup.c file is out, it's in the official libc by now.
(and even in the libc that I have :-)
who, and write are now deprecated, get the better ones from one of
the GNU packages, shellutils I think.
Some people think that the simple init provided in this package is too
spartan, if you think the same, then get the SYSV compatible init
from Miquel van Smoorenburg <miquels@maestro.htsa.aha.nl>
Simpleinit will probably be deprecated in the future.
Version 1.7: 26-Oct-92 changes since 1.6:
This is for Linux 0.97PL4 or later.
Thanks to Werner Almesberger, init now has support for a
singleuser mode.
Login now supports the -h <hostname> option, used in connection
with TCP/IP. (rlogin/telnet)
Getty writes an entry to /etc/wtmp when started, so last won't report
"still logged in" for tty's that have not been logged into since
the last user of that tty logged out. This patch was inspired by
Mitchum DSouza. To gain the full benefit of this, get the newest
last from the admutils-1.4.tar.Z package or later.
Version 1.6 (29-Aug-92): changes since 1.5:
This is for Linux 0.97P1+ or later.
Login now uses the newly implemented vhangup() sys-call, to prevent
snooping on the tty.
An alternative getpass() function is now provided with login, because
I was told that the old one in libc didn't work with telnet and
or rlogin. I don't have a network or a kernel with TCP/IP so I haven't
tested the new one with telnet, but it is derived from BSD sources
that are supposed to work with networking.
Version 1.5 (12-Aug-92): changes since 1.4
This is for Linux 0.97 or later, and has been built with gcc2.2.2
This release just puts in a few bugfixes in login.c and simpleinit.c
Version 1.4 (4-Jul-92): changes since 1.3:
This is for Linux 0.96b, and has been built and tested with gcc 2.2.2.
Init now handles the SIGINT signal. When init gets a SIGINT it will
call /usr/bin/reboot and thereby gently reboot the machine. This
makes sense because after Linux 0.96B-PL1 the key-combination
Ctrl-Alt-Del may send a SIGINT to init instead of booting the
machine the hard way without syncing or anything.
You may want to get the admutils-1.1 package which includes a program
that will instruct the kernel to use the "gentle-reboot" procedure.
Version 1.3 (14-Jun-92): changes since 1.2:
This is for Linux 0.96A.
The ioctl(TIOCSWINSZ) has been removed from login.c because it now
works :-).
login.c now supports a lastlog database.
Several programs and pieces of source that were included in the 1.2
package has been *removed* as they are incorporated into the new
libc. Other omitted parts such as last(1) has been replaced by
better versions, and can be found in the admutils package.
Agetty is now called getty and will be placed in /etc.
A few changes has been made to make it possible to compile the
stuff with GCC 2.x.
Version 1.2 (28-Feb-92): changes since 1.1:
This is for Linux 0.12.
A couple of problems with simpleinit.c has been solved, thanks to
Humberto Zuazaga. So now init groks comments in /etc/inittab, and
handles the HUP and TSTP signals properly.
I added two small scripts to the distribution: users and mesg.
TERM is now carried through from /etc/inittab all the way to the
shell. Console tty's are special-cased, so the termcap entry in
/etc/inittab is overridden by the setting given at boot-time.
This requires a different patch to the kernel than that distributed
with version 1.1
Login no more sends superfluous chars from a password to the
shell. It also properly prints a NL after the password.
Agetty didn't set the erase character properly, it does now.
A few extra defines has been added to utmp.h
Several netters helped discover the bugs in 1.1. Thanks to them
all.
Version 1.1 (released 19-Feb-92): Changes since 1.0:
A bug in simpleinit.c has been fixed, thanks to Pietro Castelli.
The definition of the ut_line field has been changed to track the
USG standard more closely, we now strip "/dev/" off the front.
Thanks to: Douglas E. Quale and Stephen Gallimore.
I have added a getlogin.c library routine, and a write(1) command.
I removed the qpl-init stuff. If people want to use it, they should
get it from the source. I don't want to hack on it anymore.
A couple of people reported problems with getty having problems
with serial terminals. That was correct. I borrowed a null-modem
from Tommy Thorn, and now the problems should be fixed. It seems
that there is kept a lot of garbage in the serial buffers, flush
them and it works like a charm. Getty does an ioctl(0, TCFLSH, 2)
for this.
The write.c code now doubles as code for a wall(1) program.
Description of the various files:
login.c The login program. This is a portation of BSD login, first
to HP-UX 8.0 by Michael Glad (glad@daimi.aau.dk), and
to Linux (initially to 0.12) by me.
agetty.c The getty program. From comp.sources.misc, by W.Z. Venema.
Hacked a bit by me.
write.c A write(1) command, used to pass messages between users
at different terminals. This code doubles as code for
a wall(1) command. Make a symlink: /usr/bin/wall ->
/usr/bin/write for this.
mesg A tiny shellscript, so you can avoid that other people write
to your shell.
pathnames.h:
Header.
Getty will print the contents of /etc/issue if it's present before asking
for username. Login will print the contents of /etc/motd after successful
login. Login doesn't print /etc/motd, and doesn't check for mail if
~/.hushlogin is present and world readable.
If /etc/nologin is present then login will print its contents and disallow
any logins except root.
It might be a good idea to have a "rm -f /etc/nologin" line in one's
/etc/rc file.
If /etc/securetty is present it defines which tty's that root can login on.
- Peter (poe@daimi.aau.dk)

View File

@ -0,0 +1,42 @@
Release schedule
----------------
The util-linux package uses the <major>.<minor>.<maintenance> version
numbering scheme. Since the major version is pretty much fixed, any
release means an increment of the minor number. The minor version is
incremented roughly twice per year. The easiest way to estimate when
the next version will appear, is to look at the time stamp of the last
release.
Before each release there are a few release candidates, which will be
collectively tested. During the test period changes to the code base
are restricted. Usually there are two release candidates.
what length what will be accepted into upstream
---------------------------------------------------------
rc1 1-2 weeks bug fixes only
rc2 1-2 weeks translations, fatal/trivial bug fixes
The period between a release and the next release candidate can be considered
as the merge window.
The release tarball is generated by "make distcheck" command.
Release criteria
----------------
For all releases it is required that:
- make checkincludes passes
- make checkconfig passes
- make distcheck passes
- cd tests && ./run.sh passes
- an out-of-tree build works
(cd .. && mkdir build && cd build && ../util-linux/configure && make)
- ideally: a build with uClibc works, and --with-slang works
See also
--------
../README

View File

@ -0,0 +1,460 @@
Util-linux-ng 2.13 Release Notes (28-Aug-2007)
===============================================
Release highlights:
------------------
mount(8) doesn't include NFS client code anymore. Don't forget to
install nfs-utils 1.1.0 or newer with /sbin/[u]mount.{nfs,nfs4}.
mount(8) doesn't include filesystem detection code anymore. You
have to compile --with-fsprobe={blkid,volume_id}, and libblkid
(e2fsprogs) or libvolume_id (udev >= v110) is required.
mount(8) supports new relatime, context, fscontext, and defcontext
mount options.
losetup(8) supports command line option "-a" to list all used loop
devices, '-s' to print a device name if "-f" and a file argument
are present, and "-r" to create a read-only loop device.
fdisk(8) Sun label support has been improved. fdisk(8) is also able
to warn about detected GPT (fdisk doesn't support GPT).
taskset(1) is independent on hardcoded NR_CPUS. chrt(1) supports
SCHED_BATCH scheduling policy.
The package build system is now based on autotools. The build system
supports separate CFLAGS and LDFLAGS for suid programs (SUID_CFLAGS,
SUID_LDFLAGS). For more details see the README file
hwclock(8) supports command line option --rtc=<path> and /dev/rtc0
device. --systohc functionality has been improved, and it doesn't cause
a 500ms inaccuracy each time it is used.
Audit system support (--with-audit) has been added to hwclock(8) and
login(1).
SELinux support (--with-selinux) has been added to mkswap(8) and
mount(8).
setarch(8) upstream has been merged with util-linux-ng.
rtcwake(8) command has been added to util-linux-ng.
arch(1) is deprecated in favor of "uname -m" or arch(1) from coreutils
(>= 6.9+). The util-linux-ng package doesn't build arch by default,
you have to use the option --enable-arch.
Fixed security issues:
---------------------
CVE-2007-0822 - mount(8) allows local users to trigger a NULL
dereference and an application crash
CVE-2006-7108 - login(1) omits PAM account validation when auth is
skipped
Changelog:
---------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.13/
agetty:
- 8 bit characters on the Linux console lead to input corruption [Samuel Thibault]
- add 'O' escape code to display domain name [Karel Zak]
- check gethostname() return value [Karel Zak]
- fix short malloc in initstring handling [LaMont Jones]
blockdev:
- add BLKFRAGET/BLKFRASET ioctls [Karel Zak]
- cleanup usage() and update man page [Karel Zak]
- fix "blockdev --getsz" for large devices [Karel Zak]
- use LU and LLU for BLKGETSIZE and BLKGETSIZE64 [Karel Zak]
build-sys:
- add ${AC,AP,AM,AH}_OPTS to autogen.sh [Karel Zak]
- add AC_GNU_SOURCE [Karel Zak]
- add Automake option dist-bzip2 [Stepan Kasal]
- add --disable-makeinstall-chown [Karel Zak]
- add missing files [Karel Zak]
- add SUID_CFLAGS [Karel Zak]
- add SUID_LDFLAGS [Stepan Kasal]
- add support for audit [Karel Zak]
- add warning when libuuid is not found [Karel Zak]
- amend .gitignore [Stepan Kasal]
- call automake after autoconf [Stepan Kasal]
- cleanup architecture conditionals [Karel Zak]
- cleanup sys-utils/ rdev symlinks [Karel Zak]
- configure.am selinux support cleanup [Karel Zak]
- declare SUID_CFLAGS and SUID_LDFLAGS as precious [Stepan Kasal]
- do not build convenience libraries in lib/ [Stepan Kasal]
- do not kick off AM_CFLAGS by SUID_CFLAGS [Stepan Kasal]
- do not play with DEFS, use AM_CPPFLAGS [Stepan Kasal]
- do not set with_foo twice [Stepan Kasal]
- do not use internal Autoconf variables [Stepan Kasal]
- do not use wildcards in EXTRA_DIST [Stepan Kasal]
- factor out common parts from mount/Makefile.am [Stepan Kasal]
- fix directories in EXTRA_DIST [Karel Zak]
- fix HAVE_NCURSES [Karel Zak]
- fix ifdef ENABLE_WIDECHAR usage [Karel Zak]
- fix linking when ncurses is built with --with-termlib=tinfo [Arkadiusz Miśkiewicz]
- fix README filenames and add missing files to EXTRA_DISTs [Karel Zak]
- fix the example configure call in README [Stepan Kasal]
- fix the final message of autogen.sh [Stepan Kasal]
- in configure.ac, change "po" -> "$srcdir/po" [Stepan Kasal]
- in the clean targets use "find ... | xargs rm -f" [Stepan Kasal]
- let configure instantiate the misc-utils/*.pl scripts [Stepan Kasal]
- make the getopt example directory relative to datadir [Stepan Kasal]
- merge adjacent AC_CONFIG_HEADERS and AC_CONFIG_FUNCS calls [Stepan Kasal]
- minor fixes in configure.in [Karel Zak]
- missing header when NLS is disabled [Gabriel Barazer]
- mount/Makefile.am tiny cleanup II [Stepan Kasal]
- mount/Makefile.am tiny cleanup [Stepan Kasal]
- move -D flags to *_CPPFLAGS [Stepan Kasal]
- move the optimization flags to AM_CFLAGS [Stepan Kasal]
- --prefix defaults to /usr [Stepan Kasal]
- release++ [Karel Zak]
- remove aclocal.m4 from SCM [Karel Zak]
- remove AC_PROG_RANLIB [Stepan Kasal]
- remove asm/page.h test [Karel Zak]
- remove config.h.in from VCS [Stepan Kasal]
- remove config/include-Makefile.am from EXTRA_DIST [Stepan Kasal]
- remove DEFAULT_INCLUDES workaround [Karel Zak]
- remove -fomit-frame-pointer [Karel Zak]
- remove generated autotools stuff from git [Karel Zak]
- remove libtool [Karel Zak]
- remove "make mrproper", git-clean is good enough [Karel Zak]
- remove po/Makevars.template from EXTRA_DIST [Stepan Kasal]
- remove swapargs.h, move the tests to main configure.ac [Stepan Kasal]
- rename to -ng, change maintainer name [Karel Zak]
- replace AC_TRY_* by AC_*_IFELSE [Stepan Kasal]
- s/AC_HELP_STRING/AS_HELP_STRING/ [Stepan Kasal]
- set DISTCHECK_CONFIGURE_FLAGS in top-level makefile [Stepan Kasal]
- simplify "clean" in tests/Makefile.am [Stepan Kasal]
- update po/POTFILES.in [Stepan Kasal]
- use dist_example_DATA [Stepan Kasal]
- use dist_noinst_DATA to work around the bug with dist_man_MANS [Stepan Kasal]
- use dist_noinst_HEADERS in include/Makefile.am [Stepan Kasal]
- use dist_usrbinexec_SCRIPTS in misc-utils/Makefile.am [Stepan Kasal]
cal:
- add test code [Karel Zak]
- fix a segfault and -3m highlighting [Karel Zak]
- ifdef cleanup, non-curses/tempcap code fixes [Karel Zak]
- widechar code cleanup [Karel Zak]
cfdisk:
- build-sys defines HAVE_RPMATCH, not HAVE_rpmatch [Karel Zak]
- fix stupid typo in GPT checker call [Karel Zak]
chsh:
- don't use empty shell field in /etc/passwd [Karel Zak]
- remove tailing wihit-spaces and use PATH_BSHELL [Karel Zak]
col:
- getwchar() errors shouldn't be hidden [Karel Zak]
cytune:
- make the oneliner more specific the cyclades hw in question [Justin B Rye]
- remove linux/tty.h inclusion [Karel Zak]
ddate:
- fix compiler warnings [Karel Zak]
disk-utils:
- fix libuuid usage in mkswap [Matthias Koenig]
- let mkfs tools open with O_EXCL [Matthias Koenig]
docs:
- add DEPRECATED to EXTRA_DIST [Karel Zak]
- add note about http //translationproject.org [Karel Zak]
- add rdev(8) between deprecated utils [Karel Zak]
- add README.licensing [Karel Zak]
- add release notes [Karel Zak]
- add the DEPRECATED file [Karel Zak]
- clean up TODO file and add a new resuest for 2.14 [Karel Zak]
- fix authorship of 8-bit cleanup agetty patch [Karel Zak]
- fix BSD licence name in README.licensing [Karel Zak]
- fix info about devel/master branchs [Karel Zak]
- fix URL and typos in README.devel [Karel Zak]
- remove deprecated section from README [Karel Zak]
- update release notes [Karel Zak]
fdisk:
- Makefile.am refactoring [Karel Zak]
- add GPT detection code [Karel Zak]
- add MAC label detection [Karel Zak]
- add support for udev persistent device names [Matthias Koenig]
- check returns in fdisk from partition changes [Mike Frysinger]
- cleanup full disk detection code [Karel Zak]
- cleanup partname.c [Karel Zak]
- do not complain about regular files [H. Peter Anvin]
- fix "differ in signedness" compiler warnings [Karel Zak]
- fix "type qualifiers ignored on function return type" [Karel Zak]
- many significant improvements and fixes to Sun label handling [David Miller]
- move duplicate stuff from fdisk*label.h to fdisk.h [Karel Zak]
- use unsigned long long instead int for sectors [Karel Zak]
- when generating a DOS disk label, give it an ID [H. Peter Anvin]
getopt:
- remove old unused files [Karel Zak]
hexdump:
- don't use memset with zero length [Karel Zak]
hwclock:
- add --rtc=<path> option and support for /dev/rtc0 [Karel Zak]
- add support for audit system [Karel Zak]
- fix --systohc sets clock 0.5 seconds slow [Karel Zak]
- make ggc happy and check return values from fgets, read and write [Karel Zak]
- remove tailing white-spaces and clean up clock.h [Karel Zak]
ionice:
- clean up error handling [Matthias Koenig]
- cleanup usage for idle class [Matthias Koenig]
- fix ionice build on sparc [David Miller]
- prefer SYS_ioprio_{set,get} from glibc to hardcoded version [Karel Zak]
ipcs:
- add new tests for ipcs limits [Karel Zak]
- add regression test for output headers [Karel Zak]
- fix typo in Semaphore headers [Karel Zak]
- max total shared memory in kbytes instead pages [Karel Zak]
logger:
- use snprintf instead of sprintf in logger.c [LaMont Jones]
login:
- add audit support [Karel Zak]
- add IPv6 support [Karel Zak]
- add regression test for IP address checking code [Karel Zak]
- attempt to run if it has no read/write access to its terminal [Jason Vas Dias]
- close PAM session after failed pam_setcred [Steve Grubb]
- improve work with signals [Karel Zak]
- keep syslog useful for end of PAM session. [Karel Zak]
- login's timeout can fail [Jason Vas Dias]
- omits PAM account validation when auth is skipped (CVE-2006-7108) [Karel Zak]
- remove triiling white-spaces [Karel Zak]
- replace /usr/spool/mail with /var/spool/main in man page [Karel Zak]
- update 32bit utmp correctly on 64bit system [Karel Zak]
lomount.c:
- don't use mlockall if CRYPT_NONE [Masatake YAMATO]
look:
- fix problem with !isalnum() words [Karel Zak]
- man page clarification [Pádraig Brady]
- remove tailing white-spaces [Karel Zak]
losetup:
- add -a option to list all used loop devices [Karel Zak]
- add a new option -s [Karel Zak]
- add long options and fix man page [Karel Zak]
- add support read-only loops [Karel Zak]
- add to man page info about deprecated cryptoloop [Karel Zak]
man pages:
- add "AVAILABILITY" section [Karel Zak]
- cleanup of chrt.1 and taskset.1 [LaMont Jones]
mcookie:
- remove non-linux code [Karel Zak]
misc-util:
- new rtcwake command [Bernhard Walle]
misc-utils:
- add scriptreplay manpage [Matthias Koenig]
- remove old cal test [Karel Zak]
mkfs:
- remove nonsense from man page [Karel Zak]
mkfs.cramfs:
- cleanup HAVE_ macros usage [Karel Zak]
- fix a way how mkfs works with empty files [Karel Zak]
- remove hardcoded limit for directories [Karel Zak]
mkswap:
- add regression test [Karel Zak]
- automatically add selinux label to swapfile [Karel Zak]
- avoid mkswap usage on already mounted device [Karel Zak]
- default to V1 in any case [Matthias Koenig]
- fix signedness problems and remove obsolete code [Karel Zak]
- gcc happy unsigned long usage [Karel Zak]
more:
- fix file descriptor leak [Steve Grubb]
- fix underlining for multibyte chars [Karel Zak]
mount:
- add acl option documentation for ext3 and reiserfs [Matthias Koenig]
- add note about /etc/mtab unreliability to mount.8 [Karel Zak]
- add note about fcntl/ioctl unreliability on NFS to mount.8 [Karel Zak]
- add -s and -f and note to man page for external mount helpers [Karel Zak]
- add simple (printf-like) debug routine and --debug option [Karel Zak]
- add support for context, fscontext and defcontext selinux mount options [Karel Zak]
- add support for mixed usage of SPECes [Karel Zak]
- add support for mtab "uhelper" option [Karel Zak]
- avoid duplicate entries in mtab when mount -f [Karel Zak]
- avoid duplicates for root fs in mtab [Matthias Koenig]
- call /sbin/mount.<type> also when mounting without "-t" [Karel Zak]
- clean up getfs* (fstab.c) interface [Karel Zak]
- clean up info about NFS in mount.8 [Karel Zak]
- doesn't rpc_pipefs and nfsd on umount -a [Karel Zak]
- do not treat arm/sparc specially. [Mike Frysinger]
- don't umount sysfs when running umount -a [Mike Frysinger]
- fix -f -o remount [Karel Zak]
- fix -fv so that it doesn't incorrectly spit out an error that nothing was done. [Mike Frysinger]
- fix has_* functions (CVE-2007-0822) [Karel Zak]
- fix incorrect behavior when more than one fs type is specified [Attila Áfra]
- fix list logic in update_mtab [Karel Zak]
- fix memory usage in update_mtab [Mike Frysinger]
- fix mtab_lock [Karel Zak]
- fix typo in error message [Karel Zak]
- free loop device on failure [Sascha Sommer]
- fsprobe add libvolume_id support [Karel Zak]
- fsprobe add libvolume_id support to configure.ac [Karel Zak]
- fsprobe make fsprobe_get_devname functions more generic [Karel Zak]
- fsprobe remove mount_guess_fstype.{c,h} [Karel Zak]
- fsprobe remove non-blkid code [Karel Zak]
- fsprobe rename files to fsprobe_* [Karel Zak]
- fsprobe rename the rest of API routines to fsprobe_* [Karel Zak]
- fsprobe use blkid cache only when really necessary [Karel Zak]
- getfs_* (fstab) interface has to work with canonicalize() [Karel Zak]
- kill mount_guess_rootdev [Stepan Kasal]
- loop device race condition [Matthias Koenig]
- mention hfsplus in mount manpage [LaMont Jones]
- needs to handle special mountprog even on guessed file systems. [Karel Zak]
- parse SPEC before search in fstab [Karel Zak]
- relative atime support [Valerie Henson]
- remove all NFS code [Karel Zak]
- remove nfsmount() from sundries.h [Karel Zak]
- rewrite getfs_by_specdir() without mem leaks [Karel Zak]
- shared-subtree support [Karel Zak]
- should set proper permissions on locktime [Flávio Leitner]
- update mtab correctly when mount --move [Karel Zak]
- update xfs mount options [Matthias Koenig]
- use encoded labels for volume_id [Kay Sievers]
- use growable string for options [Karel Zak]
- use loop= option when mounting by /sbin/mount.<type> [Karel Zak]
- use realloc for xstrconcat functions [Karel Zak]
- use verbose mode instead debug mode [Karel Zak]
namei:
- fix logic and infinite loop of symlinks [Karel Zak]
- new regression test [Karel Zak]
newgrp:
- add support for /etc/gshadow [Karel Zak]
- check result from getgrnam() more carefully [Karel Zak]
partx:
- add man pages for addpart, delpart and partx [Karel Zak]
po:
- gettextizing some overlooked messages. [Benno Schulenberg]
- rename mount/mntent.c to mount/mount_mntent.c [Karel Zak]
- typo in french translation of mount error. [Mike Frysinger]
- update cs.po (from translationproject.org) [Petr Pisar]
- update de.po (from translationproject.org) [Michael Piefel]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update sv.po (from translationproject.org) [Daniel Nylander]
- update vi.po (from translationproject.org) [Phan Vinh Thinh]
- vipw doesn't use rpmatch, all translations have to use y/n [Karel Zak]
raw:
- add file with udev rule example [Karel Zak]
- don't accept raw0 as a target name [Karel Zak]
- move the raw command to /sbin [Karel Zak]
- update man page (about dd and O_DIRECT) [Karel Zak]
rdev:
- should be delivered on amd64 as well as i386. [LaMont Jones]
readprofile:
- fix on ppc64 [Matthias Koenig]
schedutils:
- add support for SCHED_BATCH [Karel Zak]
- define SCHED_BATCH when compile with old glibc [Karel Zak]
- fix chrt docs and pid=0 usage [Matthias Koenig]
- remove extra hyptens from man pages [Karel Zak]
script:
- fix race conditions [Karel Zak]
- improve quiet mode [Karel Zak]
setarch:
- add NLS support [Karel Zak]
- add --3gb option fot compatibility with Debian linux{32,64} command [Karel Zak, LaMont Jones]
- add __alpha__ support [Balint Cristian]
- add parisc/parisc64 support [LaMont Jones]
- add sparc32bash alias to keep compatibility with sparc32 [Dennis Gilmore]
- cleanup licensing note [Karel Zak]
- finish adding parisc support [Karel Zak, LaMont Jones]
sfdisk:
- fix "differ in signedness" compiler warnings [Karel Zak]
- fix "may be used uninitialized" compiler warnings [Karel Zak]
- setting default geometry values [Luciano Chavez]
swapoff:
- correctly handle UUID= and LABEL= identifiers [LaMont Jones]
swapon:
- cleanup PATH_ macros and tailing white-spaces [Karel Zak]
- cleanup fsprobe_*() usage [Karel Zak]
- does not correctly deal with symlinks [Marco d'Itri]
- fix swapon headers and syscalls [Mike Frysinger]
- simplify an #if [Stepan Kasal]
sys-utils:
- add arch(1) back to the official tree [Karel Zak]
- add note about obsolete ramsize option to rdev.8 [Karel Zak]
- added setarch command [Karel Zak]
- fix man page headers [Karel Zak]
- move some man pages from category 8 to 1 [Karel Zak]
taskset:
- check for existence of sched_getaffinity [Mike Frysinger]
- independent of hardcoded NR_CPUS max. [Cliff Wickman]
tests:
- add basic infrastructure for regression tests [Karel Zak]
- add cal -1 test [Karel Zak]
- add cal -3 test [Karel Zak]
- add cal -y test [Karel Zak]
- add expected outputs for cramfs [Karel Zak]
- add functions for label, uuid and fstype detection [Karel Zak]
- add hwclock systohc test [Karel Zak]
- add library for LD_PRELOAD to manipulate with time() in tests [Karel Zak]
- add license notices, change from gplv2-only to gplv2-or-later [Karel Zak]
- add lock_mtab() performance and reliability test [Karel Zak]
- add look test for words with separator [Karel Zak]
- add missing header [Matthias Koenig]
- add mkfs.cramfs tests [Karel Zak]
- add more variants to {mount,fstab}-by-{label,uuid,devname} [Karel Zak]
- add mount by devname from fstab [Karel Zak]
- add mount by devname test [Karel Zak]
- add mount by devname with label in fstab [Karel Zak]
- add mount by devname with uuid in fstab [Karel Zak]
- add mount by label from fstab test [Karel Zak]
- add mount by LABEL test [Karel Zak]
- add mount by label with devname in fstab [Karel Zak]
- add mount by label with uuid in fstab [Karel Zak]
- add mount by UUID from fstab test [Karel Zak]
- add mount by UUID test [Karel Zak]
- add mount by uuid with devname in fstab [Karel Zak]
- add mount by uuid with label in fstab [Karel Zak]
- add mount /dev/symlink test [Karel Zak]
- add mount --move test [Karel Zak]
- add mount -o remount test [Karel Zak]
- add return code [Karel Zak]
- add script(1) race condition test [Karel Zak]
- add simple helper that returns info about system [Karel Zak]
- add support for fstab modification [Karel Zak]
- add support for suid programs [Karel Zak]
- add swapon by devname test [Karel Zak]
- add swapon by UUID test [Karel Zak]
- add test for /sbin/mount.<type> call [Karel Zak]
- add ts_log and --verbose support [Karel Zak]
- add ts_ok and ts_failed [Karel Zak]
- cleanup blkid cache after test device deinitialization [Karel Zak]
- code refactoring -- new ts_device_init function [Karel Zak]
- code refactoring -- new ts_skip_nonroot function [Karel Zak]
- code refactoring -- new ts_udev_loop_support function [Karel Zak]
- enable mtablock test when uid=0 only [Karel Zak]
- fix argv[] usage in mnt_test_sysinfo.c [Karel Zak]
- fix dependence on blkid [Karel Zak]
- fix Makefile.am (add missing tests) [Karel Zak]
- fix ts_fstab_add function [Karel Zak]
- fix ULONG_MAX usage on 32bit machines [Karel Zak]
- "if [...]" clean up [Karel Zak]
- make clean need to remove diffs and outputs [Karel Zak]
- pass all arguments to ts_init, add ts_has_option function [Karel Zak]
- refresh mtablock output in expected/ directory [Karel Zak]
- remove dependence on helpers/libpreload-time.so [Karel Zak]
- simplify devices usage [Karel Zak]
- use $AWK based on configure results [Karel Zak]
- use relative paths when sourcing files [Mike Frysinger]
text-utils:
- fix the more command compilation against termcap [Karel Zak]
tools:
- add codecheck-config that checks for {HAVE,ENABLE}_ orphans [Karel Zak]
vipw:
- fix permissions (600->400) for edited /etc/[g]shodow files [Karel Zak]
wall:
- fix O_NONBLOCK usage [Alan Curry]
- remove deprecated sigsetmask() from wall [Karel Zak]
- remove unwanted newlines from wall [Karel Zak]
whereis:
- add lib64 paths [Karel Zak]
- Clean up pagesize/PAGE_SIZE usage. [Karel Zak]
- also search for __stext in readprofile [Mike Frysinger]
- check exit status of autotools [Mike Frysinger]
- clean up realpath.[ch] includes and macros [Karel Zak]
- execl() should be use NULL not 0 [Karel Zak]
- manpage typos [LaMont Jones]
- remove hardcoded package name from some utils [Karel Zak]

View File

@ -0,0 +1,418 @@
Util-linux-ng 2.14 Release Notes (09-Jun-2008)
==============================================
Release highlights
------------------
mount(8) supports new "nofail" mount option.
mount(8) supports auto-destruction of loop devices.
losetup(8) supports new command line option "-j" to show status of all
loop devices associated with given file.
losetup(8) supports unlimited number of loop devices.
losetup(8) supports new command line option "--sizelimit" to set data end.
ldattach(8) command has been added to util-linux-ng. The ldattach
daemon opens the specified device file and attaches the line discipline
to it for processing of the sent and/or received data.
setterm(8) supports new command line option "-blank [force|poke]" for
TIOCL_{BLANKED,BLANK}SCREEN.
tailf(8) has been reimplemented to use inotify.
tailf(8) supports new command line option "-n" to specifying output lines.
mkswap(8) supports new command line option "-U" to set UUID explicitly.
fdisk(8) has been fixed to calculate partition size in 2^N.
cal(8) supports highlighting an arbitrary date.
agetty(8) makes username-in-uppercase feature optional (off by default).
Users who use uppercase-only terminals need to use the option "-U" now.
losetup(8), mount(8), umount(8), fdisk(8) and sfdisk(8) support static
linking when compiled with --enable-static-programs.
hwclock(8) supports new command line option "adjfile" to override
the default /etc/adjtime.
scriptreplay(1) command has been re-written from Perl to C.
Deprecated
----------
The losetup(8) '-s' option (introduced by util-linux-ng-2.13) is deprecated
now. This short form of the option '--show' could be in collision with
Loop-AES losetup implementation where the same option is used for the loop
sizelimit.
Fixed security issues
---------------------
CVE-2008-1926 - audit log injection via login
The problem was originally reported for OpenSSH few months
ago (CVE-2007-3102). The login(1) is affected by the same
bug when built with the option "--with-audit".
Stable maintenance releases between v2.13 and v2.14
---------------------------------------------------
util-linux-ng 2.13.1.1 [22-Apr-2008]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13.1.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13.1.1-ChangeLog
util-linux-ng 2.13.1 [16-Jan-2008]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13.1-ChangeLog
ChangeLog between v2.13 and v2.14
---------------------------------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.14/
agetty:
- cleanup MAXHOSTNAMELEN [Karel Zak]
- make username-in-uppercase feature optional (off by default.) [Hamish Coleman]
- non-linux support (use pathnames.h) [Karel Zak]
- replace termio with termios interface [Samuel Thibault]
- ungettextize several debugging messages. [Benno Schulenberg]
blockdev:
- add --getsz to blockdev.8 [Karel Zak]
- add missing description about option --report in manpage [Li Zefan]
- fix opened file leaving unclosed [lizf]
- use lib/blkdev.c, fix --report [Karel Zak]
build-sys:
- add --enable-static-programs [Stepan Kasal, Karel Zak]
- add AC_CANONICAL_HOST [Miklos Szeredi]
- add VARSUFFIX to UTIL_CHECK_LIB [Karel Zak]
- add err.h check [Karel Zak]
- add support ionice for Super-H architecture [Karel Zak]
- add v2.14 to NEWS [Karel Zak]
- autogen.sh reports versions of autotools now [Karel Zak]
- build arch(1) during distcheck [Stepan Kasal]
- cleanup "x$foo" usage [Karel Zak]
- cleanup disk-utils/Makefile.am (use $utils_common) [Karel Zak]
- cleanup usage of linux/major.h [Samuel Thibault]
- disable syscall fallbacks for non-linux systems [Karel Zak]
- do not add -luuid to BLKID_LIBS [Stepan Kasal]
- fix missing deps for swapon [Matthias Koenig]
- ignore a bunch of generated files, mostly binaries [James Youngman]
- nls/locale handling in util-linux-ng general [Mike Frysinger]
- non-linux support [Samuel Thibault]
- release++ [Karel Zak]
- remove errs.h [Karel Zak]
- remove files that are no longer delivered from git [LaMont Jones]
- remove hardcoded _GNU_SOURCE [Karel Zak]
- remove unnecessary check-local target from login-utils/ [Karel Zak]
- set AC_PREREQ to 2.60, increment version to 2.14 [Karel Zak]
- simplify code around RDEV_LINKS and SETARCH_LINKS [Stepan Kasal]
- unify method for checking system calls and fallback handling [Mike Frysinger, Stepan Kasal]
- update .gitignore files [Karel Zak]
- use dist_man_MANS instead of man_MANS [Stepan Kasal]
- use ncursesw (wide version) when possibe [Karel Zak, Mike Frysinger]
- use pkg-config to find the libs for static build [Stepan Kasal]
- use portable $(VAR =) instead of gmake-specific $(addsuffix) [Stepan Kasal]
cal:
- add description about option -V to manpage [Li Zefan]
- add support for highlighting an arbitrary date [Pádraig Brady]
- avoid -Wformat warnings [Jim Meyering]
- fix weekday alignment for certain locales [Pádraig Brady]
- replace errs.h with libc err.h [Karel Zak]
- use HAVE_LIB{NCURSES,NCURSESW} instead HAVE_NCURSES [Karel Zak]
cfdisk:
- define portable {DEFAULT,ALTERNATE}_DEVICE [Samuel Thibault]
- display cylinders beyond 1024 [Peter Breitenlohner]
- slightly increase the size of menu buttons [Benno Schulenberg]
- translate partition-type names when they are printed. [Benno Schulenberg]
chfn:
- add pam_end() call and cleanup PAM code [Karel Zak]
- fix compiler warnings in selinux stuff [Karel Zak]
chfn, chsh, login:
- collapsing three similar messages into a single one [Benno Schulenberg]
chsh:
- should use pam_end function to terminate the PAM transaction [Yu Zhiguo, Karel Zak]
column:
- replace errs.h with libc err.h [Karel Zak]
ddate:
- 11th, 12th and 13th of month [Volker Schatz]
docs:
- add a note about minix v3 to TODO file [Karel Zak]
- add info about .bugfix releases and branches [Karel Zak]
- add note about incorrect tag 2.13.1 [Karel Zak]
- add note about losetup --sizelimit to ReleaseNotes [Karel Zak]
- add note about static linking [Karel Zak]
- add v2.14 ReleaseNotes [Karel Zak]
- cleanup DEPRECATED file [Karel Zak]
- cleanup README.devel, add note about coding style and Signed-off-by [Karel Zak]
- fix ChangeLog URL [Pascal Terjan]
- fix stable branche name in README.devel [Karel Zak]
- mark vipw(1) is deprecated in favor of vipw from shadow-utils [Karel Zak]
- refresh TODO list [Karel Zak]
- remove date from ReleasNotes [Karel Zak]
- tweak a few messages for clarity [Benno Schulenberg]
- update AUTHORS file [Karel Zak]
- update TODO file [Karel Zak]
- update v2.14 ReleaseNotes [Karel Zak]
- we already rewrote the scriptreplay script; remove that TODO entry [James Youngman]
elvtune:
- use get_linux_version() [Karel Zak]
fdformat:
- install to /usr/sbin instead to /usr/bin [Karel Zak]
fdisk:
- better fallback for get_random_id() [H. Peter Anvin]
- calculate +size{K,M,G} in 2^N [Karel Zak]
- cleanup BLK* ioctls usage [Karel Zak]
- doesn't recognize the VMware ESX partitions [Karel Zak]
- doing useless ioctl when editing an image [Pascal Terjan]
- fix building for AVR32 and CRIS [Imre Kaloz]
- fix typo [Karel Zak]
- message tweak [Karel Zak]
- non-linux support (MAXPATHLEN) [Karel Zak]
- non-linux support (use standard uintxy_t instead __uxy) [Samuel Thibault]
- use more readable "GPT" name rather than "EFI GPT" [Robert Millan]
- use swab macros from bitops.h [Karel Zak]
flock:
- typo in man page [A. Costa]
fsck.cramfs:
- clean up gcc warnings [Randy Dunlap]
fsck.minix:
- correct the error message given when we can't open the device [James Youngman]
- reset the terminal state if we are killed by a fatal signal [James Youngman]
getopt:
- fix path to examples in getopt.1 [Karel Zak]
- install example scripts as SCRIPTS, not DATA [Peter Breitenlohner]
hwclock:
- add --adjfile=path option [Karel Zak]
- check for ENODEV [David Woodhouse]
- do not create a zero adjfile [Alain Guibert]
- fix --rtc option [Matthias Koenig, Karel Zak]
include:
- <stdint.h> provides everything [Samuel Thibault]
- add bitops.h with swab{16,32,64} macros [Karel Zak]
- add mount paths to pathnames.h [Karel Zak]
- cleanup pathnames.h [Karel Zak]
ionice:
- add a note about permissions to ionice.1 [Karel Zak]
- update man page to reflect IDLE class change in 2.6.25 [Karel Zak]
ipcs:
- add information about POSIX compatibility to ipcs.1 [Karel Zak]
kill:
- man page is missing a description of "kill -0" [Karel Zak]
ldattach:
- add NLS support [Karel Zak]
- new command [Tilman Schmidt]
- use glibc termios [Karel Zak]
lib:
- add blkdev.{c,h} [Stefan Krah, Karel Zak]
- add linux_version.{c,h} [Stefan Krah]
login:
- audit log injection attack via login [Steve Grubb]
- fix a small memory leak and remove unnecessary zeroing [Karel Zak]
- login segfaults on EOF (rh#298461) [Karel Zak]
- replace termio with termios interface [Samuel Thibault]
- rewrite is_local() to remove limits on line length [James Youngman]
login-utils:
- cleanup strlen() and fgets() usage [James Youngman]
losetup:
- add --associated option [Karel Zak]
- add --sizelimit option [Shachar Shemesh]
- canonicalize loopfile name [Karel Zak, Matthias Koenig]
- clean up gcc warnings [Randy Dunlap]
- fix errno usage [Karel Zak]
- fix typo in losetup.8 [Karel Zak]
- mark the option -s as deprecated [Karel Zak]
- remove duplicate xstrdup() and error() [Karel Zak]
- split help message into two smaller parts [Benno Schulenberg]
- support unlimited number of loops [Karel Zak]
- use standard uintxy_t types (struct loop_info64) [Samuel Thibault]
mesg:
- replace errs.h with libc err.h [Karel Zak]
mkfs.cramfs:
- clean up gcc warnings [Randy Dunlap, Karel Zak]
- remove unused header file [lizf]
- switch on localization. [Benno Schulenberg]
mkfs.minix:
- add sectorsize check [Matthias Koenig]
- clean up gcc warnings [Karel Zak]
- clean up gcc warnings [Randy Dunlap]
- device size cleanup [Matthias Koenig]
mkswap:
- BLKGETSIZE cleanup [Karel Zak]
- cleanup kB vs. KiB usage in error messages [Karel Zak]
- fix compiler warnings [Karel Zak]
- linux_version() code consolidation [Karel Zak]
- possible to crash with SELinux relabeling support [KaiGai Kohei]
- set UUID for swap space (add -U option) [Martin Schulze]
- set errno=0 in write_all() [Karel Zak]
- when writing the signature page, handle EINTR returns [Karel Zak]
more:
- cleanup gcc warnings [Randy Dunlap]
- non-linux support [Samuel Thibault]
- replace CBAUD with cfgetispeed() [Samuel Thibault]
- use HAVE_WIDECHAR instead ENABLE_WIDECHAR [Karel Zak]
mount:
- "can't create lock file" message sometimes means failure, sometimes not [Mark McLoughlin]
- "nofail" mount option [Matthias Koenig, Karel Zak]
- -L|-U segfault when label or uuid doesn't exist [Karel Zak]
- add more details to the --version output [Karel Zak]
- add support for sizelimit= mount option (for loop mounts) [Shachar Shemesh]
- allow auto-destruction of loop devices [Bernardo Innocenti]
- chain of symlinks to fstab causes use of pointer after free [Norbert Buchmuller]
- clean up gcc warnings (mount_mntent.c) [Randy Dunlap]
- clean up global variables [Karel Zak]
- cleanup "none" fstype usage [Karel Zak]
- cleanup KERNEL_VERSION, remove my_dev_t.h [Karel Zak]
- cleanup canonicalize() usage [Karel Zak]
- cleanup error() and die() [Karel Zak]
- cleanup usage of _PATH_* [Karel Zak]
- doesn't drop privileges properly when calling helpers [Ludwig Nussel]
- don't call canonicalize(SPEC) for cifs, smbfs and nfs [Karel Zak]
- don't canonicalize LABEL= or UUID= spec [Karel Zak]
- drop the part always true from a while condition [Pascal Terjan]
- fix a small typo in mount.8 [Christophe Blaess]
- fix fd leak [Matthias Koenig]
- fix typo in mount.8 [Karel Zak]
- hint about helper program if device doesn't exist [Karel Zak]
- improve chmod & chown usage and clean up gcc warnings (fstab.c) [Karel Zak]
- improve error message when helper program not present [LaMont Jones]
- prevent loop mounting the same file twice [Karel Zak, Matthias Koenig]
- remount doesn't care about loop= [Karel Zak]
- remove MS_{REPLACE,AFTER,BEFORE,OVER} [Karel Zak]
- remove built-in support for background mounts [Karel Zak]
- remove redundant fflush [Karel Zak]
- remove set_proc_name() [Karel Zak]
- remove useless if-before-my_free, define my_free as a macro [Karel Zak]
- use MNTTYPE_SWAP (from mntent.h) [Karel Zak]
- use atexit() rather than (*at_die)() [Karel Zak]
- use blkdev_get_size() [Karel Zak]
- use canonicalize in getfs_by_devname [Karel Zak]
namei:
- add to identify FIFO (named pipe) and update manpage [Li Zefan]
- cleanup tailing white-spaces [Karel Zak]
- non-linux support (get_current_dir_name() and PATH_MAX) [Karel Zak, Samuel Thibault]
partx:
- fix compiler warnings [Karel Zak]
- use swab macros from bitops.h [Karel Zak]
pg:
- fix segfault on search [Rajeev V. Pillai]
po:
- add eu.po (from translationproject.org) [Mikel Olasagasti]
- add pl.po (from translationproject.org) [Andrzej Krzysztofowicz]
- fix typo in de.po [Karel Zak]
- merge changes [Karel Zak]
- update POTFILES.in [Karel Zak]
- update ca.po (from translationproject.org) [Josep Puigdemont]
- update cs.po (from translationproject.org) [Petr Pisar]
- update da.po (from translationproject.org) [Claus Hindsgaul]
- update de.po (from translationproject.org) [Michael Piefel]
- update es.po (from translationproject.org) [Santiago Vila Doncel]
- update et.po (from translationproject.org) [Meelis Roos]
- update fi.po (from translationproject.org) [Lauri Nurmi]
- update fr.po (from translationproject.org) [Michel Robitaille]
- update hu.po (from translationproject.org) [Gabor Kelemen]
- update id.po (from translationproject.org) [Arif E. Nugroho]
- update it.po (from translationproject.org) [Marco Colombo]
- update ja.po (from translationproject.org) [Daisuke Yamashita]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update po files [Karel Zak]
- update pt_BR.po (from translationproject.org) [Rodrigo Stulzer Lopes]
- update ru.po (from translationproject.org) [Pavel Maryanov]
- update sl.po (from translationproject.org) [Simon Mihevc]
- update sv.po (from translationproject.org) [Daniel Nylander]
- update tr.po (from translationproject.org) [Nilgün Belma Bugüner]
- update uk.po (from translationproject.org) [Maxim V. Dziumanenko]
- update vi.po (from translationproject.org) [Clytie Siddall]
rename:
- add description about option -V to manpage [Li Zefan]
- remove useless variable [Li Zefan]
renice:
- detect errors in arguments, add -v, -h and long options [LaMont Jones, Karel Zak]
rev:
- use warn() in errs.h [Li Zefan]
rtcwake:
- fix UTC time usage [David Brownell]
- fix the default mode to "standby" [Paulius Zaleckas]
- fix typo [Karel Zak]
- fix typo SATE -> STATE [Mike Frysinger]
- fix verbose message [Karel Zak]
- include libgen.h for basename prototype [Mike Frysinger]
- misc cleanups [David Brownell]
script:
- cleanup gcc warnings [Randy Dunlap]
- cleanup includes [Samuel Thibault]
- dies on SIGWINCH [Karel Zak]
- read returns a size_t [James Youngman]
scriptreplay:
- gettextize a forgotten messages [Karel Zak]
- rewrite in C [Karel Zak, James Youngman]
setarch:
- add fallback for linux/personality [Karel Zak]
- add long options to setarch and update manpage [Karel Zak, Li Zefan]
- add missing alpha subarchs [Oliver Falk]
- adding groff symlinks to setarch manual page [Arkadiusz Miśkiewicz]
- fix compiler warning [LaMont Jones]
- generate groff links in a better way [Karel Zak]
- provide backwards compatibility [Dmitry V. Levin]
- tweak the help text, and gettextize a forgotten message [Benno Schulenberg]
setterm:
- add -blan [force|poke] options for TIOCL_{BLANKED,BLANK}SCREEN [Samuel Thibault, Karel Zak]
- dump by TIOCLINUX is deprecated since linux 1.1.92. [Karel Zak]
- opened file leaving unclosed [Karel Zak, lizf]
- remove unnecessaty ifndef TCGETS [Samuel Thibault]
sfdisk:
- allow partitioning drives of over 2^31 sectors. [Kunihiko IMAI]
- cleanup 83 gcc warnings [Randy Dunlap]
- opened files leaving unclosed [Karel Zak, Li Zefan]
- remove unnecessary linux/unistd.h [Samuel Thibault]
- use get_linux_version() [Karel Zak]
shutdown:
- use _PATH_MOUNTED instead of _PATH_MTAB [Stepan Kasal]
swapon:
- Reinitialize software suspend areas to avoid future corruption. [Kees Cook, Karel Zak]
- add sundries.h [Karel Zak]
- clean up gcc warnings [Randy Dunlap]
- cleanup usage output [Karel Zak]
- cleanup usage() [Karel Zak]
- fix swsuspend detection [Karel Zak]
- fix typo in usage() [Karel Zak]
- readjust the usage summaries [Benno Schulenberg]
- remove unnecessary myrealpath() call [Karel Zak]
sys-utils:
- correct setarch.8 manpage link creation [Frédéric Bothamy]
tailf:
- add option -n to specifying output lines [Li Zefan]
- clean up gcc warnings & fix use of errno [Karel Zak]
- inotify based reimplementation [Karel Zak]
- non-linux support [Samuel Thibault]
- opened file leaving unclosed [lizf]
- replace errs.h with libc err.h [Karel Zak]
tests:
- add "sort" to cramfs test [Karel Zak]
- add test for include/pathnames.h [Karel Zak]
- add ts-mount-noncanonical [Karel Zak]
- exactly define a time format in ls -l output [Karel Zak]
- fix blkid cache usage [Karel Zak]
- move test_bkdev to lib/ [Karel Zak]
- redirect libblkid cache to BLKID_FILE [Karel Zak]
- rename test_sysinfo, remove tailing white-spaces [Karel Zak]
- use losetup -s [Karel Zak]
umount:
- add hint about lsof & fuser [Karel Zak]
- don't print duplicate error messages [Karel Zak]
- use atexit() rather than (*at_die)() [Karel Zak]
wall:
- cleanup MAXHOSTNAMELEN [Karel Zak]

View File

@ -0,0 +1,675 @@
Util-linux-ng 2.15 Release Notes (05-May-2009)
==============================================
Release highlights
------------------
mkswap(8):
- mkswap like many others mkfs-like utils ERASES THE FIRST BLOCKS on
the device to remove old on-disk filesystems. mkswap refuses to
erase the first block on a device with a disk label (SUN, BSD, ...)
or on whole disk (e.g. /dev/sda).
- DOES NOT SUPPORT v0 SWAP SPACE any more. The kernel has not
supported v0 swap space format since 2.5.22. The new version v1 is
supported since 2.1.117.
swapon(8):
- supports new command line option "-f/--fixpg" to reinitialize the
swap space with a wrong pagesize. As swap format depends on the pagesize
being used, it may happen that the pagesize of the swap space and the
current pagesize differ.
login(1):
- requires /etc/pam.d/remote when compiled with PAM support and
executed with "-h <hostname>" option. The "-h" option is used by other
servers (i.e., telnetd(8)) to pass the name of the remote host to login.
cal(1):
- determines the first day of week from the locale.
libblkid, blkid(8) and findfs(8):
The libblkid library has been moved from e2fsprogs to util-linux-ng. The
library has been extended and now includes:
- low-level probing API that is useful for example for udev rules
(cmdline: blkid -p -o udev <device>)
- very high-level API that provides portable interface for LABELs and
UUIDs evaluation on 2.4, 2.6 and udev-based system. It's recommended
to use "blkid -L|-U" in your scripts rather than directly read
/dev/disk/by-* symlinks.
- the old ABI and API is backwardly compatible with the current version
from e2fsprogs.
All utils (mount, swapon, fsck, ...) in the package is possible to link
against this new library, or the old version from e2fsprogs, or
libvolume_id from udev package.
The default is still libblkid from e2fsprogs. The new library could be
enabled by "--with-fsprobe=builtin" configure option.
The libvolume_id from udev and vol_id command is deprecated now.
fsck(8):
- has been moved to from e2fsprogs to util-linux-ng.
dmesg(1)
- supports new command line option "-r" to print the raw message buffer
(i.e. dont strip the log level prefixes).
flock(1):
- allows lock directory
fsck.cramfs:
- automatically detects the image endianness, and can work on images of
either endianness.
mkfs.cramfs:
- now accepts a new optional parameter (-N) that allows creating
the cramfs image in either endianness.
renice(1):
- supports new command line option "-n" for compatibility with POSIX
hwclock(8)
- supports new command line option "--systz" to reset the System Time
based on the current timezone. Since the system clock time is already
set from the hardware clock by the kernel (when compiled with
CONFIG_RTC_HCTOSYS), there's no particular need to read the hardware
clock again.
ionice(1):
- supports new command line option "-t" option to ignore failure to set
requested priority. This might be of use in case something (selinux,
old kernel, etc.) does not allow the requested scheduling priority
to be set.
- the command line option "-p" handles multiple PIDs now.
losetup(8):
- detaches more devices by "-d <loop> [<loop> ..]"
ipcmk(1):
- this NEW COMMAND allows to create ad-hoc IPC resources.
lscpu(1):
- this NEW COMMAND gathers CPU architecture information like number
of CPUs, threads, cores, sock, NUMA nodes, information about CPU
caches, information about hypervisor and virtualization support,
..etc. and prints it in human-readable or parse-able format.
namei(1):
- supports new command line options --owners, --long and --vertical
to print ls(1)-like output.
Stable maintenance releases between v2.14 and v2.15
---------------------------------------------------
util-linux-ng 2.14.1 [10-Aug-2008]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.1-ChangeLog
util-linux-ng 2.14.2 [09-Feb-2009]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.2-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.2-ChangeLog
ChangeLog between v2.14 and v2.15
---------------------------------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.15/
addpart:
- 512-byte sectors in code, bytes in man-page [Karel Zak]
agetty:
- IUCLC and OLCUC are Linux extensions [Aurelien Jarno]
- check for termios.c_line struct member by autoconf [Karel Zak]
- sys/types.h and time.h are included more than once [Karel Zak]
blkid:
- Give a priority bonus to "leaf" devicemapper devices [Theodore Ts'o]
- LSI MegaRAID [Karel Zak]
- NVIDIA raid [Karel Zak]
- Optimize devicemapper support [Theodore Ts'o]
- Promise raid [Karel Zak]
- Refuse to create a device structure for a non-existent device [Theodore Ts'o]
- Unexport the private symbol blkid_devdirs [Theodore Ts'o]
- add to reiser [Karel Zak]
- add -L -U options (evaluation API) [root]
- add -p and low-probe mode to blkid binary [Karel Zak]
- add Christoph's note about libdisk to TODO [Karel Zak]
- add DDF raid [Karel Zak]
- add DEBUG_LOWPROBE, cleanup a little debug stuff [Karel Zak]
- add GFS and GFS2 [Karel Zak]
- add GFS2 UUID support [Karel Zak]
- add GFS2 reg. test [Karel Zak]
- add HFS and HFS+ [Karel Zak]
- add HPFS [Karel Zak]
- add HTFS [Karel Zak]
- add ISW raid [Karel Zak]
- add JMicron RAID [Karel Zak]
- add LUKS support [Karel Zak]
- add LVM2 support and a fix _sprintf_uuid() bug [Karel Zak]
- add Linux RAID [Karel Zak]
- add Silicon Image Medlay RAID [Karel Zak]
- add TODO file [Karel Zak]
- add TODO hint about DM devnames in sysfs [Karel Zak]
- add TODO hint about blkid_parse_tag_string() [Karel Zak]
- add TODO note about blkid_evaluate_spec_to_buffer() [Karel Zak]
- add UDF support [Karel Zak]
- add UFS [Karel Zak]
- add VFAT support [Karel Zak]
- add VIA RAID [Karel Zak]
- add ZSF support [Andreas Dilger]
- add ZSF test [Karel Zak]
- add __attribute__ ((format)) [Karel Zak]
- add a note to TODO list [Karel Zak]
- add adaptec raid [Karel Zak]
- add basic configure.ac stuff and blkid.pc [Karel Zak]
- add blkid_do_safeprobe() [Karel Zak]
- add blkid_evaluate_spec() [Karel Zak]
- add blkid_probe_get_sb() macro [Karel Zak]
- add btrfs support [Karel Zak]
- add cmdline interface for blkid_probe_filter_usage() [Karel Zak]
- add ddf raid regression test [Karel Zak]
- add ext{2,3,4,4devel} support [Karel Zak]
- add fallback to ext4 for 2.6.29+ kernels if ext2 is not present [Theodore Ts'o]
- add findfs(8) [Karel Zak]
- add highpoint{37x,45x} RAIDs [Karel Zak]
- add hpfs regression test [Karel Zak]
- add iso9600 [Karel Zak]
- add jfs [Karel Zak]
- add low level probing API [Karel Zak]
- add lvm1 [Karel Zak]
- add lvm2 reg.test [Karel Zak]
- add minix [Karel Zak]
- add missing blkidP.h to Makefile.am [Karel Zak]
- add missing hfs.c [Karel Zak]
- add netware (NSS) [Karel Zak]
- add netware regression test [Karel Zak]
- add new options to blkid.8 and help output [Karel Zak]
- add new requirements to TODO list [Karel Zak]
- add ocfs and oracleasm [Karel Zak]
- add ocfs2 version [Karel Zak]
- add proper copying info [Karel Zak]
- add reg.tests for HFS and HFS+ [Karel Zak]
- add romfs [Karel Zak]
- add squashfs [Karel Zak]
- add support for /etc/blkid.conf file [Karel Zak]
- add sysv and xenix [Karel Zak]
- add tst_types.c to Makefile.am [Karel Zak]
- add udev ID_FS_* output to blkid binary [Karel Zak]
- add udev string encoding routines [Karel Zak]
- add uuid and version support to gfs2 [Karel Zak]
- add version and probe FSInfo [Karel Zak]
- add version support to LVM2 [Karel Zak]
- add vol_id call to blkid regression test [Karel Zak]
- add vxfs [Karel Zak]
- add xfs [Karel Zak]
- blkdev size fallback [Karel Zak]
- blkid.static make target [Karel Zak]
- blkid_evaluate_spec() shouldn't ignore $BLKID_FILE [Karel Zak]
- check calloc() return value [Karel Zak]
- check idinfo[] index [Karel Zak]
- clean up man pages [Karel Zak]
- cleanup _LOGPROBE debug messages [Karel Zak]
- cleanup starts of probing files [Karel Zak]
- compile TEST_PROGRAMs [Karel Zak]
- correctly initialize magics[] arrays [Karel Zak]
- create basic directories [Karel Zak]
- don't dereference NULL upon slashless module dependency line [Jim Meyering]
- fix ..._strncpy_uuid [Karel Zak]
- fix a syntax nit [Karel Zak]
- fix blkid_do_probe() [Karel Zak]
- fix blkid_probe_sprintf_version() usage [Karel Zak]
- fix blkid_safe_string() [Karel Zak]
- fix exit codes in blkid(8) [Scott James Remnant]
- fix ext2 SEC_TYPE [Karel Zak]
- fix file descriptor leak when checking for a module [Karel Zak]
- fix gcc warning in blkid_get_cache_filename() [Karel Zak]
- fix hedeader in ntfs.c [Karel Zak]
- fix highpoint37x offset [Karel Zak]
- fix low-probe mode return codes [Karel Zak]
- fix non-udev low-probe mode output [Karel Zak]
- fix ocfs2 detection [Karel Zak]
- fix typo (syntax error) [Karel Zak]
- fix udev output [Karel Zak]
- fix xfs label [Karel Zak]
- hfs - do not set UUID for emtpy finder info [Kay Sievers]
- hfs - use proper native UUID format [Kay Sievers]
- improve ddf detection [Karel Zak]
- linux_raid - fix logic for volumes with size == 0 [Karel Zak]
- merge libblkid code from e2fsprogs/lib/blkid [Karel Zak]
- minor changes to library build system [Karel Zak]
- netware SB has to be packed [Karel Zak]
- optimize for string UUIDs [Karel Zak]
- re-order list of filesystems [Karel Zak]
- recognize ext3 with test_fs set as ext3 [Eric Sandeen]
- recognize ext4(dev) without journal [Eric Sandeen]
- refresh TODO file [Karel Zak]
- remove blkid_types.h [Karel Zak]
- remove unnecessary debug message [Karel Zak]
- remove unnecessary ifdef __cplusplus [Karel Zak]
- remove unused stuff from Makefile [Karel Zak]
- remove useless if-before-free tests [Jim Meyering]
- remove whole-disk entries from cache when partitions are found [Eric Sandeen]
- rename blkid_debug_init to blkid_init_debug [Karel Zak]
- rename blkid_evaluate_spec to blkid_evaluate_tag [Karel Zak]
- set size for non-blkdevs, add blkid_probe_strcpy_uuid() [Karel Zak]
- split SONAME and LIBBLKID_VERSION [Karel Zak]
- start to use ABI versioning [Karel Zak]
- support detection of multiple signatures [Karel Zak]
- support via raid version 2 [Sven Jost]
- update TODO [Karel Zak]
- update gitignore [Karel Zak]
- use "char **" rather than "unsigned char **" [Karel Zak]
- use /dev/mapper/<name> rather than /dev/dm-<N> [Karel Zak]
- use /sys/block/dm-<N>/dm/name [Karel Zak]
- use Requires.private and fix the include directory [Karel Zak]
- use blkid_probe_strcpy_uuid() for luks [Karel Zak]
- use posix uint32_t in ocfs superblock [Karel Zak]
- use posix uintXX_t in lvm code [Karel Zak]
- use sizeof() for hfs uuid [Karel Zak]
- vfat - fix declaration [Kay Sievers]
blkis:
- fix detection of ext4dev as ext4 [Eric Sandeen]
blockdev:
- add note that the StartSec is in 512-byte sectors [Karel Zak]
- fix possible buffer overflow [Karel Zak]
build-sys:
- add $usrlibexecdir and fix paths for [/usr]/lib64 [Karel Zak]
- add --disable-mount [Alon Bar-Lev]
- add --with=fsprobe=builtin [Karel Zak]
- add -luuid to BLKID_LIBS [Karel Zak]
- add fsck binary to .gitignore [Karel Zak]
- add missing AC_C_BIGENDIAN [Karel Zak]
- add missing files to include/Makefile.am [Karel Zak]
- add temporary libtool *.m4 stuff [Karel Zak]
- cleanup --with-fsprobe help string [Karel Zak]
- cleanup sys-utils/Makefile.am [Karel Zak]
- define libdir [Karel Zak]
- fix bugs detected by "make distcheck" [Karel Zak]
- libtoolize by libtool-2 [Karel Zak]
- libtoolize mount/Makefile.am [Karel Zak]
- move pivot_root(8) to sys-utils [Karel Zak]
- refresh generated libtool-2 stuff [Karel Zak]
- release++ (v2.15-rc1) [Karel Zak]
- release++ (v2.15-rc2) [Karel Zak]
- remove use of devmapper library [Karel Zak]
- tgets is not in ncurses but in tinfo [Arkadiusz Miśkiewicz]
- use pkg-config for blkid and volume_id [Karel Zak]
cal:
- determine the first day of week from the locale [Pádraig Brady]
- remove gcc-ism from nl_langinfo() call [Karel Zak]
cfdisk:
- accept yes/no as fallback [Matthias Koenig]
- fix "cannot seek on disk drive" bug [Karel Zak]
chfn:
- several strings without gettext calls [Karel Zak]
chrt:
- add NLS support, clean error messages and return codes [Karel Zak]
- add a comment about non POSIX 1003.1b attributes in chrt.1 [Aurelien Jarno]
- output buglet when reporting scheduling class [Karel Zak]
- support CFS SCHED_IDLE priority and document it [Martin Steigerwald]
disk-utils:
- clean up code, use blkdev_* functions [Samuel Thibault]
- include fcntl.h directly (mkfs.cramfs, raw) [maximilian attems]
- s/MOUNTED/_PATH_MOUNTED/ [maximilian attems]
dmesg:
- Add -r (raw) option. [Adam Jackson]
- nuke old glibc 5 support [maximilian attems]
docs:
- TODO: add request to use nl_langinfo() [Karel Zak]
- TODO update [Karel Zak]
- add a note about /proc/sys/kernel/random/uuid [Karel Zak]
- add a note about kpartx to TODO [Karel Zak]
- add entry about /proc/partitions parsing [Karel Zak]
- add feature-requests from RH bugzilla to TODO list [Karel Zak]
- add suggestion about TZ=UTC to TODO file [Karel Zak]
- fix typo, cal(8) --> cal(1) [Karel Zak]
- update AUTHORS file [Karel Zak]
- update TODO list [Karel Zak]
- update v2.15 ReleaseNotes [Karel Zak]
elvtune:
- add NLS support [Pedro Ribeiro]
fdisk:
- (and partx) remove BLKGETLASTSECT [Karel Zak]
- add 0xaf HFS / HFS partition type [Karel Zak]
- add some missing includes [Matthias Koenig]
- cannot create partition with starting beyond 1 TB [Karel Zak]
- cleanup _PATH_DEV_* macros [Karel Zak]
- doesn't handle large (4KiB) sectors properly [Eric Sandeen]
- don't check for GPT when asked for disk size only [Karel Zak]
- don't use get_linux_version() for non-linux [Samuel Thibault]
- exit(3) needs stdlib.h include [maximilian attems]
- fix man page typo [Karel Zak]
- fix max. ptname [Karel Zak]
- non-linux support (BLK* and HDIO_*) [Samuel Thibault]
- read /proc/partitions in more robust way [Karel Zak]
- remove obsolete information from man page [Karel Zak]
- remove unnecessary gettext call [Karel Zak]
- rename ENABLE_CMDTAGQ macro [Karel Zak]
- round reported sizes rather than truncate [Karel Zak]
- several strings without gettext calls [Pedro Ribeiro]
- suggest partprobe(8) and kpartx(8) when BLKRRPART failed [Vincent Deffontaines, Karel Zak]
- support "-b 4096" option [Karel Zak]
- support +cylinder notation [Karel Zak]
- use real sector size in verify() and warn_cylinders() [Karel Zak]
- warn users about 2.2TB dos partition limit [Karel Zak]
flock:
- Allow lock directory [Alexey Gladkov]
- add NLS support, remove tailing white-spaces [Karel Zak]
- fix printf format error in usage() [Karel Zak]
- segfaults when file name is not given [Karel Zak]
fsck:
- cosmetic changes (NLS, paths, ...) [Karel Zak]
- link with generic fsprobe wrapper [Karel Zak]
- move fsck from e2fsprogs to util-linux-ng [Karel Zak]
- remove  from warning message [Karel Zak]
- remove useless if-before-free tests [Karel Zak]
fsck.cramfs:
- add NLS support [Pedro Ribeiro]
- fix compiler warning [Karel Zak]
- segfault with INCLUDE_FS_TESTS and no -x option [Karel Zak]
fsck.minix:
- add regression test [Karel Zak]
getopt:
- remove unnecessary ifdefs [Karel Zak]
- remove useless if-before-free tests [Karel Zak]
hwclock:
- add --systz option to set system clock from itself [Scott James Remnant]
- always reads hardware clock [Karel Zak]
- cleanup help output and man page [Karel Zak]
- clock.h is included more than once [Karel Zak]
- delay loop in set_hardware_clock_exact [Kalev Soikonen]
- don't open /dev/rtc repeatedly [Karel Zak]
- omit warning about drift if --noadjfile given [Matthias Koenig]
- read_hardware_clock_rtc() need to return error codes [Karel Zak]
- remove "cli" and "sti" from i386 CMOS code [Karel Zak]
- remove x86_64-specific bogon [David Brownell]
- several strings without gettext calls [Pedro Ribeiro]
- unshadow a diagnostic printf [Kalev Soikonen]
- use carefully synchronize_to_clock_tick() return codes [Karel Zak]
- use time limit for synchronization busy wait [Karel Zak]
include:
- add missing files to Makefile.am [Karel Zak]
- bitops - explicitly include endian.h [Karel Zak]
- move swapheader.h to include [Matthias Koenig]
- swapheader.h is missing in Makefile.am [Karel Zak]
- use __BYTE_ORDER rather than AC specific WORDS_BIGENDIAN [Karel Zak]
ionice:
- Extend the man page to explain the "none" class and cpu-nice inheritance [Jakob Unterwurzacher]
- a little cleanup of "none" description [Karel Zak]
- add -t option [Lubomir Kundrak]
- add strtol() checks, cleanup usage text and man page [Karel Zak]
- change Jens Axboe's email [Karel Zak]
- cleanup error messages, add NLS support [Karel Zak]
- cleanup man page [Karel Zak]
- fix typo in manpage [Karel Zak]
- let -p handle multiple PIDs [Stephan Maka]
ipcmk:
- add NLS support [Karel Zak]
- fix error codes and error messages [Karel Zak]
- new command [Hayden James]
ipcs:
- adjust some field positions and widths for correct alignment [Benno Schulenberg]
- fix exit codes, remove tailing white-spaces [Karel Zak]
- ungettextize the spacing of the table headers [Benno Schulenberg]
ldattach:
- don't compile for non-linux systems [Samuel Thibault]
lib:
- add __BYTE_ORDER to md5.c [Karel Zak]
- add is_whole_disk() from fdisk code [Karel Zak]
- add pttype.c for PT types detection [Karel Zak]
- add test_ismounted for regression test [Karel Zak]
- blkdev.c clean up, non-linux support [Samuel Thibault]
- do not include <linux/fd.h> in ismounted.c [Aurelien Jarno]
- fix fsprobe wrapper (const char * is nonsense) [Karel Zak]
- fsprobe - fix gcc warning [Karel Zak]
- gcc warning in fix fsprobe [Karel Zak]
- make open_device() optional in fsprobe.c [Karel Zak]
- pttype add BSD subpartitions support [Karel Zak]
- pttype fix DOS detection [Karel Zak]
- pttype - extend the API to work with file descriptors [Karel Zak]
- wholedisk - extend API, add test program [Karel Zak]
- pttype - fix typo [Karel Zak]
logger:
- several strings without gettext calls [Pedro Ribeiro]
login:
- cleanup includes [Karel Zak]
- fix compiler warning (int32 time() arg) [Karel Zak]
- fix warning "dereferencing type-punned pointer will break strict-aliasing rules" [Karel Zak]
- remove "switching users" nonsense from man page [Karel Zak]
- use "remote" as a PAM service name for "login -h" [Karel Zak]
- use open(2) rather then access(2) for $HOME/.hushlogin [Karel Zak]
login-utils:
- several strings without gettext calls [Pedro Ribeiro]
losetup:
- add warning about read-only mode [Karel Zak]
- clean up code around LO_FLAGS_AUTOCLEAR [Karel Zak]
- cleanup man page [Karel Zak]
- detach more devices by "-d <loop> [<loop> ..]" [Karel Zak]
- looplist_* refactoring, remove scandir() [Karel Zak]
- missing EBUSY error hint message [Karel Zak]
- mount endless loop hang [Karel Zak]
- remove dependence on minor numbers [Karel Zak]
- several strings without gettext strings [Pedro Ribeiro]
- try to set up loop readonly if EACCES [Matthias Koenig]
lscpu:
- --sysroot option and stable cache output [Cai Qian]
- add Hypervisor detection [Karel Zak, Ky Srinivasan]
- new command [Cai Qian, Karel Zak]
- regression tests [Cai Qian]
- return EXIT_SUCCESS at the end [Matthias Koenig]
misc-utils:
- write include signal.h directly [maximilian attems]
mkfs.cramfs:
- add endianness support to cramfs tools [Roy Peled]
- lower memory requirements for layouts with duplicate files [Roy Peled]
- several strings without gettext calls [Pedro Ribeiro]
mkfs.minix:
- (and fsck) rename bitops.h [Karel Zak]
- add regression test [Karel Zak]
- fix size detection [Matthias Koenig]
- remove local implementation of {set,clr}bit [Karel Zak]
mkswap:
- clean up man page [Karel Zak]
- handle 2^32 pages [Hugh Dickins]
- non-linux support [Samuel Thibault]
- remove v0 swap space support [Karel Zak]
- zap bootbits [Karel Zak]
more:
- don't use a.out.h [Mike Frysinger]
- minor fixes to magic() [James Youngman]
mount:
- Add strictatime support [Matthew Garrett]
- add docs about utf8=0 for vfat [Karel Zak]
- add i_version support [Karel Zak]
- add info about /proc/mounts to mount.1 [Karel Zak]
- add info about semantics of read-only mount to mount.8 [Karel Zak]
- add info about tz=UTC option for FAT to mount.8 [Karel Zak]
- add norealtime to mount.8 [Karel Zak]
- add rootcontext= SELinux mount option [Karel Zak]
- add shortoptions for bind, move and rbind [maximilian attems]
- clean up SPEC canonicalization [Karel Zak]
- cleans up mount(8) troff markup [Sam Varshavchik]
- create separate section for fs-independent options in mount.8 [Karel Zak]
- document newinstance and ptmxmode options to devpts [Sukadev Bhattiprolu]
- finalize support of quoted LABELs/UUIDs [Karel Zak]
- fix gcc warning (variable used uninitialized) [Karel Zak]
- fix mount_static_LDADD [Karel Zak]
- fix typo [Guan Xin]
- fix typo [Karel Zak]
- fix typo in volume_id code [Karel Zak]
- generic blkid/volume_id wrapper, use blkid_evaluate_* [Karel Zak]
- inform about UID and eUID when verbose > 2 [Karel Zak]
- make file_t SELinux warning optional and shorter [Karel Zak]
- move realpath.c code to lib/ [Karel Zak]
- mtab created multiple times with -a option [Karel Zak]
- non-setuid (POSIX file capabilities) support [Karel Zak]
- remove link to namesys.com [Karel Zak]
- remove spurious newline from mount.8 [Mike Frysinger]
- remove useless if-before-free tests [Karel Zak]
- reorder list of options in mount.8 [Karel Zak]
- retry on ENOMEDIUM [Matthias Koenig]
- s/MOUNTED/_PATH_MOUNTED/ [maximilian attems]
- suggest to use blockdev --setro rather than losetup [Karel Zak]
- sundries.h add klibc support [maximilian attems]
- sync FAT info in mount.8 with Documentation/filesystems/vfat.txt [Karel Zak]
- sync tmpfs info in mount.8 with Documentation/filesystems/tmpfs.txt [Karel Zak]
- use subsections in mount.8 DESCRIPTION [Karel Zak]
- warn on "file_t" selinux context [Karel Zak]
namei:
- add --owners and --long options [Karel Zak]
- add --vertical option [Karel Zak]
- add missing options to namei.1 [Karel Zak]
- don't duplicate '/' directory [Karel Zak]
- fix buffer overflow [Karel Zak]
- new re-written version [Karel Zak]
partx:
- convert hard sector size to 512-byte sectors [Karel Zak]
- don't duplicate lib/blkdev.c code [Karel Zak]
- don't redeclare daddr_t [maximilian attems]
- use ioctls from lib/blkdev.c [Karel Zak]
pg:
- add gettext call for the help string [Karel Zak]
- several strings without gettext calls [Pedro Ribeiro]
pivot_root:
- clean up [Karel Zak]
po:
- add zh_CN.po (from translationproject.org) [Ray Wang]
- merge changes [Karel Zak]
- rewrite update-potfiles script [Karel Zak]
- update POTFILES.in [Karel Zak]
- update cs.po (from translationproject.org) [Petr Pisar]
- update fi.po (from translationproject.org) [Lauri Nurmi]
- update fr.po (from translationproject.org) [Nicolas Provost]
- update id.po (from translationproject.org) [Arif E. Nugroho]
- update ja.po (from translationproject.org) [Makoto Kato]
- update list of .c files [Karel Zak]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update vi.po (from translationproject.org) [Clytie Siddall]
raw:
- add NLS support [Pedro Ribeiro]
- default to /dev/raw/rawctl [Karel Zak]
rdev:
- cleanup includes [Karel Zak]
readprofile:
- several strings without gettext calls [Pedro Ribeiro]
renice:
- add -n option for compatibility with POSIX [Karel Zak]
rtcwake:
- add mising .RE to the man page [Karel Zak]
- cleanup return codes [Karel Zak]
- explain supported modes in rtcwake.8 [Karel Zak]
- prefer RTC_WKALM_SET over RTC_ALM_SET [Gabriel Burt]
- support not suspending [Marco d'Itri]
script:
- don't flush input when starting script [Andrew McGill]
scriptreplay:
- new implementation is out-of-sync [Karel Zak]
selinux:
- is_selinux_enabled() returns 0, 1 and -1 [Karel Zak]
setterm:
- fix -blank man page [Karel Zak]
sfdisk:
- fix Compilation Error [CAI Qian]
- fix possible buffer overflow [Karel Zak]
- print version should end with a newline [Denis ChengRq]
simmpleinit:
- fix gcc warning (buffer size in read()) [Karel Zak]
simpleinit:
- cleanup gettext calls, use snprintf() [Karel Zak]
swapon:
- -a has to complain, fix leaks [Karel Zak]
- add -f/--fixpgsz option [Karel Zak]
- add error messages for lseek and write [Karel Zak]
- add generic swap_get_header() [Karel Zak]
- add swap format detection and pagesize check [Matthias Koenig, Olaf Hering]
- cleanup man page [Karel Zak]
- do_swapon() refactoring (move stat() checks) [Karel Zak]
- do_swapon() refactoring (split into two functions) [Karel Zak]
- fix typo s/warn/warnx/ [Karel Zak]
- fix wording in man page [Karel Zak]
- rewrite SWSUSPEND signature rather than exec mkswap [Karel Zak]
- simplify spec to devname conversion [Karel Zak]
- use err.h stuff [Karel Zak]
tailf:
- unistd.h is included more than once [Karel Zak]
tests:
- add "byte-order" to helpers/test_sysinfo [Karel Zak]
- add ./run.sh <component> [Karel Zak]
- add MD5 regression test [Karel Zak]
- add fsck ismounted reg.test [Karel Zak]
- add libblkid regression tests (images from e2fsprogs) [Karel Zak]
- add lscpu(1) test for fullvirt. Xen x86_64 [Karel Zak]
- add lscpu(1) test for paravirt. Xen i386 [Karel Zak]
- add md5 regression test [Karel Zak]
- add mk-lscpu-input.sh [Karel Zak]
- add support for subdirs to basic test functions [Karel Zak]
- add support for subtests [Karel Zak]
- add swabN() regression test [Karel Zak]
- check also for /dev/loop/X [Karel Zak]
- chmod -x ts/lscpu/mk-input.sh [Karel Zak]
- clean up the testing scripts [Américo Wang]
- cleanup lscpu reg.tests [Karel Zak]
- cleanup ts/bitops [Karel Zak]
- cleanup ts/cal scripts [Karel Zak]
- cleanup ts/col scripts [Karel Zak]
- cleanup ts/cramfs/fsck-endianness [Karel Zak]
- cleanup ts/cramfs/mkfs-endianness [Karel Zak]
- cleanup ts/hwclock [Karel Zak]
- cleanup ts/ipcs [Karel Zak]
- cleanup ts/login [Karel Zak]
- cleanup ts/look [Karel Zak]
- cleanup ts/md5 [Karel Zak]
- cleanup ts/minix [Karel Zak]
- cleanup ts/mount [Karel Zak]
- cleanup ts/namei [Karel Zak]
- cleanup ts/paths [Karel Zak]
- cleanup ts/script [Karel Zak]
- cleanup ts/swapon [Karel Zak]
- create expected/$(component)/$(testname) [Karel Zak]
- create subdirs for test scripts [Karel Zak]
- detect libvolume_id when mount(8) is compiled [Karel Zak]
- disable blkid tests when blkid(8) is not compiled [Karel Zak]
- disable suid mount test [Karel Zak]
- fix -regex in run.sh [Karel Zak]
- fix TS_* paths [Karel Zak]
- fix file name is too long (max 99) - gtar [Karel Zak]
- fix output string [Karel Zak]
- fix the final message for subtests [Karel Zak]
- fix typo in low-probe test [Karel Zak]
- fix typo in lscpu test [Karel Zak]
- move some generic stuff from ts_init() to a new ts_init_env() [Karel Zak]
- refresh Makefile.am (add missing lscpu tests) [Karel Zak]
- refresh and cleanup cramfs/mkfs [root]
- refresh cal(1) expected outputs [Karel Zak]
- refresh expected mount(8) outputs [Karel Zak]
- refresh ipcs expected outputs [Karel Zak]
- remove input directory [Karel Zak]
- remove obsolete stuff from Makefile.am [Karel Zak]
- remove unexpected exit from *_subtest functions [Karel Zak]
- remove useless return value checks in testing scripts [Américo Wang]
- update namei reg.test [Karel Zak]
- we needn't blkid.sh [Karel Zak]
tools:
- add checkconfig to top-level Makefile [Karel Zak]
- add checkincludes.pl (from linux kernel) [Karel Zak]
- rename codecheck-config to checkconfig.sh [Karel Zak]
umount:
- check for overlaid mounts [Guan Xin]
- cleanup gefs_by_specdir() [Karel Zak]
- improve "-d" option for autoclear loops [Karel Zak]
- no checking mount point removal [Guan Xin]
whereis:
- include dirent.h instead sys/dir.h [maximilian attems]
write:
- doesn't check for tty group [Karel Zak]

View File

@ -0,0 +1,182 @@
Util-linux-ng 2.16 Release Notes (15-Jul-2009)
==============================================
Release highlights
------------------
libuuid, uuidgen(1) and uuidd(8):
- the libuuid library has been moved from e2fsprogs to util-linux-ng
switch_root:
- this NEW COMMAND allows to switch to another filesystem as the root
of the mount tree.
mount, umount, fsck:
- DOES NOT SUPPORT linking against obsolete libvolume_id (from udev)
libblkid:
- development files (.so, .a, ...) have been moved from /lib to /usr/lib.
Stable maintenance releases between v2.15 and v2.16
---------------------------------------------------
util-linux-ng 2.15.1 [10-Jun-2009]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15.1-ChangeLog
ChangeLog between v2.15 and v2.16
---------------------------------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.16/
build-sys:
- add --disable-libblkid, remove volume_id support [Karel Zak]
- add --disable-switch_root [Karel Zak]
- add --disable-tls [Karel Zak]
- add --disable-uuidd [Karel Zak]
- add UTIL_{SET,RESTORE}_FLAGS [Karel Zak]
- check for openat() and linux for switch_root [Karel Zak]
- cleanup libuuid stuff [Karel Zak]
- complete /libs to /shlibs rename [Karel Zak]
- enable fsck by default [Karel Zak]
- fix "make -C" bug [Karel Zak]
- fix --disable-uuidd [Karel Zak]
- fix blkid.h include for old e2fsprogs [Karel Zak]
- fix exec/data install hooks [Karel Zak]
- fix headers in mkswap and libblkid [Karel Zak]
- fix libuuid Makefile.am [Karel Zak]
- fix libuuid and libblkid version-info [Karel Zak]
- fix typo from 30688dde55f637c9b984809c685b61378b82805f [Robert Förster]
- improve $libdirname definition [Karel Zak]
- improve symlinks creation in shlibs/ [Karel Zak]
- release++ (v2.16-rc1) [Karel Zak]
- release++ (v2.16-rc2) [Karel Zak]
- rename /libs to /shlibs [Karel Zak]
- rename to _execdir [Karel Zak]
- reverse shlibs installation [Kay Sievers]
buildsys:
- move $usr{bin,sbin,lib}execdir definition to ./configure [Karel Zak]
cal:
- Highlight today even when month or year specified [Rajeev V. Pillai]
- uClibc has langinfo.h but not _NL_TIME_WEEK_1STDAY. [Tom Prince]
chrt:
- don't assume SCHED_BATCH and SCHED_IDLE exist [Aurelien Jarno]
docs:
- add missing commands/projects to AUTHORS file [Karel Zak]
- add v2.16 ReleaseNotes [Karel Zak]
- refresh TODO list [Karel Zak]
- remove example.files/rc[.local] [Karel Zak]
- remove obsolete information from fstab example [Karel Zak]
- update AUTHORS file [Karel Zak]
- update v2.16 ReleaseNotes [Karel Zak]
- update v2.16-ReleaseNotes [Karel Zak]
fdisk:
- (and cfdisk) fix to be consistent about maximum heads [Chris Webb]
- add simple test for doslabel stuff [Zdenek Behan]
hwclock:
- fix mismatched popen/fclose. [John Keeping]
include:
- clean up _PATH_DEV_* macros [Karel Zak]
- fix _PATH_DEV [Karel Zak]
ionice:
- Allow setting the none class [Jakob Unterwurzacher]
ldattach:
- add N_PPS support [Tilman Schmidt]
libblkid:
- add device-mapper snapshot cow device probe [Milan Broz]
- add install-hook for libuuid.[a,so] devel files [Karel Zak]
- add stdarg.h to blkidP.h [Karel Zak]
- blkid_do_safeprobe() has to be tolerant to RAIDs [Karel Zak]
- cleanup debug messages and return codes in blkid_do_probe() [Karel Zak]
- don't require udev symlinks verification for non-root users [Karel Zak]
- fix "hangs forever with partition type mdraid" [Karel Zak]
- fix #ifdefs readability [Karel Zak]
- fix $libdir in blkid.pc [Karel Zak]
- fix LVM1 probe [Milan Broz]
- fix reiserfs name [Karel Zak]
- make libuuid optional [Karel Zak]
- move to misc-utils/ directory [Karel Zak]
- update man page [Karel Zak]
libuuid:
- add --disable-libuuid and LIBUUID_VERSION [Karel Zak]
- add .gitignore [Karel Zak]
- add info about u-l-ng to man pages [Karel Zak]
- add install-hook for libuuid.[a,so] devel files [Karel Zak]
- Don't run uuidd if it would fail due to permission problems [Theodore Ts'o]
- fix $libdir in uuid.pc [Karel Zak]
- fix parallel building [Karel Zak]
- generate uuid_generate_{random,time}.3 man page links [Karel Zak]
- import UUID library from e2fsprogs [Karel Zak]
- Make sure fd's 0, 1, and 2 are valid before exec'ing uuidd [Theodore Ts'o]
- move clock state file from /var/lib to /var/run [Karel Zak]
libuuid, uuidd:
- Avoid infinite loop while reading from the socket fd [Theodore Ts'o]
losetup:
- add --set-capacity [Karel Zak]
- fix return codes of functions arounf is_associated() [Karel Zak]
- handle symlinks in /dev/loop/ [Mike Frysinger]
- suggest to use modprobe rather than insmod in losetup.8 [Karel Zak]
lscpu:
- fix cpuid code on x86/PIC [Mike Frysinger]
mount:
- (and fsck) remove libvolume_id support [Karel Zak]
- a little clean up info about loopdevs in man page [Karel Zak]
- add ext4 to mount.8 [Karel Zak]
- add ext4 to the list of filesystems in mount.8 [Karel Zak]
- add info about obsolete vfat options to mount.8 [Karel Zak]
- allow loop suid umount [Kay Sievers]
- cleanup notes about -l option in mount.8 [Karel Zak]
- fix undefined reference to `security_get_initial_context' [Karel Zak]
- move MS_{PROPAGATION,BIND,MOVE} detection [Karel Zak]
- use "none" fstype for MS_PROPAGATION mounts [Karel Zak]
- use TAG parsing function from libblkid [Karel Zak]
- when a remount to rw fails, quit and return an error [Valerie Aurora]
po:
- fix typo in French translation [Olivier Blin]
- merge changes [Karel Zak]
- refresh POTFILES.in [Karel Zak]
- update cs.po (from translationproject.org) [Petr Pisar]
- update fi.po (from translationproject.org) [Lauri Nurmi]
- update fr.po (from translationproject.org) [Nicolas Provost]
- update vi.po (from translationproject.org) [Clytie Siddall]
raw:
- Use the RAW_SETBIND ioctl without stat'ing the raw# file [Jeff Mahoney]
- undeprecate raw [Karel Zak]
switch_root:
- add man page [Karel Zak]
- add subroot support [Daniel Drake]
- clean up argv[] usage, add -h and -V [Karel Zak]
- do recursiveRemove after our root is moved to avoid races. [Peter Jones]
- fix coding style [Karel Zak]
- fork before cleaning up the filesystem. [Peter Jones]
- new command [Karel Zak]
- rewrite to use fstatat() and unlinkat() [Karel Zak]
- use err.h, clean up return codes [Karel Zak]
- use file descriptor instead of path for recursiveRemove() [Peter Jones]
- use snprintf() rather tan str{cpy,cat}() [Karel Zak]
tests:
- add functions for work withdisk images [Karel Zak]
- add mdraid libblkid test [Karel Zak]
- don't run some mount tests for non-root users [Karel Zak]
- fix 'delete extended partition' checksum [Karel Zak]
- fix reiserfs test [Karel Zak]
- fix script that creates lscpu dumps [Karel Zak]
- move lscpu /proc and /sys dumps to tarballs [Karel Zak]
- remove broken Xen dumps for lscpu [Karel Zak]
umount:
- clean up help output [Karel Zak]
uuidd:
- Avoid closing the server socket when calling create_daemon() [Theodore Ts'o]
- fix $PIDFILE in uuidd.rc [Karel Zak]
- init /var/run/uuidd, add option for on-demand mode to .rc file [Karel Zak]
- move uuidd files from /var/lib/libuuid to /var/run/uuidd [Karel Zak]
- move uuidd.rc to misc-utils directory [Karel Zak]
- new command (UUID daemon from e2fsprogs) [Karel Zak]
uuidgen:
- new command (from e2fsprogs) [Karel Zak]

View File

@ -0,0 +1,526 @@
Util-linux-ng 2.17 Release Notes (08-Jan-2010)
==============================================
Release highlights
------------------
fallocate:
- this NEW COMMAND is a command line interface to fallocate
Linux syscall and allows to preallocate blocks to a file.
unshare
- this NEW COMMAND is a command line interface to unshare Linux syscall
and allows to run program with some namespaces unshared from parent.
wipefs
- this NEW COMMAND is based on libblkid and allows to remove filesystem
or RAID signatures from a device.
libblkid:
- libblkid allows to gather information about block device topology,
currently supported methods are:
* ioctl - supported since kernel 2.6.32
* sysfs - supported since kernel 2.6.31
* fallback for DM, MD, LVM and EVMS on old kernels (base on code
from xfsprogs/libdisk)
The topology support is mostly designed for mkfs programs or partitioning
tools (already used in mkfs.xfs, mkex2fs, libparted and fdisk)
- libblkid supports partition tables parsing (currently supported are
aix, bsd, dos, mac, gpt, minix, sgi, solaris, sun and unixware). This
functionality is designed for mkfs programs, DeviceKits, [k]partx or so.
- libblkid API documentation is available at
http://ftp.kernel.org/pub/linux/utils/util-linux/libblkid-docs/
blockdev:
- supports all new topology ioctls
fdisk:
- the fdisk command aligns newly created partitions to minimum_io_size
boundary ("minimum_io_size" is physical sector size or stripe chunk
size on RAIDs).
- the fdisk command supports disks with alignment_offset now.
Stable maintenance releases between v2.16 and v2.17
---------------------------------------------------
util-linux-ng 2.16.1 [07-Sep-2009]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16.1-ChangeLog
util-linux-ng 2.16.2 [30-Nov-2009]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16.2-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16.2-ChangeLog
ChangeLog between v2.16 and v2.17
---------------------------------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.17/
addpart:
- addpart.8 formatting [Peter Breitenlohner]
blkid:
- add ID_FS_AMBIVALENT for udev output [Karel Zak]
- add pretty output, document -L incompatibility with e2fsprogs [Karel Zak]
- allow to use -s <TAG> for low-level probing (-p mode) [Karel Zak]
blockdev:
- add support for uint and ushort ioctls [Karel Zak]
- add topology ioctls support [Karel Zak]
- blockdev.8 formatting [Peter Breitenlohner]
- fix topology ioctls [Karel Zak]
- refactoring (better commands definition) [Karel Zak]
- use c.h [Karel Zak]
build-sys:
- add --disable-makeinstall-setuid [Karel Zak]
- add HAVE_LIBBLKID_INTERNAL [Karel Zak]
- check for pkg-config before gtk-doc [Karel Zak]
- check for union semun instead of using _SEM_SEMUN_UNDEFINED [Guillem Jover]
- clean up gtk-doc stuff [Karel Zak]
- clean up gtk-doc usage [Karel Zak]
- cleanup --disable-{fallocate,pivot_root,unshare} [Karel Zak]
- cleanup AM_CFLAGS usage [Karel Zak]
- cleanup static building [Karel Zak]
- detect if const is available [Guillem Jover]
- detect if volatile is available [Guillem Jover]
- don't distribute generated *.pc files [Karel Zak]
- don't distribute generated blkid.h [Karel Zak]
- enable silent rules if automake >= 1.11 [Guillem Jover]
- fix (official) gtk-doc.make [Karel Zak]
- fix BUILD_PIVOT_ROOT condition [Karel Zak]
- fix blkid CFLAGS in fdisk/Makefile.am [Karel Zak]
- fix out-of-source build [Karel Zak]
- release++ (v2.17-rc1) [Karel Zak]
- release++ (v2.17-rc2) [Karel Zak]
- release++ (v2.17-rc3) [Karel Zak]
- remove LT_STATIC_LDFLAGS [Karel Zak]
- remove gtkdocize from autogen.sh [Karel Zak]
- remove obsolete --with-fsprobe from distcheck flags [Karel Zak]
- rewrite TLS detection [Karel Zak]
cal:
- cal.1 formatting [Peter Breitenlohner]
- fix (harmless) typo [Peter Breitenlohner]
- fix broken computation for Sep 1752 [Peter Breitenlohner]
- remove obsolete <localeinfo.h> include [Guillem Jover]
- use c.h [Karel Zak]
cfdisk:
- cfdisk.8 formatting [Peter Breitenlohner]
- more key alternatives [Jan Sarenik]
chfn:
- chfn.1 formatting [Peter Breitenlohner]
chrt:
- use c.h [Karel Zak]
chsh:
- chsh.1 formatting [Peter Breitenlohner]
ctrlaltdel:
- ctrlaltdel.8 formatting [Peter Breitenlohner]
cytune:
- cytune.8 missing description of `-S', formatting [Peter Breitenlohner]
ddate:
- ddate.1 formatting [Peter Breitenlohner]
delpart:
- delpart.8 formatting [Peter Breitenlohner]
dmesg:
- add -r to help output [Karel Zak]
- dmesg.1 formatting [Peter Breitenlohner]
- fix typo in man page [Ken Kopin]
docs:
- README width and language correction [Jan Sarenik]
- add 'unshare' and 'wipefs' to AUTHORS [Karel Zak]
- add LGPLv2+ to list of licenses [Karel Zak]
- add ngettext() into TODO file [Karel Zak]
- add v2.17 ReleaseNotes [Karel Zak]
- update "The Perfect Patch" URL [Karel Zak]
- update AUTHORS file [Karel Zak]
- update TODO [Karel Zak]
- update TODO file [Karel Zak]
- update TODO list [Karel Zak]
- update v2.17 ReleaseNotes [Karel Zak]
elvtune:
- elvtune.8 formatting [Peter Breitenlohner]
fallocate:
- check for ERANGE errors [Karel Zak]
- new command [Karel Zak, Eric Sandeen]
fdformat:
- fdformat.8 formatting [Peter Breitenlohner]
- fix memory leak in verify_disk() [Cristian Rodríguez]
fdisk:
- add basic routines for LBA alignment [Karel Zak]
- add regression test listing empty/nonsense images [Zdenek Behan]
- align end of partition when defined by +size{K,M,G} [Karel Zak]
- check for partition boundary [Karel Zak]
- fdisk.8 formatting [Peter Breitenlohner]
- fix strict-aliasing bugs [Karel Zak]
- offer aligned first sector [Karel Zak]
- print info and recommendations about alignment [Karel Zak]
- read topology info from libblkid [Karel Zak]
- sgi label - remove duplicate swab16swab[16,32]() definitions [Karel Zak]
- sleep-after-sync and fsync usage [Karel Zak]
- use c.h [Karel Zak]
- use minimal_io_size for the first partition [Karel Zak]
findfs:
- fix typo in findfs.8 [Karel Zak]
flock:
- fix hang when parent ignores SIGCHLD [Mike Frysinger]
fsck:
- document fsck behavior wrt nofail option and fstype 'auto' [Ludwig Nussel]
- fsck.8 formatting [Peter Breitenlohner]
- honor nofail option in fsck [Ludwig Nussel]
fsck.minix:
- fix broken zone checking [Karel Zak]
- fix strict-aliasing bugs [Karel Zak]
- fsck.minix.8 formatting [Peter Breitenlohner]
fstab:
- fstab.5 formatting [Peter Breitenlohner]
getopt:
- getopt.1 formatting [Peter Breitenlohner]
hexdump:
- bug in hexdump when offset == file length [Américo Wang]
- hexdump.1 erroneous .Nm "" [Peter Breitenlohner]
hwclock:
- do not access hardware clock when using --systz [Scott James Remnant]
- hwclock.8 formatting [Peter Breitenlohner]
- set kernel timezone with --systz --utc [Scott James Remnant]
- use c.h [Karel Zak]
- use time limit for KDGHWCLK busy wait [Karel Zak]
include:
- add c.h with fundamental C definitions [Karel Zak]
- use c.h in canonicalize.h [Karel Zak]
initctl:
- fix strict-aliasing bugs [Karel Zak]
- initctl.8 formatting [Peter Breitenlohner]
ionice:
- add a note about none class and CFQ [Karel Zak]
- ionice.1 formatting [Peter Breitenlohner]
ipcmk:
- ipcmk.1 formatting [Peter Breitenlohner]
ipcrm:
- ipcrm.1 formatting [Peter Breitenlohner]
ipcs:
- ipcs.1 formatting [Peter Breitenlohner]
- use __GLIBC__ instead of obsolete __GNU_LIBRARY__ [Guillem Jover]
isosize:
- isosize.8 formatting [Peter Breitenlohner]
kill:
- kill.1 formatting [Peter Breitenlohner]
- use c.h [Karel Zak]
last:
- fix utmp.ut_time usage [Karel Zak]
- last.1 formatting [Peter Breitenlohner]
ldattach:
- ldattach.8 formatting [Peter Breitenlohner]
- use c.h [Karel Zak]
lib:
- add a generic crc32() [Karel Zak]
- bug (typo) in function MD5Final() [Karel Zak]
- fix file descriptor leak in is_mounted() [Theodore Ts'o]
- fix lib/Makefile.am (remove pttype.c) [Karel Zak]
- import whole ismounted.c code from e2fsprogs [Karel Zak]
- remove pttype.c [Karel Zak]
libblkid:
- DRBD support for blkid [Bastian Friedrich]
- add *.ko.gz support to modules.dep parser [Karel Zak]
- add AIX partitions support [Karel Zak]
- add BLKID_SUBLKS_* flags [Karel Zak]
- add BLKID_{VERSION,DATE} to blkid.h [Karel Zak]
- add BSD partitions support [Karel Zak]
- add DM topology support (for old kernels) [Karel Zak]
- add EFI GPT partitions support [Karel Zak]
- add EVMS topology support (for old kernels) [Karel Zak]
- add LVM topology support (for old kernels) [Karel Zak]
- add MAC partitions support [Karel Zak]
- add MD topology support (for old kernels) [Karel Zak]
- add MINIX partitions support [Karel Zak]
- add MS-DOS partitions support [Karel Zak]
- add SGI partitions support [Karel Zak]
- add SOLARIS-X86 partitions support [Karel Zak]
- add SUN partitions support [Karel Zak]
- add UBI volume support [Corentin Chary]
- add UBIFS support [Corentin Chary]
- add UNIXWARE partitions support [Karel Zak]
- add a probe for bfs [Christoph Hellwig]
- add blkid_devno_to_wholedisk() [Karel Zak]
- add blkid_driver_has_major() [Karel Zak]
- add blkid_new_probe_from_filename() [Karel Zak]
- add blkid_partition_get_type_string() [Karel Zak]
- add blkid_probe_get_{size,sectorsize,devno} [Karel Zak]
- add blkit_[un]ref() to TODO [Karel Zak]
- add chain structs [Karel Zak]
- add functions for chain tags [Karel Zak]
- add generic filter functions [Karel Zak]
- add generic function for binary data [Karel Zak]
- add missing comments [Karel Zak]
- add missing comments to probe.c [Karel Zak]
- add missing packed attributes [Karel Zak]
- add mkfs sample [Karel Zak]
- add note about UUID_SUB, increment number of superblock values [Karel Zak]
- add partitions filter routines [Karel Zak]
- add partitions parsing support [Karel Zak]
- add partitions sample [Karel Zak]
- add private blkid_topology_set_*() functions [Karel Zak]
- add samples/topology.c [Karel Zak]
- add sector size funcs to blkid.h.in [Karel Zak]
- add superblocks chain [Karel Zak]
- add superblocks filter functions [Karel Zak]
- add superblocks.c sample [Karel Zak]
- add support for SBMAGIC and SBMAGIC_OFFSET [Karel Zak]
- add support for VMFS (VMware File System) [Mike Hommey]
- add support for topology ioctls [Karel Zak]
- add test cases for VMFS [Mike Hommey]
- add topology support [Karel Zak]
- allow linking with uClibc [Daniel Mierswa]
- allow to change dimension of probing area [Karel Zak]
- allow to read in sectors [Karel Zak]
- allows more probing methods for topology chain [Karel Zak]
- announce Joliet extension [Maxim Levitsky]
- cleanup blkid_probe_set_device() [Karel Zak]
- cleanup topology fallback [Karel Zak]
- convert GPT partition LBA to 512-byte sectors [Karel Zak]
- cosmetic change in topology sample [Karel Zak]
- create a generic blkid_encode_to_utf8() [Karel Zak]
- create a generic blkid_unparse_uuid() [Karel Zak]
- does not return useless binary data [Karel Zak]
- don't return empty LABELs [Karel Zak]
- don't scan private /dev/.udev directory [Karel Zak]
- fix Adaptec RAID detection [Karel Zak]
- fix FALSE definition [Karel Zak]
- fix FAT super block definition [Lawrence Rust]
- fix NTFS non-ASCII labels [Karel Zak]
- fix UFS detection [Karel Zak]
- fix blkid_devno_to_wholedisk() [Karel Zak]
- fix blkid_do_probe() to work properly with chains [Karel Zak]
- fix blkid_fstatat() code [Karel Zak]
- fix blkid_probe_set_utf8label() call for Joliet [Karel Zak]
- fix buffer overflow in blkid_encode_string() [Florian Zumbiehl]
- fix cache->probe memory leak [Karel Zak]
- fix ext2 detection on systems with ext4 only [Karel Zak]
- fix gcc warning (warn_unused_result) [Karel Zak]
- fix highpoint37x detection [Karel Zak]
- fix non-magic FAT detection [Karel Zak]
- fix probing for binary interface [Karel Zak]
- fix segfault in blkid_do_probe() [Karel Zak]
- fix the default cache file path [Karel Zak]
- fix topology information values [Eric Sandeen]
- fix typo (swsupend -> swsuspend) [Karel Zak]
- fix typo s/Hihg/High/ [Jim Meyering]
- fix warning message in mkfs sample [Karel Zak]
- gtkdocize (API docs generated by gtk-docs) [Karel Zak]
- minor changes to dm topology code [Karel Zak]
- minor changes to samples [Karel Zak]
- minor fix in topology sample [Karel Zak]
- move FS/raid stuff to superblocks directory [Karel Zak]
- move blkid_known_fstype() to superblocks.c [Karel Zak]
- move filter macros to header file [Karel Zak]
- prefer ISO9660 PVD Label to Joliet Label [Karel Zak]
- properly reset position in probing chains [Karel Zak]
- refresh blkid.{h,sym} [Karel Zak]
- remove duplicate debug message [Karel Zak]
- remove superblock functions from probe.c [Karel Zak]
- rename highpoint RAIDs to hpt{37,45}x_raid_member [Karel Zak]
- return first detected crypto device [Scott James Remnant]
- topology - add logical and physical sector size [Karel Zak]
- topology - ignore non-blockdevs [Karel Zak]
- trim tailing whitespace from unicode LABELs [Karel Zak]
- update docs/.gitignore [Karel Zak]
- use BLKSSZGET for GPT sectors [Karel Zak]
- use blkid_new_probe_from_filename() in docs [Karel Zak]
- use c.h [Karel Zak]
- use c.h in samples [Karel Zak]
- use chains in blkid_do_{safe,full,}_probe() [Karel Zak]
- use chains in prober (de)initialization [Karel Zak]
- use fstatat(), improve readdir() usage [Karel Zak]
- use private {lookup,get}_value functions [Karel Zak]
- use superblock filter functions [Karel Zak]
- use superblocks.h [Karel Zak]
- use the new API in whole u-l-ng [Karel Zak]
libuuid:
- remove .UE macro from libuuid man pages. [Milan Broz]
line:
- remove deprecated #ident directive [Karel Zak]
losetup:
- losetup.8 formatting [Peter Breitenlohner]
- remove unused macro [Karel Zak]
lscpu:
- add {32,64}-bit CPU modes detection [Karel Zak]
- lscpu.1 formatting [Peter Breitenlohner]
mcookie:
- mcookie.1 formatting [Peter Breitenlohner]
mesg:
- mesg.1 formatting [Peter Breitenlohner]
mkfs:
- mkfs.8 incomplete sentence and formatting [Peter Breitenlohner]
mkfs.bfs:
- mkfs.bfs.8 formatting [Peter Breitenlohner]
mkfs.cramfs:
- fix gcc warning (incompatible pointer type) [Karel Zak]
mkfs.minix:
- fix strict-aliasing bugs [Karel Zak]
- mkfs.minix.8 formatting [Peter Breitenlohner]
mkswap:
- fix memory leaks, cleanup check_blocks() [Karel Zak]
- mkswap.8 formatting [Peter Breitenlohner]
- restore device argument in mkswap.8 synopsis [Peter Breitenlohner]
- unbreak -c ("check") option. [Peter De Wachter]
- use libblkid to detect PT [Karel Zak]
more:
- limited line buffer length results in corrupted UTF-8 text [Karel Zak]
- more.1 formatting [Peter Breitenlohner]
mount:
- add --no-canonicalize option [Karel Zak]
- add a note about /dev/disk/by-* to mount.8 [Karel Zak]
- add a note about bind-dir remounts [Karel Zak]
- add info about ext{3,4} barriers to mount.8 [Karel Zak]
- add long options to mount.8 [Karel Zak]
- add squashfs to mount.8 [Karel Zak]
- add ubifs to the mount.8 man page [Sebastian Andrzej Siewior]
- and libblkid covert /dev/dm-N to /dev/mapper/<name> [Karel Zak]
- better --move description [Karel Zak]
- check for unsuccessful read-only bind mounts [Karel Zak]
- disable --no-canonicalize for non-root users [Karel Zak]
- document changed semantics of tmpfs size option in mount.8 [kevin.granade@gmail.com]
- fix mount.8, xfs attr2 is enabled by default [Karel Zak]
- fix reference to samba-client in mount.8 [Karel Zak]
- fix typo in mount.8 [Karel Zak]
- mention mtab for single mount point mount in mount.8 [Peter Volkov]
- more explicitly explain 'strictatime' in mount.8 [Karel Zak]
- more verbose "mount only root can do that" message [Karel Zak]
- mount.8 formatting [Peter Breitenlohner]
- move info about devices to the top of mount.8 [Karel Zak]
- update list of pseudo filesystems [Karel Zak]
namei:
- better mount points detection [Karel Zak]
- fix alone symlink evaluation [Karel Zak]
- gater information about / (root) [Karel Zak]
- namei.1 formatting [Peter Breitenlohner]
- use c.h [Karel Zak]
newgrp:
- newgrp.1 formatting [Peter Breitenlohner]
- use c.h, remove tailing whitespace [Karel Zak]
partx:
- partx.8 formatting [Peter Breitenlohner]
- use c.h [Karel Zak]
- work properly with 512 sectors (dos PT) [Karel Zak]
pg:
- command enters infinite loop [Mike Frysinger]
- compiler warning with NLS disabled [Peter Breitenlohner]
- pg.1 formatting [Peter Breitenlohner]
pivot_root:
- pivot_root.8 formatting [Peter Breitenlohner]
po:
- fix grammar glitch in german translation [Hendrik Lönngren]
- fix msgid bugs [Karel Zak]
- merge changes [Karel Zak]
- update POTFILES.in [Karel Zak]
- update cs.po (from translationproject.org) [Petr Pisar]
- update eu.po (from translationproject.org) [Mikel Olasagasti Uranga]
- update eu.po (from translationproject.org) [Mikel Olasagasti]
- update fi.po (from translationproject.org) [Lauri Nurmi]
- update fr.po (from translationproject.org) [Nicolas Provost]
- update id.po (from translationproject.org) [Arif E. Nugroho]
- update ja.po (from translationproject.org) [Makoto Kato]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update po/POTFILES.in [Karel Zak]
- update vi.po (from translationproject.org) [Clytie Siddall]
- update zh_CN.po (from translationproject.org) [Ray Wang]
rdev:
- rdev.8 formatting [Peter Breitenlohner]
readprofile:
- readprofile.1 formatting [Peter Breitenlohner]
rename:
- rename.1 formatting [Peter Breitenlohner]
renice:
- renice.1 formatting [Peter Breitenlohner]
reset:
- reset.1 formatting [Peter Breitenlohner]
rtcwake:
- add S5 support [Karel Zak]
- ignore the tm_isdst field returned from the RTC [Paul Fox]
- rtcwake.8 formatting [Peter Breitenlohner]
scriptreplay:
- fix typo in error message [Karel Zak]
- scriptreplay.1 formatting [Peter Breitenlohner]
setarch:
- setarch.8 formatting [Peter Breitenlohner]
setsid:
- setsid.1 formatting [Peter Breitenlohner]
setterm:
- setterm.1 formatting [Peter Breitenlohner]
- use c.h, remove tailing whitespace [Karel Zak]
sfdisk:
- confused about disk size [Karel Zak]
- dump has to be $LANG insensitive [Karel Zak]
- sfdisk.8 formatting [Peter Breitenlohner]
- use c.h, remove obsolete #ifdefs [Karel Zak]
shutdown:
- shutdown.8 formatting [Peter Breitenlohner]
simpleinit:
- simpleinit.8 formatting [Peter Breitenlohner]
swapon:
- fix typo on swapon.8 manpage [Florentin Duneau]
- handle <=linux-2.6.19 bug in /proc/swaps [Mike Frysinger]
- more robust progname probing [Karel Zak]
- swapon.8 formatting [Peter Breitenlohner]
switch_root:
- add note about subroots to switch_root.8 [Karel Zak]
- remove TIOCSCTTY and setsid() [Karel Zak]
- switch_root.8 formatting [Peter Breitenlohner]
tailf:
- fix printf format [Mike Frysinger]
- report inotify_add_watch() problems [Karel Zak]
tests:
- add BFS libblkid regression test [Karel Zak]
- add NTFS blkid test [Karel Zak]
- add UBIFS test image to blkid test suite [Corentin Chary]
- add UFS test image for libblkid [Karel Zak]
- add VIA RAID test image for libblkid [Karel Zak]
- add adaptec RAID test [Karel Zak]
- add blkid regression tests for ISO9660 [Karel Zak]
- add hpt37x RAID test [Karel Zak]
- add hpt45x RAID test [Karel Zak]
- add isw RAID test [Karel Zak]
- add jmicron RAID test [Karel Zak]
- add lsi RAID test [Karel Zak]
- add nvidia RAID test [Karel Zak]
- add partitions probing test [Karel Zak]
- add promise RAID test [Karel Zak]
- add silicon RAID test [Karel Zak]
- fdisk doslabel test also checks changing partition type [Zdenek Behan]
- fdisk doslabel test also checks setting partition active [Zdenek Behan]
- refresh GPT regression test [Karel Zak]
- refresh lscpu tests [Karel Zak]
- remove vol_id from tests [Karel Zak]
- rename blkid/images to blkid/images-fs [Karel Zak]
- swapon workaround for libtool wrapper [Karel Zak]
- test for basic functionality of sun labels [Zdenek Behan]
- update fsck.ismounted test [Karel Zak]
tunelp:
- tunelp.8 formatting [Peter Breitenlohner]
ul:
- ul.1 erroneous .SH instead of .Sh [Peter Breitenlohner]
umount:
- add --no-canonicalize [Karel Zak]
- umount.8 command line for umount helpers, formatting [Peter Breitenlohner]
unshare:
- new command [Mikhail Gusarov]
uuidd:
- uuidd.8 formatting [Peter Breitenlohner]
uuidgen:
- uuidgen.1 formatting [Peter Breitenlohner]
vipw:
- vipw.8 remove erroneous empty line, formatting [Peter Breitenlohner]
whereis:
- whereis.1 formatting [Peter Breitenlohner]
wipefs:
- fix coding style [Karel Zak]
- new command [Karel Zak]
- remove obsolete comment [Karel Zak]
write:
- write.1 formatting [Peter Breitenlohner]

View File

@ -0,0 +1,468 @@
Util-linux-ng 2.18 Release Notes
================================
The util-linux-ng package does not contain rdev(8), ramsize(8),
vidmode(8) and rootflags(8) anymore.
The fdisk(8) command does not use DOS-compatible mode and cylinders as display
units by default. The old deprecated DOS behavior could be enabled by 'c' and
'u' fdisk commands or from command line by '-c=dos -u=cylinders' options.
Release highlights
------------------
libmount:
- this NEW LIBRARY is designed to be used in low-level utils like
mount(8) and /sbin/mount.<type> helpers as well as in some other
projects.
- the library API is still officially unstable. The library provides
fstab, mtab and mountinfo parser, routines for work with parsed
data and mount options, mtab locking, etc. The high-level API for
mount(2) is planned for the next major release. For more details see:
http://thread.gmane.org/gmane.linux.utilities.util-linux/3239
- the utils like mount(8) or umount(8) are not linked with the library
yet. This change is planned for util-linux-ng-2.19.
findmnt(8):
- this NEW COMMAND is a command line interface to the libmount library
for work with mountinfo, fstab and mtab files
fsfreeze(8):
- this NEW COMMAND is very simple wrapper around FIFREEZE/FITHAW ioctls
swaplabel(8):
- this NEW COMMAND allows to change swaparea UUID and label
blkid(8):
- supports new command line option "-i" to print I/O Limits
- supports new command line option "-n" to restrict probing functions to
defined list of superblock types (names).
- returns details from partition table (type, flags, uuid, ...)
chrt(1):
- supports new command line option "-R/--reset-on-fork" to enable
SCHED_RESET_ON_FORK flag
fdisk(8):
- supports new command line option "-c" to switch off DOS mode
- uses 1MiB offset for the first partition
(all these changes are already in the release 2.17.2)
hwclock(8):
- supports new command line option "--predict" to predict what the RTC will
read at time given by the --date option based on the adjtime file.
ldattach(8):
- supports new command line option "-i/--iflag" to sets the specified bits
in the c_iflag word of the serial line.
fallocate(1), losetup(8) and mount(8):
- the options --offset, --length or --sizelimit support suffixes
(MiB, GiB, ...) and hex numbers
umount(8):
- supports new command line option "--fake" to avoid umount(2) syscall
Stable maintenance releases between v2.17 and v2.18
---------------------------------------------------
util-linux-ng 2.17.1 [22-Feb-2010]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17.1-ChangeLog
util-linux-ng 2.17.2 [22-Mar-2010]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17.2-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17.2-ChangeLog
Changes between v2.17 and v2.18
-------------------------------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.18/
addpart:
- use atoll() for parsing command line arguments [Thomas Fehr]
blkid:
- add \n to the "-o udev" output when probe more devices [Karel Zak]
- add 'export' output format [Karel Zak]
- add -i option to print I/O limits [Karel Zak]
- add -n <list> option [Karel Zak]
- add newline when only one value is printed [Karel Zak]
- cleanup -u <list> parsing [Karel Zak]
- cleanup man page [Karel Zak]
- encode PART_ENTRY_TYPE [Karel Zak]
- export ID_PART_ENTRY_* variables for udev [Karel Zak]
- fix #ifdef HAVE_TERMIO[S]_H [Karel Zak]
- fix blkid_probe_lookup_value() usage [Karel Zak]
- improve RAIDs and tiny devices probing [Karel Zak]
- probe for PT, don't probe for FS on small whole-disks [Karel Zak]
- remove _ENC from ID_PART_ENTRY_{NAME,TYPE} variables [Karel Zak]
- remove duplicate option from man page [Karel Zak]
- report open() errors in low-level probing [Karel Zak]
- support suffixes for -O <offset> and -S <size> [Karel Zak]
- update man page/usage() [Karel Zak]
blockdev:
- reduce usage text width [Francesco Cosoleto]
build-sys:
- add missing tests for libuuid and libblkid [Karel Zak]
- cleanup lib{mount,blkid} building [Karel Zak]
- improved check for fallocate() [Yann Droneaud]
- minor changes for GNU/Hurd [Samuel Thibault]
- release++ (v2.18-rc1) [Karel Zak]
- release++ (v2.18-rc2) [Karel Zak]
- remove duplicate #includes [Karel Zak]
- replace ../ with $top_srcdir [Karel Zak]
- update include/Makefile.am [Karel Zak]
- use include/list.h [Karel Zak]
cal:
- factor out and update multibyte alignment code [Pádraig Brady]
- fix first day of the week calculation on BE systems [Karel Zak]
- remove unnecessary info from man page [Karel Zak]
cfdisk:
- fix warning implicit declaration of function wcwidth [Karel Zak]
- set '[New]' as default item on menu for non allocated space instead of '[Help]'. [Francesco Cosoleto]
- set '[Quit]' as default menu item on first run instead of '[Bootable]'. [Francesco Cosoleto]
- support non-ascii characters in input [Karel Zak]
- use libblkid [Matthias König]
chrt:
- add --reset-on-fork [Karel Zak]
- add --verbose to man page, correct -V for --version, alphabetize [Benno Schulenberg]
- add support for SCHED_RESET_ON_FORK [Adrian Knoth]
- change two messages into four translatable sentences [Benno Schulenberg]
- slice help text into manageable chunks for translators [Benno Schulenberg]
docs:
- fix umount --fake note in ReleaseNotes [Karel Zak]
- update ReleaseNotes [Karel Zak]
- update AUTHORS file [Karel Zak]
- update TODO [Karel Zak]
- update TODO file [Karel Zak]
- update tests/README [Karel Zak]
- update v2.18 ReleaseNotes [Karel Zak]
fallocate:
- check for number of arguments [Karel Zak]
- support suffixes for --offset and --length [Karel Zak]
fdisk:
- add -c option (switch off DOS mode) [Karel Zak]
- cleanup alignment, default to 1MiB offset [Karel Zak]
- cleanup help, add -h option [Karel Zak]
- cleanup warnings [Karel Zak]
- correctly truncate and align translated partition names [Pádraig Brady]
- disable DOS mode and cylinders by default [Karel Zak]
- don't check alignment_offset against geometry [Karel Zak]
- don't include scsi.h [Karel Zak]
- don't use 1MiB grain on small devices [Karel Zak]
- extend -c and -u options to support old DOS stuff [Karel Zak]
- fallback for topology values [Karel Zak]
- fix 'p' output for sun label [Karel Zak]
- fix -b <sectorsize> [Karel Zak]
- fix ALIGN_UP [Karel Zak]
- fix check_alignment() [Karel Zak]
- fix default first sector [Karel Zak]
- improve 'move begin of partition' command [Karel Zak]
- improve add partition dialog [Karel Zak]
- improve the description of -c and -u options on man page [Benno Schulenberg]
- remove erroneous <size> argument from -u option in help text [Benno Schulenberg]
- replace bzero with memset [Jon Ringle]
- swap VTOC values for warning messages [Karel Zak]
- untangle the reporting of deprecated mode and unit [Benno Schulenberg]
- use "optimal I/O size" in warnings [Karel Zak]
- use 1MiB offset and grain always when possible [Karel Zak]
- use more elegant way to count and check alignment [Karel Zak]
- use optimal_io_size [Karel Zak]
findmnt:
- add man page [Karel Zak]
- add new command [Karel Zak]
- add tree support [Karel Zak]
- add {fs,vfs}-options columns [Karel Zak]
- don't swap source and target for tags [Karel Zak]
- minor coding style fixes [Karel Zak]
- move from /sbin to /bin [Karel Zak]
- rewrite to use lib/tt.c [Karel Zak]
- small change in usage() [Karel Zak]
- ungettextize the directions and fix spelling [Benno Schulenberg]
fsck:
- fix typo in fsck.8 [Francesco Cosoleto]
fsck/mkfs/mount:
- unify default search paths for helpers [Mike Frysinger]
fsfreeze:
- new command [Hajime Taira]
git:
- ignore index files generated by ctags and cscope [Petr Uzel]
hwclock:
- add --predict for predicting RTC reading at a given time [Timo Juhani Lindfors]
include:
- add min/max macros [Karel Zak]
- move shlibs/.../list.h to the include/ directory [Karel Zak]
ionice:
- fix typo [Pierre Hauweele]
- non-cryptic error message when ionice can't execvp [Ævar Arnfjörð Bjarmason]
ipcrm:
- remove redundant message in case of invalid option [Francesco Cosoleto]
ipcs:
- add missing "PIDs" to related shared memory header text [Francesco Cosoleto]
- advise translators a different output format [Francesco Cosoleto]
- get rid of colons from header strings for consistency [Francesco Cosoleto]
- reorganize help and usage texts [Francesco Cosoleto]
ldattach:
- add --iflag command line option [Tilman Schmidt]
- create a generic functions for name=value tables [Karel Zak]
- prints help to stdout [Karel Zak]
lib:
- add #ifndef around min() max() macros [Karel Zak]
- add fallback for libc (uClibc) without CPU_ALLOC [Karel Zak]
- add mangle.c for mtab (fstab or swaps) encoding [Karel Zak]
- add strtosize() function [Karel Zak]
- add tt.c (Tree and Table output) [Karel Zak]
- avoid compilation failure on rawhide [Jim Meyering]
- fix blkdev_find_size() [Karel Zak]
- remove unwanted debug messages [Karel Zak]
- tt.c don't print header for empty table [Karel Zak]
- tt.c - fix minimal width of column [Karel Zak]
- use fstat() as fallback in blkdev_get_size() [Karel Zak]
libblkid:
- Add initial support for BeFS detection [Jeroen Oortwijn]
- Add probing function for BeFS [Jeroen Oortwijn]
- add PART_ENTRY_{SCHEME,NUMBER} [Karel Zak]
- add blkid_openat(), cleanup blkid_fstatat() [Karel Zak]
- add blkid_partition_set_type() [Karel Zak]
- add blkid_partlist_get_table() [Karel Zak]
- add blkid_probe_all_removable() [Karel Zak]
- add blkid_probe_get_{offset,fd} functions [Karel Zak]
- add exFAT file system detection support [Andrew Nayenko]
- add generic functions for sysfs attributes [Karel Zak]
- add microsecond resolution for cache entries [Karel Zak]
- add minimal sizes for OCFS and GFS [Karel Zak]
- add mnt_iter_get_direction() [Karel Zak]
- add partial support for superblock binary API [Karel Zak]
- add paths and tags cache [Karel Zak]
- add sanity checks for FAT to DOS PT parser [Karel Zak]
- add support for PART_ENTRY_* values [Karel Zak]
- add support for partition flags/attributes [Karel Zak]
- add ultrix PT support [Karel Zak]
- avoid probing CDs for RAID [M.S.Colclough]
- call read() per FAT root dir entry [Karel Zak]
- cleanup fstat() usage [Karel Zak]
- cleanup some docs [Karel Zak]
- cleanup superblocks_safeprobe() [Karel Zak]
- cleanup usage of empty topology values [Karel Zak]
- disable read-ahead when probing device files [Linus Torvalds]
- don't call read() per FAT dir-entry on large disks [Karel Zak]
- don't gather PART_ENTRY_* values for binary interface [Karel Zak]
- don't probe for GPT and Unixware PT on floppies [Karel Zak]
- don't probe for nested PT on tiny disks (<=1.44MiB) [Karel Zak]
- don't return error on empty files [Karel Zak]
- don't use fstat() in blkid_get_dev_size() [Karel Zak]
- export functions to get whole-disk devno [Karel Zak]
- fix 'partno' usage [Karel Zak]
- fix LUKS version [Karel Zak]
- fix ZSF detection [Andreas Dilger]
- fix blkid_partlist_devno_to_partition() for extended partitions [Karel Zak]
- fix collision between RAID and PT probing [Karel Zak]
- fix display of device size [Karel Zak]
- fix infinite loop when probe chain bails out early [Colin Watson]
- fix readline usage [Karel Zak]
- fix segfault in drdb [Matthias König]
- fix some typos [Milan Broz]
- improbe DDF detection [Karel Zak]
- improve MD 0.90 detection [Karel Zak]
- improve MD 0.90.0 detection (use sb->size) [Karel Zak]
- improve MD 1.0 detection, add UUID_SUB [Karel Zak]
- improve Sun VTOC [Karel Zak]
- improve ZFS detection and add LABEL and UUID extraction [Andreas Dilger]
- minor fixes in befs.c [Karel Zak]
- more robust minix probing [Karel Zak]
- optimize UDF label reading [Karel Zak]
- prevent overflow in BeFS [Jeroen Oortwijn]
- probe for (non-linux) RAIDs on whole devices only [Karel Zak]
- read whole SB buffer (69kB) on large disks [Karel Zak]
- read() optimization for small devices [Karel Zak]
- remove "0x" prefix from DRBD UUID [Karel Zak]
- reset BLKID_TINY_DEV flag in blkid_probe_set_device [Pascal Terjan]
- reset superblocks result after error [Karel Zak]
- restrict RAID/FS proving for small devices (1.4MiB) [Karel Zak]
- rewrite blkid_probe_get_buffer() [Karel Zak]
- set correct offsets for TuxOnIce signature [Chow Loong Jin]
- set minimal size for jfs, reiser, swap and zfs [Karel Zak]
- support alignment_offset=-1 [Karel Zak]
- tiny change in debug output [Karel Zak]
- export magic strings from raids [Karel Zak]
- move getsize.c code to lib/ [Karel Zak]
libmount:
- add #warning libmount API is not stable yet! [Karel Zak]
- add basic dirs [Karel Zak]
- add basic utils [Karel Zak]
- add debug support [Karel Zak]
- add docs [Karel Zak]
- add fstab/mtab/mountinfo lookup routines [Karel Zak]
- add fstab/mtab/mountinfo parsing routines [Karel Zak]
- add list routines and generic iterator [Karel Zak]
- add mnt_cache_find_tag_value() [Karel Zak]
- add mnt_entry [Karel Zak]
- add mnt_match_{fstype,options} functions [Karel Zak]
- add mnt_optstr_* functions [Karel Zak]
- add mtab locking code [Karel Zak]
- add new debug messages [Karel Zak]
- add optls (options container) [Karel Zak]
- add support for userdata and work with VFS tree [Karel Zak]
- add test_version [Karel Zak]
- add version.c [Karel Zak]
- another Makefile.am fix [Karel Zak]
- cleanup cache flags and debug messages [Karel Zak]
- cleanup docs [Karel Zak]
- don't build tests by default [Karel Zak]
- export mnt_init_debug() [Karel Zak]
- fix Makefile.am [Karel Zak]
- fix mnt_fs_match_source() [Karel Zak]
- fix name of mnt_fs_get_*_optstr() [Karel Zak]
- fix some gtkdoc warnings [Karel Zak]
- merge vfs and fs options more carefully [Karel Zak]
- proper tests definition in Makefile.am [Karel Zak]
- read devno, ID and parent ID from /proc/self/mountinfo [Karel Zak]
- remove mnt_open_device() [Karel Zak]
- rename mnt_optls_iterate_options() [Karel Zak]
- update symbols table [Karel Zak]
- use mangle function from lib/ [Karel Zak]
logger:
- add note about 'kern' to the man page [Karel Zak]
login:
- check that after tty reopen we still work with a terminal [Karel Zak]
- don't link PAMed version with libcrypt [Karel Zak]
- use fd instead of pathname for update tty's owner and permissions [Yann Droneaud]
losetup:
- support suffixes and hex numbers for --offset and --sizelimit [Karel Zak]
lscpu:
- add CPU_EQUAL_S definition for old/obscure libc [Karel Zak]
- cleanup path_scanstr() [Karel Zak]
- cleanup used names [Karel Zak]
- fix CPU_EQUAL_S macro [Karel Zak]
- fix cpuid opcode detection [Henne Vogelsang]
- fix typo in lscpu.1 [Francesco Cosoleto]
- fix typo, "faild" to "failed" [Benno Schulenberg]
- gettextize "CPU(s)" [Francesco Cosoleto]
- improve --sysroot code [Karel Zak]
- replace LC_MESSAGES with LC_ALL in setlocate() [Francesco Cosoleto]
- use cpuset masks, read data for all CPUs [Karel Zak]
messages:
- gettextize a few skipped or forgotten ones [Benno Schulenberg]
mkswap:
- add a note that -p is uncecessary [Karel Zak]
- don't call blkdev_find_size() [Karel Zak]
- don't use too small user-specified page size [Karel Zak]
- fixed strtoll() usage [Yann Droneaud]
- more robust strtoull() usage [Karel Zak]
- move write_all() to include/writeall.h [Karel Zak]
- tweak the man page [Benno Schulenberg]
- use calloc(), remove obsolete v1 header usage [Karel Zak]
- zap bootbits on regular files [Karel Zak]
mount:
- add notes about -o remount,ro,bind to mount.8 [Karel Zak]
- advise users to use "modprobe", not "insmod" [Karel Zak]
- automatically detect and loop-mount regular files [Karel Zak]
- detect when kernel silently adds MS_RDONLY flag [Petr Uzel]
- don't create loopdev for MS_BIND [Karel Zak]
- fix coding style [Karel Zak]
- fix information about XFS log buffers in mount.8 [Christoph Hellwig]
- fix memory leak [Petr Uzel]
- fix typo in comment [Petr Uzel]
- fix typos in mount.8 [Petr Uzel]
- more explicitly explain fstab usage in mount.8 [Karel Zak]
- more robust offset= and sizelimit= parsing [Karel Zak]
- posix option of vfat is obsolete [Yoshihiro Takahashi]
- properly ignore comments in /etc/filesystems [Mike Frysinger]
- report ambivalent FS detection, improve brute force detection [Karel Zak]
- revert ugly ENOMEDIUM support [Karel Zak]
- support suffixes for offset= and sizelimit= [Karel Zak]
- update documentation about barrier mount options [Jan Kara]
- use %u for uid_t and gid_t [Karel Zak]
- use auto-loopdev for all known filesystems [Karel Zak]
- use unmangle/mangle() from lib [Karel Zak]
- warn users that mtab is read-only [Karel Zak]
namei:
- fix man page formatting [Vladimir Brednikov]
partx:
- do not add nonexistent partitions [Phillip Susi]
- fix infinite loop [Karel Zak]
po:
- merge changes [Karel Zak]
- update cs.po (from translationproject.org) [Petr Pisar]
- update es.po (from translationproject.org) [Santiago Vila Doncel]
- update eu.po (from translationproject.org) [Mikel Olasagasti Uranga]
- update id.po (from translationproject.org) [Arif E. Nugroho]
- update ja.po (from translationproject.org) [Makoto Kato]
- update list of files [Karel Zak]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update vi.po (from translationproject.org) [Clytie Siddall]
rdev:
- remove this deprecated command [Karel Zak]
rtcwake:
- add --dry-run option [Karel Zak]
- add disable action for rtc alarm [Marek Otahal]
- add disable action to rtcwake man page [Marek Otahal]
- does miss the "off" option [Karel Zak]
script:
- optionally compile with libutempter to update utmp [Karel Zak]
- preserve child exit status [Karel Zak]
sfdisk:
- make sure writes make it to disk in write_partitions() [Bryn M. Reeves]
swaplabel:
- fix typo in man page [Karel Zak]
- new command [Jason Borden]
swapon:
- fix swapsize calculation [Karel Zak]
- move DELETED_SUFFIX to include/pathnames.h [Karel Zak]
- remove " (deleted)" from filenames from /proc/swaps [Karel Zak]
- use unmangle() for filenames from /proc/swaps [Karel Zak]
taskset:
- add NLS support, use err.h, cleanup [Karel Zak]
- move NR_CPUS determination to lib/cpuset.c [Karel Zak]
- move bitmap routines to lib/cpuset.c [Karel Zak]
- use libc based cpu_set_t [Karel Zak]
tests:
- add BeFS test image [Karel Zak]
- add blkid test for TuxOnIce [Karel Zak]
- add blkid tests for RAID1 [Karel Zak]
- add cpuset regression test [Karel Zak]
- add fdisk alignment tests [Karel Zak]
- add lscpu dump from Dell R710, 8-core Nehalem w/HT (RHEL 5.5) [Karel Zak]
- added tests against strtosize [Yann Droneaud]
- explicitly use --chunk and --metadata in MD test [Karel Zak]
- fix RAIDs tests [Karel Zak]
- fix and update old fdisk tests [Karel Zak]
- fix whitespaces [Karel Zak]
- mount cramfs read-only [Karel Zak]
- update FS test images [Karel Zak]
- update blkid test for raid1 [Karel Zak]
- update blkid/md-raid1-* tests [Karel Zak]
- update fdisk tests [Karel Zak]
- update ipcs/headers test [Francesco Cosoleto]
- update lscpu [Karel Zak]
- update lscpu test [Karel Zak]
- use POSIX locale [Yann Droneaud]
textual:
- fix typos [Karel Zak]
- fix typos, and rephrase some things for clarity [Benno Schulenberg]
- slightly improve two README files [Benno Schulenberg]
umount:
- add --fake option to umount(8) [Miklos Szeredi]
- do not sync() as the kernel does it by itself [Petr Uzel]
unshare:
- drop potential euid privileges before exec [Karel Zak]
uuidd:
- spell the plural of "UUID" consistently as "UUIDs" [Benno Schulenberg]
wipefs:
- cleanup usage() and man page [Karel Zak]
- fix license (GPL -> GPLv2+) [Karel Zak]
- fix mem usage [Karel Zak]
- fix memory leaks [Karel Zak]
- ignore devices with partition table [Karel Zak]
- print warning is PT detected [Karel Zak]
- support suffixes for --offset [Karel Zak]

View File

@ -0,0 +1,660 @@
Util-linux 2.19 Release Notes (10-Feb-2011)
===========================================
The util-linux-ng project has been renamed back to util-linux.
Release highlights
------------------
lsblk(8):
- this NEW COMMAND lists information about all or selected block devices in
tree-like format.
partx(8):
- this command has been rewritten to use libblkid for partition tables
parsing. It supports aix, bsd, dos, gpt, mac, minix, sgi, solaris_x86, sun,
ultrix and unixware now.
- supports new command line option "--show" to list partitions in new format
- prints UUID and name for GPT and mac partitions
findmnt(8):
- supports new command line option "--submounts" to list all submounts for
selected mountpoint(s)
agetty(8):
- supports new command line options "-c" and "-s" to reuse already initialized
tty cflags and existing baud rate
mount(8), umount(8):
- could be linked with libmount (--enable-libmount-mount) to manage userspace
mount options outside /etc/mtab on systems where the file is a symlink to
/proc/mounts. (EXPERIMENTAL)
losetup(8), mount(8):
- uses /sys/dev/block/<device>/loop/backing_file rather than loopdev ioctls
(requires kernel >= 2.6.37)
fsck(8):
- supports new command line option "-l" to lock whole-disk device by
exclusive flock(2). This option is recommended when more fsck(8) instances
are executed in the same time.
rtcwake(8):
- supports new mode "show" to print the current RTC alarm time
fstrim(8):
- this NEW COMMAND allows to discard unused blocks on a mounted filesystem
(wrapper for FITRIM ioctl)
swapon(8):
- supports new options "discard" and "nofail"
blkid(8):
- low-level probing (-p) returns "8" exit code for ambivalent probing results
libmount:
- include file has been renamed from mount/mount.h to libmount/libmount.h
Changes between v2.18 and v2.19
-------------------------------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.19/
addpart:
- code consolidation [Karel Zak]
agetty:
- Use EXIT_* and add noreturn attribute [Marek Polacek]
- add -c to reuse cflags [Karel Zak]
- add -s to reuse existing baud rate [Karel Zak]
- fix -s option (baud rate setup) [Karel Zak]
- use ignore_result() or write(1, ...) [Karel Zak]
- use nl_langinfo() [Karel Zak]
- don't wipe CLOCAL flag [Karel Zak]
blkid:
- add new return code 8 for ambivalent low-level probing result [Karel Zak]
- add note about PART_ENTRY_ tags to blkid.8 [Karel Zak]
- don't print devname if nothing detected [Karel Zak]
- don't return PART_ENTRY_* if partition is empty [Karel Zak]
- dynamically allocate devicename array [Eric Sandeen]
blockdev:
- add BLKDISCARDZEROES [Karel Zak]
- fix typo in blockdev.8 [Karel Zak]
- sync man page with code [Karel Zak]
build-sys:
- add --enable-libmount-mount [Karel Zak]
- add mesg to .gitignore [Karel Zak]
- add missing header [Karel Zak]
- add rpmatch.h to Makefile.am [Karel Zak]
- check for loff_t, it may not exist [Fabian Groffen]
- check for paths.h [Fabian Groffen]
- cleanup autogen.sh [Karel Zak]
- drop shlibs/Makefile.am that only adds SUBDIRS [Diego Elio 'Flameeyes' Pettenò]
- drop the getsize test out of Makefile.am [Diego Elio 'Flameeyes' Pettenò]
- enable lsblk and libmount for Linux only [Karel Zak]
- explicitly check for slang.h [Karel Zak]
- fix lsblk building [Karel Zak]
- ignore generated ltmain.sh [Karel Zak]
- improve check for crypt [Fabian Groffen]
- link with socketlibs when necessary [Fabian Groffen]
- man aliases don't depend on original man page [Diego Elio 'Flameeyes' Pettenò]
- provide missing strnlen from strutils [Fabian Groffen]
- release++ (v2.19-rc1) [Karel Zak]
- release++ (v2.19-rc2) [Karel Zak]
- release++ (v2.19-rc3) [Karel Zak]
- remove generated po/POTFILES.in [Karel Zak]
- remove unnecessary header [Karel Zak]
- require automake 1.10 as gtk-doc requires it anyway [Diego Elio 'Flameeyes' Pettenò]
- shell syntax fix in autogen.sh [Sami Kerola]
- use WORDS_BIGENDIAN to determine platform byte-order [Fabian Groffen]
- use generated libtool-2 stuff [Karel Zak]
- use the silent-rules prefix when generating man pages. [Diego Elio 'Flameeyes' Pettenò]
cal:
- follow HAVE_LANGINFO [Karel Zak]
- use EXIT_* and program_invocation_short_name [Karel Zak]
cfdisk:
- close the program when terminal isn't present [Francesco Cosoleto]
- data type mismatch, and other, compiler warning fixes [Sami Kerola]
- don't use size of device based on cylinders [Karel Zak]
- fix --with-slang [Karel Zak]
- fix n+1 again [Karel Zak]
- fix n+1 bug in error message [Karel Zak]
- get_string not calculating correct limits [Karel Zak]
- search for ncursesw/ncurses.h [Mike Frysinger]
chfn:
- Use EXIT_* and err() [Marek Polacek]
chrt:
- Add noreturn attribute to show_usage() function [Marek Polacek]
chsh:
- don't suggest ypchsh [Karel Zak]
- use EXIT_* and err.h [Karel Zak]
col:
- use err.h and EXIT_* macros [Karel Zak]
- use xalloc for memory allocation [Davidlohr Bueso]
column:
- EOF handling bug [Sami Kerola]
- code readability improvements [Sami Kerola]
- data type mismatch compiler warning fixes [Sami Kerola]
- error messaging & exit codes [Sami Kerola]
- fix column.1 typo [Davidlohr Bueso]
- getopt_long and new help output [Sami Kerola]
- segfault on empty input [Karel Zak]
- update manual page to match column switches [Sami Kerola]
ctrlaltdel:
- use err() instead of fprintf() and exit() [Marek Polacek]
ddate:
- fix typo in ddate.1 [Davidlohr Bueso]
- revert man page typo [Karel Zak]
delpart:
- code consolidation [Karel Zak]
disk-utils:
- fix manpage typos [Davidlohr Bueso]
dmesg:
- fix memory leak in dmesg(1). [Davidlohr Bueso]
- use strtol_or_err instead of atoi [Davidlohr Bueso]
docs:
- add blkid --list-all to TODO [Karel Zak]
- add COPYING.lib* files [Karel Zak]
- add note about agetty to TODO [Karel Zak]
- add note about sfdisk to TODO [Karel Zak]
- add v2.19 ReleaseNotes [Karel Zak]
- correct spelling mistakes in DEPRECATED file [Jon Grant]
- fix typo [Davidlohr Bueso]
- fix typos in man pages [Karel Zak]
- make it easier to find mail list address [Alexander Shishkin]
- mark line(1) as deprecated [Karel Zak]
- remove ipc.texi (info with IPC API docs) [Karel Zak]
- update AUTHORS file [Karel Zak]
- update DEPRECATED file [Karel Zak]
- update ReleaseNotes [Karel Zak]
- update TODO file [Davidlohr Bueso]
- update TODO file [Karel Zak]
- update TODO [Karel Zak]
- update v2.19 ReleaseNotes [Karel Zak]
- use rpmatch() for sfdisk [Karel Zak]
fallocate:
- fix build failure with old linux headers [Mike Frysinger]
- fix typo [Karel Zak]
fdisk:
- add description for partition type 0x27 [Karel Zak]
- add exFAT to MBR partition type 0x7 [Jon Grant]
- don't keep internally device size in 512-byte sectors [Karel Zak]
- eliminate redundant call to open() [Markus Rinne]
- fix alignment check for non-512-byte logical sectors [Karel Zak]
- fix freespace boundaries calculation on SGI disklabel [Karel Zak]
- fix use of non portable type [François Revol]
- more meaningful error messages (use err.h) [Francesco Cosoleto]
- quit with a single CTRL-D, confirm if necessary [Francesco Cosoleto]
- re-print prompt after maybe_exit() [Karel Zak]
- replace fatal(usage) with a separate usage() function [Francesco Cosoleto]
- update MBR after ID change [Karel Zak]
- use canonicalized names for -l (and sfdisk -d) [Karel Zak]
- use xalloc lib [Francesco Cosoleto]
findmnt:
- add --submounts option [Karel Zak]
- add /etc/fstab.d support [Karel Zak]
- add MAJ MIN [Karel Zak]
- add support for fs-root (subvolumes and bind mounts) [Karel Zak]
- apply new changes from tt.c [Karel Zak]
- don't swap source and target if the source is a tag [Karel Zak]
- fix exit code [Karel Zak]
- fix manpage typos [Davidlohr Bueso]
- fix support for -a option [Milan Broz]
- follow HAVE_LANGINFO [Karel Zak]
- use new libmount functions [Karel Zak]
- use new tab parsing API [Karel Zak]
flock:
- fix file number in flock.1 man page [Patrice Dumas]
- properly report exec() errors [Karel Zak]
- use more useful example in flock.1 [Jakob Unterwurzacher]
fsck:
- add support for whole-disk locking (-l option) [Karel Zak]
- improve whole-disk check, detect stacked devices [Karel Zak]
- include c.h, fallback for PATH_MAX [Karel Zak]
- inform about nonexistent devices in verbose mode [Karel Zak]
- returns proper code on exec() error [Karel Zak]
fstrim:
- add new command [Lukas Czerner]
- fix typo [Karel Zak]
hexdump:
- remove od functionality in favor to GNU coreutils od [Sami Kerola]
hwclock:
- [m68k] unbreak FTBFS with recent (>= 2.4.18?) kernels [Thorsten Glaser]
- allow setting of RTC when it contains invalid data [Peter Tyser]
include:
- [c.h] add unused attribute to ignore_result() [Karel Zak]
- [c.h] fix __alloc_size__ test [Karel Zak]
- [c.h] add fallback for alloc_size attributes [Karel Zak]
- [c.h] move ignore_result() to gcc-only block [Karel Zak]
- [tt] enlarge output buffer [Karel Zak]
- [xalloc.h] include string.h [Marek Polacek]
- add fallback for rpmatch() [Francesco Cosoleto]
- cleanup blkdev.h [Karel Zak]
- emulate dirfd when necessary [Fabian Groffen]
- fix list.h ifdefs [Karel Zak]
- [xalloc] general purpose memory allocation handling wrappers [Davidlohr Bueso]
ipc:
- remove .info file [Karel Zak]
last:
- Use EXIT_* and err() [Marek Polacek]
- use xalloc lib [Davidlohr Bueso]
lib:
- [c] add ignore_result() [Karel Zak]
- [env] consolidate safe_getenv() usage [Karel Zak]
- [ismounted] don't wast time with mtab is /proc/mounts used [Karel Zak]
- [strutils] general purpose string handling functions [Davidlohr Bueso]
- [strutils] move strmode() from namei.c to strutils.c [Karel Zak]
- [tt] add TT_FL_RIGHT, add columns list parser [Karel Zak]
- [tt] fix alignment of the last tree child [Karel Zak]
- [xalloc] add xstrdup() [Karel Zak]
- [xalloc] don't use hardcoded return code [Karel Zak]
- add fallback for nl_langinfo() [Karel Zak]
- add test program to canonicalize.c [Karel Zak]
- add wrappers for "at" functions [Karel Zak]
- fix mange() and unmangle() to handle NULL [Karel Zak]
- fix syntax error in blkdev.c [Karel Zak]
lib/tt:
- fix langinfo build break [Davidlohr Bueso]
libblkid:
- 256MiB is min size of btrfs [Karel Zak]
- NTFS volume label not found [Karel Zak]
- add LINHIB0001 signature to swap prober [Karel Zak]
- add blkdev.h to blkidP.h [Karel Zak]
- add blkid_probe_get_sectors() [Davidlohr Bueso]
- add magic to vfat [Jeroen Oortwijn]
- add nilfs2 filesystem superblock probe [Jiro SEKIBA]
- add searching in attributes dir to BeFS [Jeroen Oortwijn]
- add signature to FAT32 fsinfo block [Jeroen Oortwijn]
- cache is incorrectly revalidated [Karel Zak]
- check for swap or DM cow on small devices [Karel Zak]
- conditionalise parts from blkid/topology for Linux [Fabian Groffen]
- consolidate magic strings detection code [Karel Zak]
- don't ignore zero for SBMAGIC_OFFSET [Karel Zak]
- don't probe directories [Karel Zak]
- fix MBR detection on iPod and cleanup vfat code [Karel Zak]
- fix endian conversion bug in NILFS [Karel Zak]
- fix memory leak [Igor Bazhitov]
- fix typo filesystem name nilfs to nilfs2 [Jiro SEKIBA]
- remove dead code section [Valerie Aurora]
- remove unnecessary __UCLIBC__ check [Mike Frysinger]
- remove unused variable [Karel Zak]
- set tolerant flag for HFS [Alexandre Peixoto Ferreira]
- support LIBBLKID_DEBUG= env. [Karel Zak]
- use PRId64 in PT parser [Karel Zak]
- wrong PT detection on RAID0 [Karel Zak]
libmount:
- _SC_GETPW_R_SIZE_MAX portability issue [Karel Zak]
- add /etc/fstab.d support [Karel Zak]
- add DBG() to optstr.c [Karel Zak]
- add FS detection [Karel Zak]
- add LIBMOUNT_{MTAB,FSTAB} [Karel Zak]
- add MNT_FS_SWAP flag [Karel Zak]
- add and copy FS internal flags [Karel Zak]
- add debug messages and fix typos in tab_update [Karel Zak]
- add first part of high-level API [Karel Zak]
- add functions for mount.<type> helpers [Karel Zak]
- add functions get mtab/utab paths [Karel Zak]
- add low-level API for umount [Karel Zak]
- add mnt_context [Karel Zak]
- add mnt_context_get_{fstab,mtab}() [Karel Zak]
- add mnt_context_get_{source,target,fstype} [Karel Zak]
- add mnt_context_is_* functions [Karel Zak]
- add mnt_copy_fs() and mnt_fs_set_root() [Karel Zak]
- add mnt_fs_get_root() [Karel Zak]
- add mnt_fs_prepend_optstr() [Karel Zak]
- add mnt_get_writable_mtab_path() [Karel Zak]
- add mnt_optstr_fix_user [Karel Zak]
- add mnt_optstr_get_mountflags() [Karel Zak]
- add mnt_optstr_get_userspace_mountflags() [Karel Zak]
- add mnt_optstr_prepend_option() [Karel Zak]
- add mnt_split_optstr() [Karel Zak]
- add mnt_tab_find_pair() [Karel Zak]
- add mnt_tab_parse_mtab() [Karel Zak]
- add mnt_tab_parse_stream() [Karel Zak]
- add mnt_tab_set_parser_errcb() [Karel Zak]
- add mntent.h compatible stuff [Karel Zak]
- add mount(2) and /sbin/mount.<type> support [Karel Zak]
- add mount(8) sample [Karel Zak]
- add mtab management to context API [Karel Zak]
- add new debug messages, fix umount return code [Karel Zak]
- add new psetudo filesystems [Karel Zak]
- add new pseudo filesystems [Karel Zak]
- add routines for uid=, git= and context= translation [Karel Zak]
- add support for mtab management [Karel Zak]
- add uhelper=, improve mnt_split_optstr() [Karel Zak]
- add umount(2) support [Karel Zak]
- add unit test for mnt_copy_fs() [Karel Zak]
- add unmangle/mangle() functions to API [Karel Zak]
- add utils for work with uid/gid [Karel Zak]
- add utils to get FS root/mountpoint [Karel Zak]
- add {start,end}swith() functions [Karel Zak]
- allow to overwrite mtab/fstab paths [Karel Zak]
- allows to swap source and target [Karel Zak]
- always store rw/ro flags to mtab [Karel Zak]
- better permissions and optstr evaliation [Karel Zak]
- better work with mtab options [Karel Zak]
- clean mnt_update_* target usage [Karel Zak]
- clean up lock.c [Karel Zak]
- clean up mnt_fs_set_optstr() [Karel Zak]
- clean up mount.sym file [Karel Zak]
- clean up mountflags usage [Karel Zak]
- cleanup API and docs [Karel Zak]
- cleanup API, remove typedef [Karel Zak]
- cleanup MS_RDONLY usageand mnt_update_* symbols [Karel Zak]
- cleanup context API [Karel Zak]
- cleanup debug flags [Karel Zak]
- cleanup fstab parser, improve mnt_tab errcb usage [Karel Zak]
- cleanup helper initialization API [Karel Zak]
- cleanup helpers support [Karel Zak]
- cleanup high-level mount API [Karel Zak]
- cleanup internal API [Karel Zak]
- cleanup lock API [Karel Zak]
- cleanup mangle() usage [Karel Zak]
- cleanup mount.h [Karel Zak]
- cleanup mount.sym [Karel Zak]
- cleanup return codes (cache.c) [Karel Zak]
- cleanup return codes (fs.c) [Karel Zak]
- cleanup return codes (iter.c) [Karel Zak]
- cleanup return codes (lock.c) [Karel Zak]
- cleanup return codes (optmap.c) [Karel Zak]
- cleanup return codes (optstr.c) [Karel Zak]
- cleanup return codes (tab.c) [Karel Zak]
- cleanup return codes (tab_parse.c) [Karel Zak]
- compile tests [Karel Zak]
- copy mount attrs from utab to context [Karel Zak]
- correctly use "none" values [Karel Zak]
- do not check for EAGAIN after flock() [Petr Uzel]
- don't compile tests by default [Karel Zak]
- don't export some cache.c files [Karel Zak]
- don't prepare update if syscall failed [Karel Zak]
- don't return old data from optls iterator [Karel Zak]
- don't store filename to mnt_tab [Karel Zak]
- don't use NULL pointer in mntenv [Karel Zak]
- extend mnt_update_* API [Karel Zak]
- fix Makefile and tests [Karel Zak]
- fix comment for mnt_unlock_file() [Karel Zak]
- fix context mount test [Karel Zak]
- fix datatype for mountflags [Karel Zak]
- fix debug message [Karel Zak]
- fix merge_optstr (do not truncate 3 trailing characters) [Petr Uzel]
- fix mnt_optstr_apply_flags() to work with optional variables [Karel Zak]
- fix mnt_optstr_remove_option_at() [Karel Zak]
- fix mount helpers call [Karel Zak]
- fix mount.h includes [Karel Zak]
- fix optstr test [Karel Zak]
- fix tab_update test program [Karel Zak]
- fix to work with btrfs subvolume user mounts [Karel Zak]
- fix user= usage [Karel Zak]
- fix utab file and dir modes, add new debug messages [Karel Zak]
- implement mnt_context_subst_optstr() [Karel Zak]
- improve an rename API for mtab management [Karel Zak]
- improve assert() and DBG() usage [Karel Zak]
- improve debugging, fix optstr prepend [Karel Zak]
- improve fstab/mtab options usage [Karel Zak]
- improve function for work with mtab paths [Karel Zak]
- improve mnt_get_fs_root() and mnt_get_mountpoint() [Karel Zak]
- improve parser return codes [Karel Zak]
- improve parsers return codes [Karel Zak]
- improve status check, minor cleanups [Karel Zak]
- minor cleanup in optstr.c [Karel Zak]
- minor fixes [Karel Zak]
- minor fixes in cache.c [Karel Zak]
- more robust flock() usage [Karel Zak]
- optimize blkid_devno_to_devname() [Karel Zak]
- properly canonicalize source and target [Karel Zak]
- remove fs and tab printf functions [Karel Zak]
- remove mnt_tab_strerr() [Karel Zak]
- remove unnecessary options container [Karel Zak]
- remove unused mnt_strconcat3() [Karel Zak]
- remove utab from API, update tests [Karel Zak]
- rename mount.h to libmount.h [Karel Zak]
- rename mount.sym -> libmount.sym [Karel Zak]
- rewrite DBG() macro [Karel Zak]
- rewrite mountinfo/fstab parsers to use sscanf() [Karel Zak]
- rewrite optstr translation [Karel Zak]
- rewrite update [Karel Zak]
- split context.c [Karel Zak]
- split mnt_context_do_mount() [Karel Zak]
- support /{proc,etc}/filesystems [Karel Zak]
- update mount.sym [Karel Zak]
- update mount.{h,sym} [Karel Zak]
- update mtab after mount(2) [Karel Zak]
- update tests [Karel Zak]
- use attribute __format__ for debug routines [Karel Zak]
- use better format for utab, improve bind mounts [Karel Zak]
- use mnt_fs for mtab API [Karel Zak]
- use separate buffer for userspace options, add mount attributes [Karel Zak]
libuuid:
- do not check for EAGAIN after flock() [Petr Uzel]
- fix locking of clock state counter file [Petr Uzel]
login:
- fix "ignoring return value" errors [Karel Zak]
- use EXIT_* and err.h, clean up return codes [Marek Polacek]
- use EXIT_* in checktty() [Karel Zak]
- use xalloc lib [Davidlohr Bueso]
look:
- fix conflict between locally defined err() and glibc's version [Davidlohr Bueso]
- fix memory leak in look(1) [Davidlohr Bueso]
losetup:
- do not distinguish between malloc and realloc [Tobias Klauser]
- remove unnecessary fstab.h include [Karel Zak]
- use /sys/dev/block/.../loop/backing_file [Karel Zak]
- use stdout and return 0 for --help [Karel Zak]
lsblk:
- add --nodeps [Karel Zak]
- add new utility [Milan Broz]
- rename "RA" column to "RE" [Karel Zak]
- small grammar touches to the man page [Benno Schulenberg]
- use "RM" for removable [Karel Zak]
lscpu:
- add -x and {On,Off}-line CPU(s) mask/list [Karel Zak]
- add byte order and bogoMIPS information [Davidlohr Bueso]
- add description of --sysroot option to man page, plus grammar touches [Benno Schulenberg]
- avoid len = 0 as a consequence of maxcpus = 0 [Gerrit Renker]
- cleanup usage() [Karel Zak]
- fix 64bit CPU detection [Karel Zak]
- really use 'mode' argument in path_fopen() [Petr Uzel]
- support offline CPUs [Karel Zak]
- support sysfs without cpu/online file [Karel Zak]
- update lscpu.1 to include new additions. [Davidlohr Bueso]
- use GPLv2+ [Karel Zak]
man:
- add russian translation of ddate.1 [Karel Zak]
mesg:
- Use EXIT_* and discard K&R style declaration. [Marek Polacek]
- change error exit code from 1 to >1 [Francesco Cosoleto]
misc-utils:
- use new xmalloc() wrapper [Davidlohr Bueso]
mkfs:
- add `mkfs.ext4` to section SEE ALSO of `mkfs.8`. [Paul Menzel]
- general cleanups [Davidlohr Bueso]
mkfs.cramfs:
- use symbolic exit codes [Sami Kerola]
more:
- use xalloc for memory allocation [Davidlohr Bueso]
mount:
- Add more pseudo filesystems. [Davidlohr Bueso]
- Don't call canonicalize_*(SPEC) for 9p [Sven Eckelmann]
- add info about type.subtype to /sbin/mount.<type> API description [Karel Zak]
- add mnt_init_debug() [Karel Zak]
- add note about context= remount to mount.8 [Karel Zak]
- add note about subtypes to fstab.5 [Karel Zak]
- add rootcontext= for tmpfs on SELinux boxes [Karel Zak]
- avoid starting a man page line with a single quote [Chris Frost]
- be more explicit about --move in mount.8 [Karel Zak]
- better describe UUIDs usage in man pages [Karel Zak]
- canonicalize paths in HAVE_LIBMOUNT_MOUNT code [Karel Zak]
- clean up fstab.5 [Karel Zak]
- don't canonicalize "spec" with --no-canonicalize option [Miklos Szeredi]
- don't use auto-clear loopdev if mtab is available [Karel Zak]
- fix "mount -a" for auto-clear loopdevs and /proc/mounts [Karel Zak]
- fix atime description in mount.8 man page [Karel Zak]
- fix gcc warning [Karel Zak]
- fix mount.8, shortname=mixed is now default for vfat [Petr Uzel]
- fix parsing offset= followed by more options [Petr Uzel]
- fix reference to cifs-utils in mount.8 [Karel Zak]
- get most recently mounted fs from /etc/mtab. [Valerie Aurora]
- handle filesystems with subtype [Miklos Szeredi]
- ignore *context= options on remount [Karel Zak]
- improve verbose info [Karel Zak]
- mark die() as nonreturn [Karel Zak]
- read /sys for loopdev backing file [Karel Zak]
- read mtab by libmount [Karel Zak]
- remove warning about FS detection from mount.1 [Karel Zak]
- rewrite HAVE_LIBMOUNT_MOUNT code [Karel Zak]
- rewrite is_readonly() [Karel Zak]
- sanity check mount flags for MS_PROPAGATION [Karel Zak]
- update ext{3,4} options in mount.8 [Karel Zak]
- update relatime description in mount.8 [Karel Zak]
- use libmount for mtab/utab updates [Karel Zak]
- use utimensat(AT_FDCWD) rather than open()+futimens() [Karel Zak]
- use verbose info for HAVE_LIBMOUNT_MOUNT only [Karel Zak]
namei:
- fix memory leak in namei(1) [Davidlohr Bueso]
- parse all path arguments when an optarg path will fail [Sami Kerola]
newgrp:
- Use err() and EXIT_* [Marek Polacek]
partx:
- add mac partition table support [Davidlohr Bueso]
- add sun partition table support [Davidlohr Bueso]
- cleanup and add columns [Karel Zak]
- complete rewrite [Davidlohr Bueso, Karel Zak]
- fix authors section in man page [Davidlohr Bueso]
- fix typo in partx.8 [Davidlohr Bueso]
- integrate support for mac and sun partitions, based on kpartx. [Davidlohr Bueso]
- normalize the punctuation of man page, and improve grammar here and there [Benno Schulenberg]
- tiny change in usage() [Karel Zak]
pg:
- use xalloc for memory allocation [Davidlohr Bueso]
po:
- add gl.po (from translationproject.org) [Fran Diéguez]
- add zh_TW.po (from translationproject.org) [Wei-Lun Chao]
- fix note about license [Karel Zak]
- merge changes [Karel Zak]
- refresh gl and zh_TW [Karel Zak]
- update after rename [Karel Zak]
- update cs.po (from translationproject.org) [Petr Písař]
- update da.po (from translationproject.org) [Joe Hansen]
- update fr.po (from translationproject.org) [David Prévot]
- update fr.po (from translationproject.org) [Milan Bouchet-Valat]
- update hu.po (from translationproject.org) [Gabor Kelemen]
- update ja.po (from translationproject.org) [Makoto Kato]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update vi.po (from translationproject.org) [Clytie Siddall]
portability:
- fix mntent.h and pty.h usage [François Revol]
- use standard constants [François Revol]
renice:
- improve messages specifying what ID is referring to [Francesco Cosoleto]
- make some functions static [Francesco Cosoleto]
- remove hardcoded program name using warn() and warnx() [Francesco Cosoleto]
- reverse %s position in error messages [Francesco Cosoleto]
- rewrite usage() [Karel Zak]
- update man page (nice rlimit was added to kernel) [Francesco Cosoleto]
rev:
- coding style, various fixes [Davidlohr Bueso]
- use xalloc for memory allocation [Davidlohr Bueso]
rtcwake:
- add 'show' mode for rtc alarm [Marek Otahal]
- use err.h routines [Karel Zak]
schedutils:
- fix typos [Davidlohr Bueso]
- remove unneeded header files [Davidlohr Bueso]
sfdisk:
- add option to use maximum partition size [Karel Zak]
- save errno before calling perror [Forest Bond]
shutdown:
- Use EXIT_* [Marek Polacek]
simpleinit:
- Use EXIT_* [Marek Polacek]
- move old init stuff to separate directory [Karel Zak]
swapon:
- Canonicalize swap device [Alexey Gladkov]
- Document btrfs limitation with swapfiles [Jeff Mahoney]
- add "discard" support [Hugh Dickins]
- add support for "nofail" fstab mount option [Karel Zak]
- better text for "discard", note about swapon in fstab.5 [Karel Zak]
- make needlessly global variables static [Tobias Klauser]
- use EXIT_SUCCESS constants [Davidlohr Bueso]
- warn if file owner is not root [Karel Zak]
swpaon:
- use canonicalized devnames on -s output [Karel Zak]
sys-utils:
- fix manpage typos [Davidlohr Bueso]
- make use xalloc wrappers [Davidlohr Bueso]
tailf:
- fixed timing issue that could cause duplicate data output [Dima Kogan]
- use xalloc for memory allocation [Davidlohr Bueso]
taskset:
- proper numbers parsing [Karel Zak]
tests:
- add regression tests [Davidlohr Bueso]
- add basic libmount tests for mounting [Karel Zak]
- add blkid test for partitioned RAID0 [Karel Zak]
- add libmount lock test [Karel Zak]
- add libmount mtab tests [Karel Zak]
- add libmount mtab update test [Karel Zak]
- add libmount optstr.c tests [Karel Zak]
- add libmount tab_parse.c tests [Karel Zak]
- add libmount tags tests [Karel Zak]
- add libmount utab tests [Karel Zak]
- add libmount utils.c tests [Karel Zak]
- add nilfs2 test for libblkid [Jiro SEKIBA]
- add quoted optstr [Karel Zak]
- add utab update tests [Karel Zak]
- check for mtab [Karel Zak]
- fix blkid MD test (missing tailing whitespaces) [Karel Zak]
- fix libmount test [Karel Zak]
- fix strtosize() test [Karel Zak]
- ignore device name used in some fdisk and blkid tests [Francesco Cosoleto]
- improve libmount context mount and umount test [Karel Zak]
- improve subtests initialization [Karel Zak]
- refresh libmount fstab parser tests [Karel Zak]
- skip non-compiled libmount tests [Karel Zak]
- truncate BeFS and tuxonice images [Karel Zak]
- update lscpu tests [Karel Zak]
- update lscpu tests on x86_64 [Karel Zak]
- update namei regression test [Karel Zak]
- use findmnt(8) for mount --move test [Karel Zak]
- use findmnt(8) for remount test [Karel Zak]
- use {src,build}dir variables for tests [Karel Zak]
ul:
- fix memory leak. [Davidlohr Bueso]
- use atexit() to deallocate buffer, print errors by err() [Karel Zak]
- use xalloc for memory allocation [Davidlohr Bueso]
umount:
- add HAVE_LIBMOUNT_MOUNT code [Karel Zak]
- call is_loop_autoclear() for all loopdevs [Karel Zak]
- umount -r segfault [Karel Zak]
- use strtosize() for offset= [Karel Zak]
unshare:
- fix SIGSEGV on invalid command line option [Alexey Gladkov]
uuidd:
- correctly report number of generated subsequent UUIDs [Petr Uzel]
- fix -n usage [Petr Uzel]
- fix uuidd -r -n 2 [Petr Uzel]
- increase connection backlog size to SOMAXCONN [Petr Uzel]
- mention -q in uuidd.8 [Petr Uzel]
- use UUIDD_OP_BULK_*_UUID named constants [Petr Uzel]
- use UUID_STR_LEN and UUID_LEN [Petr Uzel]
- use daemon(3) library function [Petr Uzel]
- use die() where possible [Petr Uzel]
- use write_all from include/writeall.h [Petr Uzel]
vipw:
- fix warn_unused_result gcc warning [Karel Zak]
- use EXIT_* and err() [Marek Polacek]
wall:
- Use EXIT_* and err() [Marek Polacek]
- add usage function [Davidlohr Bueso]
- document -n option [Davidlohr Bueso]
- fix coding style [Karel Zak]
- remove progname [Karel Zak]
- use xalloc lib [Davidlohr Bueso]
wipefs:
- fail if more device arguments specified [Milan Broz]
- use write_all from include/writeall.h [Petr Uzel]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,979 @@
Util-linux 2.21 Release Notes
=============================
The udev compatible output (-o udev) from blkid(8) is deprecated. Udev
links directly to libblkid now.
Release highlights
------------------
chcpu(8):
- this NEW COMMAND can modify the state of CPUs, enable or disable CPUs,
scan for new CPUs, change the CPU dispatching mode of the underlying
hypervisor, and request CPUs from the hypervisor (configure) or return CPUs to
the hypervisor (deconfigure).
prlimit(1):
- this NEW COMMAND is very smart command line interface to prlimit(2)
syscall and allows to get and set a process resource limits. It's much
more flexible than old shell built-in ulimit(1).
login(1):
- the command has been rewritten, features:
* strictly PAM-only, another authentication method is unsupported
* compatible with Suse login(1)
* supports /etc/login.defs(5) config file
losetup(8):
- the command has been rewritten, features:
* requires kernel >= 2.6
* supports 64bit ioctls only
* losetup -a does not require root permissions (kernel >= 2.6.37)
* uses new /dev/loop-control kernel API (kernel >= 3.1)
* supports new command line option --partscan to enable kernel partition
table parser
mount(8), umount(8):
- new pure libmount based mount(8) and umounts(8) commands are available,
this experimental implementation could be enabled by --enable-new-mount
agetty(8):
- supports new command line options --nohints to disable hints about Num,
Caps and Scroll Locks
- supports new command line option --remote to add a hostname to the
login(1) command line
dmesg(1):
- supports new command line options --file to read the log from a file rather
than from kernel buffer
fallocate(8):
- supports new command line options --punch-hole to punch holes in the file
findmnt(8):
- supports alternative location of the fstab file
ipcrm(8):
- supports new command line option --all to remove all resources
lscpu(1):
- supports new command line options --all, --offline and --online to list
all, offline or online CPUs
- supports s390 topology description (polarization, books, ...)
partx(8):
- supports partitioned loop devices (note that since kernel 3.2 partitioned
loop devices are usable everywhere (including Fedora))
wipefs(8):
- allows to zap partition tables
- supports new command line option "--type <list>" to wipe only specified
filesystems, RAIDs or partition table types
libblkid:
- provides new function blkid_do_wipe() to remove all signatures from the
given block device. This new functionality is used in wipefs(8) and
mkswap(8). It's recommended to use this function in mkfs-like programs.
Stable maintenance releases between v2.20 and v2.21
---------------------------------------------------
util-linux 2.20.1 [20-Oct-2011]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20.1-ChangeLog
Changes between v2.20 and v2.21
-------------------------------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.21/
agetty:
- add --nohints [Karel Zak]
- add static and const qualifiers [Francesco Cosoleto]
- check localtime() result [Karel Zak]
- don't use log_err() for non-fatal errors [Karel Zak]
- double equals sign typo in opentty() [Karel Zak]
- map NL to CR-NL on output in initial termiossettings [Jacoby Hickerson]
- pass hostname to login(1) [Karel Zak]
- test ECHO on c_lflag [Karel Zak]
arch:
- minor changes to usage() [Karel Zak]
- start using arch as a usage() example [Sami Kerola]
blkdev:
- add is_blkdev function [Davidlohr Bueso]
blkid:
- add comment to keep static analysers happy [Karel Zak]
- check fd before use [coverity scan] [Karel Zak]
- fix unfinished sentence for -l option in blkid.8 [Dave Reisner]
- move cache to /run on new systems [Karel Zak]
- potential null derefence [smatch scan] [Karel Zak]
- print ID_PART_ENTRY_* for small devices [Karel Zak]
- remove -w option from man page and usage() output [Karel Zak]
- remove dead assigment [Karel Zak]
blockdev:
- make functions static [Wanlong Gao]
- make the code more readable for static analysers [Karel Zak]
- remove non-ANSI function declaration [smatch scan] [Karel Zak]
build-sys:
- add --enable-most-builds [Sami Kerola]
- add --enable-new-mount [Karel Zak]
- add UL_BUILD_INIT macro [Karel Zak]
- add UL_REQUIRES_* macros [Karel Zak]
- add changelog target [Karel Zak]
- add checksmatch target [Karel Zak]
- add checkxalloc to toplevel Makefile [Karel Zak]
- add err and errx to smatch no_return_funcs [Karel Zak]
- add ko-release-gen script [Karel Zak]
- add ko-release-push script [Karel Zak]
- add log_err to smatch non-return functions [Karel Zak]
- add missing BUILD_PRLIMIT [Karel Zak]
- add missing headers to dist [Sami Kerola]
- add path.h to Makefile.am [Karel Zak]
- add sleepexit from login.c to smatch non-return functions [Karel Zak]
- add smatch data [Karel Zak]
- add tools/ to EXTRA_DIST [Karel Zak]
- add tools/config-gen and basic compilation scenarios [Karel Zak]
- check HAVE_ definitions with #ifdef [smatch scan] [Sami Kerola]
- check scanf %ms modifier [Karel Zak]
- cleanup BUILD_ARCH [Karel Zak]
- cleanup BUILD_CRAMFS [Karel Zak]
- cleanup BUILD_ELVTUNE [Karel Zak]
- cleanup BUILD_FALLOCATE [Karel Zak]
- cleanup BUILD_FSCK [Karel Zak]
- cleanup BUILD_HWCLOCK [Karel Zak]
- cleanup BUILD_KILL, enable kill(1) by default [Karel Zak]
- cleanup BUILD_LIBMOUNT [Karel Zak]
- cleanup BUILD_LOGIN_UTILS [Karel Zak]
- cleanup BUILD_LSBLK [Karel Zak]
- cleanup BUILD_MOUNT [Karel Zak]
- cleanup BUILD_MOUNTPOINT [Karel Zak]
- cleanup BUILD_PARTX [Karel Zak]
- cleanup BUILD_PIVOT_ROOT [Karel Zak]
- cleanup BUILD_RAW [Karel Zak]
- cleanup BUILD_SCHEDUTILS [Karel Zak]
- cleanup BUILD_SWITCH_ROOT [Karel Zak]
- cleanup BUILD_UNSHARE [Karel Zak]
- cleanup BUILD_UUIDD [Karel Zak]
- cleanup BUILD_{DDATE,AGETTY} [Karel Zak]
- cleanup BUILD_{LAST,LINE,MESG} [Karel Zak]
- cleanup BUILD_{LS,CH}CPU [Karel Zak]
- cleanup BUILD_{RENAME,RESET} [Karel Zak]
- cleanup BUILD_{WALL,WRITE} [Karel Zak]
- cleanup HAVE_LIBCRYPT [Karel Zak]
- cleanup misc-utils/Makefile.am [Karel Zak]
- ddate typo fixed [Sami Kerola]
- don't install ru/ddate.1 if ddate disabled [Karel Zak]
- don't use full paths for smatch [Karel Zak]
- enable .xz, disable .gz [Karel Zak]
- enhance error message for missing libtoolize [Sami Kerola]
- fix UL_INIT_BUILD macro [Karel Zak]
- fix building of wall [Petr Uzel]
- fix libuuid initialization [Karel Zak]
- fixes to USAGE_* macros [Sami Kerola]
- improve changelog target [Karel Zak]
- improve ko-release-* scripts [Karel Zak]
- move --enable-lib{mount,uuid,blkid} before others --enable-* [Karel Zak]
- move --with-* before --enable-* [Karel Zak]
- move gettext check before --enable-* [Karel Zak]
- move structs, types, descs checks before --enable-* [Karel Zak]
- move swapon from mount/ to sys-utils/ [Karel Zak]
- move type checks before --enable-* [Karel Zak]
- release++ (v2.21-rc1) [Karel Zak]
- release++ (v2.21-rc2) [Karel Zak]
- remove redundant __progname check [Karel Zak]
- remove redundant flags from mount/Makefile.am [Karel Zak]
- remove unnecessary perl check [Karel Zak]
- rename BUILD_BUG_ON_ZERO definition [Sami Kerola]
- rename and move macros [Karel Zak]
- require PAM for login-utils [Karel Zak]
- suport static build for new [u]mount [Karel Zak]
- use $(MAKE) for checksmatch [Karel Zak]
- use $build_libblkid [Karel Zak]
- use --enable-most-builds for distcheck [Karel Zak]
cal:
- non-ANSI definition [smatch scan] [Karel Zak]
cfdisk:
- add note about alignment to the man page [Karel Zak]
- wctomb() returns -1 on error [Karel Zak]
chcpu:
- check get_max_number_of_cpus() result properly [Karel Zak]
- convert to use lib/path.c [Heiko Carstens]
- man page update [Heiko Carstens]
- new tool [Heiko Carstens]
- provide better user feedback [Heiko Carstens]
- use appropriate variable type [cppcheck] [Sami Kerola]
chcpu,cpuset:
- reduce code duplication for cpu list parsing [Heiko Carstens]
chfn:
- align with howto-usage-function.txt [Sami Kerola]
- fix coding style [Sami Kerola]
- fix use-after-free [coverity scan] [Karel Zak]
- remove non-ANSI definitions [smatch scan] [Karel Zak]
- remove non-PAM code [Karel Zak]
- use libc error printing facilities [Sami Kerola]
chfn, chsh:
- new file pamfail.h for error printing [Sami Kerola]
chfn, chsh, setpwnam:
- get true/false from stdbool.h [Sami Kerola]
chfn, setpwnam:
- let config.h be in control of extensions in use [Sami Kerola]
chrt:
- add comment to keep static analysers happy [Karel Zak]
chsh:
- align with howto-usage-function.txt [Sami Kerola]
- build bug do not override config.h definition [Sami Kerola]
- fix coding style [Sami Kerola]
- remove non-PAM code [Karel Zak]
- use libc error printing facilities [Sami Kerola]
column:
- avoid memory overrun and/or use of uninitialized buffer [Jim Meyering]
- don't check result from xmalloc() [Karel Zak]
- fix error reported by smatch [Sami Kerola]
- use xalloc libs [Dave Reisner]
cpuset:
- add option to allow cpulist_parse() to fail [Heiko Carstens]
ctrlaltdel:
- add version & help options [Sami Kerola]
- minor changes to usage() [Karel Zak]
cytune:
- add long options and usage() [Sami Kerola]
- check numeric user inputs [Sami Kerola]
- coding style fixes [Sami Kerola]
- cytune.8 fix formatting [Petr Uzel]
- fix printf type warning [Sami Kerola]
- refactor main(), new function query_tty_stats() [Sami Kerola]
- use libc error printing facilities [Sami Kerola]
dmesg:
- add --file option [Karel Zak]
- fix for non-CONFIG_PRINTK_TIME kernels [Karel Zak]
- fix non-ANSI function declaration [smatch scan] [Karel Zak]
- fix printing of multibyte characters [Petr Uzel]
- remove extra space only after time stamp [Karel Zak]
do:
- fix czech LABEL= translation [Karel Zak]
docs:
- add debugging doc [Davidlohr Bueso]
- Documentation directory added [Sami Kerola]
- add --version to setarch.8 [Sami Kerola]
- add howto-build-sys.txt [Karel Zak]
- add hwclock -c to TODO file [Karel Zak]
- add info about virt-what to TODO [Karel Zak]
- add libmount & libblkid debug instructions [Sami Kerola]
- add long options to ipcmk.1 man page [Sami Kerola]
- add long options to ipcrm.1 man page [Sami Kerola]
- add long options to ipcs.1 man page [Sami Kerola]
- add long options to readprofile.8 [Sami Kerola]
- add long options to tunelp.8 [Sami Kerola]
- add non-return function and if shorthand tips [Sami Kerola]
- add note about BUILD_* macros [Karel Zak]
- add note about config-gen purpose [Karel Zak]
- add note about fdisk to TODO [Karel Zak]
- add note about losetup to TODO [Karel Zak]
- add note about mount(8) options to TODO [Karel Zak]
- add notes about tools/config-gen [Karel Zak]
- add prlimit to the TODO file [Karel Zak]
- add usage() howto for contributors [Sami Kerola]
- add v2.21 ReleaseNotes [Karel Zak]
- add x-mount-mkdir to TODO file [Karel Zak]
- align col.1 with howto-man-page.txt [Sami Kerola]
- align colcrt.1 with howto-man-page.txt [Sami Kerola]
- align colrm.1 with howto-man-page.txt [Sami Kerola]
- align fallocate.1 with howto-man-page.txt [Sami Kerola]
- align hexdump.1 with howto-man-page.txt [Sami Kerola]
- align logger.1 with howto-man-page.txt [Sami Kerola]
- align more.1 with howto-man-page.txt [Sami Kerola]
- align renice.1 with howto-man-page.txt [Sami Kerola]
- align rev.1 with howto-man-page.txt [Sami Kerola]
- align script.1 with howto-man-page.txt [Sami Kerola]
- align scriptreplay.1 with howto-man-page.txt [Sami Kerola]
- align tunelp.8 with howto-man-page.txt [Sami Kerola]
- align ul.1 with howto-man-page.txt [Sami Kerola]
- align vipw.8 with howto-man-page.txt [Sami Kerola]
- align wall.1 with howto-man-page.txt [Sami Kerola]
- chcpu and readprofile are sysadmin utils [Sami Kerola]
- clean up old readme files [Sami Kerola]
- copy contributors from legacy files to AUTHORS [Sami Kerola]
- fix return value table in fsck.8 [Sami Kerola]
- mention long options in ctrlaltdel.8 [Sami Kerola]
- mention long options in cytune.8 [Sami Kerola]
- mention long options in pivot_root.8 [Sami Kerola]
- move setuid information from reame to hwclock.8 [Sami Kerola]
- new file Documentation/howto-compilation.txt [Sami Kerola]
- new file Documentation/howto-contribute.txt [Sami Kerola]
- new file Documentation/howto-man-page.txt [Sami Kerola]
- new file Documentation/release-schedule.txt [Sami Kerola]
- new file Documentation/source-code-management.txt [Sami Kerola]
- note about independent super block structs [Sami Kerola]
- refresh TODO file [Karel Zak]
- remove README.clear [Sami Kerola]
- remove URL to u-l webpage [Karel Zak]
- remove duplicated text [Sami Kerola]
- require kernel support before accepting use of it [Sami Kerola]
- restructure flock.1 manual page [Sami Kerola]
- tell what the Documentation/ is about [Sami Kerola]
- trivial documentation fixes and improvements [Petr Uzel]
- update AUTHORS file [Karel Zak]
- update TODO [Karel Zak]
- update TODO [Petr Uzel]
- update TODO file [Davidlohr Bueso]
- update TODO file [Karel Zak]
- update copyright years [Karel Zak]
- update v2.21-ReleaseNotes [Karel Zak]
- use .LGPL extension for file with GNU Lesser License [Karel Zak]
- use correct translation project url [Sami Kerola]
fallocate:
- add FALLOC_FL_PUNCH_HOLE support [Cong Wang]
- clean up fallbacks for FALLOC_FL_* flags [Karel Zak]
fdformat:
- fix uninitialized variable [Francesco Cosoleto]
fdisk:
- Fix bad invalid flag 0x00000 warning message [Francesco Cosoleto]
- add missing break [Karel Zak]
- avoid an intermediate variable in command_prompt() [Francesco Cosoleto]
- avoid segfault validating a sgi label (boot/swap not set) [Francesco Cosoleto]
- don't shorten long path to disk device [Karel Zak]
- don't swap unsigned char [Karel Zak]
- don't use get_existing_partition() if disk label isn't dos [Francesco Cosoleto]
- drop one parameter from try() function [Francesco Cosoleto]
- enable expert menu with SGI label [Francesco Cosoleto]
- fix cdrom detection [Karel Zak]
- fix incorrect position of is_ide_cdrom_or_tape() call [Francesco Cosoleto]
- fix last sector dialog bug after an incorrect input with suffix [Francesco Cosoleto]
- fix poor coding style [Karel Zak]
- get rid of get_boot(create_empty_sun) call [Francesco Cosoleto]
- get rid of type_open global variable [Francesco Cosoleto]
- improve some messages [Francesco Cosoleto]
- move code for renaming SGI bootfile to SGI module [Francesco Cosoleto]
- move command prompt code to a separate function [Francesco Cosoleto]
- print a message with size and type of created partition [Francesco Cosoleto]
- print partition deleted message [Francesco Cosoleto]
- print welcome message [Francesco Cosoleto]
- remove PACKED macro [Karel Zak]
- remove possibly_osf_label variable that is only assigned [Francesco Cosoleto]
- remove redundant declaration [cppcheck] [Sami Kerola]
- remove uneecessary code [Karel Zak]
- remove unused 'require' member in enum action [Francesco Cosoleto]
- remove unused guess_device_type() function [Francesco Cosoleto]
- rename bselect, xselect functions [Francesco Cosoleto]
- rename read_int_sx() and some related variables [Francesco Cosoleto]
- rename try() and tryprocpt() functions [Francesco Cosoleto]
- rewrite print menu system [Francesco Cosoleto]
- split delete_partition() off from dos_delete_partition() [Francesco Cosoleto]
- update information about GNU Parted in fdisk.8 [Petr Uzel]
- use CDROM_GET_CAPABILITY ioctl [Davidlohr Bueso]
- use ngettext() in str_units() for plural forms [Francesco Cosoleto]
findmnt:
- add note about LIBMOUNT_* env.variables [Karel Zak]
- fix resource leak [coverity scan] [Karel Zak]
- initialize rc variable [Karel Zak]
- make --poll more robust [Karel Zak]
- revert --fstab behavior, add --tab-file option [Karel Zak]
- support alternative location of fstab [Dave Reisner]
- support multiple --tab-file options [Karel Zak]
- use warnx for libmnt error callback [Dave Reisner]
flock:
- add missing word »be« to flock.1 [Paul Menzel]
- align with howto-usage-function.txt [Sami Kerola]
- fix coding style [Sami Kerola]
- fix flock.1 grammar by removing »s« [Paul Menzel]
- fix sizeof usage [clang -Wsizeof-pointer-memaccess] [Karel Zak]
- make flock(1) work on NFSv4 [Michal Kubecek]
- move long_options struct to function scope [Sami Kerola]
- simplify strtotimeval() [Sami Kerola]
- timer code refactoring [Karel Zak]
- use O_RDWR as fallback if O_RDONLY returns EIO [Karel Zak]
- use function attributes [Sami Kerola]
- use libc error printing facilities [Sami Kerola]
- use strutils.h to check numeric user input [Sami Kerola]
- use sysexit.h for all exit values [Sami Kerola]
fsck:
- make fs->type usage more robust [smatch scan] [Karel Zak]
- use FS blacklist for non-all mode too [Karel Zak]
fsck.cramfs:
- mark usage() as noreturn [Karel Zak]
fsck.minix:
- fix zone_map memory allocation failure check [Francesco Cosoleto]
- remove unnecessary memset calls [Francesco Cosoleto]
fstrim:
- fix section number in referral to manpage [Petr Uzel]
hexdump:
- make code more robust [Karel Zak]
hwclock:
- clean usage, remove redundat code [Karel Zak]
- remove never read value [Karel Zak]
- remove non-ANSI function declaration [smatch scan] [Karel Zak]
include,c.h:
- include fcntl.h before check for O_CLOEXEC [smatch scan] [Karel Zak]
include,optutils:
- add option_to_longopt() [Karel Zak]
include,xalloc:
- check for NULL before calling strdup [Dave Reisner]
- fix whitespace to be consistent [Dave Reisner]
include/loopdev.h:
- add missing function prototype [Dave Reisner]
ipcmk:
- add long options & fix usage() [Sami Kerola]
- allow high speed ipc creation [Sami Kerola]
- include-what-you-use header check [Sami Kerola]
- remove camel casing [Sami Kerola]
- remove useless code [Sami Kerola]
- validate numeric option arguments [Sami Kerola]
ipcrm:
- add --all option [Sami Kerola]
- add --verbose option [Sami Kerola]
- add long options [Sami Kerola]
- add static keyword to some functions [Francesco Cosoleto]
- check IPC syscalls [Davidlohr Bueso]
- exit if unknown error occurs [Sami Kerola]
- fix wrong subject in error messages for -m, -q, -s id options [Francesco Cosoleto]
- include-what-you-use header check [Sami Kerola]
- refactor new and old main to share code [Sami Kerola]
- use ternary operator in "(key|id) failed" message [Francesco Cosoleto]
ipcs:
- add long options [Sami Kerola]
- comment & white space clean up [Sami Kerola]
- include-what-you-use header check [Sami Kerola]
- minor changes to usage() [Karel Zak]
islocal:
- fix coding style [Sami Kerola]
kill:
- fix fd leak [Karel Zak]
- fix issue warned by smatch [Sami Kerola]
- potential null derefence [smatch scan] [Karel Zak]
last:
- fix few compiler warnings [Sami Kerola]
- fix smatch warning [Sami Kerola]
- possible buffer overflow fixed [smatch scan] [Sami Kerola]
ldattach:
- add default case to switches [Sami Kerola]
- align with howto-usage-function.txt [Sami Kerola]
- check numeric user inputs with strtol_or_err [Sami Kerola]
- convert debug macro to function [Sami Kerola]
- fix coding style [Sami Kerola]
lib:
- [strutils] add strtod_or_err() function [Sami Kerola]
- cleanup setproctitle.c [Karel Zak]
- do not attempt to close(0) in sysfs_deinit() [Petr Uzel]
lib,cpuset:
- enforce stricter parsing of cpu lists [Heiko Carstens]
- fix comments for cpu mask/list functions [Heiko Carstens]
- fix compiler warning [-Wuninitialized] [Karel Zak]
- fix odd placed braces in cpulist_parse() [Heiko Carstens]
- fix stride handling in cpulist_parse() [Heiko Carstens]
lib,loopdev:
- add LOOP_CTL_GET_FREE support [Karel Zak]
- add debugu messages [Karel Zak]
- add missing functions [Karel Zak]
- fix use of logical '&&' with constant operand [Francesco Cosoleto]
- remove duplicate includes [Karel Zak]
lib,match:
- split match_fstype() from libmount [Karel Zak]
lib,path:
- move path access functions from lscpu into lib/path.c [Heiko Carstens]
- use write_all() [Heiko Carstens]
lib,strutils:
- add default value to parse_range() [Davidlohr Bueso]
- share parse_range() [Davidlohr Bueso]
lib,tt:
- add TT_FL_NOEXTREMES [Karel Zak]
- don't trim last line char [Karel Zak]
- fix compiler warning [-Wreturn-type] [Karel Zak]
lib/fsprobe:
- mar this internal API as deprecated [Karel Zak]
lib/loopdev:
- fix part scan detection code [Karel Zak]
- fix possible dir leak on error [Karel Zak]
- remove dead assigment and null deference [Karel Zak]
lib/strutils:
- move array bounds check in string_to_idarray() to appropriate place. [Chandan B Rajenda]
lib/sysfs:
- fix handle leak [Karel Zak]
- fix possible fd leak on error [Karel Zak]
libblkid:
- DRBD proxy data-log identification. [Philipp Marek]
- add BLKID_PARTS_MAGIC [Karel Zak]
- add BLKID_PARTS_MAGIC to blkid_do_wipe() docs [Karel Zak]
- add blkid_do_wipe() [Karel Zak]
- allow return value to indicate error [cppcheck] [Sami Kerola]
- check blkid_probe_set_magic() return in GPT code [coverity scan] [Karel Zak]
- check blkid_probe_set_magic() return in ultrix code [coverity scan] [Karel Zak]
- check blkid_probe_set_magic() return value [coverity scan] [Karel Zak]
- check for NULL in blkid_flush_cache() [coverity scan] [Karel Zak]
- check rename() return value [coverity scan] [Karel Zak]
- check return values in safe_probe code [coverity scan] [Karel Zak]
- clarify operation order [cppcheck] [Sami Kerola]
- comparing an array to null is not useful [coverity scan] [Karel Zak]
- don't call CDROM_GET_CAPABILITY for partitions [Karel Zak]
- export PTMAGIC also if only PTTYPE requested [Karel Zak]
- export info about PT magic strings [Karel Zak]
- fix blkid_do_fullprobe() [coverity scan] [Karel Zak]
- fix limit for OCFS check [Karel Zak]
- fix mac partition detection [Francesco Cosoleto]
- fix smatch warning [Sami Kerola]
- fix suspicious implicit sign extension [coverity scan] [Karel Zak]
- fix use-after-free [coverity scan] [Karel Zak]
- improve reiserfs and btrfs min. size limits [Karel Zak]
- make fd usage in md code more robust [Karel Zak]
- minor docs changes [Francesco Cosoleto]
- more robust idx usage [coverity scan] [Karel Zak]
- new magic for 8.4 style (unclean) activity log. [Philipp Marek]
- remove >> 9 from GPT code [Karel Zak]
- remove unnecessary position check from list_for_each_safe loops [Karel Zak]
- silence a format string warning [-Wformat] [Francesco Cosoleto]
- update docs [Karel Zak]
- verify arroy bound before reference [cppcheck] [Sami Kerola]
libmount:
- Use filter arg of scandir* to pickup /etc/fstab.d/*.fstab files [Masatake YAMATO]
- add "+" prefix for options pattern (e.g findmnt -O) [Karel Zak]
- add --pass-fd to samples/mount [Karel Zak]
- add -a to umount(8) sample [Karel Zak]
- add MNT_OMODE_NOTAB [Karel Zak]
- add function to parse offsets/sizes [Karel Zak]
- add functions to export syscall/helpers status [Karel Zak]
- add mnt_context_umount_next() [Karel Zak]
- add new exprimental umount(8) [Karel Zak]
- add post-mount checks to detect ro/rw [Karel Zak]
- add sanitize_env() to mount(8) sample [Karel Zak]
- add support for encrypted loopdevs [Karel Zak]
- add support for mount -a --fork [Karel Zak]
- allow to toggle ro/rw and mount again [Karel Zak]
- allow to use UUID and LABEL for owner/group mount options in fstab [Karel Zak]
- always trust the source of a pseudofs [Dave Reisner]
- avoid duplicate loopdevs [Karel Zak]
- avoid resolving pseudofs source on update [Dave Reisner]
- clean up context docs [Karel Zak]
- cleanup docs [Karel Zak]
- cleanup post-umount operations [Karel Zak]
- consolidate MNT_FS_* code [Karel Zak]
- consolidate sysconf() usage [Karel Zak]
- don't ignore chmod/own errors [Karel Zak]
- don't pass comments=/x-* to mount.<type> helpers [Karel Zak]
- don't use "new" in header file [Karel Zak]
- export info about library features [Karel Zak]
- fix MS_BIND|MS_REC usage, improve some bitwise operations [Karel Zak]
- fix a potential memory leak at mnt_table_parse_dir [Masatake YAMATO]
- fix auto-loopdev [Karel Zak]
- fix buffer overflow and leaks in tests [Karel Zak]
- fix bugs detected by [smatch scan] [Karel Zak]
- fix chdir to parent for restricted (user) umounts [Karel Zak]
- fix checked-return [coverity scan] [Karel Zak]
- fix compiler warning [-Wimplicit-function-declaration] [Karel Zak]
- fix compiler warnings [-Wsign-compare] [Karel Zak]
- fix compiler warnings [-Wuninitialized -Wformat] [Karel Zak]
- fix context test logic [Karel Zak]
- fix leak in tab parsing error code [Karel Zak]
- fix leak in tab_update.c test [Karel Zak]
- fix leak in tabdiff test [Karel Zak]
- fix negative returns [coverity scan] [Karel Zak]
- fix possible null dereferencing [coverity scan] [Karel Zak]
- fix resource leak [coverity scan] [Karel Zak]
- fix trivial typos in debugging output [Petr Uzel]
- fix typo in function name [Dave Reisner]
- fix use of logical '&&' with constant operand [Francesco Cosoleto]
- fixed a small typo [s.p@orbitalfox.com]
- ignore "defaults" mount option [Karel Zak]
- ignore tailing slash in netfs source paths [Petr Uzel]
- improve verbose message [Karel Zak]
- make iter reset more robust [coverity scan] [Karel Zak]
- make options in fstab optional [Karel Zak]
- potential null derefence [smatch scan] [Karel Zak]
- previously assumed null pointer [smatch scan] [Karel Zak]
- redundant null check on calling free() [smatch scan] [Karel Zak]
- remove dead assigment [Karel Zak]
- remove fstab.d support [Karel Zak]
- remove magic constatnt from mount(8) [Karel Zak]
- remove teaser proto for mnt_table_get_name [Dave Reisner]
- scandirat based mnt_table_parse_dir implementation [Masatake YAMATO]
- support -o loop=<devname> [Karel Zak]
- support dirs for mnt_table_parse_fstab(), add mnt_table_parse_dir() [Karel Zak]
- support umount /path/file.img [Karel Zak]
- support {offset,sizelimit}= foor loopdevs [Karel Zak]
- unable to umount nfs shares using the force option [Karel Zak]
- use #ifdef fr selinux specific variables [Karel Zak]
- use USAGE_* from mount(8) sample [Karel Zak]
- use loopdev debug facility [Karel Zak]
- use unsigned int for bitfields [smatch scan] [Karel Zak]
- variable dereferenced before check [smatch scan] [Karel Zak]
libuuid:
- add limits.h include for OPEN_MAX [maximilian attems]
- fix includes in man pages [Karel Zak]
line:
- fix compiler warnings [-Wunused-parameter] [Karel Zak]
lists:
- add list sorting routine [Davidlohr Bueso]
logger:
- fix remote logging [Karel Zak]
- non-ANSI definition [smatch scan] [Karel Zak]
login:
- (and chsh) make pw_shell usage more robust [Karel Zak]
- PAM account checks refactoring [Karel Zak]
- PAM auth refactoring [Karel Zak]
- PAM initialization refactoring [Karel Zak]
- PAM session initialization refactoring [Karel Zak]
- add -H option for compatibility with Suse [Karel Zak]
- add LOGIN_RETRIES, cleanup retries check code [Karel Zak]
- add hostname to login_context struct [Karel Zak]
- add login.defs code and tests [Karel Zak]
- add pid to login_context struct [Karel Zak]
- add struct login_context, consolidate tty code [Karel Zak]
- add username to login_context struct [Karel Zak]
- add version printing option [Sami Kerola]
- allocate buffer with shell name [Karel Zak]
- clean FAIL_DELAY usage [Karel Zak]
- cleanup begin of the login.c file [Karel Zak]
- comparing an array to null is not useful [coverity scan] [Karel Zak]
- cosmetic changes in docs [Karel Zak]
- env initialization refactoring [Karel Zak]
- fix compiler warning [-Wreturn-type] [Karel Zak]
- fix leak, improve strtok usage [Karel Zak]
- fork & session initialization refactoring [Karel Zak]
- host{name,address} initialization refactoring [Karel Zak]
- improve hushed mode (merge suse changes) [Karel Zak]
- improve pam_setcred() usage [Karel Zak]
- indent -linux [Karel Zak]
- lastlog code refactoring [Karel Zak]
- log good logins refactoring [Karel Zak]
- more robust sysconf() usage [coverity scan] [Karel Zak]
- move _PATH_BTMP to pathnames.h [Karel Zak]
- move signal stuff to the one place [Karel Zak]
- remove PAM_FAIL_CHECK and PAM_END macros [Karel Zak]
- remove dead code and comments [Karel Zak]
- remove kerberos specific code [Karel Zak]
- remove non-PAM code [Karel Zak]
- remove obsolete code, clean up macros names [Karel Zak]
- remove obsolete info from man page [Karel Zak]
- remove pam_handle_t from main() [Karel Zak]
- remove unnecessary ifdef HAVE_CRYPT_H [Karel Zak]
- remove unnecessary variables [Karel Zak]
- remove unused code and tests [Karel Zak]
- rewrite motd(), use MOTD_FILE from login.defs [Karel Zak]
- tty chown.chmod refactoring [Karel Zak]
- use DEFAULT_HOME from login.defs [Karel Zak]
- use ENV_PATH and ENV_{ROOT,SU}PATH from login.defs [Karel Zak]
- use FAIL_DELAY from login.defs [Karel Zak]
- use HUSHLOGIN_FILE from login.defs [Karel Zak]
- use LOGIN_TIMEOUT from login.defs [Karel Zak]
- use LOG_UNKFAIL_ENAB from login.defs, improve logging [Karel Zak]
- use TTYGROUP from login.defs [Karel Zak]
- use TTYPERM from login.defs [Karel Zak]
- use getpwnam_r() rather than manually copy passwd struct [Karel Zak]
- use login_context struct in audit stuff [Karel Zak]
- use setgroups(0, NULL) for root [Karel Zak]
- use xalloc.h [Karel Zak]
- utmp code refactoring [Karel Zak]
logindefs:
- fix coding style [Sami Kerola]
loopdev:
- improve debug messages [Karel Zak]
- support LO_FLAGS_PARTSCAN flag (kernel 3.2) [Karel Zak]
losetup:
- add --partscan option [Karel Zak]
- add note about non-root users to losetup.8 [Karel Zak]
- check to control debug output [Karel Zak]
- cleanup headers, cmdline checks [Karel Zak]
- cleanup man page [Karel Zak]
- cleanup usage() [Karel Zak]
- fix compiler warnings [-Wpointer-sign -Wformat] [Karel Zak]
- make xgetpass more robust [Karel Zak]
- move to sys-utils directory [Karel Zak]
- move xgetpass() to lib/xgetpass.c [Karel Zak]
- new -D option to delete all used loop devices [Petr Uzel]
- print info about one device [Karel Zak]
- print verbose messages if requested [Petr Uzel]
- remove #ifdef LOOP_SET_FD nonsense [Karel Zak]
- remove 32-bit ioctls [Karel Zak]
- remove mount-specific headers [Karel Zak]
- remove obsolete #ifdef MAIN [Karel Zak]
- remove unnecessary header files [Karel Zak]
- rewrite -a [Karel Zak]
- rewrite -c [Karel Zak]
- rewrite -d and -D [Karel Zak]
- rewrite -f [Karel Zak]
- rewrite -j [Karel Zak]
- rewrite loop setup [Karel Zak]
lsblk:
- add UUID to --fs output [Karel Zak]
- add udev support [Ilias Mamedov]
- check stat() return code [Karel Zak]
- inform about depencency to /sys/dev/block [Sami Kerola]
- remove __NCOLUMNS [Davidlohr Bueso]
lscpu:
- add --all option [Heiko Carstens]
- add --offline option [Heiko Carstens]
- add --online option [Karel Zak]
- add --version option [Heiko Carstens]
- add Hypervisor to output [Heiko Carstens]
- add column names to --help [Karel Zak]
- add columns description to help, fix header for parsable output [Karel Zak]
- add configured state to output [Heiko Carstens]
- add cpu polarization to parseable output [Heiko Carstens]
- add human readable extended cpu table output [Karel Zak]
- add online state to output [Heiko Carstens]
- add physical cpu address to parseable output [Heiko Carstens]
- add s390 kvm test case [Heiko Carstens]
- add s390 test case [Heiko Carstens]
- allow read_cache() to be called for offline cpus [Heiko Carstens]
- cleanup output modes [Karel Zak]
- dereferencing NULL pointer [coverity scan] [Karel Zak]
- detect IBM hypervisor [Heiko Carstens]
- fix -e output [Heiko Carstens]
- fix cache output for extended parsable output [Heiko Carstens]
- fix compiler warnings [Davidlohr Bueso]
- fix cpu map array sizes [Heiko Carstens]
- fix fallback nthreads calculation [Heiko Carstens]
- fix fd leak [Karel Zak]
- fix s390 bogomips detection coding style [Heiko Carstens]
- fix typo in help text [Heiko Carstens]
- gettextize two columns [Karel Zak]
- man page update [Heiko Carstens]
- remove comma operator [Heiko Carstens]
- remove unneeded file [Heiko Carstens]
- s/Y/Yes/ s/N/No/ [Heiko Carstens]
- show dispatching mode [Heiko Carstens]
- simplify cache column output function [Heiko Carstens]
- stricter command line parsing [Heiko Carstens]
- switch Yes/No output to lower case [Heiko Carstens]
- use buffer for data and headers [Karel Zak]
- use function to search in cpu masks arrays [Karel Zak]
- use hypervisor generated topology information [Heiko Carstens]
- use xalloc libs [Dave Reisner]
misc:
- use %m in format string instead of %s and strerror(errno) [Petr Uzel]
mkfs.bfs:
- add setlocale [Davidlohr Bueso]
mkfs.cramfs:
- check blocksize user input [cppcheck] [Sami Kerola]
- close open file after usage [cppcheck] [Sami Kerola]
mkfs.minix:
- Fix super_set_nzones() [Maurizio Lombardi]
- In Minix V3 filesystems the maximum filename length is 60 chars and the dirsize is 64 bytes. [Maurizio Lombardi]
- Some bug fixes [Maurizio Lombardi]
- The s_blocksize field of the MinixV3 superblock must be initialized with a valid block size, not the total number of blocks of the device! [Maurizio Lombardi]
- The total number of zones is limited to 65536 only on V1 filesystems [Maurizio Lombardi]
- inode numbers are 32-bit wide in V3 filesystems [Maurizio Lombardi]
- remove redundant code [Maurizio Lombardi]
mkswap:
- check blkid_probe_lookup_values() return [coverity scan] [Karel Zak]
- wipe all old signatures [Karel Zak]
more:
- add comment [Karel Zak]
mount:
- (new) add --fstab <path> option [Karel Zak]
- (new) add --fstab to the man page [Karel Zak]
- (new) add more info about --stab to mount.8 [Karel Zak]
- (new) add selinux warning [Karel Zak]
- (new) add source/target to error messages [Karel Zak]
- (new) fix resource leak [coverity scan] [Karel Zak]
- (new) improve mount -a exist codes and erroer messages [Karel Zak]
- (new) print error messages [Karel Zak]
- (new) share exit codes by include/exitcodes.h [Karel Zak]
- add hint that context= has to be quoted [Karel Zak]
- add info about libmount features to --version output [Karel Zak]
- append inverting options for mount.<type> [Karel Zak]
- avoid canonicalizing pseudofs paths [Dave Reisner]
- check for target before source on remount [Karel Zak]
- clear flags before options parsing [Karel Zak]
- define fallback selinux_warning macro with 2 params [Dave Reisner]
- distinguish between MS_COMMENT flags (netdev, nofail, ...) [Karel Zak]
- don't canonicalize the source of a pseudofs [Dave Reisner]
- enable fstab.d [Masatake YAMATO]
- fix __attribute__ keyword [Karel Zak]
- fix build [Davidlohr Bueso]
- fix compiler warning [-Wunused-parameter] [Karel Zak]
- fix compiler warnings [-Wunused-parameter -Wunused-variable] [Karel Zak]
- fix loopdev deinitialization [Karel Zak]
- remounting tmpfs read-write hangs (selinux) [Karel Zak]
- remove duplicate includes [Karel Zak]
- remove superfluous "an" under ext4 mount options in mount.8 [Frederik \"Freso\" S. Olesen]
- update info about check= mount option [Karel Zak]
- use common libs [Davidlohr Bueso]
- use new lib/loopdev.c code [Karel Zak]
mountpoint:
- fallback on stat when /proc isn't mounted [Karel Zak]
- refactor exit path [Dave Reisner]
- return dev_t from dir_to_device [Dave Reisner]
- support symbolic and relative paths [Karel Zak]
namei:
- more robust add_it() [coverity scan] [Karel Zak]
newgrp:
- add version and help options [Sami Kerola]
- fix coding style [Sami Kerola]
- fix possible FILE leak on error [Karel Zak]
partx:
- check sysfs_init() return value [coverity scan] [Karel Zak]
- cleanup usage() and man page, add undocumented --verbose [Karel Zak]
- don't print error when partition already doesn't exist [Phillip Susi]
- don't treat empty partition table as error [Karel Zak]
- fix small leak [Karel Zak]
- remove __NCOLUMNS [Davidlohr Bueso]
- support loop devices [Davidlohr Bueso]
- use USAGE_ macros [Davidlohr Bueso]
pivot_root:
- add version & help option [Sami Kerola]
- minor changes to usage() [Karel Zak]
po:
- merge changes [Karel Zak]
- update cs.po (from translationproject.org) [Petr Pisar]
- update cs.po (from translationproject.org) [Petr Písař]
- update fr.po (from translationproject.org) [David Prévot]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
prlimit:
- add --{raw,noheadings} options [Karel Zak]
- add a units column [Davidlohr Bueso]
- add add falbacks [Karel Zak]
- add support for executing a command [Bernhard Voelker]
- avoid segfault due to array-out-of-bounds error [Karel Zak]
- don't share pointer for old and new in prlimit(2) [Karel Zak]
- fix SYS_ macro [Karel Zak]
- fix case when PID is given later [Bernhard Voelker]
- fix error message [Karel Zak]
- fix noheadings option in man page [Bernhard Voelker]
- fix typo in man page, option --verbose [Bernhard Voelker]
- new command [Davidlohr Bueso]
- replace lims[i] with pointer [Karel Zak]
- return proper type [Davidlohr Bueso]
- s/amount/number/ [Jim Meyering]
- show all limits if called without options [Bernhard Voelker]
- use xalloc libs [Davidlohr Bueso]
raw:
- fix shadowing of minor function [maximilian attems]
- remove unnecessary return [cppcheck] [Sami Kerola]
readprifile:
- remove unnecessary optstring array [Karel Zak]
readprofile:
- add long options [Sami Kerola]
- fix coding style [Sami Kerola]
- use libc error printing facilities [Sami Kerola]
rtcwake:
- align with howto-usage-function.txt [Sami Kerola]
- fix crash (invalid free) [Petr Uzel]
script:
- fix building with --disable-nls [Natanael Copa]
- libintl.h included in nls.h [Karel Zak]
- non-ANSI definition [smatch scan] [Karel Zak]
selinux_utils:
- fix coding style [Sami Kerola]
setarch:
- add version printing [Sami Kerola]
- minor changes to usage() [Karel Zak]
- move options struct to function scope [Sami Kerola]
- use program_invocation_short_name [Sami Kerola]
setpwnam:
- fix coding style [Sami Kerola]
- remove non-ANSI definitions [smatch scan] [Sami Kerola]
setsid:
- add "+" to getopt_long() [Harald Hoyer]
- add long options and fix coding style [Sami Kerola]
setterm:
- order man page items alphabetically [Jari Aalto]
sfdisk:
- add comment to keep static analysers happy [Karel Zak]
- add note about alignment to the man page [Karel Zak]
- cleanup fd usage [Karel Zak]
- file descriptor is of int type [Petr Uzel]
- fix fd leak [Karel Zak]
- fix poor coding style [Karel Zak]
- fix typo in cdrom detection [Karel Zak]
- fix weird indentation in msdos_partition() [Petr Uzel]
- free variable which got the allocation [cppcheck] [Sami Kerola]
- get_disksize() returns long long [Petr Uzel]
- introduce get_ull() function [Petr Uzel]
- make the cylinder boundary check less fatal [Petr Uzel]
- remove PACKED macro [Karel Zak]
- remove dead assigment [Karel Zak]
- remove do_warn [Davidlohr Bueso]
- remove duplicate includes [Karel Zak]
- remove fatal [Davidlohr Bueso]
- sfdisk.8 fix formatting [Petr Uzel]
- use is_blkdev [Davidlohr Bueso]
- use unsigned long long to internally represent sector number [Petr Uzel]
- warn if partition exceeds partition table limits [Petr Uzel]
swapon:
- add break to keep static analysers happy [Karel Zak]
- merge swap_constants.h into swapon.c [Karel Zak]
switch_root:
- add nls support [Sami Kerola]
- align with howto-usage-function.txt [Sami Kerola]
- close open file after usage [cppcheck] [Sami Kerola]
- handle /run and do not mount over existing mounts [Harald Hoyer]
- umount mount points we cannot move with MNT_DETACH [Harald Hoyer]
taskset:
- use appropriate variable type [cppcheck] [Sami Kerola]
test:
- refresh build-sys tests [Karel Zak]
tests:
- add --memcheck to [Karel Zak]
- add build-sys regression test [Karel Zak]
- add exceptions for libmount [Karel Zak]
- add infrastructure for valgrind [Karel Zak]
- add loopdev libmount test [Karel Zak]
- add missing file [Karel Zak]
- add mkfs.carmfs test for small FS with duplicate files [Karel Zak]
- add ts_fdisk_clean function to make fdisk output comparable [Francesco Cosoleto]
- add valgrind to libmount context tests [Karel Zak]
- add valgrind to libmount context utab tests [Karel Zak]
- add valgrind to libmount lock tests [Karel Zak]
- add valgrind to libmount tab parse test [Karel Zak]
- add valgrind to libmount tabdiff tests [Karel Zak]
- add valgrind to libmount tags eval. tests [Karel Zak]
- add wall to build-sys tests [Karel Zak]
- call valgrind from libmount optstr test [Karel Zak]
- call valgrind from libmount utils and update tests [Karel Zak]
- cleanup islocal test [Karel Zak]
- cleanup paths [Karel Zak]
- fix mount/special to be compatible with libmount [Karel Zak]
- fix options evaluation, add support for optional tests [Karel Zak]
- make minix tests more robust [Karel Zak]
- remove obsolete checktty test [Karel Zak]
- remove unexpected set -x [Karel Zak]
- remove unsupported losetup -s [Karel Zak]
- update fdisk and blkid MD tests [Francesco Cosoleto]
- update fdisk tests [Francesco Cosoleto]
- update tests with fdisk output [Karel Zak]
tools:
- add new code checking script [Dave Reisner]
- use gpg-aggent in ko-release-gen [Karel Zak]
tunelp:
- add long options and align with howto-usage-function.txt [Sami Kerola]
- fix coding style [Sami Kerola]
- free allocation, use xalloc [Sami Kerola]
- use libc error printing facilities [Sami Kerola]
- use symbolic exit values [Sami Kerola]
umount:
- (new) fix resource leak [coverity scan] [Karel Zak]
- (new) use the same exit codes as mount(8) [Karel Zak]
- add missing break [Karel Zak]
- add warning [Karel Zak]
- respect fs search path [Mike Frysinger]
- use new lib/loopdev.c code [Karel Zak]
unshare:
- add note about MS_SHARED to unshare.1 [Karel Zak]
- align with howto-usage-function.txt [Sami Kerola]
uuidd:
- Add missing break to option case statement [Eric Sandeen]
vipw:
- don't modify environment, check strtok() return value [Karel Zak]
- fix coding style [Sami Kerola]
- stop printing non-sense version string [Sami Kerola]
- use libc error printing facilities [Sami Kerola]
- use xalloc.h [Karel Zak]
whereis:
- fix gcc warnings [-Wsign-compare] [Karel Zak]
- move token assignment into loop syntax [Karel Zak]
- non-ANSI definition [smatch scan] [Karel Zak]
- remove unused value warning [Francesco Cosoleto]
- search in path [Davidlohr Bueso]
- search in path for binaries only [Karel Zak]
wipefs:
- add -t <list> option [Karel Zak]
- improve -a, use blkid_do_wipe() [Karel Zak]
- use xalloc lib [Davidlohr Bueso]
write:
- fix path for freopen() [Karel Zak]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,924 @@
Util-linux 2.24 Release Notes
=============================
This is the last release where the old non-libmount mount(8) implementation
is supported and maintained.
Release highlights
------------------
fdisk(8):
- the code has been completely refactored and moved to libfdisk
(the library does not have a stable API yet)
- user interface has been unified for all label types and it supports colors
- GPT disk UUID, partition UUID and partition name modification is supported now
pylibmount:
- this new library provides PYTHON BINDINGS for libmount;
use --with-python[=2|3] to enable the bindings
last(1) and lastb(1):
- the NEW IMPLEMENTATION has been merged from sysvinit to util-linux and
extended; now it supports command line options --present, --since, and
--time-format
- use --enable-deprecated-last to enable the old util-linux last(1) implementation
swapon(8):
- the option --discard= and fstab mount option discard= allow to explicitly
specify 'pages' or 'once' discard policy. If no policy is selected, the
default behavior is to enable both. See swapon.8 man page for more details.
libblkid and blkid(8):
- supports LOGUUID= for external logs (e.g. extN and XFS)
- generates a pseudo PARTUUID= for MBR partitions (based on MBR Id, Linux kernel
supports the same concept for root= command line option)
agetty(8):
- supportes new issue file \S escape code to read information from /etc/os-release
- the option -L allows to completely control CLOCAL flag
dmesg(1):
- supports new command line option --time-format to specify time format
- supports new iso-8601 time format
hexdump(1):
- supports long options now
wall(1):
- the command is compatible with sysvinit implementation now
logger(1):
- supports new command line option --prio-prefix when logging stdin
lscpu(1):
- allows to detect more hypervisor types and provides info about Max
and Min CPU Mhz
unshare(8):
- supports new command line options --fork and --mount-proc for
pid namespaces
wipefs(8):
- now wipes superblocks with incorrect checksums too
- supports new command line option --backup to backup erased data to
$HOME/wipefs-<devname>-<offset>.bak
nologin(8):
- this command has been merged into util-linux, the command politely
refuses a login.
Stable maintenance releases between v2.23 and v2.24
---------------------------------------------------
util-linux 2.22.1 [Jun 31 2013]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23.1-ChangeLog
util-linux 2.23.2 [May 28 2013]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23.2-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23.2-ChangeLog
Changes between v2.23 and v2.24
-------------------------------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.24/
agetty:
- -L accepts optional argument [Karel Zak]
- add \S to output /etc/os-release data [Karel Zak]
- add baud rates available from glibc that are not already supported [James Buren]
- allow full control on CLOCAL flag [Karel Zak]
- check writing to a file was successful [Sami Kerola]
- cleanup debug ifdefs [Karel Zak]
- don't remove ECHOCTL from c_lflag [Karel Zak]
- fix a kill/erase error in man page and improve clarity [Benno Schulenberg]
- fix memory leak [clang-analyzer] [Sami Kerola]
- improve wording, grammar and some formatting in man page [Benno Schulenberg]
- only use EXTA/EXTB macros if B19200/B38400 macros are not present [James Buren]
- update man page and usage() [Karel Zak]
- use O_NONBLOCK only for serial lines with CLOCAL [Karel Zak]
- use standard angular brackets in usage message [Benno Schulenberg]
- unrecognized option '--loginpause'" [kernc]
bash-completion:
- add mount and umount [Sami Kerola]
- fix typos in mkfs.bfs logic [Mike Frysinger]
- use '\n' as IFS when ask for filenames [Karel Zak]
blkdiscard:
- use fstat() rather than stat() [coverity scan] [Karel Zak]
blkid:
- export ID_PART_TABLE_UUID [Karel Zak]
- fix typo in ID_FS_AMBIVALEN= [Karel Zak]
blkid, hwclock, ldattach:
- use program_invocation_short_name [Sami Kerola]
blockdev:
- Remove the --setbsz (set blocksize) option which has never worked. [Richard W.M. Jones]
- add note about --setbsz usability [Karel Zak]
build-sys:
- Check for type sighandler_t and use if present [Michael Forney]
- Fix check for __GNU_LIBRARY__ [Michael Forney]
- Use _POSIX_VERSION to determine support for %m [Michael Forney]
- add *vim and clang_complete to gitignore [Karel Zak]
- add --disable-setterm [Karel Zak]
- add CFLAGS and LDFLAGS for daemons and shared libs [Karel Zak]
- add pylibmount [Karel Zak]
- add pylibmount __init__.py EXTRA_DIST [Karel Zak]
- always check for setns() and unshare() libs functions [Karel Zak]
- complete elvtune removal [Sami Kerola]
- enable mesg(1) by default [Karel Zak]
- fix ${prefix} usage, be more verbose about py paths [Karel Zak]
- fix include Makemodule.am [Karel Zak]
- fix last stuff [Karel Zak]
- fix lastb symlink [Karel Zak]
- fix static builds [Karel Zak]
- fix tinfo congitional [Karel Zak]
- fix {lib,sbin}dir paths [Karel Zak]
- improbe UL_CONFLICT_BUILD macro [Karel Zak]
- install pylibmount into [Karel Zak]
- install to the correct python dirs [Karel Zak]
- move getopt examples to docdir [Karel Zak]
- one install dir for all pylibmount stuff [Karel Zak]
- prefer AS_CASE rather than shell 'case' [Sami Kerola]
- prefer AS_IF rather than shell 'if' [Sami Kerola]
- pylibmount will not work when python3 is present [Sami Kerola]
- release++ (v2.24-rc1) [Karel Zak]
- release++ (v2.24-rc2) [Karel Zak]
- remove deprecated elvtune command [Karel Zak]
- remove unnecessary environment variable [Sami Kerola]
- simplify python detection [Sami Kerola]
- support --with-python[={2,3}] [Karel Zak]
- use -Wno-clobbered for some BSD crap [Karel Zak]
- use backticks rather than $() for commands in configure [Sami Kerola]
- use m4 quoting consistently [Sami Kerola]
- use tinfo *or* ncurses for more(1), ul(1) and setterm(1) [Karel Zak]
cal:
- add --color to usage() [Sami Kerola]
- clean up use of constants [Sami Kerola]
- convert function like definitions to functions [Sami Kerola]
- de-duplicate julian specific functions [Sami Kerola]
- fix -y output for UTF8 [Karel Zak]
- fix compiler warning on systems without term libs [Karel Zak]
- fix few type mismatches [Sami Kerola]
- fix gettext warning [Karel Zak]
- fix preprocessor directive indendation [Sami Kerola]
- fix warning when compiled --without-ncurses [Karel Zak]
- improve coding style [Karel Zak]
- improve the help text and man page [Pádraig Brady]
- mark all functions static [Sami Kerola]
- remove arbitrary limit of maxium year being 9999 [Sami Kerola]
- remove unnecessary initializations [Sami Kerola]
- set statically defined data read-only [Sami Kerola]
- simplify calendar reformat calculations [Sami Kerola]
- simplify colormode parsing [Karel Zak]
- simplify day_in_week() calculation [Sami Kerola]
- stop trimming whitespaces [Sami Kerola]
- support --color[={auto,always,never}] [Sami Kerola]
- use Claus Tøndering's day of the week algorithm [Sami Kerola]
cfdisk:
- add long options to the command [Sami Kerola]
- check writing to a file descriptor was successful [Sami Kerola]
- check writing to a file was successful [Sami Kerola]
- fix ambiguous code [Karel Zak]
chcpu:
- clean up error messages [Karel Zak]
chfn:
- assigned value is never read [clang-analyzer] [Sami Kerola]
column:
- dereference of null pointer [clang-analyzer] [Sami Kerola]
- use variable length printf field width to wprint blanks [Sami Kerola]
cytune:
- fix glush typo in cytune [Rafael Ferreira]
dmesg:
- add --time-format option [Sami Kerola]
- add iso-8601 time format [Sami Kerola]
- convert time format bitfield to enum [Sami Kerola]
- define is_timefmt() macro only once [Karel Zak]
- don't use pager for --follow [Karel Zak]
- fix --human color initialization [Karel Zak]
- fix usage() typo [Sami Kerola]
- inform user --show-delta and iso8601 time format does not mix [Sami Kerola]
- make time stamps to be printed consistently [Sami Kerola]
- regroup time related options close to each other [Sami Kerola]
- support --color[={auto,always,never}] [Karel Zak]
docs:
- add --present to last(1) manual page [Sami Kerola]
- add --since and time option formats to last(1) manual [Sami Kerola]
- add --time-format option and ISO-8601 format to manual [Sami Kerola]
- add --time-format to last(1) manual page [Sami Kerola]
- add long options to last.1 manual page [Sami Kerola]
- add lscpu max mhz to manual and bash completion [Sami Kerola]
- add missing options to sfdisk manual [Sami Kerola]
- add note to wall(1) about sessions which will not get message [Sami Kerola]
- add v2.24-ReleaseNotes [Karel Zak]
- be clear which last(1) is deprecated [Sami Kerola]
- cal add --color option description to manual page [Sami Kerola]
- cal stop telling year 9999 is upper limit [Sami Kerola]
- correct sfdisk --activate instructions [Sami Kerola]
- fix wording and formatting of man page for dmesg [Benno Schulenberg]
- format, grammarize, and standardize the wall man page [Benno Schulenberg]
- improve a bit the wording on the logger man page [Benno Schulenberg]
- improve formatting and wording of man pages for fdisk and cfdisk [Benno Schulenberg]
- improve formatting and wording of the getopt man page [Benno Schulenberg]
- improve grammar and consistency of comments in login.c [Benno Schulenberg]
- improve grammar and wording of the release-schedule text [Benno Schulenberg]
- improve grammar, wording and formatting of su man page [Benno Schulenberg]
- make description of --activate clearer on man page of sfdisk [Benno Schulenberg]
- mention in ReleaseNotes only PO files that were actually updated [Benno Schulenberg]
- normalize the formatting of man pages for nsenter and unshare [Benno Schulenberg]
- note ddate removal [Mike Frysinger]
- slightly correct the man page of column [Benno Schulenberg]
- sort options in last man page alphabetically [Benno Schulenberg]
- sort the options in the logger man page alphabetically [Benno Schulenberg]
- standardize the phrases for --help and --version in all man pages [Benno Schulenberg]
- tweak formatting and grammar of the ipcrm man page [Benno Schulenberg]
- tweak the grammar of an agetty man-page fragment [Benno Schulenberg]
- tweak wording and formatting of last man page [Benno Schulenberg]
- tweak wording and formatting of unshare and nsenter man pages [Benno Schulenberg]
- tweak wording, grammar and formatting of fdisk man page [Benno Schulenberg]
- update AUTHORS file [Karel Zak]
- update TODO [Karel Zak]
- update TODO [Sami Kerola]
- update v2.24-ReleaseNotes [Karel Zak]
eject:
- Check host_status and driver_status when using SG_IO. [Karel Zak]
- assigned value is never read [clang-analyzer] [Sami Kerola]
- unlock door before issuing CDROMEJECT command [Aaron Lu]
exec_shell:
- add a license and touch up func def [Mike Frysinger]
fallocate:
- check writing to a file descriptor was successful [Sami Kerola]
fdformat:
- check writing to a file descriptor was successful [Sami Kerola]
fdisk:
- (bsd) *OSF --> *BSD [Karel Zak]
- (bsd) add bsd_get_partition_status() [Karel Zak]
- (bsd) clean up BSD_LABEL* macros [Karel Zak]
- (bsd) clean up header file [Karel Zak]
- (bsd) cleanup bootstrap install code [Karel Zak]
- (bsd) cleanup driver initialization [Karel Zak]
- (bsd) cleanup label initialization [Karel Zak]
- (bsd) coding style, remove unnecessary #ifdef [Karel Zak]
- (bsd) final code clean up [Karel Zak]
- (bsd) fix add/link partition [Karel Zak]
- (bsd) implement regular bsd menu callback [Karel Zak]
- (bsd) minor code clean up [Karel Zak]
- (bsd) move bsdbuffer to fdisk_bsd_label struct [Karel Zak]
- (bsd) move global label variables to fdisk_bsd_label struct [Karel Zak]
- (bsd) remove dead code [Karel Zak]
- (bsd) remove generic actions from bsd_command_prompt() [Karel Zak]
- (bsd) remove printf() from the driver code [Karel Zak]
- (bsd) remove xbsd_ prefix [Karel Zak]
- (bsd) rewrite list disklabel function [Karel Zak]
- (bsd) use ask API for add partition dialog [Karel Zak]
- (bsd) use libfdisk for partition number dialog [Karel Zak]
- (bsd) use libfdisk to ask for label setting [Karel Zak]
- (bsd) use macros from pt-mbr.h [Karel Zak]
- (bsd) use pt-bsd.h [Karel Zak]
- (bsd) write/read PT code cleanup [Karel Zak]
- (dos) add dos menu callback [Karel Zak]
- (dos) clean up list PT functions [Karel Zak]
- (dos) cleanup public function names [Karel Zak]
- (dos) don't check for CHS in move-begin command [Karel Zak]
- (dos) fix offset dialog unit [Karel Zak]
- (dos) fix possible mem-leaks [Karel Zak]
- (dos) move macro is_dos_compatible() [Karel Zak]
- (dos) move pte specific function to dos.c [Karel Zak]
- (dos) remove global ptes[] [Karel Zak]
- (dos) remove global variables for extended partitions [Karel Zak]
- (dos) remove inline function from header file [Karel Zak]
- (dos) remove remaining global variables [Karel Zak]
- (dos) remove remaining printf() usage [Karel Zak]
- (dos) remove remaining read_{int,char}() functions [Karel Zak]
- (dos) remove unnecessary function [Karel Zak]
- (dos) remove unnecessary header file stuff [Karel Zak]
- (dos) rename members in struct pte [Karel Zak]
- (dos) rename struct partition to dos_partition [Karel Zak]
- (dos) use ask API for new partition dialog [Karel Zak]
- (dos) use ask API to change disk ID [Karel Zak]
- (dos) use libfdisk to ask for partition type [Karel Zak]
- (dos) use pt-mbr.h [Karel Zak]
- (gpt) add t, v and x to menu [Karel Zak]
- (gpt) enlarge columns in list output [Karel Zak]
- (gpt, sun) use fdisk_partname() [Karel Zak]
- (sgi) cleanu sgi_info stuff [Karel Zak]
- (sgi) cleanup boot file name code [Karel Zak]
- (sgi) cleanup devparams flags [Karel Zak]
- (sgi) cleanup disk label struct usage [Karel Zak]
- (sgi) don't try to convert MBR to SGI [Karel Zak]
- (sgi) fix checksum calculation [Karel Zak]
- (sgi) rdon't use read_chars() to ask yes/no question [Karel Zak]
- (sgi) remove dead code [Karel Zak]
- (sgi) remove global freelist [Karel Zak]
- (sgi) remove magic strings [Karel Zak]
- (sgi) remove printf from code [Karel Zak]
- (sgi) remove unnecessary code [Karel Zak]
- (sgi) rewrite sgi_list_table() [Karel Zak]
- (sgi) share disk label definition with libblkid [Karel Zak]
- (sgi) small coding style changes [Karel Zak]
- (sgi) use ask API for first/last dialogs [Karel Zak]
- (sgi) use cpu_to_beXX() and beXX_to_cpu() [Karel Zak]
- (sgi) use stuff ffrom pt-mbr.h and libfdisk [Karel Zak]
- (sun) consolidate 'p'rint output [Karel Zak]
- (sun) remove dead code [Karel Zak]
- (sun) use tt.c to list disk label [Karel Zak]
- -l refactoring [Karel Zak]
- add -L to colorize output [Karel Zak]
- add -t <type> to enable only specified type [Karel Zak]
- add GPT specific callback to menu [Karel Zak]
- add asktype "string" and support UUID partition change [Karel Zak]
- add bsd, dos and sgi menus [Karel Zak]
- add debug message, use colors for -l [Karel Zak]
- add functions to geometry menu [Karel Zak]
- add mbr_get_partition() [Karel Zak]
- add new stuff to display menus [Karel Zak]
- add sun menu [Karel Zak]
- add support for the MicroBlaze architecture [Nathan Rossi]
- allow to exchange context pointer in menu callbacks [Karel Zak]
- always allow 'p'rint command in expert menu [Karel Zak]
- ask for partition in chars [Karel Zak]
- bloody revolution in the man page [Karel Zak]
- cleanup SGI verify disklabel function [Karel Zak]
- cleanup header file [Karel Zak]
- cleanup sgi menu callbackswq [Karel Zak]
- cleanup usage() [Karel Zak]
- cleanup warning messages [Karel Zak]
- cleanup warnings [Karel Zak]
- cleanup write table code [Karel Zak]
- consolidate code in fdisk.c [Karel Zak]
- detect menu entries collisions in debug mode [Karel Zak]
- don't use ptes[] in generic code [Karel Zak]
- fix 'r' in BSD menu [Karel Zak]
- fix -l [Karel Zak]
- fix man warning [Karel Zak]
- fix possible memleak [coverity scan] [Karel Zak]
- fix printf stuff [Karel Zak]
- improve info output [Karel Zak]
- improve menus to make it more usable for BSD label [Karel Zak]
- main() refactoring [Karel Zak]
- make internal command line case sensitive [Karel Zak]
- mark -s option as deprecated [Karel Zak]
- move "create label" actions to menu callback [Karel Zak]
- move dos specific code [Karel Zak]
- move expect actions to menu callback [Karel Zak]
- move geometry commands to separate menu [Karel Zak]
- move get_nr_sects() fdisk.h [Karel Zak]
- move remaining actions to menu callbacks [Karel Zak]
- move remaining ptes[] code to fdiskdoslabel.c [Karel Zak]
- move sun commands to sun menu callback [Karel Zak]
- print geometry for dos-compatible mode too [Karel Zak]
- remove Mac code [Karel Zak]
- remove common.h [Karel Zak]
- remove dead code [Karel Zak]
- remove nowarn global variable [Karel Zak]
- remove old code to ask user [Karel Zak]
- remove ugly fatal() function [Karel Zak]
- remove unnecessary test [Karel Zak]
- remove unused code, coding style changes [Karel Zak]
- rename CHS dos_partition struct members [Karel Zak]
- revert add 'G' to create SGI label to the main menu [Karel Zak]
- rewrite dump first sector add dump disklabel command [Karel Zak]
- separate disks by \n in -l output [Karel Zak]
- use libfdisk to ask for partition type [Karel Zak]
- use fdisk_info() to print geometry [Karel Zak]
- use fdisk_{info,warn} on more places [Karel Zak]
- use functions from pt-mbr.h [Karel Zak]
- use new menu infrastructure to verify keys [Karel Zak]
- use new menus [Karel Zak]
- use remove read_int() usage from fdisk.c [Karel Zak]
- use xalloc stuff [Karel Zak]
findmnt:
- always allocate memory for cell value [Dave Reisner]
- avoid unused parameter warning [Karel Zak]
- make udev usage more robust [Karel Zak]
- test for fstype/options/maj min before source and target [Karel Zak]
- use TT_FL_FREEDATA for tt table [Karel Zak]
fsck:
- don't print warning if there is no /etc/fstab at all [Karel Zak]
- use libmount fs reference counter [Karel Zak]
fsck.cramfs:
- add LC_CTYPE [Karel Zak]
- check writing to a file descriptor was successful [Sami Kerola]
fsck.minix:
- check writing to a file descriptor was successful [Sami Kerola]
getopt:
- add reference to /usr/share/docs to man page [Karel Zak]
hexdump:
- add long options to the command [Sami Kerola]
- remove unnecessary global variables [Sami Kerola]
- revert global exitval variable change [Sami Kerola]
hexsyntax:
- in help text, wrap argument of option -e in angular brackets [Benno Schulenberg]
hwclock:
- remove references to adjtimex from man page [Karel Zak]
- use warn() to print cmos errors [Karel Zak]
include:
- Add missing includes [Michael Forney]
- add close_fd() for noticing write errors before close() [Sami Kerola]
- carefulput print determined char when unprintable char is found [Sami Kerola]
include/pt-mbr:
- add functio to store le [Karel Zak]
include/xalloc:
- add warn_unused_result to allocation functions [Karel Zak]
ipcs:
- assigned values are never read [clang-analyzer] [Sami Kerola]
last:
- --fulltime and --time-format are mutually exclusive [Karel Zak]
- add --present option [Sami Kerola]
- add --since time spec option [Sami Kerola]
- add --time-format with iso-8601 format [Sami Kerola]
- add link to util-linux to last.1 [Karel Zak]
- add long options, improve usage() [Karel Zak]
- allow --file to be defined multiple times [Sami Kerola]
- check expected numeric user input is number [Sami Kerola]
- check fstat() return [coverity scan] [Karel Zak]
- clean up the begin of the file [Karel Zak]
- coding style clean up [Karel Zak]
- consolidate btmp/wtmp file paths [Karel Zak]
- consolidate time formatting to one struct [Karel Zak]
- fix --present option logic error [Sami Kerola]
- fix man page groff warning [Karel Zak]
- fix memory leak [Sami Kerola]
- fix typo [Sami Kerola]
- global variables are initialize automatically to zero [Sami Kerola]
- make switch cases complete, and inform if impossible occurs [Sami Kerola]
- mention optional arguments in usage [Karel Zak]
- merge sysvinit last/lastb [Ondrej Oprala]
- never restrict session time [Sami Kerola]
- parse easy to use time formats [Sami Kerola]
- prefer enum rather than #definition list [Sami Kerola]
- remove broken code [Sami Kerola]
- remove mistaken -F, --fullnames entry from the man page [Benno Schulenberg]
- tell verbally system is still running [Sami Kerola]
- trim trailing white spaces [Sami Kerola]
- use as narrow variable scoping as possible [Sami Kerola]
- use bit array [Karel Zak]
- use carefulput() for printable character output [Sami Kerola]
- use configuration struct [Sami Kerola]
- use xalloc.h, err.h, nls.h and EXIT_ macros [Karel Zak]
last, utmpdump, agetty, wall, write:
- avoid compatibility hacks [Sami Kerola]
lib:
- add crc64() [Karel Zak]
- remove unused code [Sami Kerola]
- rename time-util.c to timeutils.c, fix headers [Karel Zak]
lib/canonical:
- use realpath() from libc [Karel Zak]
lib/colors:
- add colormode_or_err() [Karel Zak]
- add support for auto, always and never modes [Karel Zak]
lib/loopdev:
- assigned value is never read [clang-analyzer] [Sami Kerola]
- fix loopcxt_check_size() to work with blkdevs [Karel Zak]
lib/mbsalign:
- initializations values are never read [clang-analyzer] [Sami Kerola]
lib/strutils:
- move *swith() functions to private library [Sami Kerola]
- optimalize {starts,ends}with() [Karel Zak]
lib/time-util:
- copy time parsing functions from systemd [Sami Kerola]
- move YYYYMMDDHHMMSS to common parser [Sami Kerola]
lib/tt:
- add TT_FL_FREEDATA [Karel Zak]
lib/tty:
- don't hardcode terminal fd in get_terminal_name() [Karel Zak]
- fix get_terminal_name() usage, cleanup code [Karel Zak]
libblkid:
- Add bcache support [Rolf Fokkens]
- Detect external XFS log device [Eric Sandeen]
- Get rid of an unnecessary check [Karel Zak]
- add ReFS magic string [Karel Zak]
- add functions to set PTUUID [Karel Zak]
- check writing to a file was successful [Sami Kerola]
- diffs between errors and failed probing in silicon raid [Karel Zak]
- diffs between errors and failed probing in via raid [Karel Zak]
- don't interpret regual XFS as external xfs log [Karel Zak]
- don't use UUID= for xfs external log [Karel Zak]
- export info about bad csum [Karel Zak]
- fix blkid_parse_tag_string() to ignore incomplete tags [Karel Zak]
- fix kboff usage in BSD prober [Karel Zak]
- make uuid_is_empty() usable for whole library [Karel Zak]
- move MBR definitions to include/pt-mbr.h [Karel Zak]
- move MBR partition types to include/ [Karel Zak]
- move SGI disklabel definitions to include/ [Karel Zak]
- move bsd definitions to pt-bsd.h [Karel Zak]
- populate jbd LOGUUID in addition to UUID [Karel Zak]
- rename UUID_LOG to LOGUUID [Karel Zak]
- rename sys_type to sys_ind [Karel Zak]
- set PTUUID for GPT and DOS [Karel Zak]
- split blkid_parttable_set_id() [Karel Zak]
- support pseudo PARTUUID= for MBR [Karel Zak]
- update docs [Karel Zak]
- use proper type in xfs log checker [coverity scan] [Karel Zak]
- use separate function to verify checksums [Karel Zak]
libfdisk:
- (bds) cleanup includes [Karel Zak]
- (bsd) leave context if new disklabel unwanted [Karel Zak]
- (dos) all disklabel locate function [Karel Zak]
- (dos) correct the grammar of the disk-identifier prompt [Benno Schulenberg]
- (dos) cosmetic changes [Karel Zak]
- (dos) improve the grammar of an error message [Benno Schulenberg]
- (gpt) %ld -> %ju in verify function [Karel Zak]
- (gpt) cleanup structs members names [Karel Zak]
- (gpt) fix warning [Karel Zak]
- (gpt) more robust PMBR partition size check [Karel Zak]
- (gpt) print UUID and NAME in expert mode only [Karel Zak]
- (gpt) support for disklabel dump [Karel Zak]
- (gpt) use consistent final period in status messages [Benno Schulenberg]
- (gpt) use generic 'created partition' message [Karel Zak]
- (gpt) use lib/tt.c to list partitions [Karel Zak]
- (sgi) add driver [Karel Zak]
- (sun) make it more obvious why the first sector moved [Karel Zak]
- (sun) move driver from fdisk to library [Karel Zak]
- (sun) remove duplicate code [Karel Zak]
- add API to disable specified label [Karel Zak]
- add FDISK_DEBUG_FRONTEND [Karel Zak]
- add FDISK_LABEL_FL_REQUIRE_GEOMETRY [Karel Zak]
- add Intel Rapid Start Technology GUID [Karel Zak]
- add asktype "string" and support UUID partition change [Karel Zak]
- add bsd driver [Karel Zak]
- add fdisk_context_enable_details() [Karel Zak]
- add fdisk_has_user_device_properties() [Karel Zak]
- add fdisk_locate_disklabel() [Karel Zak]
- add fdisk_partname() [Karel Zak]
- add fdisk_scround() [Karel Zak]
- add generic function to get disklabel ID [Karel Zak]
- add generic function to set disklabel ID [Karel Zak]
- add list() label operation [Karel Zak]
- add new 'ask' type TABLE [Karel Zak]
- allow to address partition by chars [Karel Zak]
- clean up sun geometry stuff [Karel Zak]
- cleanup SGI functions names [Karel Zak]
- cleanup warning messages [Karel Zak]
- copy ask callback from parental context [Karel Zak]
- do not use va_list in the Ask API [Karel Zak]
- don't re-allocate range string in Ask API [Karel Zak]
- explicitly add COPYING file [Karel Zak]
- extend fdisk_info() functionality [Karel Zak]
- fix cylinders and sector buffer usage [Karel Zak]
- fix possible floating point exception [Karel Zak]
- fix sectorbuffer usage in dos driver [Karel Zak]
- gpt avoid unnecessary pmbr check [Davidlohr Bueso]
- gpt loosen check fot pmbr size in lba [Davidlohr Bueso]
- improve fdisk_save_user_geometry() [Karel Zak]
- improve nested context initialization [Karel Zak]
- improve spelling of two comments [Benno Schulenberg]
- make default geom usage more robust [Karel Zak]
- make it possible to reset device properties [Karel Zak]
- make the library usable with tests [Karel Zak]
- mark label modified for PMBR mismatch [Karel Zak]
- move mbr code to the library [Karel Zak]
- move sync() and reread PT code from fdisk to libfdisk [Karel Zak]
- provide more details about GPT [Karel Zak]
- remove "gpt support is new" warning [Karel Zak]
- remove unnecessary code from test_fdisk_ask [Karel Zak]
- support GPT partition name (label) change [Karel Zak]
- treat size mismatch as a warning, not an error [Karel Zak]
- update test_ranges() code [Karel Zak]
- use context geometry in SGI and SUN [Karel Zak]
- use fdisk_colon() and fdisk_sinfo() [Karel Zak]
- use fdisk_warnx() in fdisk_ask_partnum() [Karel Zak]
libfdisk/gpt:
- partly pluralize one message [Benno Schulenberg]
libfdisk/sgi:
- properly pluralize three messages [Benno Schulenberg]
- tweak and harmonize some comments [Benno Schulenberg]
- tweak and harmonize some message strings [Benno Schulenberg]
libmount:
- (docs) make it obvious how we call mount.<type> helpers [Karel Zak]
- (test) check writing to a file was successful [Sami Kerola]
- Fix typo in comment [Namhyung Kim]
- Free splitted optstr's when error occurred [Namhyung Kim]
- Get rid of an unnecessary check [Namhyung Kim]
- Remove stale comment on mnt_context_mount() [Namhyung Kim]
- Save errno if mkostemp() failed [Namhyung Kim]
- Set each optstr's to NULL if failed [Namhyung Kim]
- add a generic append_string() function [Karel Zak]
- add function for context userdata [Karel Zak]
- add functions to handle comments in fs tables [Ondrej Oprala, Karel Zak]
- add functions to safely replace a fs table [Ondrej Oprala]
- add missing declarations to libmount.h.in and documentation [Ondrej Oprala]
- add mnt_table_is_empty(), improve table list usage [Karel Zak]
- add mnt_table_with_comments() [Karel Zak]
- add mnt_table_{first,last}_fs() [Karel Zak]
- add mnt_table_{set,get}_userdata() [Karel Zak]
- add new function to docs [Karel Zak]
- add reference counter to libmnt_table [Karel Zak]
- add reference counting to libmnt_cache [Karel Zak]
- add reference counting to libmount_fs [Karel Zak]
- be more restrictive about valid tag names [Karel Zak]
- be robust for empty target/source strings [Karel Zak]
- be robust when work with loopdev backing file paths [Karel Zak]
- canonicalize for conversion from loopdev backing file [Karel Zak]
- change tailing to trailing in *_tailing_comments functions [Ondrej Oprala]
- cleanup libmnt_fs list after mnt_table_remove_fs() [Karel Zak]
- compose mount.<type> helpers paths more carefully [Karel Zak]
- don't ignore root fs on umount -a [Karel Zak]
- fix memory leak [clang-analyzer] [Karel Zak]
- fix mnt_context_is_child() comment [Karel Zak]
- fix typos [Ondrej Oprala]
- free username after check [Dave Reisner]
- make mnt_fs_{ap,pre}pend_options() more robust [Karel Zak]
- make mnt_table_replace_file() more robust [coverity scan] [Karel Zak]
- more robust options string parsing [Karel Zak]
- remove dead code [coverity scan] [Karel Zak]
- small cleanup in umount code [Karel Zak]
- update docs [Karel Zak]
- use MS_SILENT for /{proc,etc}/filesystems [Karel Zak]
- use err.h in test [Karel Zak]
- use memmove when overlap possible [Dave Reisner]
logger:
- add support for --prio-prefix when logging stdin [Dennis H Jensen]
- cleanup usage() [Karel Zak]
- small coding style changes [Karel Zak]
login:
- use TCSANOW to remove HUPCL [Karel Zak]
losetup:
- add --raw and --noheadings [Karel Zak]
- cut the remaining little block of help text into slices too [Benno Schulenberg]
- don't require 512-byte aligned offsets [Karel Zak]
- fix loop device name usage [Karel Zak]
- make -j <path> more robust [Karel Zak]
- set errno for misaligned offsets [Karel Zak]
- use TT_FL_FREEDATA for tt table [Karel Zak]
- use loop-control to explicitly ask for device [Karel Zak]
- use warn_size() for regular files only [Karel Zak]
lsblk:
- add SERIAL column [Karel Zak]
- use TT_FL_FREEDATA for tt table [Karel Zak]
- use devno to check if the filesystem is mounted [Karel Zak]
- use devno to get mountpoint [Karel Zak]
lscpu:
- add max MHz value to make cpu governor effects more visible [Sami Kerola]
- add virtualization types [Karel Zak]
- check strchr() result [coverity scan] [Karel Zak]
- cleanup DMI code [coverity scan] [Karel Zak]
- detect more hypervisor vendors [Ondrej Oprala]
- don't pass null pointer to string functions [coverity scan] [Karel Zak]
- fix memory leak [clang-analyzer] [Sami Kerola]
- fix shadow declaration [smatch scan] [Sami Kerola]
- report cpu min mhz [Davidlohr Bueso]
- use TT_FL_FREEDATA for tt table [Karel Zak]
lslocks:
- use TT_FL_FREEDATA for tt table [Karel Zak]
mcookie:
- pluralize two messages [Benno Schulenberg]
mesg:
- sync usage() with howto-usage-function.txt [Sami Kerola]
misc:
- use libmnt_cache reference counting [Karel Zak]
- use libmnt_table reference counter [Karel Zak]
mkfs.bfs:
- check writing to a file descriptor was successful [Sami Kerola]
- fix 64-Bit and endian problems [ihno]
mkfs.cramfs:
- argument to free() is a constant address [clang-analyzer] [Sami Kerola]
- unify write check to a file descriptor [Sami Kerola]
- use standard error message [Karel Zak]
mkfs.minix:
- check writing to a file descriptor was successful [Sami Kerola]
- properly pluralize four messages [Benno Schulenberg]
mkswap:
- add note about swap header limit to the man page [Karel Zak]
- unify write check to a file descriptor [Sami Kerola]
more:
- assigned value is never read [clang-analyzer] [Sami Kerola]
- check for buffer size when write multibyte char [Karel Zak]
- fix buffer overflow [Karel Zak]
- fix warning when compiled --without-ncurses [Karel Zak]
- guarantee space for multibyte [Karel Zak]
- make output redirection more efficient [Sami Kerola]
- use variable length printf field width to print blanks [Sami Kerola]
mount:
- (deprecated) fix typo tailed->failed [Yuri Chornoivan]
- add notes about UUIDs to the man page [Karel Zak]
- fix mistaken word and some grammar in man page of mount [Benno Schulenberg]
- fix repeating words in the man page [Karel Zak]
- update xfs docs [Karel Zak]
nologin:
- add new command [Karel Zak]
nsenter:
- Allow selecting the uid and gid to be used in the entered userns [Richard Weinberger]
- unshare use LC_ALL [Karel Zak]
partx:
- check writing to a file descriptor was successful [Sami Kerola]
- correct three messages [Benno Schulenberg]
- pluralize one message [Benno Schulenberg]
- use TT_FL_FREEDATA for tt table [Karel Zak]
pg:
- check writing to a file was successful [Sami Kerola]
- use LC_ALL [Karel Zak]
pg.c:
- Add --help and --version [Jari Aalto]
po:
- merge changes [Karel Zak]
- update ca.po (from translationproject.org) [Josep Puigdemont]
- update cs.po (from translationproject.org) [Petr Písař]
- update da.po (from translationproject.org) [Joe Hansen]
- update de.po (from translationproject.org) [Arun Persaud]
- update es.po (from translationproject.org) [Santiago Vila Doncel]
- update et.po (from translationproject.org) [Meelis Roos]
- update eu.po (from translationproject.org) [Mikel Olasagasti Uranga]
- update fi.po (from translationproject.org) [Lauri Nurmi]
- update fr.po (from translationproject.org) [David Prévot]
- update gl.po (from translationproject.org) [Fran Diéguez]
- update hr.po (from translationproject.org) [Tomislav Krznar]
- update hu.po (from translationproject.org) [Gabor Kelemen]
- update id.po (from translationproject.org) [Arif E. Nugroho]
- update it.po (from translationproject.org) [Marco Colombo]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update pt_BR.po (from translationproject.org) [Rafael Ferreira]
- update pt_BR.po (from translationproject.org) [Rodrigo Stulzer Lopes]
- update ru.po (from translationproject.org) [Pavel Maryanov]
- update sl.po (from translationproject.org) [Simon Mihevc]
- update sv.po (from translationproject.org) [Daniel Nylander]
- update tr.po (from translationproject.org) [Nilgün Belma Bugüner]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
- update util-linux.pot (from translationproject.org) [FULL NAME]
- update vi.po (from translationproject.org) [Trần Ngọc Quân]
- update zh_CN.po (from translationproject.org) [Wylmer Wang]
- update zh_TW.po (from translationproject.org) [Wei-Lun Chao]
prlimit:
- delete rem_prlim prototype [Davidlohr Bueso]
- use TT_FL_FREEDATA for tt table [Karel Zak]
pylibmount:
- add __init__.py [Ondrej Oprala]
- add debug messages [Karel Zak]
- add regression tests [Ondrej Oprala]
- basic code [Ondrej Oprala]
- check for mnt_fs_get_tag() return value [coverity scan] [Karel Zak]
- cleanup *_HELP strings formatting [Karel Zak]
- cleanup cxt usage [Karel Zak]
- cleanup object names [Karel Zak]
- coding style changes in context.c [Karel Zak]
- coding style changes in fs.c [Karel Zak]
- coding style changes in tab.c [Karel Zak]
- coding style changes, don't touch Context() status [Karel Zak]
- fs.c - cleanup, remove libmount private stuff [Karel Zak]
- improve helps strings formatting [Karel Zak]
- make tab parsers more robust [coverity scan] [Karel Zak]
- remove Context_get_table() [Karel Zak]
- remove bindsrc from fs API [Karel Zak]
- remove unnecessary code [Karel Zak]
- rewrite to be py2/py3 universal [Ondrej Oprala]
- use libmount reference counting [Karel Zak]
- use mnt_fs_set_userdata() rather than ->userdata [Karel Zak]
- use only public libmount API in tab.c [Karel Zak]
raw:
- use LC_ALL [Karel Zak]
renice:
- exit with non-zero value when arguments cause warnings [Sami Kerola]
resizepart:
- check writing to a file descriptor was successful [Sami Kerola]
rev:
- fix new line regression [Sami Kerola]
- reduce stream checking when closing read-only file descriptor [Sami Kerola]
- simplify new line detection and impossible test [Sami Kerola]
- stop adding new line at the end when input does not have it [Sami Kerola]
- use string printing rather than character output [Sami Kerola]
runuser:
- update man page, add note about -l vs. -p [Karel Zak]
sd-daemon:
- update files taken from systemd project [Sami Kerola]
setarch:
- prefer preprocessor rather than autotools check [Sami Kerola]
setpriv:
- allow login and group name option arguments [Sami Kerola]
- check writing to a file descriptor was successful [Sami Kerola]
- check writing to a file was successful [Sami Kerola]
- use LC_ALL [Karel Zak]
setsid:
- add an option to wait child return value [Daniel Kahn Gillmor]
- exit when control terminal cannot be set [Sami Kerola]
setterm:
- fix term.h/ncurses.h include ordering [Mike Frysinger]
sfdisk:
- assigned value is never read [clang-analyzer] [Sami Kerola]
- check writing to a file descriptor was successful [Sami Kerola]
- clean up unhide code [Karel Zak]
- clean up usage() functions [Sami Kerola]
- don't call BLKRRPART for non-block devices [Karel Zak]
- don't use word 'disk'. [Karel Zak]
- fix typo [Karel Zak]
- fix y/n mismatch [Karel Zak]
- make unhiding as complete as possible [Sami Kerola]
- replace my_warn() with warnx() [Sami Kerola]
- use libc error printing function, and symbolic exit values [Sami Kerola]
- use program_invocation_short_name to determine program name [Sami Kerola]
su:
- add info about pam_lastlog to su.1 [Karel Zak]
- consistent angular brackets and lowercase in help text of 'su' [Benno Schulenberg]
- fix caught_signal logic and initialize oldact [coverity scan] [Karel Zak]
- fix exit status if terminated by signal [Ondrej Oprala]
- fix lastlog and btmp logging [Karel Zak]
- ignore --preserve-environment, it's mutually exclusive to --login [Karel Zak]
- suppress PAM info messages for -c or non-login sessions [Karel Zak]
su-common:
- pluralize one message [Benno Schulenberg]
sulogin:
- clean up error messages [Karel Zak]
- fix compiler warning [Karel Zak]
- fix memory leak [clang-analyzer] [Sami Kerola]
swaplabel:
- check writing to a file descriptor was successful [Sami Kerola]
swapon:
- allow a more flexible swap discard policy [Rafael Aquini]
- check writing to a file descriptor was successful [Sami Kerola]
- cleanup man page [Karel Zak]
- use TT_FL_FREEDATA for tt table [Karel Zak]
tests:
- add XFS log image [Karel Zak]
- add bcache images [Karel Zak]
- add cal day color corner cases [Sami Kerola]
- add calendar reformation check [Sami Kerola]
- add last(1) test [Sami Kerola]
- add losetup tests [Karel Zak]
- add nologin to build tests [Karel Zak]
- add partx regression tests [Ondrej Oprala]
- check cal works when year is far in future [Sami Kerola]
- check last(1) and utmpdump(1) IPv6 functionality [Sami Kerola]
- consolidate Py tests initialization [Karel Zak]
- improve cal --color test [Karel Zak]
- lscpu add CPU max MHz to test results [Sami Kerola]
- minor changes to make tests more portable [Karel Zak]
- new warning fix [Gilles Espinasse]
- partx tests cleanup [Karel Zak]
- refresh fdisk tests [Karel Zak]
- refresh jbd blkid test [Karel Zak]
- remove remaining set -x [Karel Zak]
- update build tests [Karel Zak]
- update fdisk outputs [Karel Zak]
- update libmount fstab full parse test [Karel Zak]
- update lscpu tests [Karel Zak]
- update odd output fdisk test [Karel Zak]
- update sun label test [Karel Zak]
- use 'btrfs' rather than 'btrfsctl' [Karel Zak]
- use stable MBR ID [Karel Zak]
textual:
- change spelling of "disk label" to the more abundant "disklabel" [Benno Schulenberg]
- end both the singular and the plural message with a period [Benno Schulenberg]
- equalize four error messages with already existing ones [Benno Schulenberg]
- fix misspelled words in -rc1 [Karel Zak]
- fix several typos and angular brackets in messages [Benno Schulenberg]
- fix typo in error message and uniformize their use of period [Benno Schulenberg]
- fixing typos in a warning and an error message [Benno Schulenberg]
- harmonize some loop-device error messages [Benno Schulenberg]
- improve clarity of some error messages [Benno Schulenberg]
- make two messages somewhat easier to understand [Benno Schulenberg]
- properly use uppercase in certain abbreviations [Benno Schulenberg]
- remove duplicate mention of '--help' from lsblk help text [Benno Schulenberg]
- standardize some "cannot read" and "seek failed" error messages [Benno Schulenberg]
- standardize synopsis for login, and improve an error message [Benno Schulenberg]
- standardize the spelling of "superuser" [Benno Schulenberg]
- tag a translator comment and put it in proper place [Benno Schulenberg]
- tiny alphabetical and grammatical tweak [Benno Schulenberg]
- use consistent wording and punctuation in fdisk stuff [Benno Schulenberg]
- use the standard angular brackets for non-literal arguments [Benno Schulenberg]
tools:
- generate autotools files if missing [Sami Kerola]
ul:
- enhance command performance [Sami Kerola]
- use correct types [Sami Kerola]
- use string printing function [Sami Kerola]
umount:
- provide more helpful error message [Karel Zak]
unshare:
- add --fork options for pid namespaces [Mike Frysinger]
- add --mount-proc for pid namespaces [Karel Zak]
utmpdump:
- add option to write to a file [Sami Kerola]
- assigned values are never read [clang-analyzer] [Sami Kerola]
- make IPv6 addresses work [Sami Kerola]
- make analyzers happy [Karel Zak]
uuidd:
- add missing initializer [clang-analyzer] [Karel Zak]
- clean up error messages [Karel Zak]
various:
- fix mixing declarations and code compiler warnings [smatch] [Sami Kerola]
wall:
- allow to specify <message> on command line [Karel Zak]
- check writing to a file descriptor was successful [Sami Kerola]
- line wrap at column 79 also when line has tab chars [Sami Kerola]
- make banner sysvinit compatible [Karel Zak]
- send message also to sessions opened by user 'sleeper' [Sami Kerola]
- sync usage() with howto-usage-function.txt [Sami Kerola]
wdctl:
- check writing to a file descriptor was successful [Sami Kerola]
- gettextize and pluralize one forgotten message [Benno Schulenberg]
- pluralize one thrice-repeated message [Benno Schulenberg]
- use TT_FL_FREEDATA for tt table [Karel Zak]
wipefs:
- Also wipe superblocks with bad checksums [Gabriel de Perthuis]
- add --backup [Ondrej Oprala]
- clean up code [Karel Zak]
- pluralize one message [Benno Schulenberg]
write:
- change determination can user write to a terminal [Sami Kerola]
- change determination can user write to a terminal [Sami Kerola]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,765 @@
Util-linux 2.27 Release Notes
=============================
The command tailf is deprecated in favour of tail -f from coreutils.
The command unshare provides a new option --propagation=slave|shared|private|unchanged
to control propagation in mount namespaces. The default is "private" now. The
new default unifies unshare behavior and makes it independent of distribution
default. The unshare supports persistent namespaces too (no process has to run
to keep namespace in existence).
The command mount(8) supports read-only binds in one step by the options
"bind,ro" (command line or fstab). This feature is implemented by additional
remount mount(2) syscall and it is not atomic.
The commands fdisk and sfdisk can be compiled with GNU readline support to
improve their line-editing functionality.
The library libsmartcols and the commands findmnt, losetup, lsblk, lslocks,
sfdisk and lsipc provide output in JSON format.
The command mkfs (deprecated in favour of mkfs.<type>) does not use hard-coded
paths, but it follows $PATH.
The command script has been massively improved to be more robust and less
complex. Now all is implemented by one process which monitors the running
session by poll(), signalfd(), etc.
The command sulogin supports locked root accounts if the command-line option
--force is specified. Read the sulogin man page before you use it!
The command agetty reloads the prompt on address changes if network information
is displayed.
util-linux now supports and enables colors by default. It is possible to change
this behavior with --disable-colors-default to be more user-friendly to colorblind
people. The colors can still be enabled by editing /etc/terminal-colors.d. See
terminal-colors.d(5).
The command cfdisk displays more information about the selected partition
(partition UUID, filesystem identifiers, mountpoint, etc.). This extra window
can be toggled with the 'x' key.
The command fdisk provides a new command 'F' to print free, unpartitioned space
(gaps) on the disk. The same functionality is provided by sfdisk through the
option --list-free. The fdisk command wipes the beginning of the device by
default; the new option --protect-boot disables this behavior. The new fdisk
command 'i' provides more information about a specified partition.
The command cal supports the new options --twelve and --months <n> to display
the next twelve or <n> months.
The command rtcwake supports a new option --list-modes to list available modes,
and a new option --date for human-readable times. rtcwake does not support
RTC_ALM_READ and RTC_ALM_SET fallbacks any more.
The util-linux code is possible rebuild with --disable-assert now.
Security issues
---------------
CVE-2015-5224 - chfn, chsh file name collision due to incorrect mkstemp use if
compiled without libuser.
[thanks to Qualys Security Advisory team; qualys.com]
Stable maintenance releases between v2.26 and v2.27
---------------------------------------------------
util-linux 2.26.1 [Mar 3 2015]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26.1-ChangeLog
util-linux 2.26.2 [Apr 4 2015]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26.2-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26.2-ChangeLog
Changes between v2.26 and v2.27
-------------------------------
For more details see ChangeLog files at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.27/
agetty:
- Reprompt once the network addresses change if address displayed [Stef Walter]
- cleanup plymouth usage [coverity scan] [Karel Zak]
- make sure that reload file exists [Karel Zak]
- reload issue on --autologin --login-pause too [Karel Zak]
- support /usr/lib/os-release too [Karel Zak]
bash-completion:
- cal add --twelve and --color options [Sami Kerola]
- handle comma-separated options [Boris Egorov]
- remove unused variables [shellcheck] [Boris Egorov]
- sync lscpu completion with code [Boris Egorov]
- update few options changed since v2.26 [Sami Kerola]
blkid:
- another hint to the man page [Karel Zak]
- be more precise in the man page [Karel Zak]
- don't ignore info about partitions on non-formated devices [Karel Zak]
- make zfs detection more robust [Michal Humpula]
build-sys:
- add --disable-assert [Karel Zak]
- add --disable-cal [Karel Zak]
- add --disable-colors-default [Karel Zak]
- add --enable-usrdir-path [Karel Zak]
- add --with-readline [Ondrej Oprala]
- add --without-* for all libs [Karel Zak]
- add HAVE_LIBMOUNT [Karel Zak]
- add TINFO_LIBS_STATIC [Karel Zak]
- add new compiler warnings [Karel Zak]
- allow autoconf < 2.64 to be used [Kir Kolyshkin]
- allow gettext 0.17 to be used [Kir Kolyshkin]
- cleanup realtime lib usage [Karel Zak]
- define cfdisk dependence on open_memstream [Karel Zak]
- fix READLINE_LIBS_STATIC usage for fdisk [Karel Zak]
- fix parallel builds w/setarch links [Mike Frysinger]
- fix test_colors build [Karel Zak]
- fix typo [Karel Zak]
- include errno.h instead of argp.h [Chen Qi]
- make autogen.sh more robust [Karel Zak]
- mark script(1) as Linux only due to signalfd() [Karel Zak]
- ncurses is optional, don't fail when missing [Karel Zak]
- python is optional, don't fail when missing [Karel Zak]
- release++ (v2.27-rc1) [Karel Zak]
- release++ (v2.27-rc2) [Karel Zak]
- support static build with readline [Karel Zak]
- support unshare.static [Georg Schiesser]
- typo -ltinfo [Ruediger Meier]
- use REALTIME_LIBS for script [Karel Zak]
cal:
- add -Y and -n <num> [Max Klinger, Karel Zak]
- care about setuprterm() result [Karel Zak]
- check biggest week number correctly when highlighting [Sami Kerola]
- correct gregorian week numbering [Sami Kerola]
- correct the man page the reformation eliminated eleven days, not ten [Benno Schulenberg]
- fix January 1753 week number printout [Sami Kerola]
- replace magic constants with symbolical values [Sami Kerola]
cfdisk:
- allow an uppercase X to toggle the extra info [Benno Schulenberg]
- check return value [coverity scan] [Karel Zak]
- cleanup extra partitions info for slang [Karel Zak]
- don't print obsolete CHS addresses [Karel Zak]
- fix condition logic [cppcheck] [Boris Egorov]
- make sure that extra info is refreshed/removed [Karel Zak]
- make sure that output fits to terminal width [Karel Zak]
- properly toggle extra info window, make it more robust [Karel Zak]
- provide extra partinfo with "x" [Ondrej Oprala, Karel Zak]
- remove extra line between menu and info line [Karel Zak]
- spell "label" in lower case [Benno Schulenberg]
cfdisk, sfdisk:
- remove unused variables [Karel Zak]
chfn:
- document CHFN_RESTRICT /etc/login.defs [Karel Zak]
chrt:
- fix --help inconsistency [Karel Zak]
- make the usage synopsis clearer [Benno Schulenberg]
- slice up the usage text and normalize its layout [Benno Schulenberg]
chsh, chfn, vipw:
- fix filenames collision [Karel Zak]
colcrt:
- allocate enough space for data moves [afl & asan] [Sami Kerola]
- avoid writing beyond array bound [afl & asan] [Sami Kerola]
- use #define in place of magic constants [Sami Kerola]
colors:
- cleanup man pages, add hint to usage() [Karel Zak]
dmesg:
- fix shadow declaration [Sami Kerola]
- highlight -T issues in docs [Karel Zak]
- use GMT in tests, add DMESG_TEST_BOOTIME [Karel Zak]
docs:
- add hint about chfn & chsh bug and thanks to qualys [Karel Zak]
- add lsblk vs. btrfs to TODO [Karel Zak]
- add mount --namespace to TODO [Karel Zak]
- add notest about drone.io and travis-ci [Karel Zak]
- add terminal-colors requests to TODO [Karel Zak]
- add v2.27-ReleaseNotes [Karel Zak]
- document --exclude for tests [Karel Zak]
- fix TODO typos [Karel Zak]
- fix gtk-docs related warnings [Karel Zak]
- fix some grammar and punctuation in the 2.27 release notes [Benno Schulenberg]
- fix some spelling errors and typos in man pages [Bill Pemberton]
- fix typo [Karel Zak]
- fstab(5) grammar / English fixes, and some other updates [Peter Cordes]
- make fsck.minix(8) more pretty [Sami Kerola]
- remove obsolete things from TODO [Karel Zak]
- unify mkswap(8) with swapon(8) about holes warning [Sami Kerola]
- update AUTHORS file [Karel Zak]
- update TODO [Karel Zak]
- update v2.27-ReleaseNotes [Karel Zak]
eject:
- use parse_switch() [Sami Kerola]
fallocate:
- fix error message [Karel Zak]
fdisk:
- add 'F' command to list free unpartitioned space [Karel Zak]
- add --protect-boot [Karel Zak]
- add GNU Readline support to fdisk [Karel Zak]
- add the 'i'nfo command [Jean-Loup 'clippix' Bogalho]
- differentiate between +<sector> and +<size>{M,G,...} [Karel Zak]
- fix readline wrapper [Karel Zak]
- fix typo [Karel Zak]
- init libsmartcols debug [Karel Zak]
- provide more information by 'i'nfo command [Karel Zak]
- value is never read [clang analyze] [Karel Zak]
fdisk, sfdisk:
- fix -o <list> backend [Karel Zak]
findmnt:
- add --json [Karel Zak]
- add --mountpoint command line option [Karel Zak]
- don't rely on st_dev for --target [Karel Zak]
flock:
- NULL deref [Brad Forschinger]
- add --verbose option [Sami Kerola]
- fix timeout handler pointer usage [Karel Zak]
- improve timeout handling [Sami Kerola]
fsck:
- Fix parsing of -r [Stanislav Brabec]
- fix fsck -C {fd} parsing [Stanislav Brabec]
- implement fsck -r {fd} [Stanislav Brabec]
- print errors on invalid -r argument [Karel Zak]
- use PATH or fallback to /sbin [Karel Zak]
fsck.minix:
- add minix v3 support [Sami Kerola]
- be more paranoid with block buffers [coverity scan] [Karel Zak]
- introduce long options to the command [Sami Kerola]
- rename device file descriptor variable [Sami Kerola]
fstrim:
- close dir before exit [coverity scan] [Karel Zak]
- de-duplicate by mount source too [Karel Zak]
getopt:
- use $(...) command substitution in example script [shellcheck] [Sami Kerola]
hexdump:
- fix man page (-x vs. default output) [Karel Zak]
hwclock:
- Improve FILES section [J William Piggott]
- Remove TZUTC [J William Piggott]
- add '11 minute mode' information [J William Piggott]
- add -D to the man page [Karel Zak]
- add TZDIR [J William Piggott]
- clean up man page header [Karel Zak]
- cosmetic changes to man page [Karel Zak]
- don't allow non-root access [Karel Zak]
- fix fgets unchecked return value warning on alpha [Andreas Henriksson]
- fix format warning in alpha code [Andreas Henriksson]
- fix iopl implicit declaration warning on alpha [Andreas Henriksson]
- fix signed/unsigned comparison warning on alpha [Andreas Henriksson]
- fix spelling, punctuation and formatting mistakes in the man page [Benno Schulenberg]
- flush stdout in hwclock -c [Alexey Galakhov]
- increase debug output precision [J William Piggott]
- make static analyzes more happy [Karel Zak]
- man-page errata [J William Piggott]
- non-root access in test mode [J William Piggott]
- regression fix [J William Piggott]
- remove an untrue phrase from the man page [Benno Schulenberg]
- remove dead code [J William Piggott]
- remove depreciated ntpdate [J William Piggott]
include/all-io:
- read_all() don't retry on EOF [Karel Zak]
include/c:
- Define F_DUPFD_CLOEXEC on kFreeBSD systems if missing [Guillem Jover]
include/xalloc:
- add err_oom() [Karel Zak]
ipcmk:
- support <size>{K,M,G,...} [Karel Zak]
kill:
- Add verbose to man page. [Raghavendra D Prabhu]
last:
- fix first (current) runlevel line [Ruediger Meier]
- fix utmplist usage [Karel Zak]
- keep array of files in main() [Karel Zak]
last-deprecated:
- remove from source tree [Sami Kerola]
ldattach:
- adapt print_table column width to widest entry [Tilman Schmidt]
- always set line speed and format for N_GIGASET_M101 [Tilman Schmidt]
- order line disciplines canonically [Tilman Schmidt]
- tiny coding style changes [Karel Zak]
lib/blkdev:
- use 64-bit to count size in bytes [Karel Zak]
lib/colors:
- add USAGE_COLORS_DEFAULT [Karel Zak]
- use libtinfo to check terminal capability [Karel Zak]
lib/fileutils:
- Add new dup_fd_cloexec function [Guillem Jover]
lib/monotonic:
- fix compiler warnings [Karel Zak]
lib/procutils:
- add proc_get_cmdline() [Karel Zak]
lib/strutil:
- fix parse_switch resource leak [coverity scan] [Andreas Henriksson]
lib/strutils:
- extend parse_switch() to accept more options [Karel Zak]
- fix string_add_to_idarray() int vs. size_t [Karel Zak]
- make strmode() more generic [Karel Zak]
- move parse_switch() from setterm(1) to library [Sami Kerola]
lib/strv:
- add new functions (from systemd) [Karel Zak]
lib/sysfs:
- Fix /dev to /sys node name translation [Stanislav Brabec]
- Use dup_fd_cloexec instead of direct call to fcntl [Guillem Jover]
- make sysfs_next_subsystem() more robust [Karel Zak]
- rename devname functions, cleanup [Karel Zak]
lib/sysfs.c:
- use fcntl(..F_DUPFD_CLOEXEC) instead of dup(2) [Cristian Rodríguez]
lib/timer:
- use separate file for timers [Karel Zak]
lib/timeutils:
- fix indention [smatch scan] [Karel Zak]
libblkid:
- (drbdmanage) add magic strings array terminator [Karel Zak]
- (drbdmanage) improve version setting code [Karel Zak]
- (nilfs2) check devise size [Karel Zak]
- (nilfs2) check size for backup superblock only [Karel Zak]
- added drbdmanage control volume detection. [Philipp Marek]
- cleanup names, don't copy probing results [Karel Zak]
- fix compiler warning [-Wunused-variable] [Karel Zak]
- fix compiler warnings [Sami Kerola]
- fix inconsistent indenting [smatch scan] [Karel Zak]
- make probing data structures more dynamic [Ondrej Oprala]
- remove dead code [coverity scan] [Karel Zak]
- use 'VERSION' rather than 'PERSISTENCE_VERSION' [Karel Zak]
- simplify some conditions [cppcheck] [Boris Egorov]
- (zfs) make less syscalls [Michal Humpula]
libfdisk:
- (bsd) add note about non-written parental MBR [Karel Zak]
- (dos) retain existing boot flag when resizing a partition [Karel Zak, awilliam@redhat.co]
- (dos) fix cylinders calculation [Karel Zak]
- (dos) fix tiny partitions calculation [Karel Zak]
- (gpt) add API for raw partition attributes [Michael Marineau]
- (gpt) add extra check for First/Last LBA [Karel Zak]
- (gpt) add missing GUIDs [Karel Zak]
- (gpt) check header size before verify CRC [Karel Zak]
- (gpt) fix "MidnightBSD UFS" UUID [Karel Zak]
- (gpt) fix LE usage [Karel Zak]
- (gpt) fix attributes endianness [Ruediger Meier]
- (gpt) fix check for beginning of protective partition [Michael Marineau]
- (gpt) fix end sector calculation on resize [Karel Zak]
- (gpt) fix label pointer usage [smatch scan] [Karel Zak]
- (gpt) make it possible to create really small partitions [Karel Zak]
- (gpt) reorder only when necessary [Karel Zak]
- Use predictable /dev/mapper partition names for /dev/dm-N [Stanislav Brabec]
- add GPT GUIDs for ARMs [Karel Zak]
- add GPT GUIDs for PReP [Scott Moser]
- add JSON dump output [Karel Zak]
- add comment to the header file [Karel Zak]
- add fdisk_label_get_fields_ids_all() [Karel Zak]
- add fdisk_table_get_partition_by_partno() [Karel Zak]
- add fgets() callback for scripts [Karel Zak]
- add new API to read label specific data [Karel Zak]
- add warning to resize function [Karel Zak]
- add {first,last}-lba header to sfdisk scritps [Karel Zak]
- allow to change partition type for extended partitions [Karel Zak]
- allow to move start to first usable LBA [Karel Zak]
- cleanup assert() usage [Karel Zak]
- don't resize in label drivers [Karel Zak]
- don't return empty strings from fdisk_partition_to_string() [Karel Zak]
- fix fdisk_label_parse_parttype() for unknown types [Karel Zak]
- fix script parser to support resize operations [Karel Zak]
- fix scriptk parser to support alone signs [Karel Zak]
- fix symbols versioning script [Karel Zak]
- ignore misaligned optimal I/O size [Karel Zak]
- improve +0 partition size [Karel Zak]
- keep FDISK_FIELD_CYLINDERS independent on context mode [Karel Zak]
- make context->label usage more robust [smatch scan] [Karel Zak]
- recognize FAT32 partitions hidden by Acronis software [Jörg Jenderek]
- remove impossible condition [smatch scan] [Karel Zak]
- rename script functions to improve readability [Karel Zak]
- result of operation is garbage or undefined [clang analyze] [Karel Zak]
- support alignment to non power of 2 [Karel Zak]
- support bootbits protection from (p)MBR [Karel Zak]
- support resize operation in fdisk_set_partition() [Karel Zak]
- undefined or garbage value returned to caller [clang analyze] [Karel Zak]
libmount:
- (docs) fix typo [Ronny Chevalier]
- (docs) fix wording [Ronny Chevalier]
- (monitor) fix docs [Karel Zak]
- add mnt_table_get_fs_root() to header file [Karel Zak]
- add note about flock() to docs [Karel Zak]
- add support for "bind,ro" [Karel Zak]
- add support for MS_LAZYTIME [Karel Zak]
- cleanup assert() usage [Karel Zak]
- cleanup fs root detection code [Karel Zak]
- do not call umount helper on --fake [Karel Zak]
- fix compiler warning [-Wdiscarded-qualifiers] [Karel Zak]
- fix mnt_monitor_event_cleanup() [Karel Zak]
- fix typo in mnt_optstr_prepend_option() [Karel Zak]
- handle arbitrary line length for mounts [Karel Zak]
- improve monitor to be usable for non-root users [Karel Zak]
- make mnt_get_filesystems() more robust [clang analyze] [Karel Zak]
- mark overlay as pseudo-FS [Karel Zak]
- sort pseudo filesystems by LC_COLLATE=C [Karel Zak]
- typo fixes [Kir Kolyshkin]
- variable dereferenced before check [smatch scan] [Karel Zak]
libsmartcols:
- add JSON output format [Karel Zak]
- don't link with tinfo [Karel Zak]
- keep JSON field names lower-case [Karel Zak]
- make child-parent reference more robust [clang analyze] [Karel Zak]
- reduce relative columns more aggressively [Karel Zak]
libuuid:
- return correct value for uuid_generate_time_safe [Romain Bouvier]
logger:
- --stderr and --no-act turn "auto-errors" on [Ruediger Meier]
- Add support to logger for RFC6587 octet counting [Alex Bligh]
- Fix use of errno after strtol() without zeroing first [Stef Walter]
- add --msgid option, permits to set RFC5424 MSGID field [Rainer Gerhards]
- add --no-act for testing [Karel Zak]
- add --skip-empty-lines to prevent logging empty lines [Rainer Gerhards]
- add -DTEST_LOGGER [Karel Zak]
- add comment [Karel Zak]
- add note about kern->user conversion [Karel Zak]
- bugfix missing sanity checks with --prio-prefix option [Rainer Gerhards]
- bugfix tcp syslog framing is broken, -T unusable [Rainer Gerhards]
- check for ntp_gettime() rather than for timex.h [Karel Zak]
- check xgethostname() return value [Sami Kerola]
- do not exit when socket errors are not enforced [Sami Kerola]
- fix -i argument parsing regression [Sami Kerola]
- fix -p kern.* priority is accepted regression [Rainer Gerhards]
- fix LOGGER_TEST_TIMEOFDAY check [Karel Zak]
- fix inconsistent format regression when logging locally [Rainer Gerhards]
- fix invalid timestamp in rfc5425 format [Rainer Gerhards]
- fix invalid timestamp regression in local format [Rainer Gerhards]
- fix memory leaks [Sami Kerola]
- fix multiple format bugs in rfc5424 formatter [Rainer Gerhards]
- fix rfc5424 format crash [Karel Zak]
- fix whitespace and compiler warning [-Wunused-variable] [Karel Zak]
- generate header when reading message from stdin [Patrick Plagwitz]
- improve logger --journald man page example [Michal Schmidt]
- improve readability [smatch scan] [Karel Zak]
- link libsystemd-daemon.so [Ruediger Meier]
- messages are logged with kern.* priority by default [Rainer Gerhards]
- move /dev/log to pathnames.h [Sami Kerola]
- permit to send messages larger than 1024 characters [Rainer Gerhards]
- refactor message generation [Rainer Gerhards]
- refactor the way output is written [Rainer Gerhards]
- remove "interface to syslog(3)" from man page [Karel Zak]
- small change in usage() [Karel Zak]
- tidy few indentation issues [Sami Kerola]
- use errx() when checking user input [Sami Kerola]
- use username as the default tag [Karel Zak]
- use xstrdup() [Karel Zak]
logger man page:
- bump man page date to current [Rainer Gerhards]
- fix some "syslog(3) routine" remnants [Rainer Gerhards]
- fix typo [Rainer Gerhards]
- update --size doc [Rainer Gerhards]
login:
- replace siginterrupt with sigaction [Chen Qi]
losetup:
- add --json [Karel Zak]
- be careful with errno [Karel Zak]
- print more usable error message on failed -f [Karel Zak]
lsblk:
- Display mountpoint even for top-level device [Milan Broz]
- add --json [Karel Zak]
- add debug support [Karel Zak]
- don't ignore dependences for partitioned devies [Karel Zak]
- fix resource leak [coverity scan] [Andreas Henriksson]
- follow kernel for inverse tree [Karel Zak]
- lsblk.8 Fix description of output format [Stanislav Brabec]
- use internally sysfs devnames [Karel Zak]
lscpu:
- add cpu flags entry to summary output [WANG Chao]
- add warning for __SANITIZE_ADDRESS__ [Karel Zak]
- fix read_hypervisor_powerpc() logic [Karel Zak]
lsipc:
- add COMMAND for shmem [Karel Zak]
- add CTIME to shmem default [Karel Zak]
- add USE% to --global [Karel Zak]
- add more resource to the limits list [Karel Zak]
- check scols_line_refer_data() return code [Karel Zak]
- cleanup -o usage [Karel Zak]
- cleanup columns indexes [Karel Zak]
- cleanup usernames [Karel Zak]
- cleanup {user,group}name usage [Karel Zak]
- default to --global [Karel Zak]
- differentiate between UID and USER names [Karel Zak]
- don't duplicate already allocated data [Karel Zak]
- fix ID parsing, use full time for pretty print [Karel Zak]
- fix coding style [Karel Zak]
- ifdef SHM_* macros [Karel Zak]
- improve --global [Karel Zak]
- improve JSON output [Karel Zak]
- make --id usable with all output formats and with -o [Karel Zak]
- move outmode to coltrol struct [Karel Zak]
- new command to list IPC facilities [Karel Zak, Karel Zak]
- remove --print0 and -colon-separate [Karel Zak]
- remove duplicate "Usage " [Karel Zak]
- the default --global is mutually exclusive with -c --id and -t [Karel Zak]
- tiny change about --global to the man page [Karel Zak]
- use sub-table for semphore elements [Karel Zak]
- value is never read [clang analyze] [Karel Zak]
lslocks:
- add --json [Karel Zak]
- slice up the recently modified usage text [Benno Schulenberg]
lslogins:
- fix --user-accs and --system-accs docs [Karel Zak]
- merge read_utmp() code [Karel Zak]
- remove duplicate [make checkincludes] [Karel Zak]
man:
- fix nolazytime typo in mount(8) [Andreas Henriksson]
mcookie:
- fix -f usage [clang analyze] [Karel Zak]
misc:
- fix indention [smatch scan] [Karel Zak]
- fix redundant assignment and reassignments before use [cppcheck] [Sami Kerola]
- fix shadow declarations [Sami Kerola]
mkfs:
- drop hardcoded search path [Mike Frysinger]
mkfs.cramfs:
- remove dead code [coverity scan] [Karel Zak]
mkfs.minix:
- add fs_control structure, and remove most global variables [Sami Kerola]
- add hint for scanners [coverity scan] [Karel Zak]
- check requested blocks will not exceed available on device [Sami Kerola]
- check user input carefully [Sami Kerola]
- increase maximum minix v2 and v3 file system sizes [Joshua Hudson]
- introduce long options to the command [Sami Kerola]
- re-fix block count maths [Sami Kerola]
- refactor root block content creation [Sami Kerola]
- remove unuseful code [Sami Kerola]
- use is_mounted() from libcommon [Sami Kerola]
- use xalloc [Karel Zak]
more:
- improve ugly macro [Karel Zak]
mount:
- don't remount read-only on --bind [Karel Zak]
- fix lazytime docs [Karel Zak]
- mount.8 Clarify relation between noatime and nodiratime [Borut Mrak]
- mount.8 also note diratime does not override noatime. [Borut Mrak]
- remove XFS from man page, xfsprogs provides xfs(5) [Karel Zak]
- remove duplications of --help and --version from usage text [Benno Schulenberg]
nsenter:
- add -Z to set selinux context [Karel Zak]
po:
- merge changes [Karel Zak]
- update da.po (from translationproject.org) [Joe Hansen]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update fi.po (from translationproject.org) [Lauri Nurmi]
- update fr.po (from translationproject.org) [David Prévot]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
prlimit:
- tell in --verbose output which pid got the new limit [Sami Kerola]
procutils:
- reset errno before readdir [Ruediger Meier]
rename:
- allow full-path renames [Andreas Henriksson]
reset:
- deprecate the script, and remove reset.033c [Sami Kerola]
rpmatch:
- use symbolic value when evaluation return codes [Sami Kerola]
rtcwake:
- add --list-modes [Sami Kerola]
- add human readable --date timestamp format [Sami Kerola]
- add rtcwake_control and remove global variables [Sami Kerola]
- clean up struct tm initializations [Sami Kerola]
- cosmetic changes [Karel Zak]
- do not overwrite device name [Sami Kerola]
- don't use usage() on error [Karel Zak]
- enumerate constant mode strings [Sami Kerola]
- fix ARRAY_SIZE() usage [Karel Zak]
- fix preprocessor redefinition [Sami Kerola]
- fix valgrind warning [Sami Kerola]
- improve coding style [Sami Kerola]
- improve open() usage [coverity scan] [Karel Zak]
- improve read_clock_mode() [Sami Kerola]
- make some command line options mutually exclusive [Sami Kerola]
- read accepted mode strings from /sys/power/state [Sami Kerola]
- remove RTC_ALM_READ and RTC_ALM_SET compatibility [Sami Kerola]
- replace long if else statement with switch case [Sami Kerola]
script:
- Fix mangled EOF and hang on big endian [Stanislav Brabec]
- add 'Script started' line always to capture file [Sami Kerola]
- add noreturn function attributes [Sami Kerola]
- add note to BUGS man page section [Karel Zak]
- add struct script_control and remove global variables [Sami Kerola]
- add support for SCRIPT_DEBUG= [Karel Zak]
- cleanup signals usage [Karel Zak]
- close timingfp also when -e [Karel Zak]
- debug poll() results [Karel Zak]
- evaluate errno only if read() sets it [Ruediger Meier]
- fix EOF problems [Karel Zak]
- fix variable initialization warning [Sami Kerola]
- improve SIG{TERM,QUIT,KILL} sensitivity [Karel Zak]
- improve poll debugging [Karel Zak]
- make sure errno is zero [Karel Zak]
- merge doinput() and output() functions to do_io() [Sami Kerola]
- move do_io() content to small functions [Sami Kerola]
- move timing file opening close to use of it [Sami Kerola]
- remove function prototypes [Sami Kerola]
- remove io vs signal race [Sami Kerola]
- remove magic constants from poll code [Karel Zak]
- rename control struct members [Karel Zak]
- replace strftime() workaround with CFLAGS = -Wno-format-y2k [Sami Kerola]
- use correct input type, move comment, and so on [Sami Kerola]
- use gettime_monotonic() to get timing file timestamps [Sami Kerola]
- use poll() rather than select() [Sami Kerola]
- use signalfd() to catch signals [Sami Kerola]
setarch:
- fix regression for sparc builds [Waldemar Brodkorb]
setterm:
- remove dead code [coverity scan] [Karel Zak]
sfdisk:
- accept empty partitions from dump [Karel Zak]
- add --json [Karel Zak]
- add --list-free [Karel Zak]
- add missing --color [Karel Zak]
- add readline support [Karel Zak]
- clarification for sfdisk man page [Ian Wienand]
- cleanup prompt usage [Karel Zak]
- don't print extra linebreaks on --quiet [Karel Zak]
- don't use BLKRRPART to check loopdev usage [Karel Zak]
- enable bootbits protection [Karel Zak]
- fix -a vs. -A bug [Karel Zak]
- improve -N warnings [Karel Zak]
- improve some formatting and wording in the man page [Benno Schulenberg]
- show that the command --verify optionally takes device names [Benno Schulenberg]
sulogin:
- Use read instead of allocated size from getline() [Guillem Jover]
- don't use strcpy(), enlarge pwd line buffer [Karel Zak]
- improve support for locked root account [Karel Zak]
swapon:
- fix restart waitpid with errno == EINTR [Karel Zak]
- search for mkswap via PATH [Mike Frysinger]
sys-utils:
- lscpu segfaults when built with -fsanitize=address [Cristian Rodríguez]
sys-utils/disk-utils/lib:
- fix printf format types [cppcheck] [Boris Egorov]
tailf:
- count last lines correctly at initial print out [Sami Kerola]
- deprecated [Ruediger Meier]
- do not allow minus signed last lines argument [Sami Kerola]
- ensure file argument really is a file [Sami Kerola]
- fix open() return value check [coverity scan] [Karel Zak]
- use size_t and fwrite() [Karel Zak]
tasts:
- add logger octet counting test [Karel Zak]
test_uuidd:
- add comment [Karel Zak]
- add pid, tid and idx back to object [Karel Zak]
- cleanup counters names [Karel Zak]
- cleanup pid usage [Karel Zak]
- cleanup used types [Karel Zak]
- don't exit on failed pthread_create() [Karel Zak]
- err messages, argv[] parsing and another cleanups [Karel Zak]
- fix include [Karel Zak]
- improve readability [Karel Zak]
- make objdump more robust [Karel Zak]
tests:
- (blkid) update drbdmanage [Karel Zak]
- (cal) update US week numbers [Karel Zak]
- add $top_builddir to $PATH [Ruediger Meier]
- add --exclude=<list> for run.sh [Karel Zak]
- add --skip-loopdevs [Karel Zak]
- add JSON sfdisk dumps [Karel Zak]
- add blkid script to test whole-disk MBR devices [Karel Zak]
- add colcrt regression tests [Sami Kerola]
- add dmesg multiline message check [Sami Kerola]
- add documentation about environment variables [Ruediger Meier]
- add fsck.minix checks [Sami Kerola]
- add fullpath tests to rename/subdir [Andreas Henriksson]
- add hexdump from GPT [Karel Zak]
- add logger(1) command line options tests [Sami Kerola]
- add logger(1) error condition tests [Sami Kerola]
- add logger(1) journald test [Sami Kerola]
- add logger(1) message format tests [Sami Kerola]
- add old dump for sfdisk [Karel Zak]
- add script output buffering race check [Sami Kerola]
- add scriptreplay test [Sami Kerola]
- add sfdisk resize regression tests for MBR [Karel Zak]
- add sfdisk resize tests [Karel Zak]
- add sfdisk resize tests for GPT [Karel Zak]
- add subtests for invalid logger devive [Ruediger Meier]
- add test_dmesg that has fixed boot time [Sami Kerola]
- add udevadm settle [Karel Zak]
- add uuidd test program [Huschaam Hussain]
- add very long mount line to libmount mtab [Kees Cook]
- add way to control mkfs.minix time stamps [Sami Kerola]
- always kill helper [Ruediger Meier]
- avoid &>> for bash compatibility [Ruediger Meier]
- check dmesg message coloring [Sami Kerola]
- check script options work as expected [Sami Kerola]
- check timestamp formats [Sami Kerola]
- config.h lives in build directory [Ruediger Meier]
- disarm tailf test [Ruediger Meier]
- fix cramfs/mkfs for BE and different pagesizes [Ruediger Meier]
- fix fdisk/bsd for ppc64le [Ruediger Meier]
- fix getopt for old glibc [Ruediger Meier]
- fix kill/all_processes [Ruediger Meier]
- fix logger device pathname too long [Ruediger Meier]
- fix minix test [Karel Zak]
- fix minix tests filenames [Karel Zak]
- fix sfdisk GPT test [Karel Zak]
- fix, don't call ts_die from subshell [Ruediger Meier]
- improve readability for fdisk/bsd [Ruediger Meier]
- introduce TS_LOOP_DEVS for cleanup [Ruediger Meier]
- introduce ts_cleanup_on_exit() [Ruediger Meier]
- logger with socat device [Ruediger Meier]
- logger, validate written socket data [Ruediger Meier]
- logger/errors does not use --no-act [Ruediger Meier]
- loop tests, don't call ts_die() with DEVICE parameter [Ruediger Meier]
- make libmount context tests sensitive to USE_LIBMOUNT_FORCE_MOUNTINFO [Karel Zak]
- make libmount python context tests sensitive to USE_LIBMOUNT_FORCE_MOUNTINFO [Karel Zak]
- more error handling in mount/move (refactor) [Ruediger Meier]
- more(1) depends on terminal, force to TERM=linux [Karel Zak]
- mount/move also tests findmnt vs. mountpoint [Ruediger Meier]
- mount/rlimit tries to restore mtab [Ruediger Meier]
- never use -o pipefail [Ruediger Meier]
- optionally skip tests where loop support is needed [Ruediger Meier]
- remove private2 dir from mount/move [Karel Zak]
- remove warning from test output [Ruediger Meier]
- require wipefs for sfdisk/gpt [Karel Zak]
- scsi_debug tests, don't call ts_die() with DEVICE parameter [Ruediger Meier]
- simplify common logger options [Ruediger Meier]
- some more mount error handling [Ruediger Meier]
- start script/race test only when --force specified [Karel Zak]
- try mkfs & mount all supported minix versions [Karel Zak]
- ts_scsi_debug_init() sleeps a bit earlier [Ruediger Meier]
- update build-sys tests [Karel Zak]
- update fdisk BSD [Karel Zak]
- update lscpu tests (due to CPU flags in output) [Karel Zak]
- update sfdisk --dump test [Karel Zak]
- update static build test [Karel Zak]
- use --no-act for logger tests [Karel Zak]
- use ts_skip for logger/journald [Karel Zak]
- verify logger return value [Ruediger Meier]
textual:
- adjust grammar and punctuation of some messages [Benno Schulenberg]
tools:
- add err_oom() to smatch no_return_funcs [Karel Zak]
- add hexdump badconv() to noreturn smatch list [Karel Zak]
- add libfdisk docs to kernel.org release generator [Karel Zak]
- stop checkmans.sh validating libtool builds [Sami Kerola]
travis:
- add MAKE_CHECK_OPTS [Karel Zak]
- install socat >= 1.7.2 [Ruediger Meier]
- move install script to .travis-functions.sh [Ruediger Meier]
- whitelist travis* branches [Ruediger Meier]
travise:
tunelp:
- remove get_val() in favour of strtol_or_err() [Sami Kerola]
- remove unnecessary preprocessor directives [Sami Kerola]
- use parse_switch() [Sami Kerola]
unshare:
- add --propagation, use MS_PRIVATE by default [Karel Zak]
- allow persisting mount namespaces [Karel Zak]
- allow persisting namespaces [Karel Zak]
- remove angular brackets from literal argument in usage text [Benno Schulenberg]
- remove duplicate [make checkincludes] [Karel Zak]
wall:
- do not use a temporary file. [Karel Zak, Jann Horn]
whereis:
- make "-BMS <dir> -f" more obvious in usage() [Karel Zak]
- tell when mandatory option is missing [Sami Kerola]
- trivial spelling and grammar fix [Mike Place]
zramctl:
- add MEM-LIMIT, MEM-USED and MIGRATED columns [Karel Zak]
- add link to kernel documentation [Sami Kerola]
- support /sys/block/zram<id>/mm_stat [Karel Zak]

View File

@ -0,0 +1,725 @@
Util-linux 2.28 Release Notes
=============================
Now cfdisk, sfdisk and fdisk wipe all filesystem and RAID signatures when
creating a new disk label in interactive mode. It's possible to control this
feature with --wipe[=auto|never|always]. For non-terminals the feature is
disabled by default.
lsns -- this NEW COMMAND lists information about all currently accessible
namespaces or about the given namespace.
The command sfdisk supports new operations --delete, --move-data and --reorder.
The command blkdiscard supports a new option --zeroout to zero-fill rather than
discard a specified area.
The command cal supports a new option --span to span the date when displaying
multiple months (e.g. "cal --span --months 5" to display two months before and
two months after the current month).
The command chrt supports the DEADLINE scheduling class and the new options
--sched-runtime --sched-period and --sched-deadline.
The command logger supports RFC 5424 structured data through the new options
--sd-id and --sd-param.
The command losetup supports a new option --direct-io[=on|off].
The command lsblk allows to sort output by unprinted columns (e.g. lsblk
--output NAME --sort SIZE).
The command mount applies the nofail mount option to ENOMEDIUM errors.
The commands nsenter and unshare support a new option --cgroup for work with
cgroups namespaces (CLONE_NEWCGROUP).
The library libmount has been improved to properly detect already mounted btrfs
subvolumes.
The library libsmartcols has been massively improved to print table ranges,
multi-line cells, table titles and to support continuous printing.
The package build system and code have been improved to be more portable to
non-Linux systems (BSD, OSX).
The package does not provide fallback solutions for openat-family functions
anymore.
The python binding for libsmartcols is available in separate project at
https://github.com/ignatenkobrain/python-smartcols.
Security issues
---------------
CVE-2016-2779
This security issue is NOT FIXED yet. It is possible to disable the ioctl
TIOCSTI by setsid() only. Unfortunately, setsid() has well-defined use cases
in su(1) and runuser(1) and any changes would introduce regressions. It seems
we need a better way -- ideally another ioctl (or whatever is supported by the
kernel) to disable TIOCSTI without setsid().
Stable maintenance releases between v2.27 and v2.28
---------------------------------------------------
util-linux 2.27.1 [Nov 11 2015]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27.1-ChangeLog
Changes between v2.27 and v2.28
-------------------------------
agetty:
- add support for \e in issue file to print \033 [Karel Zak]
- don't ignore netlink on select() [Karel Zak]
- fix chown(3), chmod(3) and open(3) race [Sami Kerola]
- remove atoi() from argv[] parsing [clang analyze] [Karel Zak]
- support \e{name} for issue file [Karel Zak]
- tweak formatting and some wordings in the man page [Benno Schulenberg]
bash-completion:
- add cal --span [Karel Zak]
- curly brace missed for findmnt [Alexander Kuleshov]
- fsck.cramfs, isosize find files an argument [Sami Kerola]
- fstrim use mountpoint, not device [Andreas Henriksson]
- ipcmk add missing completion file [Sami Kerola]
- lslogins add missing completion file [Sami Kerola]
- lsns add missing completion file [Sami Kerola]
- update chrt completion [Sami Kerola]
blkdiscard:
- add --zeroout (BLKZEROOUT ioctl) [Karel Zak]
- don't report "zero range" at the end [Ruediger Meier]
- fix stats reporting (off by one) [Ruediger Meier]
- fix timeval comparison inclusive usecs [Ruediger Meier]
- slice up the recently changed usage text [Benno Schulenberg]
blkid:
- don't mark zfs as RAID [Karel Zak]
blkid, uuidd, uuidgen:
- assume getopt.h and getopt.h are available [Sami Kerola]
build-sys:
- Properly order install dependencies of pylibmount [Filipe Brandenburger]
- add --disable-ipcrm --disable-ipcs [Ruediger Meier]
- add --disable-logger and --disable-lslogins [Ruediger Meier]
- add and use openat build conditionals [Ruediger Meier]
- add lsns to gitignore [Karel Zak]
- add missing "not found" strings [Ruediger Meier]
- always add AM_CFLAGS [Ruediger Meier]
- always use global LDADD [Ruediger Meier]
- build_init should check for flock [Ruediger Meier]
- bump also PACKAGE_VERSION_RELEASE number [Karel Zak]
- check linker support for version scripts [Ruediger Meier]
- chrt requires a sched_set* function [Ruediger Meier]
- disable login-utils if shadow.h or utmp.h is missing [Ruediger Meier]
- disable unused parameter warnings for some test progs [Ruediger Meier]
- fix [g]libtoolize version for OSX [Ruediger Meier]
- fix again UL_SCANF_TYPE_MODIFIER [Ruediger Meier]
- fix cap-ng configure flag handling [Mike Frysinger]
- fix if..endif for *_la_LDFLAGS [Karel Zak]
- fix libtoolize for OSX [Ruediger Meier]
- fix typo [Romain Naour]
- fix typo and more all RT to the same place [Karel Zak]
- happy new year... [Karel Zak]
- ignore vim .swp files [Ruediger Meier]
- improve uuidd and script build conditions [Ruediger Meier]
- install missing bash completions [Ruediger Meier]
- no need to un-ignore tracked files [Ruediger Meier]
- portable usage of find command [Ruediger Meier]
- pylibmount, mount context is Linux only [Ruediger Meier]
- release++ (v2.28-rc1) [Karel Zak]
- release++ (v2.28-rc2) [Karel Zak]
- remove AM_CONDITIONAL from UL_CHECK_SYSCALL [Karel Zak]
- remove duplicate cal sources [Ruediger Meier]
- remove libtermcap support [Sami Kerola]
- some libmount test progs are Linux only [Ruediger Meier]
- use $PKG_CONFIG [Karel Zak]
- use AC_PROG_MKDIR_P and remove a few gnuisms [Ruediger Meier]
- use REALTIME_LIBS [Karel Zak]
buildsys:
- fix static configuration and building [Lada Trimasova]
cal:
- Add --span option [Deiz]
- Track date span independently from months_in_row [Deiz]
- remove libtermcap arguments to my_tgetstr() [Sami Kerola]
cfdisk:
- use new libsmartcols functionality to fix output [Karel Zak]
- wipe device if create a new label [Karel Zak]
chfn:
- improve formatting and wording of the manpage [Benno Schulenberg]
chrt:
- add control struct [Karel Zak]
- add support for SCHED_DEADLINE [Karel Zak]
- fix case SCHED_RR [Ruediger Meier]
- make --sched-* short options to require an argument [Sami Kerola]
- make man page more structured [Karel Zak]
- make usage more readable [Karel Zak]
- output function refactoring [Karel Zak]
- remove duplicate words and tweak some phrasings in the man page [Benno Schulenberg]
- restore removed ifdef SCHED_RESET_ON_FORK [Ruediger Meier]
- set function refactoring [Karel Zak]
- use sched_getattr() [Karel Zak]
- use sched_setattr() if available [Karel Zak]
colcrt:
- minor cosmetic changes [Karel Zak]
- reimplementation [Sami Kerola]
column:
- ignore non-printable chars [Karel Zak]
ctrlaltdel:
- display setting when ran without arguments [Sami Kerola]
- improve error messaging [Sami Kerola]
- tweak the wording in the man page [Benno Schulenberg]
- use path.h to read /proc [Karel Zak]
- use reboot() provided by libc, assuming it is 1-adic. [Casper Ti. Vector]
dmesg:
- improve grammar and consistency of usage text [Benno Schulenberg]
dmseg:
- slightly improve punctuation and formatting of the manpage [Benno Schulenberg]
doap:
- fix download URL [Karel Zak]
docs:
- add note about CLONE_NEWCGROUP support [Karel Zak]
- add note about libsmartcols Python binding [Karel Zak]
- add to TODO file [Karel Zak]
- fix typos found by codespell [Ruediger Meier]
- improve grammar and wording in the 2.28 release notes [Benno Schulenberg]
- miscellaneous tiny tweaks of man pages [Benno Schulenberg]
- update AUTHORS file [Karel Zak]
- update AUTHORS file [Sami Kerola]
- update TODO file [Karel Zak]
- update ctrlaltdel.8 man page [Sami Kerola]
- update v2.28-ReleaseNotes [Karel Zak]
exec_shell:
- prevent basename from modifying env [Ruediger Meier]
fallocate:
- improve synopsis and spelling in man page [Benno Schulenberg]
- restore man-page content that was deleted in commit 5b033bfd [Benno Schulenberg]
fdformat:
- fix block device open race [Sami Kerola]
fdisk:
- add --wipe [Karel Zak]
- fix the grammar of an option description [Benno Schulenberg]
- fix warning, incompatible pointer types passing 'uint64_t *' [Ruediger Meier]
- fix warning, uninitialized variable [Ruediger Meier]
- make 'f' command more verbose [Karel Zak]
- remove dead assignment [clang analyze] [Karel Zak]
- remove unused include sysfs.h [Ruediger Meier]
- sun, undef HAVE_QSORT_R for non-Linux [Ruediger Meier]
- to recognize Intel Rapid Start hibernation partition [Jörg Jenderek]
- to recognize partition type 0xEA (Rufus) [Jörg Jenderek]
fdisk, cfdisk, sfdisk:
- improve the grammar of three messages [Benno Schulenberg]
fdisk, sfdisk:
- adjust some formatting in the man pages [Benno Schulenberg]
- adjust the wording of the --wipe option [Benno Schulenberg]
findmnt:
- improve formatting and wording of the man page [Benno Schulenberg]
- use scols_table_print_range() for --poll [Karel Zak]
fsck:
- retire stat(3) when access(3) does better job [Sami Kerola]
fsck.minix:
- fix v3 version offset [Ruediger Meier]
fstrim:
- a few tiny tweaks of the man page [Benno Schulenberg]
- add reference to blkdiscard [Karel Zak]
- systemd timer units should be WantedBy=timers.target [Peter Hoeg]
getopt:
- fix -n name for BSD [Ruediger Meier]
- make sure setprogname provided by non-Linux system [Karel Zak]
hexdump:
- certain long options should not accept arguments [Phil Ruffwind]
- fix a typo and tweak some wordings in the manpage [Benno Schulenberg]
hwclock:
- change audit message [Karel Zak]
- fix format specifier [cppcheck] [Boris Egorov]
- remove extra space from --show output [Karel Zak]
- use labs() for long [Karel Zak]
hwclock.c, hwclock.8.in:
- new --show format [J William Piggott]
include:
- add missing header file [Karel Zak]
- add missing includes [Ruediger Meier]
- check for sys/sysmacros.h [Ruediger Meier]
- fix sys/sysinfo.h [Ruediger Meier]
- move sys/sysmacros.h to c.h [Karel Zak]
- provide MAP_ANONYMOUS on OSX [Ruediger Meier]
- remove now useless linux_reboot.h. [Casper Ti. Vector]
- remove unused mntent.h [Ruediger Meier]
include/bitops:
- add casts to bswap functions [Ruediger Meier]
- avoid fallbacks for more systems [Ruediger Meier]
include/fileutils:
- add is_same_inode() check [Sami Kerola]
include/pt-mbr-partnames:
- remove '|' from partition type name [Karel Zak]
ipcs:
- --shmems, upward/backward compatibility [Ruediger Meier]
- consolidate output header printing [Ruediger Meier]
- fix ipc_sem_get_limits() [Karel Zak]
- make static analyzer happy [clang analyze] [Karel Zak]
- make sure to parse whole lines for shm_data [Ruediger Meier]
- show gid instead of uid [Hushan Jia]
- ulong -> unsigned long [Ruediger Meier]
isosize:
- stop unmeaningful printing errno message [Sami Kerola]
last:
- display input file in usage() according to command name [Sami Kerola]
lib:
- define LOGIN_NAME_MAX fallback [Ruediger Meier]
- fix ismounted includes for FreeBSD [Ruediger Meier]
- fix unused parameters and variables [Ruediger Meier]
- include strutils.h for mempcpy() [Ruediger Meier]
- include sys/stat.h for struct stat [Ruediger Meier]
- move fopen_at() to fileutils.h, remove at.h [Ruediger Meier]
- provide fallback if mkostemp(3) missing [Ruediger Meier]
- remove openat fallback functions (include/at.h) [Ruediger Meier]
- remove unused variable [Ruediger Meier]
- rename strmode() and setmode() [Ruediger Meier]
lib/blkdev:
- add open_blkdev_or_file() function [Sami Kerola]
lib/color:
- add more ESC seq. [Karel Zak]
lib/crc32:
- don't require to modify GPT header [Karel Zak]
lib/linux_version:
- avoid major and minor shadowing [Karel Zak]
lib/mbsalign:
- fix warnings when compile without widechars [Karel Zak]
lib/path:
- ifdef path_set_prefix() like in path.h [Ruediger Meier]
lib/strutils:
- add more ERANGE messages [Ruediger Meier]
- fix errno usage in strtoint functions [Ruediger Meier]
- parse_size(), sync errno and return value [Ruediger Meier]
- use int for fgetc() [Karel Zak]
lib/strv:
- add strv_extendv() [Karel Zak]
lib/sysfs:
- make sysfs_get_devname()/blkid_devno_to_wholedisk() more robust [Karel Zak]
lib/tty:
- Pass default width to get_terminal_width() [Boris Egorov]
libblkid:
- (promise raid) cleanup code [Karel Zak]
- (zfs) add cast to fix UB [cppcheck] [Boris Egorov]
- (zfs) keep bufferes read-only [Karel Zak]
- Update for newer bcache superblocks [Kent Overstreet]
- add read() based fallback for char (UBI) devs [Karel Zak]
- check limits before indexing array [cppcheck] [Boris Egorov]
- don't include endian.h [Ruediger Meier]
- fix buffers mapping on 32bit archs [Karel Zak]
- fix compiler warnings [-Wmissing-prototypes] [Ruediger Meier]
- make XFS Log visible for wipefs [Karel Zak]
- make minix prober more robust [Karel Zak]
- revert mmap usage [Karel Zak]
- use internally uint64_t for offsets and sizes [Karel Zak]
- use mmap() rather than read() [Karel Zak]
libblkid,libmount:
- Do not use void* in calculations [cppcheck] [Boris Egorov]
libcommon:
- don't include sysinfo.h [Ruediger Meier]
libfdisk:
- (bsd) fix spelling in warning message [Benno Schulenberg]
- (gpt) control ranges in set_partition [Karel Zak]
- (gpt) reword two error messages with a sense of direction [Benno Schulenberg]
- Add GPT type GUID for Itanium Linux root [Andrew Wilcox]
- Detect out-of-space when adding new primary partition [Ian Wienand]
- Fix order of C/H/S numbers output [Andreas Henriksson]
- add API to control signatures wiping [Karel Zak]
- add missing break [Karel Zak]
- add more debug message to resize code [Karel Zak]
- fix compiler warnings [-Wmissing-prototypes] [Ruediger Meier]
- fix missing symbol [Ruediger Meier]
- fix partition move/resize code [Karel Zak]
- fix ref.counting in fdisk_apply_script() [clang analyze] [Karel Zak]
- fix typo [Karel Zak]
- fix warnings, "redundant redeclaration" [-Wredundant-decls] [Ruediger Meier]
- remove ifdef HDIO_GETGEO [Ruediger Meier]
libmount:
- (monitor) don't check for regular mtab [Karel Zak]
- (monitor) remove unnecessary epoll EPOLLPRI [Karel Zak]
- Fix possible NULL dereference in get_btrfs_fs_root() [Karel Zak]
- Typo fix [Stanislav Brabec]
- add 'force-mountinfo' to features list, improve debug [Karel Zak]
- add cgroup2 pseudo FS [Karel Zak]
- add comment, remove TODO item [Karel Zak]
- add loop to debug output [Karel Zak]
- add mnt_fs_set_priority() [Ruediger Meier]
- cleanup btrfs.c header [Karel Zak]
- code re-indentation [Stanislav Brabec]
- consolidate btrfs stuff, make it more portable [Karel Zak]
- don't include libio.h [Ruediger Meier]
- fix is-mounted check for btrfs [Karel Zak]
- fix memleak in mnt_pretty_path() [Karel Zak]
- fix mnt_table_is_fs_mounted() for loopdev [Karel Zak]
- fix mnt_table_is_fs_mounted() loopdev use [Karel Zak]
- fix target resolving for btrfs stuff [Karel Zak]
- fix uid= and gid= translation [Karel Zak]
- follow docs with parse-error callback return code [Karel Zak]
- handle btrfs default subvolume mount [Stanislav Brabec]
- improve conversion from root= to the devname [Karel Zak]
- move btrfs subvol code refactoring [Karel Zak]
- result of operation is garbage or undefined [clang analyze] [Karel Zak]
- run btrfs subvol checks for "auto" fs type [Stanislav Brabec]
- run btrfs subvol checks for "subvolid" option [Stanislav Brabec]
- use fstatat(AT_NO_AUTOMOUNT) for mountpoints [Karel Zak]
libsmartcols:
- add 'Since' tag for gtkdoc for some functions [Igor Gnatenko]
- add JSON to the test application [Karel Zak]
- add SCOLS_FL_HIDDEN [Karel Zak]
- add few methods to get information about title [Igor Gnatenko]
- add new functions to docs [Karel Zak]
- add sample-scols-continuous [Karel Zak]
- add samples directory [Karel Zak]
- add scols_column_is_hidden into sym file [Igor Gnatenko]
- add scols_column_is_wrap to docs [Igor Gnatenko]
- add scols_table_enable_nowrap() [Karel Zak]
- add scols_table_print_range() [Karel Zak]
- add title to the test application [Karel Zak]
- add wrap.c sample [Karel Zak]
- allow to reduce tree columns [Karel Zak]
- allow to set data by reference to libscols_column [Karel Zak]
- be sure column is unused [Karel Zak]
- document v2.27 symbols [Karel Zak]
- don't loose colors when wrapping [Igor Gnatenko]
- don't sort if cmpfunc() is not set [Karel Zak]
- don't try to align title if it's more that term [Igor Gnatenko]
- don't use fprintf() when count cells [Karel Zak]
- fill wrapped lines with space instead of 'x' [Igor Gnatenko]
- fix relative column width for maxout [Karel Zak]
- fix right-aligned logic for last column [Karel Zak]
- fix samples build, add title.c [Karel Zak]
- fix scols_table_print_range() to print header [Karel Zak]
- fix stupid typo [Karel Zak]
- fix title aligning to center [Igor Gnatenko]
- fix title sample [Karel Zak]
- fix uninitialized variable [Ruediger Meier]
- implement SCOLS_FL_WRAP [Igor Gnatenko]
- implement scols_table_print_range_to_string [Igor Gnatenko]
- implement title of table [Igor Gnatenko]
- make SCOLS_FL_WRAP usable in tree [Karel Zak]
- make output buffer size estimation more robust and elegant [Karel Zak]
- make sure we have space for ascii art [Karel Zak]
- position of title in fact unsigned [Igor Gnatenko]
- print title only with SCOLS_FMT_HUMAN [Igor Gnatenko]
- put new line after title [Igor Gnatenko]
- reduce also SCOLS_FL_WRAP columns [Karel Zak]
- reflect changinging SCOLS_FL_TREE after adding to table [Igor Gnatenko]
- rewrite ./sample-scols-wrap [Karel Zak]
- set everything once in scols_table_set_title() [Igor Gnatenko]
- support continuous printing [Karel Zak]
- support multi-line cells [Karel Zak]
- support multibyte titles, rename wrap to padding [Karel Zak]
- use libscols_cell for title [Karel Zak]
- use symbols for title wrap [Igor Gnatenko]
- wrap columns correctly with unicode [Igor Gnatenko]
libuuid:
- fix buffer overflow with long paths [Karel Zak]
line:
- keep stdin unbuiffered [Karel Zak]
logger:
- add --sd-id and -sd-param [Karel Zak]
- always update header when writing stdin line [Karel Zak]
- correct the grammar of an error message [Benno Schulenberg]
- fix compiler warning, const facilitynames [Ruediger Meier]
- fix memory leak [ASAN and valgrind] [Sami Kerola]
- fix messages separation on UNIX socket [Karel Zak]
- improve grammar and formatting of the manpage [Benno Schulenberg]
- keep man page consistent and use \- everywhere [Karel Zak]
- remove unnecessary comment [Karel Zak]
- shadow declaration [Sami Kerola]
- sort the options in the manpage alphabetically [Benno Schulenberg]
- use --id as local socket credentials [Karel Zak]
- use SCM_CREDENTIALS on LINUX only [Ruediger Meier]
- use iovec and sendmsg() to send message [Karel Zak]
- use iovec for all message [Karel Zak]
login:
- fix stat(2) race [Sami Kerola]
login, mount:
- fix __SC_GETPW_R_SIZE_MAX usage [Karel Zak]
login-utils:
- minor utmp cleanup [Ruediger Meier]
look:
- consider blanks as directory characters [Karel Zak]
losetup:
- clean up --direct-io [Karel Zak]
- correct some formatting in the man page [Benno Schulenberg]
- support ioctl cmd of LOOP_SET_DIRECT_IO [Ming Lei]
- support list direct io [Ming Lei]
lsblk:
- allow to --sort by hidden column [Karel Zak]
- remove useless warnings [Karel Zak]
- tiny man page update for --sort [Karel Zak]
- use unsigned type for SIZE [Karel Zak]
lscpu:
- Fix model and model name on Power Systems [Vasant Hegde]
- Print physical cpu information [Sukadev Bhattiprolu]
- correct the Virtualization type on Xen DomU PV guest [Dongli Zhang]
- fix backward buffer size adjustment after adding delimiter [Yuriy M. Kaminskiy]
- fix memleak because of ambiguous tags [Ruediger Meier]
- improve spacing and spelling in the man page [Benno Schulenberg]
- keep lscpu usable on snapshots [Karel Zak]
- revert unnecessary path_exist() [Karel Zak]
- use cpu and revision tag if available [Ruediger Meier]
lsipc:
- don't free shm data if no shm id is found [Romain Naour]
- tweak a few wordings on the manpage [Benno Schulenberg]
lsln:
- allows to list namespace processes [Karel Zak]
lslocks:
- use stuff from lib/procutils [Karel Zak]
lslogins:
- fix getgrouplist() usage for 64BE [Karel Zak]
lsns:
- Fix "lowers" -> "lowest" typo in --help for COL_PID [W. Trevor King]
- add USER and UID [Karel Zak]
- add details to the man page [Karel Zak]
- add man page [Karel Zak]
- filter by NS type [Karel Zak]
- fix failure after zombie process [Yuriy M. Kaminskiy]
- fix usage() [Karel Zak]
- improve formatting and wording of the man page [Benno Schulenberg]
- improve man page [Karel Zak]
- new command [Karel Zak]
- read all processes when --task specified [Karel Zak]
- remove unwanted comment [Karel Zak]
- sort namespaces, avoid duplicate entries in tree output [Karel Zak]
- use xcalloc() [Ruediger Meier]
lsns.c:
- fix error return [Yuriy M. Kaminskiy]
mesg:
- fix multiple races [Sami Kerola]
misc:
- again fixing many printf format strings [Ruediger Meier]
- always cast timeval.tv_usec to long rather than int [Ruediger Meier]
- avoid shadowing [Karel Zak]
- fix compiler warnungs (unsigned/signed) [Ruediger Meier]
- fix icc/clang compiler warnings [Ruediger Meier]
- fix printf i386 compiler warnings [Ruediger Meier]
- fix some includes [Ruediger Meier]
- fix some printf format strings [Ruediger Meier]
- fix warnings "unused parameter" [-Wunused-parameter] [Ruediger Meier]
- never cast void* from malloc(3) and friends [Ruediger Meier]
- remove duplicate includes [Karel Zak]
- remove path name definitions that are unused [Sami Kerola]
- safer (and uniform) handling of return value [Yuriy M. Kaminskiy]
misc-utils:
- build test_uuidd only if BUILD_UUIDD [Ruediger Meier]
mkfs.bfs:
- allow creating file system to a file [Sami Kerola]
- fix block device open race [Sami Kerola]
mkfs.minix:
- fix block device open race [Sami Kerola]
- fix v2/v3 .badblocks inode number for big endian [Ruediger Meier]
mkswap:
- add warnings for insecure device permissions/owners [Wayne R. Roth]
- fix block device open race [Sami Kerola]
more:
- remove unnecessary compatibility layer [Karel Zak]
mount:
- adjust some wordings and formatting in the man page [Benno Schulenberg]
- allow nofail to silence ENOMEDIUM cases [Mike Frysinger]
- further improve formatting of the man page [Benno Schulenberg]
- hardwrap an overlong example in the man page [Benno Schulenberg]
- mount.8 Add documentation of overlay mount options [Osamu Aoki]
mount, umount, swapon, fsck, lsblk, findmnt:
- harmonize six error messages [Benno Schulenberg]
- ignore malformed lines [Karel Zak]
namei:
- move icache to lib/ [Karel Zak]
newgrp:
- rename memset_s() [Ruediger Meier]
nologin:
- require /etc/nologin.txt to be file [Sami Kerola]
partx:
- fix --nr usage [Karel Zak]
- prevent code duplication [Karel Zak]
po:
- merge changes [Karel Zak]
- update cs.po (from translationproject.org) [Petr Písař]
- update de.po (from translationproject.org) [Philipp Thomas]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update pt_BR.po (from translationproject.org) [Rafael Fontenelle]
- update ru.po (from translationproject.org) [Evgeniy Yakushev]
- update sv.po (from translationproject.org) [Sebastian Rasmussen]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
- update zh_CN.po (from translationproject.org) [Wylmer Wang]
prlimit:
- cleanup output units [Karel Zak]
readprofile:
- add scanf field width limits [cppcheck] [Boris Egorov]
rename:
- add example to the man page [Kaligule]
scols/table_print:
- restore old stream after printing to str [Igor Gnatenko]
script:
- be pedantic and use "%"SCNi64 [Karel Zak]
- don't assume that time_t is compatible with long [Isaac Dunham]
- fix misspelling [Ruediger Meier]
- tweak spacing and wording, and restore filling in the man page [Benno Schulenberg]
script, hwclock:
- check file exist with access(3) rather than stat(3) [Sami Kerola]
scriptreplay/newgrp:
- use signed int to store return of getopt_long [Filipe Brandenburger]
setarch:
- add "exec" message to --verbose [Ruediger Meier]
- fix personality syscall return code check [Dmitry V. Levin]
setsid:
- fix argument count bug [Sami Kerola]
sfdisk:
- add 'U' shortcut for ESP [Karel Zak]
- add --delete [Karel Zak]
- add --move-data [Karel Zak]
- add --reorder [Karel Zak]
- add --wipe [Karel Zak]
- add ESP shortcut also for Legacy MBR [Karel Zak]
- adjust more wordings and formatting in the man page [Benno Schulenberg]
- cleanup and optimize --move-data [Karel Zak]
- fix -N return code detection, add debug messages [Karel Zak]
- improve the wording of seven error messages [Benno Schulenberg]
- make --quiet really quiet [Karel Zak]
sfdisk, fdisk:
- add fflush() [Karel Zak]
su:
- clean up groups initialization [Karel Zak]
sulogin:
- Always make echo work after performing getpasswd even if root account is locked [Werner Fink]
- Use fallback method on the Hurd for detecting consoles [James Clarke]
- avoid shared memory area usemask but use waitid() for childs [Werner Fink]
- fix sigset_t initialization [Karel Zak]
- ignore missing WEXITED, add warning [Ruediger Meier]
- keep initialization more robust [Karel Zak]
swapon:
- add control struct [Sami Kerola]
- do not run execvp() calls when swapon is setuid binary [Sami Kerola]
- drop perms if setuid before call mkswap [Karel Zak]
- fix discard=pages docs [Richard Yao]
- fix stat(3) and open(3) race [Sami Kerola]
- move function arguments to control structure [Sami Kerola]
- remove unnecessary assert [Karel Zak]
- rewrite control struct usage [Karel Zak]
- simplify ctl->device usage [Karel Zak]
taskset:
- fix description of `-c` option in the man page [Yuriy M. Kaminskiy]
tests:
- --parallel prints results in a single line [Ruediger Meier]
- add DM error target for blkid [Karel Zak]
- add btrfs mount tests [Stanislav Brabec]
- add colcrt functional tests [Sami Kerola]
- add fdisk/bsd hexdump for alpha [Ruediger Meier]
- add logger tests "id _numbers_ with spaces" [Ruediger Meier]
- add missing files [Karel Zak]
- add new fdisk bsd test [Karel Zak]
- add option --parsable [Ruediger Meier]
- add sfdisk --move-data test [Karel Zak]
- add some check_test_command requirements [Ruediger Meier]
- add some line tests [Ruediger Meier]
- add test for loop option in fstab [Stanislav Brabec]
- add uuid parser check [Sami Kerola]
- add uuidd output check [Sami Kerola]
- add uuidgen output check [Sami Kerola]
- always create sparse image files [Ruediger Meier]
- avoid sed -E [Ruediger Meier]
- blkdiscard, check return values [Ruediger Meier]
- check for TS_HELPER_SYSINFO in swap tests [Karel Zak]
- cramfs, fix root group [Ruediger Meier]
- disable eject for broken kernels [Ruediger Meier]
- don't compare btrfs mount options [Karel Zak]
- don't skip case "output undefined" [Ruediger Meier]
- don't use mkfs.btrfs option -f [Ruediger Meier]
- don't use system's mount commands [Ruediger Meier]
- fallback for missing TS_DESC [Karel Zak]
- fix compiler warnings [-Wmissing-prototypes] [Ruediger Meier]
- fix fdisk/bsd for alpha [Ruediger Meier]
- fix fdisk/bsd for hppa [Ruediger Meier]
- fix minix tests for big endian [Ruediger Meier]
- fix non-working udevadm settle for scsi_debug [Ruediger Meier]
- fix redirection [Stanislav Brabec]
- fix run.sh --parallel=1 [Ruediger Meier]
- fix ts_option helpers [Ruediger Meier]
- getopt2, add function gnu_getopt_clean() [Ruediger Meier]
- hotfix, wait for scsi_debug partion [Ruediger Meier]
- ignore setarch on sparc [Karel Zak]
- ignore swapon warnings [Ruediger Meier]
- improve getopt loop error case [Ruediger Meier]
- improve setarch tests, regarding --uname-2.6 issues [Ruediger Meier]
- improve skipping of old btrfs-tools [Ruediger Meier]
- make libmount/lock optional [Karel Zak]
- make swaplabel test more robust [Karel Zak]
- make test_uuid_parser to read files [Sami Kerola]
- mark old bsd fdisk test as deprecated [Karel Zak]
- mark script race test as "known fail" [Karel Zak]
- minix, add a useful non-root check [Ruediger Meier]
- minix, some corrections and cleanup [Ruediger Meier]
- minix, use hexdump instead of md5sum [Ruediger Meier]
- minor cleanup ts_fdisk_clean() [Ruediger Meier]
- mkfs.ext3 image-file needs option -F [Ruediger Meier]
- no more sleep, udevadm settle only [Ruediger Meier]
- remove deprecated md5sum based fdisk/bsd test [Ruediger Meier]
- remove invalid argument in libmount/debug [Ruediger Meier]
- remove redundant check for NULL [cppcheck] [Boris Egorov]
- replace username with tag in logger test [Karel Zak]
- sfdisk/gpt-reorder, add missing results [Ruediger Meier]
- skip BLKDISCARD if unsupported [Ruediger Meier]
- skip automake's empty "Testsuite summary" [Ruediger Meier]
- skip btrfs tests if version too old [Ruediger Meier]
- skip ipcs test which require /proc [Ruediger Meier]
- skip nonroot before checking for progs in PATH [Ruediger Meier]
- skip old socat silently [Ruediger Meier]
- ts_fdisk_clean(), remove optimal iosize [Ruediger Meier]
- udevadm settle before losetup -d [Ruediger Meier]
- update ZFS test [Karel Zak]
- update and extend logger tests [Karel Zak]
- update build-sys tests [Karel Zak]
- update colcrt test expectations [Sami Kerola]
- update swapfile output [Karel Zak]
- use sfdisk --no-reread wherever it's needed [Ruediger Meier]
- use xz instead of bzip2 for blkid images [Ruediger Meier]
- wipefs fix, ts_init was called too late [Ruediger Meier]
tools:
- add checkcompletion.sh [Karel Zak]
- add missing checkcompletion.sh [Karel Zak]
travis:
- Remove workaround for libtool install of pylibmount [Filipe Brandenburger]
- add OSX build [Ruediger Meier]
- cosmetics, order scripts like they are executed [Ruediger Meier]
- install mdadm [Ruediger Meier]
- let's ignore apt-get return code [Karel Zak]
- minor cleanup [Ruediger Meier]
- switch to Ubuntu 14.04 Trusty [Ruediger Meier]
- workaround env pollution, PYTHON_CFLAGS [Ruediger Meier]
umount:
- add man page note that --force is not perfect [Karel Zak]
unshare:
- add example for persistent mount namespace [Karel Zak]
- describe the setgroups restriction more explicitly [Benno Schulenberg]
- fix busyloop and reduce racing probability [Yuriy M. Kaminskiy]
- fix incomplete sentence in man page [Karel Zak]
- improve wording and formatting in the man page [Benno Schulenberg]
- replace a special character in the man page with a space [Benno Schulenberg]
- tiny change [Karel Zak]
uuidd:
- add debug message for timeout [Karel Zak]
- correct the wording of an error message [Benno Schulenberg]
- fix compiler warning [-Wsign-compare] [Karel Zak]
- fix shadow declaration [Sami Kerola]
- improve socket activation error messaging [Sami Kerola]
- slice up the usage text and normalize its layout [Sami Kerola]
- use cxt->quiet [Karel Zak]
- use signalfd() and setup_timer() [Sami Kerola]
vipw:
- Remove pre-ANSI compiler support [Romain Naour]
- make tmp_file usage more robust [clang analyze] [Karel Zak]
- print only one new line when asking about shadow file [Sami Kerola]
- use puts() when formatting unnecessary [Karel Zak]
wipefs:
- Allow b to be used as the short option for backup [Bill Pemberton]
wipefs, sfdisk:
- include libgen.h for basename(3p) [Ruediger Meier]
zramctl:
- fix lists of the all devices [Karel Zak]
- fix typo [Karel Zak]

View File

@ -0,0 +1,587 @@
Util-linux 2.29 Release Notes
=============================
Security issues
---------------
CVE-2016-2779
This security issue is NOT FIXED yet. It is possible to disable the ioctl
TIOCSTI by setsid() only. Unfortunately, setsid() has well-defined use cases
in su(1) and runuser(1) and any changes would introduce regressions. It seems
we need a better way -- ideally another ioctl to disable TIOCSTI without
setsid() or in userspace implemented pty container (planned as experimental
su(1) feature for v2.30).
Stable maintenance releases between v2.28 and v2.29
---------------------------------------------------
util-linux 2.28.2 [Sep 7 2016]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.2-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.2-ChangeLog
util-linux 2.28.1 [Aug 11 2016]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.1-ChangeLog
Changes between v2.28 and v2.29
-------------------------------
agetty:
- call uname() only when necessary [Karel Zak]
- don't modify argv[] when parse speeds [Karel Zak]
- fix \S usage [Karel Zak]
- move unreachable code to pre-processor #else segment [oclint] [Sami Kerola]
blkdev:
- guard against missing DIOCGDINFO on FreeBSD 11 [Franco Fichtner]
blkdiscard:
- Improve man page [Allon Mureinik]
build-sys:
- add --disable-plymouth-support [Karel Zak]
- add --disable-widechar [Karel Zak]
- add --enable-libuuid-force-uuidd [Ruediger Meier]
- add UL_REQUIRES_COMPILE macro [Karel Zak]
- add missing include/plymouth-ctrl.h [Karel Zak]
- add non-action for ncurses pkg-cong test [Karel Zak]
- add parisc to define ARCH_ [Karel Zak]
- add tools/Makemodule.am [Karel Zak]
- clean up relation between ncurses[w] and wide-char support [Karel Zak]
- cleanup --with-ncurses [Karel Zak]
- fix comments in ul.m4 [Karel Zak]
- fix drone.io builds [Karel Zak]
- fix missing ncursesw message [Ruediger Meier]
- fix typo on ncurses-config command line [Karel Zak]
- fix uClibc-ng scanf check [Waldemar Brodkorb]
- improve libncursesw5 install for travis [Karel Zak]
- release++ (v2.29-rc1) [Karel Zak]
- release++ (v2.29-rc2) [Karel Zak]
- remove dead libsmartcols sample [Karel Zak]
- remove global dependence between widechar and ncursesw [Karel Zak]
- remove obsolete [cs]fdisk LDADDs [Karel Zak]
- remove obsolete comment [Karel Zak]
- test functions does not return void [Sami Kerola]
- use UL_DEFAULT_ENABLE() only for programs [Karel Zak]
- use ncurses-config rather than pkg-config [Karel Zak]
- workaround for autoconf "present but cannot be compiled" [Karel Zak]
cal:
- allow to specify month by name [Karel Zak]
- cleanup man page [Karel Zak]
- cleanup non-ncurses build [Karel Zak]
- remove err message from monthname_to_number() [Karel Zak]
- support abbreviated month names [Karel Zak]
- support alone month name parameter [Karel Zak]
- support timestamps [Karel Zak]
- use %04d for year [Karel Zak]
cfdisk:
- fix mountpoint detection [Karel Zak]
- use libsmartcols ASCII for non-widechar environment [Karel Zak]
cfisk:
- add /dev/vda as another default disk [Karel Zak]
chfn:
- chsh use selinux_check_passwd_access() [Karel Zak]
chrt:
- add fallback to be usable on kernels without sched_{get,set}attr [Karel Zak]
- fix HAVE_SCHED_SETATTR fallback case [Ruediger Meier]
- follow nice setting, prefer sched_setscheduler() [Karel Zak]
- validate priority before trying to use it [Sami Kerola]
colcrt:
- avoid the command getting hung [afl] [Sami Kerola]
cramfs:
- add missing includes [Karel Zak]
- revert crc32 changes [Karel Zak]
debug:
- use const void * for ul_debugobj() [Igor Gnatenko]
deprecated.txt:
- Add sfdisk --show-pt-geometry [Stanislav Brabec]
dmesg:
- --notime should not suppress --show-delta [Sami Kerola]
- drop core at impossible case in read_buffer() [oclint] [Sami Kerola]
- fix indention [Karel Zak]
- use strtimeval_iso() [Karel Zak]
docs:
- Fix various typos [Sebastian Rasmussen]
- add file format note to utmpdump manual page [Sami Kerola]
- add sfdisk scripts quotes issue to TODO file [Karel Zak]
- optinal option arguments should be long-only [Sami Kerola]
- some random fixes [Karel Zak]
- update AUTHORS file [Karel Zak]
- update TODO file [Karel Zak]
- update infor about TIOCSTI [Karel Zak]
- update v2.29-ReleaseNotes [Karel Zak]
fdisk:
- Add support for altering GPT size [Sassan Panahinejad]
- Fix typo RequiredPartiton -> RequiredPartition [Sebastian Rasmussen]
- add --wipe-partitions=auto|never|default [Karel Zak]
- fix compiler warning [Karel Zak]
- fix memleak in list_disk_geometry() [Ruediger Meier]
- make -l <dev ...> behaves like fdisk -l [Thierry Vignaud]
- use PAGER for 'l' command. [Karel Zak]
findmnt:
- (verify) add docs [Karel Zak]
- (verify) add options verification [Karel Zak]
- (verify) add source verification [Karel Zak]
- (verify) add swaparea verification [Karel Zak]
- (verify) check filesystem type [Karel Zak]
- (verify) fix mem leak [coverity scan] [Karel Zak]
- (verify) minor changes in strings [Karel Zak]
- add --verify and --verbose [Karel Zak]
- remove duplicate include [Karel Zak]
flock:
- Introduce no-fork option. [Terry Burton]
- fix no-flock patch [Karel Zak]
- keep run_program() simple [Karel Zak]
fsck:
- fix racing between unlock/unlink and open [Yuriy M. Kaminskiy]
- remove fs-specific options from man page [Karel Zak]
fsck.cramfs:
- don't ignore read() result [coverity scan] [Karel Zak]
fsck.minix:
- Verify more fields in super-block. [Tobias Stoeckmann]
- fix endless loop and out of stack [Karel Zak]
fstrim:
- add -v to the systemd service [Karel Zak]
getops:
- improve getopt-parse.bash example [Sami Kerola]
getopt:
- be sure that options array is terminated [Karel Zak]
- fix memory leaks and integer overflows [ASAN & valgrind] [Sami Kerola]
- keep pointer to 'name' in control struct [Karel Zak]
hwclock:
- use strtimeval_iso() [Karel Zak]
include/closestream:
- define exit codes [Karel Zak]
include/env:
- minor fixes and clean ups [Karel Zak]
include/timeutils:
- rewrite iso formatting functions [Karel Zak]
- use pointer for time_t [Karel Zak]
include/widechar:
- add fallback for WEOF [Karel Zak]
- add missing fallbacks [Karel Zak]
ionice:
- clarify description of --classdata [Daniel Shahaf]
isosize:
- don't ignore read() result [coverity scan] [Karel Zak]
- fix read() result check [Karel Zak]
kill:
- remove pid command-name to option alias [Sami Kerola]
last:
- cleanup time formatting code [Karel Zak]
- fix logout time [Karel Zak]
lib:
- avoid double free in loopdev.c [Sami Kerola]
- try to find tty in get_terminal_name() [Sami Kerola]
lib/crc32:
- prefix public functions [Gustavo Zacarias]
lib/loopdev:
- Set errno in is_loopdev on error [Tobias Stoeckmann]
- cleanup sizelimit check [Karel Zak]
lib/mbsalign:
- fix for non-widechar [Karel Zak]
- free buffer after error [coverity scan] [Karel Zak]
lib/pager:
- cleanup and extend API [Karel Zak]
- fix test [Karel Zak]
- restore signals setting by pager_close() [Karel Zak]
lib/randutils:
- add xsrand() and rand_get_number() [Karel Zak]
- remove unnecessary function [Karel Zak]
lib/strutils:
- make left and right trims more robust [Sami Kerola]
lib/sysfs:
- be more smart for non-scsi devices [Karel Zak]
lib/timeutils:
- add strtime_short() [Karel Zak]
- add strxxx_iso() functions [Karel Zak]
lib/ttyutils:
- use stdout for get_terminal_width() [Karel Zak]
libblkid:
- Add metadata signature check for IMSM on 4Kn drives [Alexey Obitotskiy]
- Avoid OOB access on illegal ZFS superblocks [Tobias Stoeckmann]
- Avoid strlen if only first char is checked [Tobias Stoeckmann]
- Check that cluster size is nonzero when probing exFAT [Rostislav Skudnov]
- [exfat] Limit maximum number of iterations in find_label [Rostislav Skudnov]
- avoid non-empty recursion in EBR [Karel Zak]
- check blkid_parse_tag_string() return code [coverity scan] [Karel Zak]
- don't check nonnull attributes for NULL [-Wnonnull-compare] [Karel Zak]
- fix debugging macro [oclint] [Sami Kerola]
- fix mistake in debug message [Karel Zak]
- ignore empty MBR on LVM device [Karel Zak]
- ignore extended partition at zero offset [Karel Zak]
- improve debug messages [Karel Zak]
- make I/O errors on CDROMs non-fatal [Karel Zak]
- make blkid_do_wipe() work with probes with offset [Petr Uzel]
- reduce probing area for crazy CDROMs [Karel Zak]
- remove unused function [Karel Zak]
- simplify if clause [oclint] [Sami Kerola]
- store only canonical devnames to the cache [Karel Zak]
libcommon:
- add ISO_8601_GMTIME that will print UTC-0 timestamps [Sami Kerola]
libfdisk:
- (docs) add missing version notes [Karel Zak]
- (gpt) be more careful with 64bit constants [Karel Zak]
- (gpt) make attributes parser more robust [Karel Zak]
- (script) make bootable flag parsing more robust [Karel Zak]
- Add support for altering GPT size [Sassan Panahinejad]
- Distinguish between first LBA sector and partition [Tobias Stoeckmann]
- Fix assert error in free space handling [Tobias Stoeckmann]
- add API for work with labelitems [Karel Zak]
- add fdisk_wipe_partition() [Karel Zak]
- add trivial script test [Karel Zak]
- cleanup fdisk_gpt_set_npartitions() [Karel Zak]
- cleanup labelitem initialization [Karel Zak]
- don't offer zero length freespace [Karel Zak]
- fix range checking for fdisk_set_last_lba [Sassan Panahinejad]
- fix script Type= and Id= parsing [Karel Zak]
- fix typo [Karel Zak]
- fix uninitialized fdisk_labelitem [Ruediger Meier]
- make script token parser more robust [Karel Zak]
- make table-length usage more robust [Karel Zak]
- move fdisk_field_...() functions to field.c [Karel Zak]
- use fdisk_add_partition() for unused partno [Karel Zak]
- use table-length in dump for non-standard PT [Karel Zak]
liblkid:
- Add length check in probe_nilfs2 before crc32 [Torsten Hilbrich]
- fix probe_nilfs2 I/O error backup [Karel Zak]
libmount:
- Fix possible crash in mnt_context_setup_loopdev() [Stanislav Brabec]
- Introduce new error MNT_ERR_LOOPOVERLAP [Stanislav Brabec]
- Preserve empty string value in optstr parsing [Filipe Brandenburger]
- Re-organize is_mounted_same_loopfile() [Stanislav Brabec]
- don't check nonnull attributes for NULL [-Wnonnull-compare] [Karel Zak]
- don't support /etc/mtab by default [Karel Zak]
- fix memory leak [Sami Kerola]
- fix mnt_table_parse_mtab() logic [Karel Zak]
- fix mnt_table_parse_stream() logic [Karel Zak]
- fix mount -a for cifs [Aurelien Aptel]
- fix null-checking [coverity scan] [Karel Zak]
- ignore redundant slashes [Karel Zak]
- make kernel_fs_postparse() more robust [Karel Zak]
- one iteration to detect overlap and reuse loopdev [Karel Zak]
- paranoid change in mnt_table_is_fs_mounted() [Karel Zak]
- remove duplicate code [Karel Zak]
- reuse existing loop device [Stanislav Brabec]
- try absolute target before canonicalize [Karel Zak]
libmount, look:
- remove dead code [oclint] [Sami Kerola]
libmout:
- Reuse loop device safely [Stanislav Brabec]
libsmartcols:
- (docs) add missing functions [Karel Zak]
- (docs) add missing version notes [Karel Zak]
- Corrected JSON escaping [Karel Zak, Bryan Elliott]
- add JSON support to sample application [Karel Zak]
- add application to test library features [Karel Zak]
- add fallback for symbols [Karel Zak]
- add functions to control terminal usage [Karel Zak]
- add maxout sample [Karel Zak]
- add scols_column_add_width() [Karel Zak]
- add scols_table_get_name() [Igor Gnatenko]
- add scols_table_is_nolinesep() [Igor Gnatenko]
- add scols_table_is_nowrap() [Igor Gnatenko]
- add support for trees to the sample application [Karel Zak]
- allow to change cell padding char [Karel Zak]
- be consistent, use 'sy' for symbols [Igor Gnatenko]
- be more strict about empty tables [Karel Zak]
- cleanup get functions [Karel Zak]
- cleanup line separator usage [Karel Zak]
- cleanup scols_table_set_symbols() API [Karel Zak]
- commit missing file [Karel Zak]
- custom wrap fixes [Karel Zak]
- don't print title color is colors disabled [Karel Zak]
- extend wrapnl sample [Karel Zak]
- fix WRAPNL crashes [Karel Zak]
- fix WRAPNL on strings without \n [Karel Zak]
- fix comment [Karel Zak]
- fix hidden file usage [Karel Zak]
- fix minimal column width calculation [Karel Zak]
- fix non-tty output for 'maxout' columns [Karel Zak]
- fix padding for non-maxout output [Karel Zak]
- fix scols_table_enable_colors() usage in samples [Karel Zak]
- fix title output on non-tty [Karel Zak]
- fix tree padding [Karel Zak]
- fix typos in docs [Igor Gnatenko]
- fixes in doc generation [Igor Gnatenko]
- improve JSON [Karel Zak]
- keep scols_table_get_termwidth() read-only [Karel Zak]
- make get_line/column_separator() return const [Igor Gnatenko]
- make scols_sort_table() usable for trees [Karel Zak]
- remove debuging code from sample [Karel Zak]
- support LIBSMARTCOLS_DEBUG_PADDING=on [Karel Zak]
- support custom wrap and remove SCOLS_FL_WRAPNL [Karel Zak]
- support multi-line cells based on line breaks [Karel Zak]
- use SCOLS_FL_RIGHT in sample [Karel Zak]
- use const qualifier for scols_table_get_termwidth [Igor Gnatenko]
- use const qualifier where it's possible [Igor Gnatenko]
logger:
- add man page note about the default --tag [Karel Zak]
- be more precise about --port description [Karel Zak]
- remove trailing spaces when outputing to journal [Sami Kerola]
- simplify if clause [oclint] [Sami Kerola]
loopdev:
- Implememt loopcxt_set_status() [Stanislav Brabec]
losetup:
- Prevent AUTOCLEAR detach race [Stanislav Brabec]
- add --nooverlap options [Karel Zak, Stanislav Brabec]
- allow to use --nooverlap when device specified [Karel Zak]
- fix outdated comment ["Yuriy M. Kaminskiy"]
losetup --nooverlap:
- fix typo [Stanislav Brabec]
lsblk:
- add note about --sort and --list relation [Karel Zak]
- improve support for nvme [Karel Zak]
- sort by MAJ MIN by default [Karel Zak]
- use ID_WWN_WITH_EXTENSION is possible [Karel Zak]
lscpu:
- add --physical option [Heiko Carstens]
- add drawer support [Heiko Carstens]
- add parsable testcase with the --physical option [Heiko Carstens]
- add s390 drawer testcase [Heiko Carstens]
- disable is_vmware_platform() for non-root users [Karel Zak]
- fix MMHZ column entry within man page [Heiko Carstens]
- fix typo in summary output [Heiko Carstens]
- make lookup_cache() more robust [Karel Zak]
- only try to read sysfs attributes of present CPUs [Heiko Carstens]
- print correct number of threads per core if possible [Heiko Carstens]
- show additional caches (s390) [Heiko Carstens]
- show machine type (s390) [Heiko Carstens]
- show static and dynamic MHz (s390) [Heiko Carstens]
- update s390-lpar-drawer testcase [Heiko Carstens]
lsipc:
- use strtime_short() [Karel Zak]
- use strtm_iso() [Karel Zak]
lslocks:
- add --noinaccessible [Karel Zak]
lslogins:
- simplify if clause and move definition and comments [oclint] [Sami Kerola]
- use strtime_short() [Karel Zak]
- use strtm_iso() [Karel Zak]
lsns:
- check for OOM [Karel Zak]
- fix mem leak [coverity scan] [Karel Zak]
- missing ns/<name> is not error [Karel Zak]
- support cgroup namespaces [Michał Bartoszkiewicz]
lspcu:
- minor manpage improvement [Heiko Carstens]
man pages:
- fix spacing between man page name & section number [Mike Frysinger]
misc:
- Fix various typos [Sebastian Rasmussen]
- always check setenv(3) return value [Sami Kerola]
- cleanup non-widechar compilation [Karel Zak]
- fix declarations shadowing variables in the global scope [oclint] [Sami Kerola]
- fix some compiler warnings [Ruediger Meier]
- fix unsigned int usage for ctype.h functions [Karel Zak]
- once again some printf format strings [Ruediger Meier]
- simplify if clauses [oclint] [Sami Kerola]
mkswap:
- tolerate ENOTSUP when failing to relabel [Lubomir Rintel]
more:
- don't include ncurses.h, fix for non-widechar [Karel Zak]
mount:
- Handle EROFS before calling mount() syscall [Stanislav Brabec]
- Handle MNT_ERR_LOOPOVERLAP [Stanislav Brabec]
- add note about another flags for "remount,bind" [Karel Zak]
- add note about loopdev reuse to mount.8 [Karel Zak]
- add note about paths verification to mount.8 [Karel Zak]
- append inverting options for mount.<type> on "users" [Karel Zak]
- mount.8 Update loop device documentation [Stanislav Brabec]
- small change to mount.8 loopdev section [Karel Zak]
- try to tell what mount was doing when it failed [Sami Kerola]
nsenter:
- enter namespaces in two passes [James Bottomley]
pathnames:
- guard clashing definitions on FreeBSD [Franco Fichtner]
pg:
- stop building the command by default [Sami Kerola]
po:
- merge changes [Karel Zak]
- update cs.po (from translationproject.org) [Petr Písař]
- update de.po (from translationproject.org) [Philipp Thomas]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update sv.po (from translationproject.org) [Sebastian Rasmussen]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
- update zh_CN.po (from translationproject.org) [Wylmer Wang]
pylibmount:
- include c.h [Karel Zak]
ramctl:
- add support for zram-control [Karel Zak]
rev:
- Avoid calling free in a signal handler [Tobias Stoeckmann]
- Avoid out of boundary read [Tobias Stoeckmann]
rtcwake:
- add note about RTC limits [Karel Zak]
- make sure buffer is zero terminated [coverity scan] [Karel Zak]
script:
- avoid trying fclose(NULL) [Sami Kerola]
- check status of writes when closing outputs [Sami Kerola]
- close file descriptors on exec [Sami Kerola]
- improve coding style and the "done" message [Karel Zak]
- use empty-slave heuristic more carefully [Karel Zak]
scriptreplay:
- avoid re-implementing strtod_or_err() [Sami Kerola]
- improve error message [Sami Kerola]
setarch:
- let's keep analyzer happy [coverity scan] [Karel Zak]
setpwnam:
- fix memory leak [Sami Kerola]
setterm:
- de-duplicate color option string parsing [Karel Zak]
- fix declarations shadowing variables in the global scope [oclint] [Sami Kerola]
- remove unnecessary translation string [Sami Kerola]
sfdisk:
- Add --show-pt-geometry compatibility code [Stanislav Brabec]
- Add support for altering GPT size [Sassan Panahinejad]
- add --no-tell-kernel [Karel Zak]
- add --wipe-partitions=auto|never|default [Karel Zak]
- add show-pt-geometry to usage() and sfdisk.8 [Karel Zak]
- cleanup before going out of scope [coverity scan] [Karel Zak]
- exit with error if rereading partition table fails [Victor Dodon]
- free before going out of scope [coverity scan] [Karel Zak]
- make non-interactive output more readable [Karel Zak]
smartcols/symbols:
- free cell_padding in unref() [Igor Gnatenko]
su, runuser, setpriv:
- create links between man pages [Karel Zak]
su,runuser:
sulogin:
- agetty use the plymouth local protocol instead the plymouth binary [Werner Fink]
- make fopen O_CLOEXEC specifier usage portable [Sami Kerola]
- remove __nonnull__ function attribute [Sami Kerola]
swapoff:
- fix mem leak [coverity scan] [Karel Zak]
swapon:
- fix discard option parsing [Karel Zak]
switch_root:
- simplify code and reduce indentation [oclint] [Sami Kerola]
syspriv:
- flip inverted logic [oclint] [Sami Kerola]
tailf:
- Fix previously adjusted segfault patch [Tobias Stoeckmann]
- Fix segmentation fault in tailf on 32 bit [Tobias Stoeckmann]
taskset:
- clarify that masks are always hex in man page [Chris Metcalf]
tests:
- fix raid1 minimum I/O size [Ruediger Meier]
- (cramfs) check for test_sysinfo [Karel Zak]
- Add helper for TIOCSTI exploit [Stanislav Brabec]
- Add loop-overlay test [Stanislav Brabec]
- Add losetup-loop test suite [Stanislav Brabec]
- Allow running a single test case from tests/run.sh [Filipe Brandenburger]
- Fix fdisk/id and fdisk/mbr-nondos-mode on Sparc [James Clarke]
- Use proper word splitting when executing tests [Filipe Brandenburger]
- add GPT attributes parser tests [Karel Zak]
- add another libsmartcols tests [Karel Zak]
- add another sfdisk script tests [Karel Zak]
- add chrt test [Karel Zak]
- add chrt vs. nice test [Karel Zak]
- add columns separator to libsmartcols test [Karel Zak]
- add export and raw to libsmartcols test [Karel Zak]
- add flock tests [Karel Zak]
- add libsmartcols JSON test [Karel Zak]
- add libsmartcols title test [Karel Zak]
- add libsmartcols wrap and wrapnl tree tests [Karel Zak]
- add missing expected/ dir stuff [Karel Zak]
- add sfdisk Type= and Id= test [Karel Zak]
- add sfdisk script case-insensitive test [Karel Zak]
- add tree libsmartcols test files [Karel Zak]
- always quote $LODEV [Ruediger Meier]
- avoid &>> for bash compatibility [Ruediger Meier]
- call umount --fake for tmpfs tests [Karel Zak]
- challenge utmpdump localization go-around [Sami Kerola]
- check for mount(8) in minix test [Karel Zak]
- check for timeout prog [Karel Zak]
- consolidate rmmod scsi_debug [Ruediger Meier]
- don't depend on GNU md5sum [Ruediger Meier]
- fix for non-ncurses version [Karel Zak]
- fix libmount loop-overlay test [Karel Zak]
- fix loop-overlay test [Karel Zak]
- fix losetup tests for --nooverlap [Karel Zak]
- fix ttyutils test [Karel Zak]
- fix utmpdump timestamps to be in iso format [Sami Kerola]
- implement ts_skip_subtest [Karel Zak]
- improve libsmartcols test [Karel Zak]
- keep 'hppa' in fdisk/bsd test too [Karel Zak]
- let lsmod fail silently [Ruediger Meier]
- let's follow ts_scsi_debug_rmmod [Karel Zak]
- make chrt test more debug-able [Karel Zak]
- make tests more portable due to mtab [Karel Zak]
- mark build-in paths test as optional [Karel Zak]
- mark chrt as TS_KNOWN_FAIL [Karel Zak]
- mark chrt tests as root-only [Karel Zak]
- move getopt to separate directory [Karel Zak]
- really fix fdisk/bsd for hppa [Helge Deller]
- refresh cal(1) test [Karel Zak]
- remove USE_LIBMOUNT_FORCE_MOUNTINFO [Karel Zak]
- remove unnecessary file [Sami Kerola]
- replace sleep by udevadm [Ruediger Meier]
- test_md5 prints md5sum only [Ruediger Meier]
- udevadm settle before losetup -d [Ruediger Meier]
- update build-sys expected output [Karel Zak]
- update build-sys tests [Karel Zak]
- update sfdisk output strings [Karel Zak]
- utmpdump add subsecond accuracy test [Sami Kerola]
- wait for flock background process [Ruediger Meier]
tools:
- add script to load .po from translationproject.org [Karel Zak]
- make ko-release-gen usable with gpg2 [Karel Zak]
travis:
- fix OSX, glibtoolize could not find sed [Ruediger Meier]
trivial:
- s/automatical/automatic/g [Igor Gnatenko]
- use tabs consistently [Igor Gnatenko]
ul:
- Fix buffer overflow [Tobias Stoeckmann]
umount:
- add note about FS names differences to the man page [Karel Zak]
- cleanup umount.8 about mtab [Karel Zak]
- fix obsolete info about loop= in umount.8 [Karel Zak]
utmpdump:
- use always UTC-0 timezone in textual output [Sami Kerola]
- use iso-8601 timestamp format with subsecond accuracy [Sami Kerola]
uuidd:
- remove unnecessary pidpile path variable [Sami Kerola]
wdct:
- mark usage() as noreturn [coverity scan] [Karel Zak]
wipefs:
- force GPT detection [Karel Zak]
write:
- add control structure to clarify what is going on [Sami Kerola]
- don't use strftime() [Karel Zak]
- fix setuid related regression [Wayne Pollock]
- get rid of function prototypes [Sami Kerola]
- improve coding style [Sami Kerola]
- improve function and variable names [Sami Kerola]
- make timestamp to be obviously just a clock time [Sami Kerola]
- remove PUTC macro [Sami Kerola]
- remove pointless fileno(3) calls [Sami Kerola]
- remove unnecessary utmp variables [Sami Kerola]
- remove unused variable [Sami Kerola]
- run atexit() checks at the end of execution [Sami Kerola]
- set atime value in term_chk() only when needed [Sami Kerola]
- stop removing and adding /dev/ in front of tty string [Sami Kerola]
- tell when effective gid and tty path group mismatch [Sami Kerola]
- use xstrncpy() from strutils.h [Sami Kerola]
- add control structure to clarify what is going on [Sami Kerola]
- don't use strftime() [Karel Zak]
- fix setuid related regression [Wayne Pollock]
- get rid of function prototypes [Sami Kerola]
- improve coding style [Sami Kerola]
- improve function and variable names [Sami Kerola]
- make timestamp to be obviously just a clock time [Sami Kerola]
- remove PUTC macro [Sami Kerola]
- remove pointless fileno(3) calls [Sami Kerola]
- remove unnecessary utmp variables [Sami Kerola]
- remove unused variable [Sami Kerola]
- run atexit() checks at the end of execution [Sami Kerola]
- set atime value in term_chk() only when needed [Sami Kerola]
- stop removing and adding /dev/ in front of tty string [Sami Kerola]
- tell when effective gid and tty path group mismatch [Sami Kerola]
- use xstrncpy() from strutils.h [Sami Kerola]

View File

@ -0,0 +1,758 @@
Util-linux 2.30 Release Notes
=============================
The libblkid library has been improved for hybrid CDROM/DVD media by extracting
the LABEL and UUID values from the UDF header, rather than the ISO9660 header.
This change makes hybrid CDROM/DVD media created on other operating systems more
compatible in Linux user-space. Unfortunately, this change may introduce a
regression for (unusual) hybrid CDROM/DVDs where the ISO and UDF headers use a
different LABEL.
The deprecated command tailf has been removed. Use "tail -f" from coreutils.
blkzone -- NEW COMMAND to run zone commands on block devices that support Zoned
Block Commands (ZBC) or Zoned-device ATA Commands (ZAC). The currently
supported functionality is 'report' and 'reset'.
[thanks to Shaun Tancheff (Seagate), Damien Le Moal (WD)]
fincore -- NEW COMMAND to count pages of file contents in core (memory).
[thanks to Masatake YAMATO (Red Hat)]
lsmem -- NEW COMMAND to list the ranges of available memory with their online
status (originally implemented in Perl for s390-tools). [thanks to Clemens von Mann
and Heiko Carstens (IBM)]
chmem -- NEW COMMAND to set memory online/offline status [thanks to Heiko
Carstens (IBM)]
Removed Alpha and dead code from hwclock's --directisa option.
The command fallocate supports an "insert range" operation now.
The command "column -t|--table" has been modified to use libsmartcols. It now
provides nearly all of that library's functionality from the command line. For
example: printing a table header, reordering columns, aligning columns
to the right, printing tree-like output, wrapping lines in cells, truncating
text in cells, etc.
The libmount library now provides an API to generate exit codes and error/warning
messages compatible with mount(8).
Security issues
---------------
hwclock - no longer makes any internal permission checks. The System
Administrator must set proper permissions to control user access to
the RTC. It is NOT recommended to use set-user-ID.
CVE-2016-2779 - This security issue is NOT FIXED yet. It is possible to
disable the ioctl TIOCSTI by setsid() only. Unfortunately, setsid()
has well-defined use cases in su(1) and runuser(1) and any changes
would introduce regressions. It seems we need a better way -- ideally
another ioctl to disable TIOCSTI without setsid() or in a userspace
implemented pty container (planned as experimental su(1) feature).
Stable maintenance releases between v2.29 and v2.30
---------------------------------------------------
util-linux 2.29.2 [Feb 02 2017]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29.2-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29.2-ChangeLog
util-linux 2.29.1 [Jan 01 2017]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29.1-ChangeLog
Changes between v2.29 and v2.30
-------------------------------
agetty:
- fix a memory leak when parsing \S in issue files [Matthias Gerstner]
- fix characters reorder in login prompt [Karel Zak]
- fix ifdef typo [Ruediger Meier]
- fix login-options desc in man page [Karel Zak]
- fix typo [Karel Zak]
- make --remote to forward --nohostname as -H to login [Sami Kerola]
- re-add utmp.h for Debian GNU/kFreeBSD [Ruediger Meier]
- remove obsolete HAVE_UPDWTMP fallback [Ruediger Meier]
- remove variable that is set but not read [Sami Kerola]
- various man-page fixes [J William Piggott]
bash-completion:
- add a function for fincore command [Masatake YAMATO]
- add blkreset and blkreport completion [Sami Kerola]
- update disk-utils [Sami Kerola]
- update fincore [Sami Kerola]
- update fincore to have latest options [Sami Kerola]
- update hwclock [Sami Kerola]
- update login-utils [Sami Kerola]
- update misc-utils [Sami Kerola]
- update schedutils [Sami Kerola]
- update sys-utils [Sami Kerola]
- update term-utils [Sami Kerola]
- update text-utils [Sami Kerola]
blkid:
- add control struct [Sami Kerola]
- add curly braces to do-while statement [Sami Kerola]
- add long options [Sami Kerola]
- add messages to translations [Sami Kerola]
- fix compiler warning [-Wdiscarded-qualifiers] [Karel Zak]
- fix return code when display the version [Alexey Gladkov]
- simplify version option handling [Sami Kerola]
blkzone:
- Add --count option [Damien Le Moal]
- Fix zone condition strings handling [Damien Le Moal]
- Improve zone information print [Damien Le Moal]
- Report all zones if length is not specified [Damien Le Moal]
- Reset all zones when length is not specified [Damien Le Moal]
- add bash-completion [Karel Zak]
- add count option to bash-completion [Karel Zak]
- add new command (merge blkreport and blkreset) [Karel Zak]
- use optutils.h to check mutually exclusive options [Karel Zak]
- remove "LBA" from usage() and unnecessary alignment check [Karel Zak]
- slice up option descriptions, fix typo, fix docstring [Benno Schulenberg]
- remove in favour of blkzone [Karel Zak]
- small code clean ups [Sami Kerola]
- remove "LBA" from usage() [Karel Zak]
- Add new commands for ZAC/ZBC drives [Shaun Tancheff]
build-sys:
- add AC_STRUCT_TIMEZONE [Karel Zak]
- add missing file [Karel Zak]
- add missing header file [Karel Zak]
- add non-widechar.conf [Karel Zak]
- add parse-date.y [Karel Zak]
- check for POSIX utmpx usage [Ruediger Meier]
- cleanup UL_NCURSES_CHECK [Karel Zak]
- cosmetics PACKAGE_VERSION_MINOR [Ruediger Meier]
- cosmetics, avoid useless m4 quotes [Ruediger Meier]
- disable tailf by default [Ruediger Meier]
- don't clean *.img files [Ruediger Meier]
- fix "remove the g in git describe" [Ruediger Meier]
- fix --disable-all-programs --enable-schedutils [Karel Zak]
- fix bashism, introduced in 85004b14 [Ruediger Meier]
- fix compilation with ncurses and uClibc or musl libc [Carlos Santos]
- fix empty package release number [Ruediger Meier]
- fix library order when linking [Ruediger Meier]
- fix lsmem dependence [Karel Zak]
- improve detection of the "isnan" function in uClibc [Carlos Santos]
- make ncurses detection more robust [Karel Zak]
- mark lsmem and chmem as Linux only [Karel Zak]
- ncurses headers cleanup [Karel Zak]
- prefer ncurses-config rather than pkg-config [Karel Zak]
- prefer pkg-config for ncurses [Karel Zak]
- release++ (v2.30-rc1) [Karel Zak]
- release++ (v2.30-rc2) [Karel Zak]
- remove column-old.c [Karel Zak]
- remove duplicate includes [Karel Zak]
- remove old git fallback from git-version-gen [Ruediger Meier]
- require kernel headers on Linux [Karel Zak]
- simplify UL_ENABLE_ALIAS() semantic [Karel Zak]
- test_linux_version is Linux only [Karel Zak]
- update package release number during development [Ruediger Meier]
- use -lm for scriptreplay if necessary [Karel Zak]
- use MATH_LIBS for hwclock [Karel Zak]
- use sed to substitute [Karel Zak]
cal:
- ncurses cleanup [Karel Zak]
cfdisk:
- add copyright to help [Karel Zak]
- add hints for scanners [coverity scan] [Karel Zak]
- avoid use of VLA in combination with sizeof() [smatch scan] [Sami Kerola]
- fix compiler warning [Karel Zak]
- support UI refresh on ^L [Karel Zak]
- use buffer editor for ui_get_string() [Karel Zak]
chfn:
- disable tab completion [Sami Kerola]
chfn, chsh:
- use readline(3) to receive user input [Sami Kerola]
chmem:
- don't use scanf format for printf [Ruediger Meier]
- new tool [Heiko Carstens]
chrt:
- default to SCHED_RR policy [Andreas Henriksson]
chsh:
- use -h as shorthand for --help instead of -u [Andreas Henriksson]
col:
- avoid extra newline if no input [Sami Kerola]
- backspacing widechars [Grady Martin]
column:
- add --json [Karel Zak]
- add --table-colnames [Karel Zak]
- add --table-colright [Karel Zak]
- add --table-hide [Karel Zak]
- add --table-noextreme [Karel Zak]
- add --table-order [Karel Zak]
- add --table-truncate [Karel Zak]
- add --table-wrap [Karel Zak]
- add --tree to the man page [Karel Zak]
- add missed semicolons in case of !HAVE_WIDECHAR [Alexander Kuleshov]
- add note that circular dependencies are ignored [Karel Zak]
- add support for trees [Karel Zak]
- be robust on empty table [Karel Zak]
- clean up man page [Karel Zak]
- clean up multi-byte #ifelse [Karel Zak]
- clean up usage() and options order [Karel Zak]
- don't ignore mbs_to_wcs() errors [Karel Zak]
- fix --tree id-parent loop crash [Karel Zak]
- fix greedy initialization [Karel Zak]
- fix typo [Karel Zak]
- force to follow specified width [Karel Zak]
- make input() more generic [Karel Zak]
- make mbs/wcs conversions more robust [Karel Zak]
- make more obvious what is default behavior [Karel Zak]
- parent and child has to be independent [Karel Zak]
- rename --columns to --output-width [Karel Zak]
- rename functions [Karel Zak]
- rename options [Karel Zak]
- rename too generic macro [Karel Zak]
- reorder functions [Karel Zak]
- require column names for JSON [Karel Zak]
- split old and new code [Karel Zak]
- use NOEXTREMES for the last column [Karel Zak]
- use colntrol struct on more places [Karel Zak]
- use err_exclusive_options() [Karel Zak]
- use libsmartcols for --table [Karel Zak]
- use libsmartcols to avoid circular dependences [Karel Zak]
columns:
- add control struct [Karel Zak]
- add note about width [Karel Zak]
disk-utils/mkfs.minix:
- Set ninodes after checking max [Nate Clark]
dmesg:
- remove unnecessary header [Karel Zak]
docs:
- Fix word repetitions [Yuri Chornoivan]
- add BUG REPORTING section to README [Karel Zak]
- add chmem and tailf to ReleaseNotes [Karel Zak]
- add information about mailing list rejection [J William Piggott]
- add note about branches to README [Karel Zak]
- improve agetty.8 manual page [Sami Kerola]
- improve boilerplate.c options example [Sami Kerola]
- ionice(1) SEE ALSO add ioprio_set(2) [Michael Kerrisk]
- kill(1) Add more detail on use of SIGTERM vs SIGKILL [Michael Kerrisk]
- kill(1) Fix section reference for sigqueue(3) and add to SEE ALSO [Michael Kerrisk]
- kill(1) Formatting fixes [Michael Kerrisk]
- kill(1) Rework notes on thread groups [Michael Kerrisk]
- kill(1) Wording fix [Michael Kerrisk]
- last(1) Eliminate oddball formatting [Michael Kerrisk]
- last(1) SEE ALSO add reference to wtmp(5) [Michael Kerrisk]
- lsns(8) SEE ALSO add namespaces(7) [Michael Kerrisk]
- make column.1 example to use ascii output [Sami Kerola]
- mount(8) Wording fix [Michael Kerrisk]
- move source-code-management.txt to README [J William Piggott]
- namei(1) SEE ALSO add symlink(7) [Michael Kerrisk]
- nsenter(1) Describe the 'file' argument used by namespace options [Michael Kerrisk]
- nsenter(1) Formatting fix [Michael Kerrisk]
- nsenter(1) add missing 'see also' for --user [Karel Zak]
- parse-date.txt fix whitespace [J William Piggott]
- renice(1) Add SEE ALSO entry for sched(7) [Michael Kerrisk]
- renice(1) Add credentials(7) to SEE ALSO [Michael Kerrisk]
- renice(1) Remove obsolete BUGS text [Michael Kerrisk]
- renice(1) Rework discussion of unprivileged users, [Michael Kerrisk]
- replace FTP by HTTPS in kernel.org URLs [Sébastien Helleu]
- taskset(1) Wording fix [Michael Kerrisk]
- try to convince open(2) O_DIRECT rather than using raw device [Sami Kerola]
- update AUTHORS file [Karel Zak]
- update Documentation/deprecated.txt [Karel Zak]
- update TODO, add mount(8) noauto,auto [Karel Zak]
- update howto-contribute.txt [J William Piggott]
- update source-code-management.txt [Karel Zak]
- update v2.30-ReleaseNotes [J William Piggott]
- update v2.30-ReleaseNotes [Karel Zak]
- various pages Format pathnames as italic (.I) [Michael Kerrisk]
- various pages Use "ID" not "id" in man pages [Michael Kerrisk]
- various pages Use "PID" not "pid" in man-pages [Michael Kerrisk]
- various pages Use "system call" not "syscall" [Michael Kerrisk]
- various pages Use 'UID" and "GID", not "uid" and "gid" in man pages [Michael Kerrisk]
- various pages Use consistent terminology (set-user-ID and set-group-ID) [Michael Kerrisk]
fallocate:
- Added posix_fallocate() support. [Denis Chaplygin]
- add insert range support [Fabian Frederick]
fdisk:
- add to the man page missing option [Karel Zak]
- check scols_line_refer_data() return code [coverity scan] [Karel Zak]
- don't be silent when list non-existing device [Karel Zak]
- fix type dialog [Karel Zak]
- improve --wipe functionality [Karel Zak]
- inform on 'p' about wiped partitions [Karel Zak]
fdisk, sfdisk:
- avoid non-ANSI function declarations [smatch scan] [Sami Kerola]
fincore:
- add --bytes and --noheadings [Karel Zak]
- add --output [Karel Zak]
- add --raw and --json [Karel Zak]
- add column RES [Karel Zak]
- check rc from smartcols stuff [coverity scan] [Karel Zak]
- cleanup return codes [Karel Zak]
- fix error on open() [Karel Zak]
- fix file descriptor leak [Sami Kerola]
- fix multiplication overflow [Ruediger Meier]
- new command for counting pages of file contents in core [Masatake YAMATO]
- use libsmartcols [Karel Zak]
- use size_t everywhere [Karel Zak]
findfs:
- use getopt_long() to parse options [Sami Kerola]
findmnt:
- add --tree to allow to enable tree output for --mtab [Karel Zak]
- add note about mount options [Karel Zak]
- error on --target /non-exist [Karel Zak]
- fix couple memory leaks [cppcheck] [Sami Kerola]
- flush stdout after each (un)(re)mount event, when polling. [Pedro Miguel Carvalho]
- use line separator for --poll output [Karel Zak]
fsck.minix:
- add hint for scanners [coverity scan] [Karel Zak]
- fix crash [Sami Kerola]
fsfreeze:
- move filesystem support info to manual page [Sami Kerola]
- remove unnecessary functions [Sami Kerola]
fstrim:
- de-duplicate btrfs sub-volumes [Stanislav Brabec]
- use MNT_EX_* from libmount [Karel Zak]
getops:
- make --a-long option work again [Sami Kerola]
hwclock:
- --set and --predict segmentation fault [J William Piggott]
- add debugging to open_rtc() [Sami Kerola]
- alloate date_resp parsing buffer in interpret_date_string() [Sami Kerola]
- clarify cmos inb and outb preprocessor directives [Sami Kerola]
- clarify set_cmos_epoch() code [Sami Kerola]
- do not hardcode date command magic string twice [Sami Kerola]
- *SECURITY* don't check for permissions [Karel Zak] See 'Security issues'
- extra messages for debug only [J William Piggott]
- fix rtc atexit registration [Sami Kerola]
- fix whitespace in hwclock-rtc.c [J William Piggott]
- improve audit control [J William Piggott]
- improve cmos message strings [J William Piggott]
- improve coding style [Sami Kerola]
- improve default function handling [J William Piggott]
- initialize struct adjtime members [Sami Kerola]
- make --date=argument less prone to injection [Sami Kerola]
- make clock test mode message consistent [J William Piggott]
- make epoch functions alpha only [J William Piggott]
- move command-line options to control structure [Sami Kerola]
- move error messages to determine_clock_access_method() [Sami Kerola]
- remove --compare option [Sami Kerola]
- remove 1994 Award BIOS workaround [J William Piggott]
- remove FLOOR macro in favour of floor(3) [Sami Kerola]
- remove UTC-0 localization hack [Sami Kerola]
- remove alpha cmos [J William Piggott]
- remove dead cmos code [J William Piggott]
- remove dead code and other minor fixes [Sami Kerola]
- remove division by zero [asan] [Sami Kerola]
- remove hwclock_exit() indirection [Sami Kerola]
- remove if-if-condition [Karel Zak]
- remove magic constants from interpret_date_string() [Sami Kerola]
- remove residual 'compare' from man-page [J William Piggott]
- remove trailing dot from messages that include system error message [Sami Kerola]
- remove unnecessary type casts [Sami Kerola]
- remove unneeded braces [J William Piggott]
- remove unused 'silent' arg [J William Piggott]
- remove unused atomic arg in cmos [J William Piggott]
- remove unused cmos ctl structs [J William Piggott]
- simplify save_adjtime() execution flow [Sami Kerola]
- stream line synchronize_to_clock_tick_rtc() [Sami Kerola]
- try RTCGET and RTCSET only when normal rtc fails [Sami Kerola]
- use a consistent name for --predict [J William Piggott]
- use errtryhelp() [J William Piggott]
- use parse_date function [J William Piggott]
- use symbolic magic values passed in between functions [Sami Kerola]
hwclock-rtc.c:
- try the 'new' rtc class first [J William Piggott]
include:
- fix compiler warning [Sami Kerola]
include/c.h:
- add errtryhelp() [Karel Zak]
include/exitcodes:
- remove mount(8) exit codes [Karel Zak]
ipcs:
- make shmall overflow a bit less worse [Ruediger Meier]
last:
- include libgen.h for basename(3p) [Ruediger Meier]
- use --time-format instruction when printing wtmp creation time [Sami Kerola]
- use domain string more carefully [Karel Zak]
lib:
- add parse-date documentation [J William Piggott]
- add parse-date.y [J William Piggott]
- add timegm() portability function to lib/timeutils.c [Sami Kerola]
- use unique ifdefs for tests [Karel Zak]
lib,strutils:
- add strtoux[16|32|64]_or_err functions [Heiko Carstens]
lib/colors:
- Fix bug where help text was not being translated. [Sebastian Rasmussen]
- assert rathen than overflow [-Wnull-dereference] [Karel Zak]
- fix test compilation [Karel Zak]
- ncurses cleanup [Karel Zak]
lib/cpuset:
- stop changing variable that is not read [Sami Kerola]
lib/idcache:
- add void to function declaration [smatch scan] [Sami Kerola]
lib/linux_version:
- add test for manual testing [Karel Zak]
- fix code indention [Karel Zak]
- fix stupid typo [Karel Zak]
lib/list:
- remove LIST_HEAD macro [Karel Zak]
lib/loopdev:
- remove unnecessary header [Karel Zak]
lib/mbsedit:
- add simple buffer editor [Karel Zak]
- fix typo in comment [Sami Kerola]
lib/pager:
- don't use pager if command not available [Karel Zak]
- use xalloc [Karel Zak]
lib/parse-date:
- don't use xalloc in lib-like code [Karel Zak]
lib/randutils:
- glibc 2.25 has getrandom(2) declaration [Sami Kerola]
- use getrandom(2) when it is available [Sami Kerola]
lib/strutils:
- fix typos in huge size suffixes [Karel Zak]
- return end pointer by isdigit_string() [Karel Zak]
lib/timer:
- add comment [Karel Zak]
lib/timer.c:
- prevent pathological race condition [Rasmus Villemoes]
- remove bogus SA_SIGINFO from timer_settime call [Rasmus Villemoes]
libblkid:
- (docs) add missing 'since' tags [Karel Zak]
- (gpt) fix force flag [Karel Zak]
- Add support for Latin1 encoding in blkid_encode_to_utf8() [Pali Rohár]
- Fix blkid.conf parsing [Tobias Stoeckmann]
- Fix out of bounds byte swaps in ZFS handling [Alden Tondettar]
- Fix out of bounds reads in BEFS handling [Alden Tondettar]
- Fix out of bounds reads on bad GPT header [Alden Tondettar]
- Fix out of bounds reads on bad NTFS Master File Table [Alden Tondettar]
- add blkid_partitions_get_name() [Sami Kerola]
- add blkid_probe_set_sectorsize() [Karel Zak]
- avoid overflow when initializing array [Sami Kerola]
- declare across file variables in blkidP.h [smatch scan] [Sami Kerola]
- ensure uninitialized variable is not used [clang] [Sami Kerola]
- fix BLKID_PARTS_FORCE_GPT usage [Karel Zak]
- fix typo [Karel Zak]
- prevent OOB access while probing HFS+ [Tobias Stoeckmann]
- remove unnecessary 'static' keyword [Karel Zak]
- udf Change algorithm for reporting UUID [Pali Rohár]
- udf Correctly handle UDF strings encoded in 8bit OSTA Compressed Unicode [Pali Rohár]
- udf For better readibility use one snprintf call instead multiple in loop [Pali Rohár]
libblkid/minix:
- Match minix superblock types [Nate Clark]
- Sanity check superblock s_state for v 1 and 2 [Nate Clark]
- Use same checks for version 3 [Nate Clark]
libfdisk:
- (docs) add missing 'since' tags [Karel Zak]
- (dos) add ID related debug messages [Karel Zak]
- (dos) debug what we read from first sector [Karel Zak]
- (dos) make it possible to create primary/logical by template [Karel Zak]
- (gpt) add check for entries array size [Karel Zak]
- (gpt) care about SSIZE_MAX for read(2) [Karel Zak]
- (gpt) don't access entries array directly [Karel Zak]
- (gpt) fix ents zeroize [Karel Zak]
- (gpt) make calculations more robust [Karel Zak]
- (gpt) make entries array size calculation more robust [Karel Zak]
- (gpt) make sure it's GPT in public API [Karel Zak]
- (gpt) rename to gpt_entry_is_used() [Karel Zak]
- (gpt) update nparts_max [Karel Zak]
- (gpt) use size_t and gpt_get_nentries() [Karel Zak]
- (sun) use self_label() [Karel Zak]
- add fdisk_partition_has_wipe() [Karel Zak]
- add sample-fdisk-mkpart binary [Karel Zak]
- add version to debug output [Karel Zak]
- allow to change an existing extended partition [Pavel Butsykin]
- apply label alignment properties [Karel Zak]
- change the way how apply user device properties [Karel Zak]
- check for collisions when create new label [Karel Zak]
- classify collision type [Karel Zak]
- don't print uninitialized variable [coverity scan] [Karel Zak]
- don't use blkdev ioctls for regular files [Karel Zak]
- don't use errno after close() [Karel Zak]
- fix NLS support [Karel Zak]
- fix compiler warning [-Wsign-compare] [Karel Zak]
- fix fdisk_set_wipe_area() calls [Karel Zak]
- fix potentially NULL pointer usage [Karel Zak]
- fix variable shadowing [Sami Kerola]
- initialize partno variable [coverity scan] [Karel Zak]
- recount size when apply user device properties [Karel Zak]
- update docs [Karel Zak]
- use memcpy() for non-terminated string [coverity scan] [Karel Zak]
- verify partno from template [Karel Zak]
libmount:
- (docs) add missing 'since' tags [Karel Zak]
- (docs) add unused declarations [Karel Zak]
- (docs) remove unwanted tag [Karel Zak]
- Ensure utab.lock mode 644 [Stanislav Brabec]
- Fix incorrect detach of reused loop device [Stanislav Brabec]
- add mnt_context_get_excode() [Karel Zak]
- add read-only warning [Karel Zak]
- check fstat() return code [coverity scan] [Karel Zak]
- cosmetic change to mnt_table_find_srcpath() [Karel Zak]
- don't pass -1 to close() [coverity scan] [Karel Zak]
- fix file descriptor leak [Sami Kerola]
- fix memory leak [coverity scan] [Karel Zak]
- fix mount -oloop=/dev/loopX regression [Stanislav Brabec]
- fix use of preprocessor identifier [Sami Kerola]
- introduce X-* comments [Karel Zak]
- make rootfs lookup by parent-id more robust [Karel Zak]
- reimplement mnt_match_options() [Karel Zak]
- return tab entry for default node [Petr Vorel]
- revert X-* and x-* meaning [Karel Zak]
- support MS_RDONLY on write-protected devices [Karel Zak]
- support name=value for mnt_match_options() [Karel Zak]
- use x-systemd options as X-* [Karel Zak]
libsmartcols:
- (docs) add missing 'since' tags [Karel Zak]
- add debug mesg to see width change [Karel Zak]
- add scols_cell_get_alignment() [Karel Zak]
- add scols_line_is_ancestor() [Karel Zak]
- add scols_line_move_cells() [Karel Zak]
- add scols_sort_table_by_tree() [Karel Zak]
- add scols_table_move_column() [Karel Zak]
- allow to add column to already used table [Karel Zak]
- check scols_table_set_default_symbols() return code [coverity scan] [Karel Zak]
- column width reduction refactoring [Karel Zak]
- fix relative width interpretation [Karel Zak]
- fix test variable shadowing [Sami Kerola]
- fix typo [Karel Zak]
- remove dead checks [Igor Gnatenko]
- support columns separators greater than one output cell [Karel Zak]
- unused parameter [-Wunused-parameter] [Karel Zak]
libuuid:
- unused parameter [-Wunused-parameter] [Karel Zak]
logger:
- make month names, login name, and tag read-only objects [Sami Kerola]
- support sub-trees in the ID for RFC5424 [Karel Zak]
login:
- prevent OOB read on illegal /etc/hushlogins [Tobias Stoeckmann]
- re-add lastlog.h header [Ruediger Meier]
login-utils:
- avoid using the defined utmp sizes. [Ruediger Meier]
- remove _HAVE_UT_TV fallback [Ruediger Meier]
- switch to utmpx.h [Ruediger Meier]
losetup:
- losetup.8 Reorder options documentation [Frederick Grose]
lsblk:
- add ZONED column [Damien Le Moal]
- don't duplicate columns [Karel Zak]
- fix --inverse --list [Karel Zak]
- move scols_flags to lsblk control struct [Karel Zak]
- use errtryhelp() [Karel Zak]
lscpu:
- Detect Windows Subsystem for Linux [Stanislav Brabec]
- Read available CPUs max and min frequencies [Mamatha Inamdar]
- add --json [Karel Zak]
- add aarch64 specific names [Karel Zak]
- check return code [coverity scan] [Karel Zak]
- don't use path_exist() before path_fopen() [Karel Zak]
- fix mem leak [coverity scan] [Karel Zak]
- make cpu_{max,min}_mhz() usage more elegant [Karel Zak]
- make min/max freq arrays usage more robust [Karel Zak]
- make osrelease file optional [Karel Zak]
- reuse the same buffer [Karel Zak]
- use libsmartcols to print summary too [Karel Zak]
- use macro for path to DMI [Karel Zak]
- use sysfs for table access if available [Ard Biesheuvel]
lsipc:
- fix options parsing and sync with man page [Sami Kerola]
lslocks:
- remove dead code [Karel Zak]
lslogins:
- remove useless strlen() [Ruediger Meier]
lsmem:
- (man page) recommend use --output [Karel Zak]
- add --summary[=<when>] option [Karel Zak]
- add Copyright [Karel Zak]
- add missing placeholders [Karel Zak]
- add testcase [Heiko Carstens]
- align STATE to the right [Karel Zak]
- cleanup for --summary=only [Karel Zak]
- cleanup man page [Karel Zak]
- cleanup, use libsmartcols for all output [Karel Zak]
- disable summary for JSONm, raw and export output [Karel Zak]
- improve node lookup [Heiko Carstens]
- new tool [Heiko Carstens]
- rename control struct [Karel Zak]
lsns:
- Fix parser for /proc/<pid>/stat which is including space in comm [OGAWA Hirofumi]
man:
- add a page for fincore command [Masatake YAMATO]
- chfn(1) add chsh and login.defs to SEE ALSO [Andreas Henriksson]
- chsh(1) add login.defs to SEE ALSO [Andreas Henriksson]
- fix couple tools/checkmans.sh warnings [cat ./disk-utils/fsck.8 | troff -mandoc -ww -]
- improve blkreport(8) and blkreset(8) manual pages [Sami Kerola]
misc:
- add static keyword to where needed [smatch scan] [Sami Kerola]
- consolidate smartcols error messages [Karel Zak]
- do not use plain 0 as NULL [smatch scan] [Sami Kerola]
- fix some printf format strings [Ruediger Meier]
- fix some warnings [Ruediger Meier]
- fix typos using codespell [Ruediger Meier]
- spelling, always use "cannot" instead of "can not" [Ruediger Meier]
- stop mixing declarations and code [Sami Kerola]
mkswap:
- use memcpy() for non-terminated string [coverity scan] [Karel Zak]
more:
- avoid double free() on exit [Karel Zak]
mount:
- use MNT_EX_* from libmount [Karel Zak]
mount, umount:
- use mnt_context_get_excode() [Karel Zak]
newgrp:
- use libc explicit_bzero() when it is available [Sami Kerola]
nologin:
- don't call fstat() after failed open() [coverity scan] [Karel Zak]
nsenter:
- add --all option [Karel Zak]
- fix usage() and improve man page [Karel Zak]
optutils.h:
- don't print non-graph characters [J William Piggott]
parse-date:
- remove extraneous form feed [J William Piggott]
partx:
- add --list-types option [Sami Kerola]
- add --sector-size option [Karel Zak]
po:
- merge changes [Karel Zak]
- update da.po (from translationproject.org) [Joe Hansen]
- update de.po (from translationproject.org) [Philipp Thomas]
- update fr.po (from translationproject.org) [Stéphane Aulery]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update pt_BR.po (from translationproject.org) [Rafael Fontenelle]
- update sv.po (from translationproject.org) [Sebastian Rasmussen]
- update tr.po (from translationproject.org) [Mesutcan Kurt]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
- update zh_CN.po (from translationproject.org) [Wylmer Wang]
rename:
- add --no-act option [Alexander F Rødseth]
- add --no-act to bash-completion [Karel Zak]
- make --no-act to imply --verbose [Sami Kerola]
runuser:
- add "--" to SYNOPSIS [Karel Zak]
script:
- always write stat and done message to typescript file [Karel Zak]
- don't call strftime() if not necessary [Karel Zak]
- fix start message showing in output file when -q is on [Rui Zhao (renyuneyun)]
setterm:
- add --resize option [Sami Kerola]
- fix bitfield warning [smatch] [Sami Kerola]
sfdisk:
- --quiet fixes [Karel Zak]
- add hints for scanners [coverity scan] [Karel Zak]
- add note about alignment to man page [Karel Zak]
- cleanup --dump error messages [Karel Zak]
- disambiguate units of --show-size [Chris Morin]
- don't be silent when list non-existing device [Karel Zak]
- improve --wipe functionality [Karel Zak]
- note about small partition in man page [Karel Zak]
- support empty label use-case [Karel Zak]
- unused parameter 'sf' [-Wunused-parameter] [Karel Zak]
su:
- properly clear child PID [Karel Zak]
- remove duplicate const declaration [Sami Kerola]
su, runuser:
- fix typo in the /etc/default path [Karel Zak]
sulogin:
- add missing type [Karel Zak]
- bail out from getpasswd(...) on timeout [Andreas Henriksson]
- make getpasswd(...) return NULL on ^D [Andreas Henriksson]
- reduce vulnerability surface [Sami Kerola]
switch_root:
- unlink files without _DIRENT_HAVE_D_TYPE [Patrick Steinhardt]
- use getopt_long() to parse options [Sami Kerola]
tailf:
- remove deprecated utility [Sami Kerola]
taskset:
- don't use zero PID in messages [Karel Zak]
term-utils/script:
- fix typo leading to syntax error [Bert van Hall]
test:
- fix mountpoint device check in libmount/loop [Ruediger Meier]
test_uuidd:
- don't use error.h [Karel Zak]
tests:
- (libmount) parse version from command line [Karel Zak]
- (sfdisk) tell kernel about new partition [Karel Zak]
- Add UDF CD-ROM hybrid image (ISO+Joliet+UDF) created by Nero 6 [Pali Rohár]
- Add UDF hdd image with non ASCII 8bit label created by Linux mkudffs 1.3 [Pali Rohár]
- Add UDF hdd images created by Linux mkudffs 1.3 [Pali Rohár]
- Fix UDF test output after changing UUID algorithm [Pali Rohár]
- Fix UDF test output for 8bit OSTA Compressed Unicode [Pali Rohár]
- Fix test output for low-probe-udf to contain UDF data [Pali Rohár]
- Introduce libmount/loop [Stanislav Brabec]
- Rename udf-hdd-mkudffs* images to indicate used mkudffs version [Pali Rohár]
- add --mountpoint to findmnt calls [Karel Zak]
- add --show-diff [Karel Zak]
- add cases for testing fincore command [Masatake YAMATO]
- add column(1) columnate test [Karel Zak]
- add column(1) table test [Karel Zak]
- add column/files directory [Karel Zak]
- add findmnt output tests [Karel Zak]
- add findmnt tests [Karel Zak]
- add missing file [Karel Zak]
- add new build-sys tests [Karel Zak]
- add new findmnt --options tests [Karel Zak]
- add sfdisk --wipe and --wipe-partition tests [Karel Zak]
- add static keyword where needed [smatch scan] [Sami Kerola]
- add tests for new column features [Karel Zak]
- add udevadm settle to sfdisk wipe [Karel Zak]
- add x86_64-16g lsmem test [Karel Zak]
- another improvement to the sfdisk wipe test [Karel Zak]
- avoid diff of diffs [Ruediger Meier]
- check for TS_HELPER_SYSINFO in fincore test [Karel Zak]
- check for ps --ppid [Karel Zak]
- check for timeout command [Ruediger Meier]
- cleanup and update lsmem [Karel Zak]
- define columns for fincore test [Karel Zak]
- do not use plain 0 as NULL [smatch scan] [Sami Kerola]
- fincore/count, skip unsupported FS [Ruediger Meier]
- fix fincore/count for PAGE_SIZE != 4096 [Ruediger Meier]
- grep's short option -A is more portable [Ruediger Meier]
- handle dd errors in fincore/count [Ruediger Meier]
- handle non glibc error message for fallocate [Ruediger Meier]
- make /proc optional [Karel Zak]
- make sfdisk wipe partition optional [Karel Zak]
- redirect unwanted dd(1) advices to /dev/null [Karel Zak]
- refresh fincore test [Karel Zak]
- refresh lscpu tests [Karel Zak]
- remove fincore SMALLER_THAN_PAGESIZE tests [Ruediger Meier]
- remove status=none dd(1) from fincore [Karel Zak]
- update build-sys due to readline [Karel Zak]
- update build-sys test [Karel Zak]
- update libmount outputs [Karel Zak]
- update lsmem tests [Karel Zak]
- update script(1) tests [Karel Zak]
- update sfdisk output [Karel Zak]
- update wipe-partition [Karel Zak]
- use swap in sfdisk wipe test [Karel Zak]
text-utils:
- use proper paths to term.h [Karel Zak]
travis:
- let OSX auto-skip utmpx tools [Ruediger Meier]
umount:
- exclude selinuxfs from --all [Karel Zak]
- fix typo [Karel Zak]
- use MNT_EX_* from libmount [Karel Zak]
unshare:
- add note about persisten PID namespaces [Karel Zak]
- add note about sysfs and procfs [Karel Zak]
- fix SYNOPSIS and usage() [Karel Zak]
- add cross reference to namespaces(7) [Michael Kerrisk (man-pages)]
utmpdump:
- code formatting for readability [Ruediger Meier]
- remove unnecessary variable [Sami Kerola]
vipw:
- use getopt_long() to parse options [Sami Kerola]
wall:
- add --group option [Jim Patterson]
- check -g GID [Karel Zak]
- make sure with not referencing a null pointer [Karel Zak]
- remove unnecessary include [Karel Zak]
wipefs:
- add note about no-act to the man page [Karel Zak]
- unused parameter [-Wunused-parameter] [Karel Zak]
zramctl:
- add mising line terminator [Karel Zak]
- be more specific about default output [Karel Zak]
- make mm_stat parser more robust [Karel Zak]

View File

@ -0,0 +1,671 @@
Util-linux 2.31 Release Notes
=============================
The package build-system follows GNU Coding Standards and uses --runstatedir
instead of --localstatedir. The default is /run. Please, review your distribution
build scripts (spec files etc.) to be sure that this change does not introduce
any regression to your distribution.
Release highlights
------------------
rfkill -- NEW COMMAND for enabling and disabling wireless devices. This new
implementation is based upon, and backward compatible with, the original rfkill
from Johannes Berg and Marcel Holtmann.
The command su has been refactored and extended to create pseudo terminal for
the session (new option --pty). This new EXPERIMENTAL feature provides better
isolation between root's terminal and an unprivileged su session.
uuidparse -- NEW COMMAND to provide variant and type details for input UUIDs.
The library libuuid and command uuidgen support hash-based UUIDs v3 (md5) and
v5 (sha1) as specified by RFC-4122. The library also provides UUID templates
for dns, url, oid, or x500.
The library libblkid has been extended to support DM-integrity, HPE (aka
extended-XFS) and UBI superblock. The library also provides a new API to hide
already detected signatures. This allows the gathering of all possible magic
string permutations for a device. For example, the command wipefs will now print
the complete list of all magic strings.
The library libfdisk provides a new API to modify grain (a size used for
partition calculations) and it is also possible to completely disable dialog
driven partitioning.
The library libsmartcols provides a new API to move columns. This new
functionality is available by "column --table-order" on the command line.
The command "column --table-header-repeat" allows repetition of table headers
according to terminal size.
The libfdisk has been extended to use BLKPG ioctls to inform the kernel about
changes. This means that cfdisk and fdisk will not force the kernel to reread
all of the partition table, but untouched partitions may remain mounted and used
by the system. The typical use-case is resizing the last partition on the system
disk.
The command cfdisk provides a new dialog to resize a partition.
The fdisk menu behavior on ^C and ^D has been improved to stop the current
operation and return to main menu rather than immediately terminating the fdisk
program.
The 'look' command now follows the WORDLIST environment variable (if specified)
to find the word list.
Almost all of the --help and --version outputs have been improved (thanks to
Ruediger Meier and others).
The 'script' command has been improved to follow the usual semantics for
stop/continue signals. It's possible to move a session to the background and
later back to the foreground (e.g. shell command "fg", etc.).
The setpriv command now supports ambient capabilities with the new command line
option --ambient-caps (thanks Patrick Steinhardt) and the new command line
option --init-groups allows initialization of supplementary groups (thanks to
Sebastian Schrader).
The hwclock command now significantly reduces system shutdown times by not
reading the RTC before setting it (except when the --update-drift option is
used). This also mitigates other potential shutdown and RTC setting problems
caused by requiring an RTC read.
The hwclock command now logs --systz when using libaudit. Also, for busybox
compatibility -l is now aliased to --localtime.
Security issues
---------------
CVE-2016-2779
The new experimental "su --pty" feature has been implemented to fix this issue.
The feature is not enabled by default and the new command line option --pty is
necessary.
The classic way is to use setsid() to disable the ioctl TIOCSTI. Unfortunately,
setsid() has well-defined use cases in su(1) and runuser(1) and any changes
would introduce regressions. The setsid() also does not fix core of the problem
that is terminal file descriptors shared between privileged and unprivileged
sessions.
Stable maintenance releases between v2.30 and v2.31
---------------------------------------------------
util-linux 2.30.1 [Jul 07 2017]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30.1-ChangeLog
util-linux 2.30.2 [Sep 21 2017]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30.2-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30.2-ChangeLog
Changes between v2.30 and v2.31
-------------------------------
Docs:
- add a comment for constants to boilerplate.c [J William Piggott]
- add hwclock 'highlights' v2.31-ReleaseNotes [J William Piggott]
- grammar fixes for v2.31-ReleaseNotes [J William Piggott]
- move option naming to howto-contribute.txt [J William Piggott]
- update howto-usage-function.txt [J William Piggott]
- output rfkill type names from an array instead of a static string. [Darren Salt]
agetty:
- add --list-speeds option [Sami Kerola]
- add compile time features to --version output [Sami Kerola]
- fix --login-pause logic [Karel Zak]
- fix /etc/os-release parsing [Karel Zak]
- fix invalid usage crash [Sami Kerola]
- fix login name DEL/CTRL^U issue [Karel Zak]
- keep returns in main() [Karel Zak]
- print /etc/issue on --skip-login [Karel Zak]
- remove dead DO_DEVFS_FIDDLING code segment [Sami Kerola]
bash-completion:
- look for look completions [Sami Kerola]
- make completions to work when bash set -u is in use [Sami Kerola]
- simplify pid listing [Sami Kerola]
- update uuidgen, wipefs, tunelp, setpriv, and hwclock [Sami Kerola]
blkid:
- Add dm-integrity superblock signature [Milan Broz]
- cleanup man page info about lsblk [Karel Zak]
- improve man page wording [Karel Zak]
- more info about ambivalent results to the man page [Karel Zak]
- use errtryhelp instead of errtryh [Ruediger Meier]
blockdev:
- correct man page name in --help [Ruediger Meier]
- document --setro more properly [Karel Zak]
- improve --help and man page [Ruediger Meier]
build-sys:
- use --runstatedir instead of --localstatedir [Andreas Henriksson]
- add --disable-rfkill [Karel Zak]
- add libtinfow check [Karel Zak]
- chown before chmod for SUIDs [Karel Zak]
- define dependence between chsh and getusershell [Karel Zak]
- don't use non-existing UUID_LIBS [Ruediger Meier]
- fix chown mistake, add checkusage.sh to the dist [Ruediger Meier]
- fix non-blkid compilation [Karel Zak]
- make chown usage more robust [Karel Zak]
- make rfkill optional (and enabled by default) [Karel Zak]
- release++ (v2.31-rc1) [Karel Zak]
- release++ (v2.31-rc2) [Karel Zak]
- remove unused rfkill.py [Karel Zak]
- support ncursesw without headers in ncursesw/ directory [Karel Zak]
- update DISTCHECK_CONFIGURE_FLAGS [Karel Zak]
cfdisk:
- add missing 0x7F key mapping [Karel Zak]
- add resize function [Karel Zak]
- cleanup die-on-signal code [Karel Zak]
- make resize code more readable [Karel Zak]
- use fdisk_reread_changes() [Karel Zak]
chsh:
- cleanup global_shells usage [Karel Zak]
- make readline completion to propose valid shells [Sami Kerola]
- remove local /etc/shells parsing in favour of getusershell(3) [Sami Kerola]
- split get_shell_list() [Karel Zak]
column:
- (-t) disable encoding for non-printable chars [Karel Zak]
- add --table-header-repeat [Karel Zak]
- fix compilation when libc lacks wide-character support [Carlos Santos]
dmesg:
- do not accept any non-option arguments [Ruediger Meier]
- fix delimiter calculation [Karel Zak]
- fragment concatenation [Vinnie Magro]
- print only 2 hex digits for each hex-escaped byte [Ivan Delalande]
docs:
- (TODO) make PMBR boot flag more user-friendly [Karel Zak]
- add --enable-programs to TODO [Karel Zak]
- add 2.30.2 to ReleaseNotes [Karel Zak]
- add ASAN to TODO list [Karel Zak]
- add Atari PT to the TODO list [Karel Zak]
- add CAP_SYS_ADMIN to TODO [Karel Zak]
- add UUID v3 an v5 to TODO [Karel Zak]
- add exec() exit codes to TODO [Karel Zak]
- add optional option back to struct option [Sami Kerola]
- add program-desc to howto-usage-function.txt and boilerplate.c [Karel Zak]
- correct line(1) deprecation comment [Ruediger Meier]
- remove TODO item for fdisk [Karel Zak]
- remove UUID v3 and v5 from TODO [Karel Zak]
- remove repeated word from mount(8) man page [Sami Kerola]
- remove some old history from manpages [Ruediger Meier]
- update AUTHORS file [Karel Zak]
- update TODO, remove auto,noauto [Karel Zak]
- update boilerplate.c usage() [J William Piggott]
- update v2.31 release notes [Karel Zak]
- update v2.31-ReleaseNotes [Karel Zak]
fdformat:
- clear progress message before printing "done" [Jakub Wilk]
fdisk:
- add missing include [Karel Zak]
- add wrap_fgets() for getting user input [Vaclav Dolezal]
- fix copy from readline and whitespace stripping [Vaclav Dolezal]
- fix readline interaction with signals [Karel Zak]
- handle SIGINT in dialogs as cancel [Vaclav Dolezal]
- minor fixes to make readline work [Vaclav Dolezal]
- reset context after failed script [Karel Zak]
- use fdisk_reread_changes() [Karel Zak]
- use strutils to trim whitespace from input [Vaclav Dolezal]
fincore:
- make sure mmap(NULL, ...) [coverity scan] [Karel Zak]
flock, getopt:
- write --help to stdout and return 0 [Ruediger Meier]
fsck:
- add --help and --version [Ruediger Meier]
fstab(5):
- mention how tabs are escaped [Andreas Henriksson]
fstrim:
- prefer earlier mounted filesystems [Alex Ivanov]
- remove obsolete comment [Karel Zak]
hwclock:
- --epoch presence test fails [J William Piggott]
- add --update-drift check [J William Piggott]
- add -a that is short of --adjust to manual page and usage [Sami Kerola]
- add audit for --systz [J William Piggott]
- add usage() functions heading [J William Piggott]
- allow -l as alias for --localtime [Rasmus Villemoes]
- close hwaudit_fd unconditionally [J William Piggott]
- correlate hclocktime instead of set_time. [J William Piggott]
- don't always use hwclock_exit [J William Piggott]
- don't ifdef printf arguments [Ruediger Meier]
- exit bug fix and single test mode message [J William Piggott]
- final usage() strings slice [J William Piggott]
- fix RTC read logic [J William Piggott]
- fix hclock_valid test and error messages [J William Piggott]
- fix regression from c3ae785 [J William Piggott]
- fix unimplemented ioctl test [J William Piggott]
- fix warning [-Winvalid-noreturn] [Ruediger Meier]
- for debugging print startup system time [J William Piggott]
- improve RTC epoch messages [J William Piggott]
- make debug implicit for test mode. [J William Piggott]
- move drift correction and --predict [J William Piggott]
- move rtc permissions test [J William Piggott]
- move systz above init clocks read [J William Piggott]
- move systz into hctosys [J William Piggott]
- refactor set_system_clock() [J William Piggott]
- remove bool type definition [Sami Kerola]
- remove busywait tristate return status [J William Piggott]
- remove custom errno string [J William Piggott]
- remove dead code in usage() [J William Piggott]
- remove dead ioctl check [J William Piggott]
- remove from usage() FILE *out = stdout [J William Piggott]
- remove m68k and alpha cmos from manual [J William Piggott]
- remove set_system_clock_timezone() [J William Piggott]
- remove sysexits.h [J William Piggott]
- remove unused epoch_option [J William Piggott]
- remove unused optstring characters [J William Piggott]
- remove unused stdarg.h [J William Piggott]
- remove unwanted space before description [Karel Zak]
- restore select() timeout warning [J William Piggott]
- slice up the usage text [J William Piggott]
- squash custom errno strings [J William Piggott]
- sync one-liner descriptions [J William Piggott]
- update --help content and grammar [J William Piggott]
- update man page [J William Piggott]
- update set_system_clock comments [J William Piggott]
- update set_system_clock debugging [J William Piggott]
- update usage() [J William Piggott]
- update usage() FILE name [J William Piggott]
- update usage() to util-linux style [J William Piggott]
- usage() use program_invocation_short_name [J William Piggott]
- use RTC in help output [J William Piggott]
include:
- move pamfail.h to auth.c [Sami Kerola]
- update pathnames.h [J William Piggott]
include/c.h:
- add USAGE_COMMANDS and USAGE_COLUMNS [J William Piggott]
ipcs:
- fix memory leak [coverity scan] [Karel Zak]
isosize:
- avoid reading more data than what is needed [Sami Kerola]
- iterate over all arguments even when something fails [Karel Zak]
- usage() and coding style cleanup [Karel Zak]
last:
- condition (secs == 0) - now handled correctly [coastal-hiker]
- don't show negative time [coastal-hiker]
ldattach:
- simplify debugging function when vwarnx(3) is available [Sami Kerola]
lib:
- fix strutils.h, remove STRTOXX_EXIT_CODE [Ruediger Meier]
- remove _RLD_ from forbid environment variable list [Sami Kerola]
- simplify cpuset if clauses that return [Sami Kerola]
- style cosmetics plymouth-ctrl.c [Ruediger Meier]
lib/blkdev:
- remove support for Linux < 2.6 [Ruediger Meier]
lib/match:
- make match_fstype() case insensitive [Karel Zak]
lib/mbsedit:
- check wctomb() return code [coverity scan] [Karel Zak]
lib/pager:
- check open() return code [coverity scan] [Karel Zak]
lib/path:
- add error handling to path_vcreate() [Ruediger Meier]
- fix crash, pathbuf overflow [Ruediger Meier]
lib/pwdutils:
- add xgetlogin() [Karel Zak]
lib/randutils:
- improve getrandom() usage [Karel Zak]
- remove superfluous continue [Karel Zak]
- reset lose counter [Karel Zak]
lib/randutils.c:
- Fall back gracefully when kernel doesn't support getrandom(2). [Christopher James Halse Rogers]
- More paranoia in getrandom() call. [Christopher James Halse Rogers]
lib/ttyutils:
- return terminal lines too [Karel Zak]
libblkid:
- (vfat) add more debug messages [Karel Zak]
- add HPE extended-XFS to known filesystems [Mark Tinguely]
- add support for UBI superblock [Rafał Miłecki]
- allow to hide already detected signatures [Karel Zak]
- don't check for size on UBI (char dev) [Karel Zak]
- don't use CDROM_GET_CAPABILITY ioctl for DM devices [Karel Zak]
- fix compiler warning [-Wformat-truncation=] [Karel Zak]
- fix gcc-7 warning -Wint-in-bool-context [Ruediger Meier]
- mark UBI as RAID [Karel Zak]
- remove dead code and blkid_probe_new_value() [Karel Zak]
- udf Add support for ID_FS_VERSION [Pali Rohár]
- udf De-duplicate code for dstring decoding [Pali Rohár]
- udf Define magic constants [Pali Rohár]
- udf Fix detection of UDF images with block size 1024 and 4096 [Pali Rohár]
- udf Fix parsing of UDF dstring structures [Pali Rohár]
- udf Fix types [Pali Rohár]
libfdisk:
- (dos) accept start for log.partitions on template [Karel Zak]
- (dos) be more verbose on partno -ERANGE error [Karel Zak]
- (dos) cleanup template based partitioning [Karel Zak]
- (dos) fix primary/logical logic when follow template [Karel Zak]
- (dos) return EINVAL when delete unused partition [Karel Zak]
- (dos) use size-=1 when alignment not used later [Karel Zak]
- (gpt) fix size-1 error [Karel Zak]
- (sun) make math more robust [coverity scan] [Karel Zak]
- add --grain to mkpart sample [Karel Zak]
- add --nopartno to mkpart sample [Karel Zak]
- add comment [Karel Zak]
- add fdisk_device_is_used() [Karel Zak]
- add fdisk_disable_dialogs() [Karel Zak]
- add fdisk_reassign_device() [Karel Zak]
- add fdisk_save_user_grain() [Karel Zak]
- add more debug messages to get-last-possible resize space [Karel Zak]
- add sample-fdisk-mkpart-fullspec [Karel Zak]
- allow to resize container [Karel Zak]
- allow to resize in unsorted partition table [Karel Zak]
- cleanup sun label checksum usuage [Ruediger Meier]
- don't hardcode label type in samples [Karel Zak]
- fix fdisk_reset_partition() leaking *_chs strings. [Vaclav Dolezal]
- fix guid usage of packed struct gpt_entry [Ruediger Meier]
- fix two potential memory errors. [Vaclav Dolezal]
- fix warning -Wunused-function [Ruediger Meier]
- improve "add partition" debug message [Karel Zak]
- improve alignment debug mesagges [Karel Zak]
- improve table print debugs [Karel Zak]
- make fdisk compliant to UEFI/GPT specification on PMBR [Karel Zak]
- move fdisk_reread_partition_table() to another file [Karel Zak]
- remove unnecessary fstat() call [Karel Zak]
- remove whitespaces [Karel Zak]
- support default partno in mkpart-fullspec sample [Karel Zak]
- support logical partition resize [Karel Zak]
- use BLKPG ioctls to inform kernel about changes [Karel Zak]
- use BLKPG_* ioctls on linux only [Karel Zak]
- use fdisk_sector_t consistently and fix printf format strings [Ruediger Meier]
libmount:
- (umount) use mount table filter on -c only [Karel Zak]
- add human compatible message for EBADMSG errno [Karel Zak]
- btrfs, remove unused setter functions [Ruediger Meier]
- export locking errors as MNT_EX_FILEIO [Karel Zak]
- fix Python get_propagation [Giuseppe Scrivano]
- fix warning "set but not used" [Ruediger Meier]
- ignore "bind" from fstab on command line "remount" [Karel Zak]
- make mnt_context_is_fs_mounted work for /proc [Ivan Delalande]
- make sure we call stat() propely [coverity scan] [Karel Zak]
- use _exit() in <type> handlers [Karel Zak]
- use mount table filter on --no-canonicalize [Karel Zak]
libsmartcols:
- (docs) add new functions [Karel Zak]
- (docs) add note about line separators [Karel Zak]
- (sample) cleanup line separator usage [Karel Zak]
- add header-repeat feature [Karel Zak]
- add missing symbols [Karel Zak]
- add scols_table_enable_noencoding() [Karel Zak]
- add scols_table_{set,get}_termheight() [Karel Zak]
- don't call free_buffer() for uninitialized variable [coverity scan] [Karel Zak]
- fix comment (to make gtk-docs happy) [Karel Zak]
- fix heap-buffer-overflow when move columns [Karel Zak]
- fix scols_line_move_cells() n+1 error [asan] [Karel Zak]
- fix warning "unused parameter" [Ruediger Meier]
libuuid:
- add support for hash-based UUIDs [Philip Prindeville]
- use access(2) when checking /dev/random availability [Sami Kerola]
logger:
- add dummy fallback for OSX [Karel Zak]
- allow to reconnect on initial failed connect too [Karel Zak]
- keep header generators independent on connection [Karel Zak]
- make stdin parsing more friendly to static analyzers [Karel Zak]
- reconnect on failed send() [Karel Zak]
login:
- add --help and --version [Ruediger Meier]
- add --help text [Ruediger Meier]
- add xgetpwnam() [Karel Zak]
- fix signal race [Tobias Stoeckmann]
- use IPv4 on IPv4-mapping-to-IPv6 [Karel Zak]
look:
- use WORDLIST environment variable to find word list [Sami Kerola]
losetup:
- Add support for logical block size [Stanislav Brabec]
- add info about lazy detach to manpage [Karel Zak]
- add missing initializer [clang] [Sami Kerola]
- fix bitwise vs. logical typo [coverity scan] [Karel Zak]
- fix conflicting types for loopcxt_set_blocksize [Karel Zak]
- rename to --sector-size and LOG-SEC [Karel Zak]
lsblk:
- add option --tree [Karel Zak]
- small man page change in return codes description [Karel Zak]
lscpu:
- cleanup DMI detection return codes [Karel Zak]
- make clang analyzer happy [Ruediger Meier]
lslogins:
- be more explicit with -g in man page [Karel Zak]
- fix possible memory leak [coverity scan] [Karel Zak]
- ignore non-existing users [Karel Zak]
lsmem:
- fix, using freed memory [Ruediger Meier]
misc:
- POSIX usage dd, regarding unit suffixes [Ruediger Meier]
- avoid some dead initialization warnings [Ruediger Meier]
- cleanup UUID_STR_LEN definitions [Karel Zak]
- cleanup and fix --unknownopt issues [Ruediger Meier]
- consolidate all --help option descriptions [Ruediger Meier]
- consolidate macro style USAGE_HELP_OPTIONS [Ruediger Meier]
- consolidate usage() "Available columns" [Karel Zak]
- cosmetics, remove argument from usage(FILE*) [Ruediger Meier]
- cosmetics, remove argument from usage(int) [Ruediger Meier]
- fix gcc-7 snprintf warnings -Wformat-truncation [Ruediger Meier]
- fix gcc-7 sprintf warnings -Wformat-overflow [Ruediger Meier]
- fix ggc-7 fallthrough warnings [Sami Kerola]
- fix more strutils related exit codes [Ruediger Meier]
- fix optutils.h related exit codes [Ruediger Meier]
- fix reassigned values before old ones has been used [cppcheck] [Sami Kerola]
- fix some broken exit codes [Ruediger Meier]
- fix some printf format strings [Ruediger Meier]
- fix xalloc.h related exit codes [Ruediger Meier]
- introduce print_usage_help_options() [Ruediger Meier]
- never use usage(ERROR) [Ruediger Meier]
- never use usage(stderr) [Ruediger Meier]
- no more errtryh() [Ruediger Meier]
- remove stray semicolons [Sami Kerola]
- remove superfluous null pointer checks for optarg [Ruediger Meier]
- replace magic number 37 with UUID_STR_LEN [Philip Prindeville]
- revert to the old USAGE_HELP strings [Ruediger Meier]
- update --help content again [Ruediger Meier]
mkfs.cramfs:
- add --help and --version [Ruediger Meier]
more:
- add --help and --version [Ruediger Meier]
- remove unused variable [Ruediger Meier]
mount:
- fix man page typo (--bind,ro) [Karel Zak]
- remove extN from mount.8 man page [Karel Zak]
parse-date:
- fix printf format [Ruediger Meier]
- refactor tm_diff() [J William Piggott]
- remove unused EPOCH_YEAR [J William Piggott]
- remove unused ordinal_day_seen [J William Piggott]
- remove unused year_seen [J William Piggott]
- replace ISDIGIT with c_isdigit [J William Piggott]
- time_zone_hhmm() bug fixes [J William Piggott]
- use int where appropriate [J William Piggott]
- use intmax_t where appropriate [J William Piggott]
- use to_uchar() instead of assignment. [J William Piggott]
- use uintmax_t where appropriate [J William Piggott]
partx:
- move partx.h to include/ [Karel Zak]
po:
- Fix a typo [Masanari Iida]
- Fix translation in ja.po [Masanari Iida]
- fix ipcrm translation error fr.po [Karel Zak]
- merge changes [Karel Zak]
- update cs.po (from translationproject.org) [Petr Písař]
- update da.po (from translationproject.org) [Joe Hansen]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update fr.po (from translationproject.org) [Stéphane Aulery]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update pt_BR.po (from translationproject.org) [Rafael Fontenelle]
- update sv.po (from translationproject.org) [Sebastian Rasmussen]
pylibmount:
- NULL terminate kwlist in Context_init [Zac Medico]
rename:
- add -o to the man page [Karel Zak]
- notice when expression and replacement are the same string [Sami Kerola]
reset:
- remove script from the package [Sami Kerola]
rfkill:
- add NFC fallback for old headers [Karel Zak]
- add Sami to authors [Karel Zak]
- add bash-completion file [Sami Kerola]
- add systemd-rfkill(8) see also segment [Sami Kerola]
- allow use of multiple arguments [Sami Kerola]
- check id number refers to a device that exists [Sami Kerola]
- clarify 'all devices' handling [Sami Kerola]
- cleanup returns [Karel Zak]
- cleanup usage() [Karel Zak]
- do not fsync(3) /dev/rfkill file descriptor [Sami Kerola]
- do not ignore read error [Sami Kerola]
- fix coding style and error messages [Karel Zak]
- fix description name typo [Sami Kerola]
- fix typo [coverity scan] [Karel Zak]
- improve default output [Karel Zak]
- inform in syslog when rfkill is invoked [Sami Kerola]
- make command to build in util-linux project [Sami Kerola]
- make programming style to match util-linux project [Sami Kerola]
- move files to appropriate locations [Sami Kerola]
- refactor actions [Karel Zak]
- remove duplicate code [Karel Zak]
- support old "list" output [Karel Zak]
- update manual page [Sami Kerola]
- use back and forward compatible test [Sami Kerola]
- use human readable timestamps in event output [Sami Kerola]
- use libsmartcols output [Sami Kerola]
- move it below rfkill_block. [Darren Salt]
runuser:
- fix linking [Sami Kerola]
script:
- ensure typescript and timing errors do not break terminal [Sami Kerola]
- fix ambiguity about the optional argument of the -t option [Antonio Ospite]
- rename fixtty() to enable_rawmode_tty() [Karel Zak]
- simplify stdin usage in poll() [Karel Zak]
- support sig{stop/cont} [Karel Zak]
setarch:
- use errtryhelp() [Ruediger Meier]
setpriv:
- Add --init-groups option [Sebastian Schrader]
- add --ambient-caps to usage() [Karel Zak]
- align --help [Ruediger Meier]
- document accepted formats for naming caps [Patrick Steinhardt]
- introduce indirection for `capng_type` enum [Patrick Steinhardt]
- proxy function checking whether a capability is set [Patrick Steinhardt]
- proxy function to update capabilities [Patrick Steinhardt]
- silence compiler warning [Ruediger Meier]
- support dumping ambient capabilities [Patrick Steinhardt]
- support modifying the set of ambient capabilities [Patrick Steinhardt]
- support setting unnamed capabilities [Patrick Steinhardt]
setproctitle:
- fix out of boundary access [Tobias Stoeckmann]
setsid:
- document fork(2) usage [Karel Zak]
sfdisk:
- use fdisk_device_is_used() [Karel Zak]
su:
- (pty) fix child signal mask usage [Karel Zak]
- (pty) fix slave terminal attributes initialization [Karel Zak]
- (pty) improve SIGSTOP/SIGCONT semantic [Karel Zak]
- (pty) save child status [Karel Zak]
- (pty) simplify stdin usage in poll() [Karel Zak]
- add --pty option [Karel Zak]
- add PTY support [Karel Zak]
- add child to control struct [Karel Zak]
- add control struct [Karel Zak]
- add debug.h stuff [Karel Zak]
- add more informartion to man page [Karel Zak]
- add wait_for_child() [Karel Zak]
- clean up const usage [Karel Zak]
- clean up signals usage [Karel Zak]
- cleanup PAM stuff [Karel Zak]
- cleanup pwd struct usage [Karel Zak]
- cleanup setenv related code [Karel Zak]
- cleanup setuid/gid related code [Karel Zak]
- cleanup shell related code [Karel Zak]
- cleanup usage() [Karel Zak]
- cleanup usernames usage [Karel Zak]
- consolidate tty name usage [Karel Zak]
- cosmetic changes after indent [Karel Zak]
- cosmetic code changes [Karel Zak]
- enable TIOCSCTTY and minor changes [Karel Zak]
- fix compiler warnings [-Wimplicit-fallthrough=] [Karel Zak]
- fix debug message [Karel Zak]
- fix indention [Karel Zak]
- fix non-pty compilation [Karel Zak]
- fix refactoring bug in child PID usage [Karel Zak]
- improve some debug messages [Karel Zak]
- keep old sigactions in control struct [Karel Zak]
- make wait_for_child() usable in arbitrary situation [Karel Zak]
- move PAM session initialization to separate function [Karel Zak]
- move parent signals setup to separate function [Karel Zak]
- properly clear child PID [Karel Zak]
- rename evaluate_uid() [Karel Zak]
- reorder functions [Karel Zak]
- unblock signals is all initialized [Karel Zak]
- use switch() to split after fork [Karel Zak]
swaplabel:
- fix --disable-libuuid compilation [Karel Zak]
test:
- update PMBR hex dumps [Karel Zak]
tests:
- Add UDF hdd image which label has length 30 characters [Pali Rohár]
- Add UDF hdd images with blocksize 1024 and 4096 created by Linux mkudffs 1.3 [Pali Rohár]
- add MBR resize tests [Karel Zak]
- add more tests for line(1) [Ruediger Meier]
- check for missing programs in last(1) test [Karel Zak]
- check sfdisk resize on unsorted offsets [Karel Zak]
- don't use errno in output [Karel Zak]
- explicitly define wipefs outpuit columns [Karel Zak]
- fix and refactor partx [Ruediger Meier]
- fix fincore, don't use variable COLUMNS [Ruediger Meier]
- remove UUIDs with time overflow from uuidparse [Karel Zak]
- split partx in root and non-root [Ruediger Meier]
- update UDF test, add ID_FS_VERSION [Pali Rohár]
- update build-sys tests [Karel Zak]
- update sfdisk wipe test [Karel Zak]
- update wipefs outputs [Karel Zak]
- use sample-fdisk-mkpart [Karel Zak]
- use sample-fdisk-mkpart-fullspec [Karel Zak]
tools:
- add checkusage.sh [Ruediger Meier]
- add segfault detection for checkusage.sh [Ruediger Meier]
- checkusage can dump all command output [Ruediger Meier]
- ignore unsafe commands in checkusage.sh [Ruediger Meier]
travis:
- add make checkusage [Ruediger Meier]
- fix another chown issue [Karel Zak]
- minor cosmetics [Ruediger Meier]
- use --disable-makeinstall-chown everywhere [Karel Zak]
tunelp:
- use linux header [Sami Kerola]
umount:
- add note about NFS and -c to umount.8 [Karel Zak]
- never 'stat' the path when "-c" is given. [NeilBrown]
uuidd:
- remove unused define [Ruediger Meier]
uuidgen:
- add more details to man page [Karel Zak]
- add support for hash-based UUIDs [Philip Prindeville]
- improve --help [Karel Zak]
- slice up the usage text [Sami Kerola]
uuidparse:
- add bash-completion file [Sami Kerola]
- add new command [Sami Kerola]
- fix getopt crash [Ruediger Meier]
- fix stack-buffer-overflow [asan] [Karel Zak]
- nil uuid have all bits set to zero [Sami Kerola]
- se JSON table name on -J [Karel Zak]
vipw:
- use explicit_bzero() to clear buffer after copy [Sami Kerola]
wall:
- don't use gid_t when allocate grounps array [Karel Zak]
- fix OSX getgrouplist, gid_t* vs int* [Karel Zak]
wdctl:
- do not call fsync(2) when closing watchdog device [Sami Kerola]
whereis:
- add --help and --version [Ruediger Meier]
- include native multiarch path in lib search paths [Andreas Henriksson]
wipefs:
- add control struct [Karel Zak]
- cleanup offsets list usage, fix -t filter [Karel Zak]
- don't do step-back if <type> does not match [Karel Zak]
- exit on failed erase [Karel Zak]
- improve --help [Karel Zak]
- print all signature permutations [Karel Zak]
- try another magic strings on -o and -t [Karel Zak]
- use libsmartcols [Karel Zak]
zramctl:
- fix show all non-zero zram devices [James Sanford]
- remove unused ZRAM_EMPTY and blank line [James Sanford]

View File

@ -0,0 +1,492 @@
Util-linux 2.32 Release Notes
=============================
Release highlights
------------------
The command cal(1) has been improved to provide better control on used calendar
system. Now it is possible to switch between Gregorian and Julian exclusively,
or use the current default (reform in September 1752). The new command line
options --reform and --iso have been added. The command also follows terminal
width to format output.
The library libblkid has been extended to support LUKS2, Micron mpool, VDO and
Atari partition table.
The command rfkill(8) has been moved to /usr/sbin to be compatible with the
original rfkill implementation.
The command dmesg(1) provides better support for multi-line messages and the
new command line option --force-prefix to print facility, level or timestamp
information to each line of a multi-line message
The command fallocate(1) --dig-holes is faster and more effect now.
The command fdisk(8) provides access to Protective MBR accessible from main
menu. The Sun label support has been improved.
The command lscpu(1) provides more details about ARM CPUs now.
The command lsmem(1) supports memory zone awareness now.
The command lsns(8) provides netnsid and nsfs columns now.
The command rtcwake(8) waits stdin to settle down before entering a system
sleep.
The new command line option --kill-child has been added to unshare(1).
Stable maintenance releases between v2.31 and v2.32
---------------------------------------------------
util-linux 2.31.1 [Dec 19 2017]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31.1-ChangeLog
Changes between v2.31 and v2.32
-------------------------------
agetty:
- Fix a use of uninitialised memory in an agetty error path. [Steven Smith]
- add support for /etc/issue.d [Karel Zak]
- remove unused flag [Karel Zak]
bash-completion:
- (umount) use findmnt, escape a space in paths [Karel Zak]
- Exclude /dev/fd from fsck find [Kevin Locke]
- update zramctl algorithms list [Sami Kerola]
blkid:
- Add support for LUKS2 and new LABEL attributes. [Milan Broz]
blkzone:
- Fix a typo in blkzone.8 [Masanari Iida]
blockdev:
- be more explicit for BLKSSZ in blockdev.8 [Karel Zak]
build-sys:
- (configure) fix bashisms [Mike Frysinger]
- add --enable-asan and --memcheck-asan for tests [Karel Zak]
- add missing include [Karel Zak]
- automake is able to find headers in builddir ... [Ruediger Meier]
- avoid using prog_DEPENDENCIES [Ruediger Meier]
- disable bz2 tarball and fix some am warnings [Ruediger Meier]
- don't check for swapon() number of arguments [Karel Zak]
- forgot update NEWS for v2.32-rc1 [Karel Zak]
- gtkdoc-fixxref v1.27 requires module option [Karel Zak]
- lsns requires libmount [Karel Zak]
- move rfkill to /usr/sbin [Karel Zak]
- release++ (v2.32-rc2) [Karel Zak]
- remove generated headers from dist tar ball [Ruediger Meier]
- remove redundant EXTRA_DIST files [Ruediger Meier]
- remove unneeded dependencies on bla.h.in [Ruediger Meier]
cal:
- Use ALTMON_* correctly [Rafal Luzynski]
- add ifdef TEST_CAL [Karel Zak]
- add option to set Gregorian reform date [J William Piggott]
- clean up man page synopsis syntax [Karel Zak]
- do not set months_in_row with -3 option [J William Piggott]
- don't use year header for -1, -3 or -n [Karel Zak]
- explain magic values for day of week calculation [Karel Zak]
- fix first week calculation [J William Piggott]
- fix julian calendars for large years [J William Piggott]
- fix multi-byte comment, explain in better way [Karel Zak, J William Piggott]
- fix week calculations for 1752 [J William Piggott]
- follow terminal width [Karel Zak]
- honor num_months when only a year argument [J William Piggott]
- move REFORMATION_YEAR to control struct [J William Piggott]
- remove extra space after year output [Karel Zak]
- update man page [J William Piggott]
chmem:
- cleanup includes [Karel Zak]
- cleanup usage() [Karel Zak]
chrt:
- fix compiler warning [-Wmaybe-uninitialized] [Karel Zak]
column:
- add --table-noheadings [Karel Zak]
- allow to hide unnamed columns [Karel Zak]
- don't ignore space-char separators at begin of the line [Karel Zak]
- fix memory leak [coverity scan] [Karel Zak]
- update column.1 [ahmogit]
- use \x<hex> for invalid multibyte seq. [Karel Zak]
dmesg:
- Add --force-prefix option [Prarit Bhargava]
- add note about -F format to the man page [Karel Zak]
- fix compiler warning [-Wuninitialized] [Karel Zak]
- use xstrdup() in xalloc.h based util [Karel Zak]
docs:
- add ISC licence [Carlos Santos]
- add new idea to TODO list [Karel Zak]
- add note about JSON [Karel Zak]
- add note about NVMe-multipath to TODO [Karel Zak]
- add remount-all idea to TODO [Karel Zak]
- add script(1) events idea to TODO [Karel Zak]
- improve setarch(8) manual page [Sami Kerola]
- update AUTHORS file [Karel Zak]
- update TODO [Karel Zak]
- update TODO file [Karel Zak]
- update v2.32-ReleaseNotes [Karel Zak]
eject:
- remove list_speeds() #ifdef CDROM_SELECT_SPEED protection [Sami Kerola]
fallocate:
- dig holes only in data extents [Karel Zak, Vaclav Dolezal]
- remove typo [Karel Zak]
fdisk:
- (gpt) make PMBR accessible from main menu [Karel Zak]
fincore:
- Handle large files correctly on 32 bit [Tobias Stoeckmann]
- Handle large files on 32 bit without LFS [Tobias Stoeckmann]
- fix a typo in fincore.1 [Masatake YAMATO]
findfs:
- don't include exitcodes.h [Karel Zak]
findmnt:
- findmnt.8 remove spurious spaces before "--tree" and "--verbose" [Jakub Wilk]
fsck:
- cleanup find_fsck() [Karel Zak]
- coding style cleanup [Karel Zak]
- use xasprintf to avoid buffer overruns with an insane fs type [Theodore Ts'o]
fsck.cramfs:
- Fix bus error on broken file system. [Tobias Stoeckmann]
- fix crash when superblock size is too small [Ruediger Meier]
- fix error message [Ruediger Meier]
fstrim:
- don't include exitcodes.h [Karel Zak]
- fix fs.h and mount.h collision [Karel Zak]
hwclock:
- add --ul-debug implementing debug.h [J William Piggott]
- add iso-8601 overflow check [J William Piggott]
- fix debug regression [J William Piggott]
- rename --debug option to --verbose [J William Piggott]
- revert ioctl test [Karel Zak]
- use reentrant time conversion functions [J William Piggott]
include/c:
- add errexec() [Karel Zak]
include/debug:
- don't print pointer address for SUID programs [Karel Zak]
- improve debug message [Karel Zak]
- introduce __UL_INIT_DEBUG_FROM_STRING() [Karel Zak]
- print info when addresses suppressed [Karel Zak]
kill:
- Extract signal names into signames.h/signames.c [Niklas Hambüchen]
lib:
- Add simple crc32c() function [John Groves]
lib/exec_shell:
- (and pager) use errexec() [Karel Zak]
- cleanup function attributes [Karel Zak]
lib/mangle:
- return size of the decoded buffer [Karel Zak]
lib/mbsalign:
- Fix escaping nonprintable multibyte characters [Vaclav Dolezal]
- add mbs_invalid_encode() [Karel Zak]
- encode \x to \xecx [Karel Zak]
- encode backslash to prevent ambiguity [Vaclav Dolezal]
- escape "\x" when HAVE_WIDECHAR not defined [Vaclav Dolezal]
lib/md5:
- use ul_/UL_ prefix [Karel Zak]
lib/path:
- make path_set_prefix() independent on cpu_set_t [Karel Zak]
lib/randutils:
- Do not block on getrandom() [Carlo Caione]
- don't break on EAGAIN, use usleep() [Karel Zak]
lib/sha1:
- fix indention [Karel Zak]
- use proper WORDS_BIGENDIAN macro [Karel Zak]
- use ul_/UL_prefix for symbols [Karel Zak]
lib/signames:
- fix redefinition of 'sys_signame' on OSX [Karel Zak]
- remove signame array from header file [Karel Zak]
- remove unused function [Sami Kerola]
lib/timeutils:
- ISO_8601_BUFSIZ too small [J William Piggott]
- add common ISO timestamp masks [J William Piggott]
- add get_gmtoff() [J William Piggott]
lib/timeutils.c:
- bug fix Segmentation fault [J William Piggott]
- strxxx_iso do not wrap tm_year [J William Piggott]
- strxxx_iso test conversion errors [J William Piggott]
- warn format_iso_time() overflow [J William Piggott]
libblkid:
- (bcache) cleanup magic string definition [Karel Zak]
- (dos) make subtypes probing more robust [Karel Zak]
- (mpool) checksum is LE [Karel Zak]
- (mpool) don't use gtkdocs-like comment block [Karel Zak]
- Add VDO superblock information into blkid [Sweet Tea Dorminy]
- Add support for Micron mpool formatted drives [John Groves]
- Add support for stratis [Tony Asleson]
- Mark char* params to blkid_dev_set_search as const [Andy Grover]
- Support for Atari partitioning scheme [Vaclav Dolezal]
- add debug messages when ignore useless devices [Karel Zak]
- atari - don't add duplicate entries [Vaclav Dolezal]
- atari - fix bad variable name [Vaclav Dolezal]
- atari - reject devices with blocksize != 512 [Vaclav Dolezal]
- atari - test if any partition fits disk size [Vaclav Dolezal]
- ignore private Stratis devices [Tony Asleson]
- improve FreeBSD partitions parsing [Karel Zak]
- make mpool independent on libuuid [Karel Zak]
- udf Fix parsing LVID location [Pali Rohár]
- udf Fix parsing UDF revision [Pali Rohár]
- udf Fix reading Logical Volume Integrity Descriptor Implementation Use (LVIDIU) [Pali Rohár]
- udf Optimize and fix probing when block size > 2048 bytes [Pali Rohár]
- udf Really try to read only first LVID [Pali Rohár]
- udf Stop scanning Volume Descriptors after we found Terminating Descriptor [Pali Rohár]
- udf Update copyright [Pali Rohár]
- udf Use UDF revision field from LVD domain id "*OSTA UDF Compliant" as a fallback value for ID_FS_VERSION when LVIDIU is missing [Pali Rohár]
- vfat Fix reading labels which starts with byte 0x05 [Pali Rohár]
libfdisk:
- (docs) add missing docs blocks [Karel Zak]
- (docs) improve enums documentation [Karel Zak]
- (docs) update year [Karel Zak]
- (dos) fix max heads [Karel Zak]
- (gpt) add VMware specific UUIDs [Karel Zak]
- (gpt) move backup header after device resize [Karel Zak]
- (gpt) use fdisk_warn() for failed name setting [Karel Zak]
- (script) be consistent in code with types [Karel Zak]
- (script) support R (RAID) and V (LVM) shortcuts [Karel Zak]
- (sun) enhance searching of free space [Mikhail Vorobyov]
- (sun) fix creation of whole disk partition [Mikhail Vorobyov]
- (sun) fix n-1 bug and whole-disk [Karel Zak]
- (sun) move aligning of the first sector before availability check [Mikhail Vorobyov]
- Fix uninitialized structure [Roddy Shuler]
- allocate enough bytes for ucs2 to utf8 encoding [Vaclav Dolezal]
- allow to start freespace for zero [Karel Zak]
- extend API to provide label specific geometry ranges [Karel Zak]
- fix docs warnings [Karel Zak]
- gpt properly encode string on rename [Vaclav Dolezal]
- return bytes processed from gpt_entry_set_name(), process rc [Vaclav Dolezal]
libmount:
- (docs) update year [Karel Zak]
- Allow MNT_FORCE and MNT_DETACH at umount [Joshua Watt]
- Use waitpid() when waiting for mount helper child process [Vratislav Podzimek]
- add missing macro to docs [Karel Zak]
- add nsfs between pseudo filesystems [Karel Zak]
- check waitpid() return code [Karel Zak]
- deallocate on /proc/swaps parse error [Karel Zak]
- fix access() utab write test [Karel Zak]
- fix debug message [Karel Zak]
- fix example in docs [Karel Zak]
- fix fs pattern usage in mount --all [Karel Zak]
- fix mnt_table_is_fs_mounted() for rbind [Karel Zak]
- make libmount.h more robust [Karel Zak]
- make sure we deallocate on parse error [Karel Zak]
- minimize utimensat() write test usage [Karel Zak]
- use eacess() rather than open() to check mtab/utab [Karel Zak]
libsmartcols:
- (docs) update year [Karel Zak]
- don't add blank padding after left aligned title [Karel Zak]
- fix docs warnings [Karel Zak]
- fix mem-leaks in samples [Karel Zak]
- fixes issue with 0 width columns [taiyu]
- interpret zero width for pending data as error [Karel Zak]
- set minimal column width to 1 [Karel Zak]
libuuid:
- make "CONFORMING TO" man sections more explicit [Karel Zak]
login:
- add LOGIN_PLAIN_PROMPT to login.defs [Karel Zak]
login-utils:
- use free_getlogindefs_data() [Karel Zak]
lsblk:
- add hint about perms to man page [Karel Zak]
- document LSBLK_DEBUG= [Karel Zak]
- try device/dev to read devno [Karel Zak]
lscpu:
- (arm) cleanup code [Karel Zak]
- Decode ARM CPUs [Riku Voipio]
- Treat read failure on Xen Hypervisor properties as non-fatal [Dirk Mueller]
- move ARM decoding to lscpu-arm.c [Karel Zak]
- move struct lscpu_desc header file [Karel Zak]
lscpu-arm:
- add Faraday And Brahma cores [Riku Voipio]
lslocks:
- add note about OFDLCK [Karel Zak]
lsmem:
- add --split [Karel Zak]
- add hint about block merges to the man page [Karel Zak]
- fix memory leak [coverity scan] [Karel Zak]
- fix total online/offline memory calculation [Gerald Schaefer]
- improve path_read_xxx() usage [Karel Zak]
- make --split optional, follow output by default [Karel Zak]
lsmem/chmem:
- add memory zone awareness [Gerald Schaefer]
- add memory zone awareness to bash-completion [Andre Wild]
lsns:
- (man) write about using multi-line in NSFS cell of lsns [Masatake YAMATO]
- add --nowrap(-W) option [Masatake YAMATO]
- add a case for testing netnsid column [Masatake YAMATO]
- add a case for testing nsfs column [Masatake YAMATO]
- add netnsid column [Masatake YAMATO]
- add nsfs column [Masatake YAMATO]
- disable netnsid column by default [Masatake YAMATO]
- fix clang compiler warning [Ruediger Meier]
- initialize stuff when really necessary [Karel Zak]
- nsfs stuff cleanup [Karel Zak]
- remove if-after-xcalloc [Karel Zak]
- rename notruns to no_trunc [Karel Zak]
man:
- use long options in text and add example to uuidgen [Sami Kerola]
mcookie:
- (man) add note about getrandom() [Karel Zak]
- properly initialize hash [Karel Zak]
md5:
- declare byteReverse as static [Luca Ceresoli]
misc:
- fix printf i386 compiler warnings [Ruediger Meier]
- fix typos [Sami Kerola]
- fix typos using codespell [Ruediger Meier]
- remove %p from debug messages [Karel Zak]
mount:
- (man) be explicit about bind operation [Karel Zak]
- (man) update mount options for UDF [Steve Kenton]
- add hint about -t and root perms to the man page [Karel Zak]
- add more details about UUIDs and LABELs to the man page [Karel Zak]
- add note about "already mounted" behavior [Karel Zak]
- add note about cached kernel table for --all [Karel Zak]
- be more accurate in man page about propagation flags [Karel Zak]
mount(8):
- drop redundant filesystem-specific sections [Mike Frysinger]
- point people to the proc(5) page for mount options [Mike Frysinger]
- umount does not (anymore?) say `none busy' [Alan Jenkins]
newgrp:
- use errexec() [Karel Zak]
nsenter:
- fix compiler warning [-Wuninitialized] [Karel Zak]
- revert changes committed by accident [Karel Zak]
po:
- merge changes [Karel Zak]
- update cs.po (from translationproject.org) [Petr Písař]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update fi.po (from translationproject.org) [Lauri Nurmi]
- update fr.po (from translationproject.org) [Frédéric Marchal]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update pt_BR.po (from translationproject.org) [Rafael Fontenelle]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
rename:
- rename.1 fix typo, where -> were [Kenyon Ralph]
- use access(3) to check if a file exists [Sami Kerola]
rfkill:
- provide RFKILL_TYPE_FM if undefined [Ruediger Meier]
rtcwake:
- add note about HW and sleep to the man page [Karel Zak]
- fix sys vs. rtc time delta usage [Karel Zak]
- wait stdin to settle down before entering a system sleep [Sami Kerola]
sample-scols-title:
- add left title without padding [Karel Zak]
schedutils:
- use errexec() [Karel Zak]
setarch:
- minor code clean up [Sami Kerola]
setpriv:
- add example section [Sam Morris]
- fix manpage typo [Sam Morris]
- improve description in man page [Sam Morris]
- include --init-groups in the list of options that can be specified with --[re]gid [Sam Morris]
setsid:
- new option --fork [Karel Zak]
sfdisk:
- add hint about udev and flock to the man page [Karel Zak]
- allow to disable bootable flag on all partitions [Karel Zak]
- allow to use --activate for PMBR [Karel Zak]
- cleanup shortcuts in man page too [Karel Zak]
- create empty label on 'write' command [Karel Zak]
- wait before re-read [Karel Zak]
signames:
- Make input char buffers const [Niklas Hambüchen]
su:
- build fix for the case where USE_PTY is not defined [Samuel Thibault]
- use errexec() [Karel Zak]
sys-utils:
- use errexec() [Karel Zak]
test:
- Add UDF hdd image with final block size 4096 created by Linux mkudffs 1.3 [Pali Rohár]
- use subtests for jan1753 cal(1) test [Karel Zak]
test_sha1:
- update helper [Karel Zak]
tests:
- Add UDF cd image created by mkudfiso 20100208 [Pali Rohár]
- GPT device resize test [Karel Zak]
- add /proc/swaps libmount parser test [Karel Zak]
- add LUKS test images [Milan Broz]
- add cal(1) --week=40 1752 [Karel Zak]
- add fsck.cramfs bad-header test [Karel Zak]
- add ipcslimits lock [Ruediger Meier]
- add lock on shared resources (e.g. scsi_debug) [Karel Zak]
- add mdadm locks [Karel Zak]
- add mpool blkid test image [Karel Zak]
- add set-x to lsns test [Karel Zak]
- add some more udevadm settle [Ruediger Meier]
- add tests for encode functions from lib/mbsalign.c [Vaclav Dolezal]
- add udevadm settle to sfdisk/resize [Ruediger Meier]
- add wierd sleep for libmount/context [Ruediger Meier]
- added missing expected outputs for partx (atari) [Vaclav Dolezal]
- added test for libblkid atari pt [Vaclav Dolezal]
- adjust for ISO timezone colon use [J William Piggott]
- allow to use memory checks for libsmartcols [Karel Zak]
- better lsns report on fail [Karel Zak]
- check for HAVE_LINUX_NET_NAMESPACE_H [Karel Zak]
- column(1) test for space-char separator [Karel Zak]
- column(1) test non-space separator at begin of line [Karel Zak]
- consolidate ts_device_has UUID or LABEL [Ruediger Meier]
- don't call tests with races in --parallel [Karel Zak]
- don't lock fd 1 (stdout), don't use /proc/$$/fd [Ruediger Meier]
- don't use mount.<type> helpers in mount-by-pattern tests [Karel Zak]
- don't use unlocked resources [Ruediger Meier]
- dont't timeout flock [Ruediger Meier]
- fix fincore/count KNOWN_FAIL [Ruediger Meier]
- fix grep expressions for devices [Ruediger Meier]
- fix losetup race [Ruediger Meier]
- fix lsns perms [Karel Zak]
- handle xargs errors and invalid args [Ruediger Meier]
- make lsns test more robust [Karel Zak]
- mark fincore/count as KNOWN_FAIL [Karel Zak]
- mark mbsencode as KNOWN_FAIL [Vaclav Dolezal]
- mbsencode - removed emoji, added control unicode character [Vaclav Dolezal]
- mbsencode - test for HAVE_WIDECHAR [Vaclav Dolezal]
- merge 1m and 3m cal(1) tests [Karel Zak]
- merge sep1752 cal(1) tests [Karel Zak]
- merge year cal(1) tests [Karel Zak]
- re-introduce bash 3 compatibility (OSX) [Ruediger Meier]
- rename --memcheck to --memcheck-valgrind [Karel Zak]
- rename ts_valgrind to ts_run [Karel Zak]
- rewrite cal(1) bigyear test [Karel Zak]
- rewrite fsck-bad-header [Ruediger Meier]
- simplify cal(1) sep1752w test [Karel Zak]
- support multiple locks [Karel Zak]
- suppress warning for old sync(1) [root]
- unlocks on failed ts_scsi_debug_init [Karel Zak]
- update build-sys tests [Karel Zak]
- update cal(1) tests [Karel Zak]
- update columns test due to dda229c7b2b16a31fae8e99079ab4f4ae5bc8eac [Karel Zak]
- update default lsmem output [Karel Zak]
- update libsmartcols/title [Karel Zak]
- update lsmem [Karel Zak]
- update setarch test [Karel Zak]
- use TS_HELPER_CAL [Karel Zak]
- use flock to modify fstab [Karel Zak]
- use libtool to execute with valgrind [Karel Zak]
- use pgrep instead of ps --ppid ... [Ruediger Meier]
- use subtests for sep1752w test [Karel Zak]
- use subtests for weekarg cal(1) tests [Karel Zak]
- use subtests for weeknum cal(1) tests [Karel Zak]
tests/lsmem:
- update lsmem test with ZONES column [Gerald Schaefer]
text-utils:
- use errexec() [Karel Zak]
tools:
- improve checkmans [Karel Zak]
travis:
- enable osx root checks [Ruediger Meier]
- homebrew/dupes was deprecated [Ruediger Meier]
- use parallel root checks [Ruediger Meier]
unshare:
- Add --kill-child option. [Niklas Hambüchen]
- Allow passing <signame> to --kill-child [Niklas Hambüchen]
- cleanup if-if code [Karel Zak]
uuidd:
- cosmetic coding style change [Karel Zak]
- don't truncate long socket paths [Ruediger Meier]
vipw:
- do not let editor to inherit open file descriptors [Sami Kerola]
- use errexec() [Karel Zak]
whereis:
- fix typo in debug message [Karel Zak]
zramctl:
- use xstrdup() [Karel Zak]

View File

@ -0,0 +1,614 @@
Util-linux 2.33 Release Notes
=============================
Release highlights
------------------
choom -- NEW COMMAND to adjust and display the current OOM-killer score.
The library libsmartcols has been improved to differentiate between numbers,
booleans and strings in JSON output. The old versions uses strings everywhere.
It's recommended to re-test your applications if you parse JSON outputs from
util-linux tools.
The command fstrim(8) has been extended to trim all mounted filesystems from
/etc/fstab (-A|--fstab). This semantic is the default for systemd
fstrim.service now. The original default for the service was to trim all
(-a|--all) mounted filesystems (including for example removable media). Now it
is also possible to test fstrim behavior by new command line option --dry-run.
The command hwclock(8) provides a new command line option --delay to overwrite
internally used delay when set clock time. The default is 0.5 (500ms) for
rtc_cmos, for another RTC types the delay is 0. If RTC type is impossible to
determine (from sysfs) then it defaults also to 0.5 to be backwardly
compatible. The 500ms default is based on commonly used MC146818A-compatible
(x86) hardware clock.
The commands mount and umount, and libmount allow to mount and umount
filesystem in another namespace. The namespace may be specified by --namespace
<pid|path> command line option. The commands switch to the namespace when it
reads /etc/fstab, writes /etc/mtab (or writes to /run/mount) and calls [u]mount
system calls, otherwise it runs in the original namespace. It means that the
target namespace does not have to contain any libraries or another requirements
necessary to execute mount(8) or umount(8) commands.
The command rename(1) provides a new command line option --interactive to ask
before overwriting.
The command setarch(8) does not require architecture when modify personality like
ADDR_NO_RANDOMIZE. The architecture argument is optional now.
The command su(1) provides a new command line option --whitelist-environment to
protect specified variables when su(1) starts a new session.
The command setpriv(1) provides a new command line option --reset-env to reset
all environment. The another new command line option --pdeathsig allows to
keep, clear or or set the parent death signal. Note that some LSMs, most notably
SELinux and AppArmor, clear the signal when the process' credentials change.
The commands fdisk(8) and sfdisk(8) print disk model name to simplify device
identification.
The command "column --table-empty-lines" allows to use empty lines in formatted
output.
The command wipefs has been improved to postpone BLKRRPART (re-read partition
table) ioctl until all magic strings are wiped. This semantic allows to avoid
conflicts between on partition magic strings and partition tables.
The command script(1) has been extended to store more information about
terminal size and type to the typescript header. The size of the output may be
also restricted by a new command line option --output-limit.
The libblkid provides BitLocker and basic APFS detection now.
The command lsblk is possible to execute against /sys and /proc dumps if command
line option --sysroot is specified. This allows to prepare regression tests for
lsblk. So, if you have a complicated or unusual setup (RAIDs, pools, etc) than
you can use
https://raw.githubusercontent.com/karelzak/util-linux/master/tests/ts/lsblk/mk-input.sh
to generate the dump and send the tarball to upstream developers. (Thanks!)
The script ./configure has been improved and --with/without command line
options should be more consistent now. It's recommended to re-test your build
scripts.
Stable maintenance releases between v2.32 and v2.33
---------------------------------------------------
util-linux 2.32.1 [Jul 16 2018]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32.1-ChangeLog
Changes between v2.32 and v2.33
-------------------------------
agetty:
- Reload only if it is really needed [Stanislav Brabec]
- Watch only protocol requested by issue escapes [Stanislav Brabec]
- agetty.8 Avoid a warning about an unbreakable line [Bjarni Ingi Gislason]
- cleanup code to copy to log strings [Karel Zak]
- cleanup issue output change, remove bool [Karel Zak]
- don't put the VC into canonical mode [Lubomir Rintel]
- don't use __u32 [Karel Zak]
- keep c_iflags unmodified on --autologin [Karel Zak]
- make output more robust [Karel Zak]
- move all issue variables to struct [Karel Zak]
- rename variable changed to triggered [Stanislav Brabec]
- when logname is erased, re-enable reloads [Stanislav Brabec]
bash-completion:
- add findmnt --real --pseudo [Karel Zak]
- add swapon specifiers to completion [Sami Kerola]
- catch up with option changes [Sami Kerola]
- cleanup mount and umount --namespace [Karel Zak]
- do not print eject --cdspeed error messages [Sami Kerola]
- fix few bash set -u issues [Sami Kerola]
- fix typo in blockdev file [Sami Kerola]
- setpriv --securebits argument can be comma separated list [Sami Kerola]
- update column [Karel Zak]
blkid:
- (man) add note about udev encoding [Karel Zak]
- Encode any field which starts with LABEL in same way as LABEL field [Pali Rohár]
- fix compiler warnings [-Wcast-qual] [Karel Zak]
blkzone:
- fix report zones sector offset check [Masato Suzuki]
- fix whole device detection [Karel Zak]
- use new ul_path_* API [Karel Zak]
blockdev:
- use new ul_path_* API [Karel Zak]
bugfix:
- fix possible segfault during umount -a [Richard Fuchs]
build:
- Add missing -lintl linkage to lib{smartcols,uuid} [Karel Zak]
build-sys:
- --without-systemd disables --with-systemdsystemunitdir [Karel Zak]
- add -Wdiscarded-qualifiers [Karel Zak]
- add -Wno-cast-function-type for python [Karel Zak]
- add USE_LIBMOUNT_SUPPORT_NAMESPACES [Karel Zak]
- cleanup --with/--without help strings [Karel Zak]
- default to /lib64 for ${exec_prefix}/lib64 [Karel Zak]
- extend "Could not locate the pkg-config" error message [Karel Zak]
- fix typo in man install [Karel Zak]
- improve bison version detection [Karel Zak]
- release++ (v2.33-rc1) [Karel Zak]
- release++ (v2.33-rc2) [Karel Zak]
cal:
- fix --span for large numbers of months [Karel Zak]
- use snprintf everywhere [Karel Zak]
cfdisk:
- fix compiler warnings [-Wcast-qual] [Karel Zak]
- fix compiler warnings, follow-up 7085f1e4 (#636) [Ruediger Meier]
- fix missing prototype for `get_wch` [Patrick Steinhardt]
- use uint64_t to avoid compiler warnings [Karel Zak]
chcpu:
- Fix maximal number of CPUs [Stanislav Brabec]
- use new ul_path_* API [Karel Zak]
chmem:
- use new ul_path_* API [Karel Zak]
choom:
- fix build, remove unnecessary include [Karel Zak]
- new command to adjust OOM-killer score value [Karel Zak]
- set oom_score_adj before exec [Vaclav Dolezal]
- use new ul_path_* API [Karel Zak]
closestream:
- remove dummy function __fpending() [Sami Kerola]
column:
- add --table-empty-lines [Karel Zak]
- fix leading space characters bug [Karel Zak]
ctrlaltdel:
- use new ul_path_* API [Karel Zak]
dmesg:
- fix raw output [Karel Zak]
- link together with syslog(2) manual page [Sami Kerola]
docs:
- add adjtime_config(5) man page [Karel Zak]
- add cal(1) TODO items [Karel Zak]
- add choom to TODO [Karel Zak]
- add fdisk to TODO [Karel Zak]
- add getopt to TODO [Karel Zak]
- add hint about script [Karel Zak]
- add hwclock to TODO [Karel Zak]
- add info about branches; update travis.yml [Karel Zak]
- add note about --disable-all-programs [Karel Zak]
- add note about lsblk to TODO [Karel Zak]
- add note about lsblk usage/free cols [Karel Zak]
- add to column(1) TODO [Karel Zak]
- cleanup TODO [Karel Zak]
- fix gtkdoc warning [Karel Zak]
- fix typos [Jakub Wilk]
- remove obsolete entry from TODO [Karel Zak]
- update AUTHORS file [Karel Zak]
- update TODO [Karel Zak]
- update TODO (libblkid) [Karel Zak]
- update TODO (lsblk) [Karel Zak]
- update v2.33-ReleaseNotes [Karel Zak]
- use SPDX license names [Karel Zak]
eject:
- use err() rather than abort() [Karel Zak]
exec_shell:
- prevent ". applet not found" error when SHELL env is not set. [osexp2000]
fallocate:
- add man page note about --collapse-range granularity [Karel Zak]
- add missing semicolon [Matti Niemenmaa]
- remove unwanted debug message [Karel Zak]
fdisk:
- add "Disk model " to the print output [Karel Zak]
- fix compiler warning [-Wmaybe-uninitialized] [Karel Zak]
- fix error message on 'd' command [Karel Zak]
- fix typo in debug string [Vaclav Dolezal]
fincore:
- fincore.1 add missing space [Jakub Wilk]
- use scols_column_set_json_type() [Karel Zak]
findmnt:
- add --output-all option [Sami Kerola]
- use scols_column_set_json_type() [Karel Zak]
fstrim:
- Return EXIT_FAILURE when FTRIM ioctl fails [Karel Zak]
- add --dry-run [Karel Zak]
- add -A|--fstab to trim according to /etc/fstab [Karel Zak]
- add control struct [Karel Zak]
- cleanup includes [Karel Zak]
- update .service to follow /etc/fstab [Karel Zak]
- use -n shortcut for --dry-run [Karel Zak]
- use new ul_path_* API [Karel Zak]
- use new ul_path_* API, improve sysfs context usage [Karel Zak]
hwclock:
- add --delay <seconds> [Karel Zak]
- fix warning [Karel Zak]
- rely on kernel for RTC_UIE_ON on Aplha and Sparc [Karel Zak]
- remove ntpd from man page [Karel Zak]
include/all-io:
- const cleanup [Karel Zak]
include/c:
- add NAME_MAX compat [Sevan Janiyan]
- add str2memcpy() and mem2strcpy() [Karel Zak]
include/list, include/c:
- update and container_of() [Karel Zak]
include/path:
- make sure PATH_MAX is defined [Karel Zak]
include/pt-mbr.h:
- fix integer overflow [Sami Kerola]
include/strutils:
- remove unnecessary cast [Karel Zak]
include/ttyutils:
- define values if missing. [Sevan Janiyan]
ipcs:
- use new ul_path_* API [Karel Zak]
ipcs,chmem:
- fix access() usage [Ruediger Meier]
iscript:
- s/COLS/COLUMNS/ in start message [Karel Zak]
last:
- fix false positive compiler warning [Sami Kerola]
- make sure domain is zero terminated [Karel Zak]
lib/canonicalize:
- fix truncation warning [Sami Kerola]
lib/color-names:
- const cleanup [Karel Zak]
lib/colors:
- fix compiler warnings [-Wcast-qual] [Karel Zak]
lib/loopdev:
- fix compiler warning [-Wcast-qual] [Karel Zak]
- remove obsolete macro [Karel Zak]
- use new ul_path_* API [Karel Zak]
lib/mangle:
- const quialifier cleanup [Karel Zak]
lib/pager:
- fix compiler warning [-Wrestrict] [Karel Zak]
lib/path:
- add more debug messages [Karel Zak]
- add ul_path_get_abspath() [Karel Zak]
- add ul_path_read_buffer() [Karel Zak]
- add ul_prefix_fopen(), improve cpuset funcs [Karel Zak]
- allow dir-path formatting [Karel Zak]
- don't use extra '/' [Karel Zak]
- fix read string to be backwardly compatible [Karel Zak]
- improve debug message on redirect [Karel Zak]
- make ul_path_read_ usable with NULL handler [Karel Zak]
- new implementation [Karel Zak]
- remove unused expression [Ruediger Meier]
- simplify debug message [Karel Zak]
lib/path lib/sysfs:
- add debug [Karel Zak]
lib/strutils:
- fix strnlen() fallback [Karel Zak]
- follow const in parse_size() [Karel Zak]
- remove redundant condition [Karel Zak]
- return from xstrmode() [Karel Zak]
lib/sysfs:
- add sysfs_blkdev_get_parent() [Karel Zak]
- add ul_new_sysfs_path() shortcut [Karel Zak]
- cleanup function names [Karel Zak]
- fix sysfs_blkdev_get_wholedisk() [Karel Zak]
- fix ul_path_read_string() usage [Karel Zak]
- make possible to call sysfs_blkdev_deinit_path() in loop [Karel Zak]
- new implementation [Karel Zak]
libblkid:
- (hfs) check allocation size [Karel Zak]
- (ntfs) enlarge cluster limit to 2MB [Karel Zak, Jean-Pierre André]
- (ntfs) fix cluster size check [Karel Zak]
- (zfs) fix compiler warning [-Wmaybe-uninitialized] [Karel Zak]
- Add more APFS checking to avoid false positives [Harry Mallon]
- Add very basic APFS recognition [Harry Mallon]
- Check for a secondary LUKS2 header. [Milan Broz]
- add BitLocker detection [Karel Zak]
- const qualifier cleanup [Karel Zak]
- udf Fix reporting UDF 2.60 revision [Pali Rohár]
- use new ul_path_* API [Karel Zak]
- use xstrncpy() for PT id [coverity scan] [Karel Zak]
- vfat Change parsing label in special cases [Pali Rohár]
libfdisk:
- (docs) add missing function [Karel Zak]
- (docs) fix section name [Karel Zak]
- Accept negative numbers for last sector input [Awal Garg]
- Fix multipath partition seperators for user-friendly names [KyleMahlkuch]
- accept grain script header [Karel Zak]
- add fdisk_get_devmodel() and fdisk_get_devno() [Karel Zak]
- count gaps to possible size when resize [Karel Zak]
- fix OSX compiler warning [Ruediger Meier]
- fix compiler warning [-Wmaybe-uninitialized] [Karel Zak]
- fix compiler warning [-Wunused-parameter] [Karel Zak]
- fix compiler warnings [-Wcast-qual] [Karel Zak]
- fix list_del after partition reset [Vaclav Dolezal]
- fix printf format modifier [Ruediger Meier]
- improve JSON output [Karel Zak]
- reduce number of asprintf() calls, check return value [Karel Zak]
- use \x<hex> to read/write partition name [Karel Zak]
- use new ul_path_* API [Karel Zak]
libmount:
- (mountinfo) parse empty strings in source [Alban Crequy]
- (utils) fix compiler warnings [-Wcast-qual] [Karel Zak]
- accept another flags on MS_REMOUNT|MS_BIND [Karel Zak]
- add missing const [Karel Zak]
- add since tag for new functions [Karel Zak]
- add support for switching namespaces [Vaclav Dolezal]
- added error MNT_ERR_NAMESPACE [Vaclav Dolezal]
- cleanup const in umount code [Karel Zak]
- cleanup licenses sections in the files [Karel Zak]
- don't use MS_MGC_VAL magic in mount(2) syscall [Karel Zak]
- fix compiler warning [-Wcast-qual] [Karel Zak]
- fix compiler warning [-Wunused-parameter] [Karel Zak]
- fix mnt_table_is_fs_mounted() for NFS bind mounts. [NeilBrown]
- improve MS_REC usage [Karel Zak]
- improve docs about mnt_context_mount() return codes [Karel Zak]
- include sys/mount.h on Linux only [Karel Zak]
- include sys/mount.h only if necessary [Karel Zak]
- keep namespaces support optional [Karel Zak]
- make errno usable after mnt_context_set_target_ns() [Karel Zak]
- note namespaces in mnt_reset_context() docs [Vaclav Dolezal]
- report context paths on debug [Karel Zak]
- support for namespaces for helpers [Vaclav Dolezal]
- switch namespace when appropriate [Vaclav Dolezal]
- use const char in fstab parser [Karel Zak]
- use const char in mountinfo parser [Karel Zak]
- use const char in swaps parser [Karel Zak]
libsmartcols:
- allow to add line to table without columns [Karel Zak]
- don't mark as extreme where average is zero [Karel Zak]
- don't print empty column [Karel Zak]
- improve JSON support (add types) [Karel Zak]
- make sure boolean is true/false only [Karel Zak]
libuuid:
- add note about RFC4122 UUID layout [Karel Zak]
- fix name-based UUIDs [Karel Zak]
logger:
- Define SD_JOURNAL_SUPPRESS_LOCATION. [YmrDtnJu]
- add -S to the man page [Karel Zak]
login:
- cleanup code to copy to log strings [Karel Zak]
- use const qualifier for username from PAM or struct passwd [-Wcast-qual] [Karel Zak]
losetup:
- add --output-all option [Sami Kerola]
- add reference to suffixes for --{sizelimit,offset} [Karel Zak]
- fix mem leak, improve code [coverity scan] [Karel Zak]
- keep -f and <devname> mutually exclusive [Karel Zak]
- use scols_column_set_json_type() [Karel Zak]
lsblk:
- add --sysroot [Karel Zak]
- add PATH column [Karel Zak]
- add columns FSAVAIL,FSSIZE,FSUSED,FSUSE% [Karel Zak]
- add lsblk.h [Karel Zak]
- add note about --list -I <maj,...> [Karel Zak]
- add partition table UUID and type fields. [Milan Broz]
- always use "part" as TYPE for partitions [Karel Zak]
- cleanup udev/blkid properties code [Karel Zak]
- consolidate column types for JSON and qsort() [Karel Zak]
- differentiate between swap and mount [Karel Zak]
- document --sysroot [Karel Zak]
- don't ask udev when --sysroot specified [Karel Zak]
- don't exclude RAM disks on --all [Karel Zak]
- encapsulate stat() usage [Karel Zak]
- fix COL_SCHED [Karel Zak]
- fix notes about RAM disks [Karel Zak]
- fix sysfs_devno_to_devname() usage [Karel Zak]
- fix ul_path_read_string() usage [Karel Zak]
- fix unknown type `stat` caused by missing header [Patrick Steinhardt]
- follow --sysroot when read mountpoints [Karel Zak]
- init/deinit libmount stuff [Karel Zak]
- move mount stuff to lsblk-mnt.c [Karel Zak]
- move udev and blkid stuff to lsblk-properties.c [Karel Zak]
- prefer MODEL from udev DB [Karel Zak]
- use lsblk_ prefix mountpoint getter [Karel Zak]
- use new ul_path_* API [Karel Zak]
- use prefix for DM name [Karel Zak]
lscpu:
- Cortex-A12 merged into Cortex-A17 [Karel Zak]
- add 'Address sizes' [Karel Zak]
- add --output-all option [Sami Kerola]
- fix resource leak [coverity scan] [Karel Zak]
- fixed part ID for ARM Cortex-M7 [Mark Sheppard]
- make xasprintf call more robust [Karel Zak]
- use new ul_path_* API [Karel Zak]
- use the first VM from /proc/sysinfo [Karel Zak]
lscpu, chcpu:
- Avoid use of the old CPU macros [Stanislav Brabec]
lsipc:
- cleanup columns[] usage [Karel Zak]
lslocks:
- add --bytes cleanup SIZE usage [Karel Zak]
- add --output-all option [Sami Kerola]
- add info about OFD [Karel Zak]
- fix memory leak [Karel Zak]
- use scols_column_set_json_type() [Karel Zak]
lslogins:
- add --output-all option [Sami Kerola]
- add -o+<COLNAME> support [Karel Zak]
- add PWD-METHOD column [Karel Zak]
- add info about single-user output mode [Karel Zak]
- fix password verification [Karel Zak]
- remove redundant condition [Karel Zak]
- return 1 on "lslogins nonexisting" [Karel Zak]
lsmem:
- add --output-all option [Sami Kerola]
- improve JSON output [Karel Zak]
- make output more compatible with another utils [Karel Zak]
- remove unused variable [Karel Zak]
- use new ul_path_* API [Karel Zak]
lsns:
- add --output-all option [Sami Kerola]
- remove unnecessary include [Karel Zak]
- use scols_column_set_json_type() [Karel Zak]
man:
- Change the only argument to two for the two-fonts macros [Bjarni Ingi Gislason]
- Use the correct macro for a font change of one argument [Bjarni Ingi Gislason]
- choom.1 Use the correct macro for the font change of one argument [Bjarni Ingi Gislason]
man pages:
- Fix misuse of two-fonts-macros (BR, IR) [Bjarni Ingi Gislason]
- Remove "left" (or change to "l") in the column formats of tables [Bjarni Ingi Gislason]
- fix formatting of long lines in tables [Bjarni Ingi Gislason]
mesg:
- do not print 'ttyname failed' message unless --verbose requested [Sami Kerola]
misc-tools/findmnt:
- a few whitespace fixes [sluidfoe]
- add --pseudo, --real filters [sluidfoe]
misc-utils/findmnt:
- misc-utils/findmnt.8 add --pseudo and --real options [sluidfoe]
misc-utils/getopt:
- misc-utils/getopt.1 minor corrections to the manual [Bjarni Ingi Gislason]
mkfs.cramfs:
- properly copy disk name [Karel Zak]
- remove redundant condition [Karel Zak]
mkswap:
- fix compiler warnings [-Wcast-qual] [Karel Zak]
more:
- do not call fileno() for std{in,out,err} streams [Sami Kerola]
- move couple functions [Sami Kerola]
- remove 'register' keywords [Sami Kerola]
- remove dead code and useless comments [Sami Kerola]
- remove function like preprocessor defines [Sami Kerola]
- remove function prototypes [Sami Kerola]
- remove global variables, add struct more_control [Sami Kerola]
- remove pointless functions [Sami Kerola]
- remove unnecessary ifdef preprosessor directives [Sami Kerola]
- rename functions [Sami Kerola]
- rename variable names [Sami Kerola]
- reorder global declarations [Sami Kerola]
- return is statement not a function [Sami Kerola]
mount:
- add -N to man page helpers section [Karel Zak]
- add details about mtab and --namespace to mount.8 [Karel Zak]
- add ext4 to some places to the man page [Karel Zak]
- add note about MS_BIND and _netdev [Karel Zak]
- add support for namespaces [Vaclav Dolezal]
- added options exposing libmount's optsmode [Vaclav Dolezal]
- allow PID as --namespace argument [Vaclav Dolezal]
- document --namespace in man/help [Vaclav Dolezal]
- document --options-* in man/help [Vaclav Dolezal]
- keep MS_MOVE as flag [Karel Zak]
- more notes about --options-* to man page [Karel Zak]
- use internally string to set move/bind operations [Karel Zak]
- use string_to_bitmask() [Vaclav Dolezal]
mount(8):
- clarify behavior of --options-mode [Vaclav Dolezal]
mountpoint:
- simplify test condition [cppcheck] [Sami Kerola]
namei:
- provide more usable error message on lstat() error [Karel Zak]
nls:
- remove translation strings [Sami Kerola]
partx:
- add --output-all option [Sami Kerola]
- exit with error code when partition read failed [Andreas Henriksson]
- use new ul_path_* API [Karel Zak]
po:
- fix lsblk translation [Karel Zak]
- merge changes [Karel Zak]
- pt_BR fix fallocate '-l' help msg [Luiz Angelo Daros de Luca]
- update cs.po (from translationproject.org) [Petr Písař]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update fr.po (from translationproject.org) [Frédéric Marchal]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update pt_BR.po (from translationproject.org) [Rafael Fontenelle]
- update sv.po (from translationproject.org) [Sebastian Rasmussen]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
rename:
- add option --interactive to ask before overwriting [G.raud Meyer]
- ask() call __fpurge() to cater for multi-byte characters [G.raud Meyer]
- ask() print n when EOF on input [G.raud Meyer]
- avoid undefined function prototype for `fpurge` [Patrick Steinhardt]
- check source file access early [G.raud Meyer]
- consolidate printing the symlink in addition to its target [G.raud Meyer]
- detect tty in cbreak mode to make ask() read a single byte [G.raud Meyer]
- fix/reverse the semantics of --no-overwrite in --symlink mode [G.raud Meyer]
- fixup & style (no functional changes) [G.raud Meyer]
- prevent --no-act from setting --no-overwrite [G.raud Meyer]
- rename.1 describe interactive mode [G.raud Meyer]
- rename.1 fix warning section [G.raud Meyer]
- skip faccessat() failure if AT_SYMLINK_NOFOLLOW is not a valid flag [G.raud Meyer]
- test availability of __fpurge() and fpurge() [G.raud Meyer]
- when --no-overwrite skip verbosily only when --verbose [G.raud Meyer]
resizepart:
- use new ul_path_* API [Karel Zak]
rev:
- move a global variable to local scope [Sami Kerola]
rfkill:
- add --output-all option [Sami Kerola]
- don't use lib/path [Karel Zak]
- include <poll.h> instead of <sys/poll.h> [Patrick Steinhardt]
- use scols_column_set_json_type() [Karel Zak]
script:
- add more info to script header [Karel Zak]
- add the -o/--output-limit option. Fix race test. [Fred Mora]
- be sensitive to another SIGCHLD ssi_codes [Karel Zak]
- cleanup done timestamp message [Karel Zak]
- fix printf format specifiers [Ruediger Meier]
- record exit code [Karel Zak]
- use uint64_t for file sizes [Karel Zak]
setarch:
- add another PER_LINUX32 aliases for ppcle [Karel Zak]
- make <arch> optional [Karel Zak]
- split set_arch() function to small functions [Karel Zak]
setpriv:
- add --reset-env [Karel Zak]
- add user/group names to usage() [Karel Zak]
- allow to use group name for --groups [Karel Zak]
- implement option to set parent death signal [Patrick Steinhardt]
setterm:
- fix compiler warnings [-Wcast-qual] [Karel Zak]
sfdisk:
- be more verbose about PMBR on --activate [Karel Zak]
- disable --activate for Hybrid GPT/MBR [Karel Zak]
- document script GPT headers [Karel Zak]
su:
- add --whitelist-environment [Karel Zak]
- add note about SIGKILL to the man page [Karel Zak]
- add note about merged /usr [Karel Zak]
- cleanup code to copy to log strings [Karel Zak]
sulogin:
- do not use plain 0 as NULL [Karel Zak]
- restore signals after failed exec() only [Karel Zak]
swapon:
- add --output-all option [Sami Kerola]
- fix compiler warnings [-Wcast-qual] [Karel Zak]
sys-utils/fallocate:
- sys-utils/fallocate.1 Some tidying of the manual [Bjarni Ingi Gislason]
test:
- update UUID v5 tests [Karel Zak]
tests:
- Add tests for FAT32 labels [Pali Rohár]
- add cal --span tests [Karel Zak]
- add choom to build-sys test [Karel Zak]
- add column --table-empty-lines test [Karel Zak]
- add empty column test [Karel Zak]
- add lsblk test script [Karel Zak]
- add mountinfo with empty source [Karel Zak]
- add simple & stupid script to generate lsblk /sys and /proc dump [Karel Zak]
- add simple ATA and NVME lsblk dump [Karel Zak]
- add simple LVM lsblk dump [Karel Zak]
- check for test_cal [Karel Zak]
- move stderr redirection out from test expression [Sami Kerola]
- remove debug stuff from ts/script/options [Karel Zak]
- remove namei(1) failed lstat test [Karel Zak]
- update JSON outputs [Karel Zak]
- update column(1) space-separator test [Karel Zak]
- update fdisk dialogs [Karel Zak]
- update fdisk output [Karel Zak]
- update lscpu tests [Karel Zak]
- update script done messages [Karel Zak]
- update script headers [Karel Zak]
- update sfdisk JSON output [Karel Zak]
- update sfdisk resize [Karel Zak]
umount:
- add --quiet option [Karel Zak]
- add note about --lazy [Karel Zak]
- add support for namespaces [Vaclav Dolezal]
- allow PID as --namespace argument [Vaclav Dolezal]
- fix behaviour of -A and -R with --namespace [Vaclav Dolezal]
unshare:
- remove -s from --help output [Karel Zak]
wall:
- make sure line is zero terminated [Karel Zak]
wipefs:
- add missing ifdef [Ruediger Meier]
- postpone BLKRRPART until all is done [Karel Zak]
- use scols_column_set_json_type() [Karel Zak]
zramctl:
- (man) explain that --find is necessary [Karel Zak]
- add --output-all option [Sami Kerola]
- fix truncation warning [Sami Kerola]
- use new ul_path_* API [Karel Zak]

View File

@ -0,0 +1,597 @@
Util-linux 2.34 Release Notes
=============================
Release highlights
------------------
hardlink -- NEW COMMAND to consolidate duplicate files via hardlinks has been
merged into util-linux. The new command is not enabled by default. The original
author is Jakub Jelinek.
The command lsblk(8) has been rewritten. Now it keeps all hierarchy of the block
devices in memory before it's printed. It allows to modify or reorder the graph.
The new features based on this functionality are:
* output de-duplication by --dedup, for example 'lsblk --dedup WWN' to
de-duplicate devices by WWN number (e.g. multi-path devices)
* merge repeating parts of the tree by --merge, see for example:
http://karelzak.blogspot.com/2018/11/lsblk-merge.html
The command umount(8) now supports user unmount for FUSE mounts. The requirement
is FUSE specific user_id=<uid> in /proc/self/mountinfo for the filesystem.
The command mount(8) now allows to use "--all -o remount". In this case all
filters (-t and -O) are applied to the table of already mounted filesystems.
The command su(1) now prefers /etc/default/su over /etc/login.defs and
ENV_SUPATH over ENV_ROOTPATH. The option --pty has been improved and it is not
marked as experimental anymore.
The command unshare(1) now allows set user ID and group ID by new command line
options -S/--setuid and -G/--setgid; and new options -R/--root and -w/--wd
allows to set root and working directory (like nsenter(1)).
The command fstrim(8) does not suppress some well known trimming warnings by
default anymore. It's necessary to explicitly use a new command line option
--quiet (recommended for crond or systemd).
The command lscpu(1) now prints 'Frequency boost' and 'Vulnerability' fields.
The caches calculation has been modified to print summary from all system caches
rather than per code numbers; and new command line option --caches lists details
about changes.
The command logger(1) merges multiple MESSAGE= lines into one journald message.
The library libblkid now does not depend on libuuid and newly supports DRBD9
detection.
The libsmartcols has been extended to support N:M relationships when print
tree-like output. This new feature is used by new lsblk --merge output.
The systemd services for fstrim and uuidd now contains hardening settings to
improve security and service isolation.
The command fstrim now trims also root filesystem on --fstab and checks for
read-only filesystems on --all and --fstab.
The package build-system now accepts --enable-asan to compile commands and
execute regression tests with addresses sanitizer.
Stable maintenance releases between v2.33 and v2.34
---------------------------------------------------
util-linux 2.33.1 [Jan 1 2019]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.33/v2.33.1-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.33/v2.33.1-ChangeLog
util-linux 2.33.2 [Apr 4 2019]
* https://www.kernel.org/pub/linux/utils/util-linux/v2.33/v2.33.2-ReleaseNotes
https://www.kernel.org/pub/linux/utils/util-linux/v2.33/v2.33.2-ChangeLog
Changes between v2.33 and v2.34
-------------------------------
agetty:
- Fix input of non-ASCII characters in get_logname() [Stanislav Brabec]
- Return old behavior with empty logname [Stanislav Brabec]
- Switch to 8-bit processing in get_logname() for UTF-8 terminals [Stanislav Brabec]
- fix output of escaped characters [Christian Hesse]
- fix portability issues [Samuel Thibault]
bash-completion:
- add fstrim --quiet [Karel Zak]
- add hardlink completion [Sami Kerola]
- umount support relative path and ~ as home shorthands [Sami Kerola]
- update options before release [Sami Kerola]
blkid:
- (man) cleanup return code section [Karel Zak]
- fix usage() [Karel Zak]
- improve strcpy() usage [coverity scan] [Karel Zak]
- make PART_ENTRY_* tags optional (add --no-part-details) [Karel Zak]
blkzone:
- remove never read value [Karel Zak]
blockdev:
- make -getbsz less confusing for end-users [Karel Zak]
build-sys:
- add 'make checklibdoc' [Karel Zak]
- add --with-pkgconfigdir [Karel Zak]
- add ASAN_LDFLAGS [Karel Zak]
- add PKG_INSTALLDIR fallback [Karel Zak]
- add check-programs make target [Karel Zak]
- add devel-non-asan.conf [Karel Zak]
- add info about ASAN [Karel Zak]
- do not require crypt() [Karel Zak]
- do not require dirfd() [Karel Zak]
- don't use ASAN on XOS [Karel Zak]
- enable ASAN on travis-ci [Karel Zak]
- fix crypt() detection without -lcrypt [Johannes Nixdorf]
- improve error message [Karel Zak]
- make fdisk, sfdisk, cfdisk optional (enabled by default) [Carlos Santos]
- make sure HAVE_TIMER_CREATE defined [Karel Zak]
- release++ (v2.34-rc1) [Karel Zak]
- release++ (v2.34-rc2) [Karel Zak]
- use REALTIME_LIBS for hwclock due to monotonic.c [Karel Zak]
- use __SANITIZE_ADDRESS__ rather than custom USE_CLOSE_ATEXIT [Karel Zak]
cal:
- fix Sexit and Senter [Karel Zak]
- make sure months_in_row makes sense [coverity scan] [Karel Zak]
- use standout mode on monochrome terminals [Karel Zak]
cfdisk:
- free libfdisk items [Karel Zak]
- simplify code [Karel Zak]
chcpu:
- fix memory leak [Karel Zak]
chmem:
- add initilizer [clang] [Sami Kerola]
choom:
- fix negative adjust score usage [Karel Zak]
col:
- improve error message, update regression test [Karel Zak]
- make flush_line() a little bit robust [Karel Zak]
column:
- Address fill-order confusion in documentation [dana]
- fix "maybe be" duplication [Austin English]
- make code more robust [coverity scan] [Karel Zak]
dmesg:
- correct "-n, --console-level level" example in manual page [Jean-Philippe ROMAIN]
- make strtok() use more robust [Karel Zak]
docs:
- TODO lscpu --list-caches [Karel Zak]
- add col(1) to TODO [Karel Zak]
- add link to mail list archive [Sami Kerola]
- add lsblk --merge to TODO [Karel Zak]
- add lscpu --caches to ReleaseNotes [Karel Zak]
- fix typo [Jakub Wilk]
- fix typos [codespell] [Sami Kerola]
- update AUTHORS file [Karel Zak]
- update TODO [Karel Zak]
- update v2.34-ReleaseNotes [Karel Zak]
fallocate:
- make posix_fadvise() use more readable for analyzers [Karel Zak]
fdisk:
- add note about -S and -H [Karel Zak]
- initialize buffers for get_user_reply() [coverity scan] [Karel Zak]
- make partition types uses more robust [Karel Zak]
- support CTRL+C on change-partition-type dialog [Karel Zak]
- use 2 decimal places for size in disk summary [Karel Zak]
fincore:
- remove unused variable [clang scan] [Karel Zak]
findmnt:
- (verify) check mnt_table_next_fs() return code [coverity scan] [Karel Zak]
- (verify) ignore passno for XFS [Karel Zak]
- fix filters use on --list [Karel Zak]
- keep it easy for static analyzers [Karel Zak]
fsck:
- (man) labels are available for all filesystems [Karel Zak]
fsck.cramfs:
- fix utimes() usage [Karel Zak]
- use utimes() instead of utime() that is obsolete [Sami Kerola]
fstrim:
- Add Documentation key to fstrim.service [Andreas Henriksson]
- Add hardening settings to fstrim.service [Andreas Henriksson]
- Fix fstrim_all() comment [Stanislav Brabec]
- add --quiet option to suppress error messages [Sami Kerola]
- affect only warnings by --quiet [Karel Zak]
- check for read-only devices on -a/-A [Karel Zak]
- document kernel return minlen explicitly [Wang Shilong]
- fix usage() [Karel Zak]
- get realpath before trim ioctl [Wang Shilong]
- properly de-duplicate fstrim -A [Stanislav Brabec]
- trim also root FS on --fstab [Karel Zak]
- update man page, reuse libmnt_iter [Karel Zak]
- use long options in systemd service file [Sami Kerola]
fstrim -a/-A:
- Skip read-only volumes [Stanislav Brabec]
fstrim.c:
- Remove commnet about vfat not supporting fstrim [Marcos Paulo de Souza]
hardlink:
- (man) add AVAILABILITY [Karel Zak]
- add first simple tests [Ruediger Meier]
- add long options [Karel Zak]
- avoid uninitialized variables [clang scan] [Karel Zak]
- cleanup error messages, use xalloc.h [Karel Zak]
- cleanup global variables [Karel Zak]
- cleanup verbose and warning messages [Karel Zak]
- enable build with and without pcre2 [Ruediger Meier]
- fix bad formatting in hardlink.1 [Karel Zak]
- fix compiler warnings [Ruediger Meier]
- fix compiler warnings [-Wsign-compare -Wmaybe-uninitialized]] [Karel Zak]
- make code more readable [Karel Zak]
- move global variables to a control structure [Sami Kerola]
- remove \r from output [Karel Zak]
- remove typedefs [Karel Zak]
- rename function [Karel Zak]
- retire NIOBUF in favour of more common BUFSIZ [Sami Kerola]
- style indentations and license header [Ruediger Meier]
- use flexible array member rather than zero-size array [Sami Kerola]
- util-linux usage [Ruediger Meier]
hardlink, wall:
- fix variable shadowing [Sami Kerola]
hexdump:
- fix potential null pointer dereference warnings [Sami Kerola]
hwclock:
- don't use uninitialized value [coverity scan] [Karel Zak]
- use monotonic time to measure how long setting time takes [Sami Kerola]
include:
- add indirect monotonic clock id specifier [Sami Kerola]
- add no return function attribute [Sami Kerola]
include/c:
- add print_version() macro [Karel Zak]
- check returns_nonnull function attribute with __GNUC_PREREQ [Sami Kerola]
- re-add type checking in container_of() [Ruediger Meier]
- use __has_attribute [Karel Zak]
- use returns_nonnull function attribute in xalloc.h [Sami Kerola]
include/closestream:
- add close_stdout_atexit() [Karel Zak]
include/list:
- add list_entry_is_first() and list_count_entries() [Karel Zak]
include/path.h:
- remove duplicate header inclusion [Sami Kerola]
include/strutils:
- add functions to replace and remove chars from string [Karel Zak]
- fix potential null pointer dereference [Sami Kerola]
ipcs:
- check return value when read from /proc [coverity scan] [Karel Zak]
last:
- do not use non-standard __UT_NAMESIZE [Patrick Steinhardt]
- fix wtmp user name buffer overflow [asan] [Sami Kerola]
ldattach:
- Check for value of _HAVE_STRUCT_TERMIOS_C_ISPEED [Khem Raj]
lib/canonicalize:
- do restricted canonicalize in a subprocess [Rian Hunter, Karel Zak]
- fix compiler warning [-Wsign-compare] [Karel Zak]
- fix typo [Karel Zak]
- verify DM paths [coverity scan] [Karel Zak]
lib/colors:
- fix "maybe be" duplication [Austin English]
- force to "never" mode on non-terminal output [Karel Zak]
- keep static analyzer happy [coverity scan] [Karel Zak]
- remove redundant if statement [Sami Kerola]
- remove unnecessary goto [Karel Zak]
lib/fileutils:
- add xreaddir() [Karel Zak]
lib/ismounted:
- use xstrncpy() [Karel Zak]
lib/loopdev:
- differentiate between setter()s and ioctl calls [Karel Zak]
- set blocksize when create a new device [Karel Zak]
lib/loopdev.c:
- Inline loopcxt_has_device [Marcos Paulo de Souza]
- Retry LOOP_SET_STATUS64 on EAGAIN [Romain Izard]
lib/mangle:
- fix possible null pointer dereference [cppcheck] [Sami Kerola]
lib/path:
- allow to close dirfd [Karel Zak]
- consolidate ul_path_mkpath() usage [Karel Zak]
- fix possible NULL dereferencing [coverity scan] [Karel Zak]
- fix possible NULL pointer dereferencing [coverity scan] [Karel Zak]
- fix resource leak [coverity scan] [Karel Zak]
- fix ul_path_get_dirfd() usage [coverity scan] [Karel Zak]
- remove extra semi-colons [Karel Zak]
- use xstrncpy() [Karel Zak]
lib/strutils:
- keep static analyzer happy [coverity scan] [Karel Zak]
- parse_size() fix frac digit calculation [Karel Zak]
- parse_size() fix frac with zeros [Karel Zak]
- support two decimal places in size_to_human_string() output [Karel Zak]
lib/sysfs:
- add function to detect partitioned devices [Karel Zak]
- fix reference counting for parent [Karel Zak]
- use xstrncpy() [Karel Zak]
lib/timer:
- add fallback if timer_create() not available [Karel Zak]
lib/ttyutils:
- introduce get_terminal_stdfd() [Karel Zak]
libblkid:
- (bluestore) terminate magic strings array [Karel Zak]
- (ntfs) fix compiler warning [-Wpedantic] [Karel Zak]
- (silicon raid) improve checksum calculation [-Waddress-of-packed-member] [Karel Zak]
- Don't check BLKID_PROBE_INTERVAL in blkid_verify [Nikolay Borisov]
- Fix hidding typo [Andreas Henriksson]
- Set BLKID_BID_FL_VERIFIED in case revalidation is not needed [Nikolay Borisov]
- add check for DRBD9 [Roland Kammerer]
- don't ignore blkid_probe_set_magic() errors [coverity scan] [Karel Zak]
- fix detection of dm-integrity superblock [Milan Broz]
- fix detection of dm-integrity superblock version [Milan Broz]
- fix possible uninitialized value use [coverity scan] [Karel Zak]
- improve whole-disk detection when read /proc/partitions [Karel Zak]
- make partitions reference counting more robust [coverity scan] [Karel Zak]
- remove dependence on libuuid [Karel Zak]
- remove unneeded fields from struct bcache_super_block [Sami Kerola]
- stratis correct byte order [Tony Asleson]
- tiny code simplification [Karel Zak]
libfdisk:
- (bsd) improve checksum calculation [-Waddress-of-packed-member] [Karel Zak]
- (docs) add reference to v2.33 [Karel Zak]
- (dos) Use strtoul to parse the label-id [Juerg Haefliger]
- (dos) improve first unused sector for logical partitions [Karel Zak]
- (dos) rewrite fist/last free sector functions [Karel Zak]
- (gpt) add HiFive Unleashed bootloader partition UUIDs [Icenowy Zheng]
- (sgi) improve checksum calculation [-Waddress-of-packed-member] [Karel Zak]
- add comment to fdisk_set_first_lba() [Karel Zak]
- assert if self_pte() returns NULL [Sami Kerola]
- avoid division by zero [clang scan] [Karel Zak]
- avoid memory leak [coverity scan] [Karel Zak]
- properly check return code of add_to_partitions_array() [coverity scan] [Karel Zak]
- remove unused code [clang scan] [Karel Zak]
- sanity check, to prevent overlapping partitions from being partly reported as free [Fabian.Kirsch@dlr.de]
- use list_add_tail() in more robust way [Karel Zak]
libmount:
- (docs) add reference to v2.33 and v2.34 [Karel Zak]
- (fuse) follow only user_id= on umount [Karel Zak]
- (tabdiff) use list_add_tail() in more robust way [Karel Zak]
- (umount) make mnt_stat_mountpoin() usable for relative paths [Karel Zak]
- Recognize more fuse filesystems as pseudofs and netfs [Stanislav Brabec]
- Support unmount FUSE mounts [Rian Hunter, Karel Zak]
- add bpf between pseudo filesystems [Karel Zak]
- add mnt_table_{find,insert,move}_fs() [Karel Zak, Tim Hildering]
- add selinuxfs between pseudo filesystems [Karel Zak]
- add support for MS_REMOUNT on --all [Karel Zak]
- avoid possible null pointer dereference [cppcheck] [Sami Kerola]
- check table membership before adding entry [Tim Hildering]
- don't use sscanf() for fstab parsing [Karel Zak]
- don't use sscanf() for mountinfo parsing [Karel Zak]
- don't use sscanf() for swaps parsing [Karel Zak]
- export mnt_guess_system_root() by API [Karel Zak]
- fix "maybe be" duplication [Austin English]
- fix compiler warning [-Wsometimes-uninitialized] [Karel Zak]
- fix docs typo [Karel Zak]
- fix memleak on parse errors [Karel Zak]
- fix memory leak on error [coverity scan] [Karel Zak]
- improve fs referencing in tables [Tim Hildering]
- return errno on failed fstab stat() [Karel Zak]
libsmartcols:
- (docs) add reference to v2.33 and v2.34 [Karel Zak]
- (groups) improve debug messages [Karel Zak]
- (groups) improve scols_table_group_lines() args check [coverity scan] [Karel Zak]
- (groups) print group childrent after regualr tree [Karel Zak]
- (groups) remove hardcoded const numbers [Karel Zak]
- (groups) use print functions tp calculate grpset [Karel Zak]
- add another UTF symbols [Karel Zak]
- add generic function to walk on tree [Karel Zak]
- add grouping API docs [Karel Zak]
- add grouping samples [Karel Zak]
- add is_last_child(), move is_last_column() [Karel Zak]
- add lines grouping support [Karel Zak]
- cell width calulation cleanup [Karel Zak]
- fix variable shadowing [Sami Kerola]
- fix docs [Karel Zak]
- fix groups reset, add debugs [Karel Zak]
- move buffer stuff to buffer.c [Karel Zak]
- move width calculation to separate file [Karel Zak]
- print tree also for empty cells [Karel Zak]
- remove extra ';' outside of a function [-Wextra-semi] [Sami Kerola]
- rename table_print.c to print.c [Karel Zak]
- split print.c into print.c, put.c and print-api.c [Karel Zak]
- use list_add_tail() in more robust way [Karel Zak]
- use scols_walk_* for calculations and printing [Karel Zak]
libuuid:
- fix man page typos [Seth Girvan]
logger:
- (man) add info about rewrite and authors [Karel Zak]
- (man) make more obvious that --server/socket is required [Karel Zak]
- concatenate multiple lines of MESSAGE into a single field. [Karel Zak]
- make code more robust for static analyzer [clang scan] [Karel Zak]
login:
- add support for login.defs(5) LASTLOG_UID_MAX [Karel Zak]
- retire use of __FUNCTION__ macro [Karel Zak, Sami Kerola]
login-utils/logindefs:
- clenaup API [Karel Zak]
losetup:
- keep static analyzer happy [coverity scan] [Karel Zak]
- man page has repeating words [make checkmans] [Karel Zak]
- properly use --sector-size when create a new device [Karel Zak]
- update an error message [Jeffrey Ferreira]
- use offset in warn_size() calculation [Karel Zak]
- use xstrncpy() [Karel Zak]
lsblk:
- add --dedup <column> [Karel Zak]
- add --merge [Karel Zak]
- add basic function to build devices tree [Karel Zak]
- add comments [Karel Zak]
- add devtree_get_device_or_new() [Karel Zak]
- add lsblk_device_has_dependence() [Karel Zak]
- add more debug messages [Karel Zak]
- add process_all_devices_inverse() [Karel Zak]
- allow to specify tree column [Karel Zak]
- apply --nodeps to partitions too [Karel Zak]
- check stat() return code [coverity scan] [Karel Zak]
- check ul_path_scanf() return value [coverity scan] [Karel Zak]
- cleanup device reference in the tree [Karel Zak]
- don't keep sysfs dirs open [Karel Zak]
- fix "maybe be" duplication [Austin English]
- fix devtree deallocation [Karel Zak]
- fix heap-use-after-free [Karel Zak]
- fix null pointer dereferences [Sami Kerola]
- force tree on --json --tree independently on used columns [Karel Zak]
- keep functions names consistent [Karel Zak]
- make device_get_data() more generic [Karel Zak]
- make devtree dependences more generic [Karel Zak]
- make process_partitions() more readable [Karel Zak]
- make sure __process_one_device() has proper arguments [coverity scan] [Karel Zak]
- process_one_device() refactoring [Karel Zak]
- properly initialize structs [Karel Zak]
- read queue/discard_granularity only when necessary [Karel Zak]
- remember whole-disk, remove unused struct member [Karel Zak]
- remove badly named debug interface name [Karel Zak]
- remove unncessary parent pointer [Karel Zak]
- remove unused reset_device() [Karel Zak]
- rename blkdev_cxt to lsblk_device [Karel Zak]
- rename reset_lsblk_device() to reset_device() [Karel Zak]
- rename set_device() [Karel Zak]
- reorder functions [Karel Zak]
- reuse 'removable' flag from parent [Karel Zak]
- split sysfs reading and scols table filling [Karel Zak]
- use ID_SCSI_SERIAL when available [Sven Wiltink]
- use devtree functions [Karel Zak]
- use real rather than hardcoded parent [Karel Zak]
lscpu:
- (man) make SYNOPSIS compatible with another utils [Karel Zak]
- (man) tiny changes [Karel Zak]
- Add aarch32 detection on aarch64 [Jeremy Linton]
- Add additional aarch64 models [Jeremy Linton]
- add 'Frequency boost' [Karel Zak]
- add --bytes [Karel Zak]
- add --caches [Karel Zak]
- check scols_line_set_data() return value [coverity scan] [Karel Zak]
- define libsmartcols flags for -e [Karel Zak]
- document --hex output regression (since v2.30) [Karel Zak]
- fix --caches order [Karel Zak]
- fix and document --output-all [Karel Zak]
- fix excl[] array order [Karel Zak]
- fix floating point exception [Sami Kerola]
- make lookup() use more consistent [coverity scan] [Karel Zak]
- move trailing null after removing characters from a string [Sami Kerola]
- remove extra space from field key name [Sami Kerola]
- remove redundant condition check [cppcheck] [Sami Kerola]
- rename macros and functions [Karel Zak]
- report CPU vulnerabilities [Karel Zak]
- report more usable cache sizes [Karel Zak]
- wrap default output long lines on terminal [Karel Zak]
lslogins:
- Fix discrepancies of SYS_UID_MIN [Stanislav Brabec]
- make valid_pwd() more robust [Karel Zak]
- remove duplicate NULL check [Sami Kerola]
mesg:
- avoid 'ttyname failed Success' message [Karel Zak]
misc:
- consolidate version printing and close_stdout() [Karel Zak]
mkswap:
- be more explicit about maximal number of pages [Karel Zak]
- fix page size warning message [Noel Cragg]
- use dd(1) in example rather than fallocate(1) [Karel Zak]
mount:
- (man) add note about --all to remount desc [Karel Zak]
- Do not call mnt_pretty_path() on net file systems. [Stanislav Brabec]
- fix "maybe be" duplication [Austin English]
- mount.8 clarify (no)suid behavior on file capabilities [Peter Wu]
po:
- merge changes [Karel Zak]
- update cs.po (from translationproject.org) [Petr Písař]
- update da.po (from translationproject.org) [Joe Hansen]
- update de.po (from translationproject.org) [Mario Blättermann]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update fr.po (from translationproject.org) [Frédéric Marchal]
- update hr.po (from translationproject.org) [Božidar Putanec]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update pt_BR.po (from translationproject.org) [Rafael Fontenelle]
- update sv.po (from translationproject.org) [Sebastian Rasmussen]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
- update zh_CN.po (from translationproject.org) [Boyuan Yang]
readprofile:
- be more explicit with used types [cppcheck] [Karel Zak]
- check input file is not empty [asan] [Sami Kerola]
renice:
- make code more readable for static analyzer [coverity scan] [Karel Zak]
rev:
- be careful with close() [Karel Zak]
rtcwake:
- fix "maybe be" duplication [Austin English]
- terminate mode and excl[] [Karel Zak]
- use poweroff if shutdown is not found [Justin Chen]
setarch:
- add new e2k subarches [Andrew Savchenko]
- avoid NULL dereference [coverity check] [Karel Zak]
- don't return address of automatic variable [Andreas Schwab]
- fix obscure sparc32bash use-case [Karel Zak]
setpriv:
- fix memory leak in local scope [coverity scan] [Karel Zak]
setterm:
- disallow "default" for --ulcolor/--hbcolor [Jakub Wilk]
- fix --hbcolor description [Jakub Wilk]
- fix bright colors for --ulcolor/--hbcolor [Jakub Wilk]
- update comments about -ulcolor/-hbcolor syntax [Jakub Wilk]
sfdisk:
- Avoid out of boundary read with readline [Tobias Stoeckmann]
- fix logical partition resize when start specified [Karel Zak]
- remove unnecessary size check [cppcheck] [Sami Kerola]
- use xstrcpy() [Karel Zak]
su:
- add note about ECHO on --pty [Karel Zak]
- be sensitive to another SIGCHLD ssi_codes [Karel Zak]
- change error message [Karel Zak]
- fix --pty terminal initialization [Karel Zak]
- make comment more friedly to 'make checkxalloc' [Karel Zak]
su-common.c:
- prefer /etc/default/su over login.defs [Stanislav Brabec]
- prefer ENV_SUPATH over ENV_ROOTPATH [Stanislav Brabec]
su/runuser:
- don't mark --pty as experimental, add it to runuser.1 too [Karel Zak]
sulogin:
- fix variable / function shadowing [cppcheck] [Sami Kerola]
swapon:
- (man) cleanup note about holes [Karel Zak]
- (man) iomap for swapfile is already supported by kernel [Karel Zak]
- be more explicit about BTRFS [Karel Zak]
- rewrite section about swapfiles [Karel Zak]
- swapon.8 mention btrfs(5) [Marcos Mello]
taskset:
- fix cpuset list parser [Karel Zak]
tastset:
- (man) add N stride for CPU lists [Karel Zak]
test:
- Adding AMD EPYC 7451 24-Core Processor [Erwan Velu]
tests:
- (hardlink) update noregex [Karel Zak]
- (hardlink) update summary output [Karel Zak]
- (kill) do not use shell build-in [Karel Zak]
- add --noskip-commands [Karel Zak]
- add --use-system-commands [Karel Zak]
- add /mnt/test/foo^Mbar to mountinfo tests [Karel Zak]
- add asan build-sys test [Karel Zak]
- add fdisk (dos) first sector dialog test [Karel Zak]
- add missing TS_CMD_UMOUNT check [Karel Zak]
- add missing ts_check_test_command call [Karel Zak]
- add missing ts_check_test_command calls [Karel Zak]
- add test images for drbd v08/v09 [Roland Kammerer]
- auto-enable ASAN option if necessary [Karel Zak]
- build-sys update [Karel Zak]
- check for tar and {b,g}zip [Karel Zak]
- enlarge backing file for fstab-btrfs [Karel Zak]
- fix TS_ENABLE_ASAN usage [Karel Zak]
- ignore errors with enabled ASAN in python bindings [Karel Zak]
- make lsns-netnsid portable [Karel Zak]
- make sure TS_HELPER_MBSENCODE compiled [Karel Zak]
- run oids test only when uuidgen tool was built [Thomas Deutschmann]
- update build-sys output [Karel Zak]
- update fdisk outputs [Karel Zak]
- update lscpu due to 'Vulnerability' fields [Karel Zak]
- update lscpu output [Karel Zak]
- use TS_ENABLE_ASAN in tests to detect ASAN [Karel Zak]
- use subtests in fdisk/mbr-nondos-mode [Karel Zak]
timeutils:
- match today day and this year correctly [Sami Kerola]
ul:
- make sure buffers are zeroized [coverity scan] [Karel Zak]
umount:
- be more strict about --all [Karel Zak]
- fix --quiet [Karel Zak]
unshare:
- allow to set a new root [Laurent Vivier]
- allow to set user ID and group ID [Laurent Vivier]
utmpdump:
- check ftello() return value [Karel Zak]
- fix word swapping in manual page [Carlos Santos]
uuidd:
- Add Documentation key to uuidd.service [Andreas Henriksson]
- Add hardening settings to uuidd.service [Andreas Henriksson]
various:
- fix 'uninitialized when used' warnings [clang] [Sami Kerola]
vipw:
- use xstrncpy() [Karel Zak]
wall:
- make sure ut_line is not empty [Karel Zak]
- remove unnecessary warning [Karel Zak]
whereis:
- make subdirs scan more robust [Karel Zak]
- search in /(s)bin before /usr/lib [Karel Zak]
- use xstrncpy() [Karel Zak]
wipefs:
- fix variable / function shadowing [cppcheck] [Sami Kerola]
zramctl:
- use xstrncpy() [Karel Zak]

View File

@ -0,0 +1,540 @@
Util-linux 2.35 Release Notes
=============================
Release highlights
------------------
agetty(8) now provides a new command-line option --show-issue to print issue
file(s) on the current terminal in the same way how it will be printed when
agetty(8) executed regularly.
agetty(8) supports /run/issue and /usr/lib/issue files and directrories now.
dmesg(1) escapes unprintable and potentially unsafe characters by default. The
new command-line option --noescape disables this feature.
kill(1) now uses pidfd kernel feature to implement a new command-line option
--timeout. The option allows sending a sequence of follow-up signals with
defined timeouts without the possibility of race.
script(1) now used the same PTY code as su(1) --pty. script(1) has also been
massively extended to support new logging features like log signals, stdin or
additional session information. The new features are implemented by the new
timing file format. The changes are backwardly compatible, and the original
timing file format is still the default.
scriptreplay(1) now allows to extract stdin or session summary from script(1)
logs.
scriptlive(1) this NEW COMMAND re-execute stdin log by a shell in PTY session.
mount(8) and libmount now provides built-in dm-verity support if linked with
libcryptsetup. This new feature is EXPERIMENTAL and disabled by default; use
--with-cryptsetup to enable.
libmount now uses poll() syscall to verify /proc/self/mountinfo file consistence
and it re-read the file if modified during previous read call.
mount(8) now provides a new command-line option --target-prefix to mount, for
example, fstab to an alternative location. This feature is usable, for example,
for chroots or containers.
mount(8) now allows to use -o together with --all, for example, "mount --all
-o ro --target-prefix /foo" will mount real-only all filesystems from fstab to
/foo.
lsblk(8) provides new columns FSVER (filesystem version) and PARTTYPENAME
(human-readable partition type).
lsblk(8) reads device properties from /dev/<devname> text file when executed
with --sysroot. This is usable for tests and dumps.
sfdisk(8) uses progress bar for --move-data and data move is now significantly
faster than in previous versions as it does not use fsync during the data move
(use --move-use-fsync to disable this feature).
Changes between v2.34 and v2.35
-------------------------------
agetty:
- Remove superfluous fflush() [Stanislav Brabec]
- add --show-issue to review issue output [Karel Zak]
- add support for /run/issue and /usr/lib/issue [Karel Zak]
- keep freed issue file pointer zeroized [Karel Zak]
- return proper value if compiled without ISSUEDIR support [Patrick Steinhardt]
- simplify code in dolog() preprocessor blocks [Sami Kerola]
bash-completion:
- (unshare) add --map-current-user [Karel Zak]
- Add fallback for symlinks/images [Kevin Locke]
- Add non-canonical device fallback [Kevin Locke]
- Standardize fsck/mkfs file/device [Kevin Locke]
- update for new script tools [Karel Zak]
- update options [Sami Kerola]
- update script, scriptlive, and scriptreplay files [Sami Kerola]
blkid:
- (man) add note about udev to --list-one [Karel Zak]
- retport block size of a filesystem [Mikulas Patocka]
build-sys:
- .gitignore hwclock-parse-date.c [Karel Zak]
- Include <stdlib.h> in ./configure wchar_t test [Florian Weimer]
- add --with-cryptsetup to config-gen.d/all.conf [Karel Zak]
- add UL_REQUIRES_ARCH() [Karel Zak]
- add missing NR underscore to UL_CHECK_SYSCALL() [Sami Kerola]
- add missing header [Karel Zak]
- check for linux/capability.h [Karel Zak]
- cleanup prefixed used for tests [Karel Zak]
- fix UTIL_LINUX_PT_SGI_H macro [lgtm scan] [Karel Zak]
- fix build with pty [Karel Zak]
- fix out-of-tree build for hwclock [Karel Zak]
- fix typo [Karel Zak]
- improve hwclock CMOS dependences [Karel Zak]
- introduce $sysconfstaticdir [Karel Zak]
- make scriptlive optional [Samuel Thibault]
- release++ (v2.35-rc1) [Karel Zak]
- release++ (v2.35-rc2) [Karel Zak]
- remove duplicate includes [Karel Zak]
- support 'none' for parallel tests [Karel Zak]
- use parse-date() only for hwclock [Karel Zak]
cal:
- (man) make -w, -m and --iso relation more obvious [Karel Zak]
cfdisk:
- check mnt_table_parse_fstab() return code [coverity scan] [Karel Zak]
chfn:
- don't append extra tailing commas [Karel Zak]
choom:
- improve docs [Karel Zak]
chsh:
- replace getpw unsafe functions with xgetpw [Quentin Rameau]
cleanup:
- Remove some spurious spaces [Elliott Mitchell]
colcrt:
- make seek to \n more robust [Karel Zak]
column:
- fix outputing empty column at the end of line [Yousong Zhou]
- pass control struct to local_wcstok() [Sami Kerola]
cript:
- always use decimal point numbers in logs [Karel Zak]
disk-utils:
- docs fix sfdisk(8) man page typo [Matthew Krupcale]
dmesg:
- add --noescape [Karel Zak]
- do not stop on \0 [Karel Zak]
- fix output hex encoding [Karel Zak]
doc:
- howto-man-page.txt Use font macros instead of font escapes [Bjarni Ingi Gislason]
docs:
- Fix adjtime documentation [Pierre Labastie]
- add GPLv3 text [Karel Zak]
- add bjd-pfq to AUTHORS (rev.c co-author) [Karel Zak]
- add irqtop to TODO [Karel Zak]
- add non-signalfd PTY request to TODO [Karel Zak]
- add sfdisk --dump and --backup improvements to TODO [Karel Zak]
- add v2.35-ReleaseNotes [Karel Zak]
- correct su.1 runuser reference from section 8 to 1 [Sami Kerola]
- fix mixtyped constant. [Andrius Štikonas]
- fix typos [fossies codespell scan] [Karel Zak]
- remove implemented TODO items [Karel Zak]
- try to find broken man references and fix them [Sami Kerola]
- update AUTHORS file [Karel Zak]
- update howto-tests.txt [Karel Zak]
- update v2.35-ReleaseNotes [Karel Zak]
- update year in libs docs [Karel Zak]
- we have 2019 already [Karel Zak]
eject:
- use O_EXCL on default [Karel Zak]
fallocate:
- fallocate.1 List gfs2 as supporting punch-hole [Andrew Price]
fdformat:
- cast before lseek [lgtm scan] [Karel Zak]
fdisk:
- Correct handling of hybrid MBR [Elliott Mitchell]
- add hint about --wipe to warning [Karel Zak]
- cleanup wipe warning [Karel Zak]
- fix quit dialog for non-libreadline version [Karel Zak]
- make quit question more usable [Karel Zak]
- use 'r' to return from MBR to GPT [Karel Zak]
fsfreeze:
- remove unnecessary condition [lgtm scan] [Karel Zak]
fstrim:
- fix systemd service protection [Karel Zak]
- ignore non-directory mountpoints [Karel Zak]
hexdump:
- add header file guards [lgtm scan] [Karel Zak]
hwclock:
- add SPDX-License-Identifier(s) [Karel Zak]
- report rtc open() errors on --verbose [Karel Zak]
- use CMOS clock only if available [Carlos Santos]
include:
- add some missing licence stuff to header files [Karel Zak]
include/all-io:
- remove unnecessary condition [lgtm scan] [Karel Zak]
include/closestream:
- avoid close more than once [Karel Zak]
- fix assignment to read-only standard streams [Patrick Steinhardt]
include/pidfd-utils:
- small cleanup [Karel Zak]
include/strutils:
- add strdup_between_structs() [Karel Zak]
- add strrealloc() [Karel Zak]
include/xalloc:
- ensure xstrdup() and xstrndup() returns nonnull attribute [Sami Kerola]
- reindent function bodies to unify indentation [Sami Kerola]
- use multiline function declarations [Sami Kerola]
isosize:
- move ISO size functions into a shared header [Daniel Drake]
kill:
- add another ifdef [Karel Zak]
- add missing ifdefs [Karel Zak]
- deallocate follow_ups [assan] [Karel Zak]
- make man page more informative about --timeout [Karel Zak]
- report features on -V, add lish_header initialization [Karel Zak]
- use pidfd system calls to implement --timeout option [Sami Kerola]
last:
- replace strncat() with more robust mem2strcpy() [Sami Kerola]
lib:
- add _PATH_TMP fallback [Karel Zak]
- add missing license headers [Karel Zak]
lib/fileutils:
- add close_all_fds() [Karel Zak]
lib/loopdev.c:
lib/path:
- add ul_path_stat(), fix absolute paths [Karel Zak]
- fix missing header for `struct stat` [Patrick Steinhardt]
- make sure ul_path_read_buffer() derminate result [Karel Zak]
lib/pty:
- allow use callback from mainloop [Karel Zak]
- make sure we not use closed FD [Karel Zak]
- reset mainloop timeout on signal [Karel Zak]
- save sigmask, add API to free all resources [Karel Zak]
lib/pty-session:
- add generic PTY container code [Karel Zak]
- add log callbacks [Karel Zak]
- add loggin callback to code, follow return codes [Karel Zak]
- fix compilation [Karel Zak]
- improve debug messages [Karel Zak]
- make wait_child callback optional [Karel Zak]
- simplify example/test code [Karel Zak]
lib/pwdutils:
- add xgetpwuid [Quentin Rameau]
lib/randutils:
- re-licensing back to BSD [Karel Zak]
lib/timeutils:
- add %Y-%m-%dT%H %M %S to parse_timestamp() [Karel Zak]
lib/ttyutils:
- avoid checking same thing twice [Sami Kerola]
libblkid:
- (drbd) fix comment formatting [Karel Zak]
- (drbd) simplify padding [Karel Zak]
- (xfs) external log check for regular xfs on more sectors [Mauricio Faria de Oliveira]
- (xfs) fix sector size calculation [Karel Zak]
- (zfs) don't probe whole-disk areas covered by partitions [Karel Zak]
- Fix documentation in libblkid header [John Baublitz]
- check for medium on CDMROMs probing [Karel Zak]
- check number of test_blkid_save arguments correctly [Sami Kerola]
- check status for the current CDROM slot [Karel Zak]
- do not interpret NTFS as MBR [Karel Zak]
- fix address sanitizer issues [Sami Kerola]
- fix file descriptor leak in blkid_verify() [Karel Zak]
- improve MD I/O size calculation [lgtm scan] [Karel Zak]
- improve handling of ISO files with partition tables [Daniel Drake]
- improve identification of ISO9660 partition [Daniel Drake]
- improve vfat entries calculation [lgtm scan] [Karel Zak]
- open device in nonblock mode. [Michal Suchanek]
- remove unnecessary condition [lgtm scan] [Karel Zak]
- udf Fix reporting UDF 2.60 revision for Mac OS X disks [Pali Rohár]
libdisk:
- write sample output to stdout [Karel Zak]
libfdisk:
- (MBR) use 0xEA partition type by BootLoaderSpecification [Karel Zak]
- (bsd) cast before ask [lgtm scan] [Karel Zak]
- (docs) add notes about fdisk_enable_wipe() [Karel Zak]
- (gpt) add GUID for APFS containers [Ernesto A. Fernández]
- (gpt) cast number of entries [lgtm scan] [Karel Zak]
- (gpt) fix hybrid MBR detection, fix 'w' [Karel Zak]
- (script) support shortcuts in the type= field [Karel Zak]
- Fix double free of *_chs strings in fdisk_partition [Vojtech Trefny]
- Space before first partition may not be aligned [Evan Green]
- add fdisk_assign_device_by_fd() [Karel Zak]
- add fdisk_script_set_table() [Karel Zak]
- add sector-size to dump [Karel Zak]
- cleanup fdisk_deassign_device() docs [Karel Zak]
- consolidate strdup() use [Karel Zak]
- don't use FAT as MBR [Karel Zak]
- don't use NTFS as MBR [Karel Zak]
- fix fdisk_script_get_table() [Karel Zak]
- fix typos [Marcos Mello]
- fix variable shadowing [Sami Kerola]
- improve Sun partitions calculation [lgtm scan] [Karel Zak]
- improve partition copy on resize [Karel Zak]
- move GPT partition types to include/ [Karel Zak]
- refer to partx(8) rather than to kpartx(8) [Karel Zak]
- use grain as small as possible [Karel Zak]
libfidk:
- (dos) fix tiny partitions calculation [Karel Zak]
libmount:
- (monitor) remove dead code [coverity scan] [Karel Zak]
- Add libselinux dependency to pkgconfig file [Masami Hiramatsu]
- Keep the mnt_tab info for the existent dest in mnt_copy_fs() [Kevin Hao]
- Recognize more FUSE pseudofs (avfsd, lxcfs, vmware-vmblock) [Darsey Litzenberger]
- add support for verity devices via libcryptsetup [Luca Boccassi]
- add target prefix support [Karel Zak]
- add verity to mount -V output [Karel Zak]
- allow use -o together with --all [Karel Zak]
- cleanup strdup() use in context, add reg.test [Karel Zak]
- do not obscure return code when checking verity options [Luca Boccassi]
- don't access struct member, use API [Karel Zak]
- don't use /proc/mounts fallback if filename specified [Karel Zak]
- fix comment referring to passno field [Patrick Steinhardt]
- fix free() call on error [Karel Zak]
- fix mnt_context_next_remount() [Karel Zak]
- fix potential null pointer dereference [Sami Kerola]
- fix typo [Karel Zak]
- fix typo in mnt_context_prepare_helper() [lgtm scan] [Karel Zak]
- improve X-mount.mkdir for non-root users [Karel Zak]
- improve mountinfo reliability [Karel Zak]
- make sure optsmode is initialized [Karel Zak]
- move context fs merge to separate function [Karel Zak]
- save current FS setting as template [Karel Zak]
- use fmemopen() in more robust way [coverity scan] [Karel Zak]
- use strdup_between_structs() [Karel Zak]
- use vsnprintf() in more robust way [coverity scan] [Karel Zak]
libsmartcols:
- cleanup and extend padding functionality [Karel Zak]
libuuid:
- add header file guard [lgtm scan] [Karel Zak]
login:
- reduce file-descriptors cleanup overhead [Karel Zak]
- simplify string handling [Sami Kerola]
login-utils:
- add header file guards [lgtm scan] [Karel Zak]
losetup:
- Typo fix [Stanislav Brabec]
lsblk:
- add FSVER (filesystem version) column [Karel Zak]
- add FSVER to --fs [Karel Zak]
- add PARTTYPENAME column [Karel Zak]
- fix -E segfault [Karel Zak]
- force to print PKNAME for partition [Karel Zak]
- never fallback to udev/blkid on --sysroot [Karel Zak]
- on --sysroot read attributes from /dev/<devname> text file [Karel Zak]
- read also GROUP,OWNER and MODE from dumps [Karel Zak]
- update man description of -f / --fs for current columns [Vladimir Slavik]
lscpu:
- (man) add note about cache sizes [Karel Zak]
- Add HiSilicon aarch64 tsv110 cpupart [John Garry]
- add a new columns to --cache [Karel Zak]
- make code more readable [lgtm scan] [Karel Zak]
- prefer memcpy() to manual pointer arithmetic [Sami Kerola]
- top-level DMI function refactoring [Karel Zak]
lslogins:
- assume unterminated strings in wtmp/btmp [coverity scan] [Karel Zak]
man:
- improve script and scriptreplay formatting style [Sami Kerola]
man pages:
- Add a comma after "e.g." and "i.e." [Bjarni Ingi Gislason]
- Change a HYPHEN-MINUS (-) to a minus (\-) for options and numbers [Bjarni Ingi Gislason]
- Fix misuse of two-fonts macros [Bjarni Ingi Gislason]
- Make the number of .RS/.RE equal [Bjarni Ingi Gislason]
misc:
- fix typos [codespell] [Sami Kerola]
- replaces atexit(close_stdout) with new close_stdout_atexit() [Karel Zak]
mkswap:
- cast before lseek [lgtm scan] [Karel Zak]
mount:
- (dm-verity) update man page [Karel Zak]
- (man) document --target-prefix [Karel Zak]
- (man) small typo fixes [Merlin Büge]
- add --target-prefix [Karel Zak]
- add verity example to man page [Karel Zak]
- no exit on EPERM, continue without suid [Karel Zak]
mountpoint:
- add --nofollow option [Sami Kerola]
nologin:
- Prevent error from su -c [Stanislav Brabec]
- silently ignore well known shell command-line options [Sami Kerola]
partx:
- document -d vs. --nr and fix test [Karel Zak]
- don't report ENXIO as error on -d [Karel Zak]
po:
- add pt.po (from translationproject.org) [Pedro Albuquerque]
- merge changes [Karel Zak]
- remove possibility to translate static option arguments [Sami Kerola]
- update cs.po (from translationproject.org) [Petr Písař]
- update de.po (from translationproject.org) [Mario Blättermann]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update fr.po (from translationproject.org) [Frédéric Marchal]
- update hr.po (from translationproject.org) [Božidar Putanec]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update pt.po (from translationproject.org) [Pedro Albuquerque]
- update pt_BR.po (from translationproject.org) [Rafael Fontenelle]
- update zh_CN.po (from translationproject.org) [Boyuan Yang]
po/update-potfiles:
- fallback to `find` when git doesn't work [Jan Chren (rindeal)]
renice:
- fix --help text [Karel Zak]
- fix arguments description in --help [Karel Zak]
script:
- add --echo [Karel Zak]
- add --log-in [Karel Zak]
- add --logging-format [Karel Zak]
- add debug messages around waitpid() [Karel Zak]
- add missing exit() [Karel Zak]
- add more information to timing log [Karel Zak]
- add multistream timing file initialization [Karel Zak]
- add note about --log-in and passwords [Karel Zak]
- add option --log-out [Karel Zak]
- add option --log-timing [Karel Zak]
- allow to use the same log for more streams [Karel Zak]
- cleanup info logging [Karel Zak]
- cleanup logs freeing [Karel Zak]
- cleanup usage [Karel Zak]
- default to new format when new features expected [Karel Zak]
- document SIGUSR1 [Karel Zak]
- fix ECHO use, improve shell exec [Karel Zak]
- fix man page on --logging-format [Karel Zak]
- fix signalfd use [Karel Zak]
- fix typos [codespell] [Sami Kerola]
- follow --logging-format on -t [Karel Zak]
- listen to SIGUSR1, flush logs on the signal [Karel Zak]
- log additional information [Karel Zak]
- log file usage refactoring [Karel Zak]
- make --help more readable [Karel Zak]
- make optional argument more robust [Karel Zak]
- remove unused variable [Karel Zak]
- report also timing file, do it only once [Karel Zak]
- support multi-stream logging [Karel Zak]
- use lib/pty-session [Karel Zak]
- write signals to timing file [Karel Zak]
scriptlive:
- add --command, cleanup shell exec [Karel Zak]
- add man page [Karel Zak]
- add new command to re-execute script(1) typescript [Karel Zak]
- free resource at the and [Karel Zak]
- keep ECHO flag, improve welcome message [Karel Zak]
- remove unnecessary variables [Karel Zak]
- run shell in PTY [Karel Zak]
- terminate session at end of the log [Karel Zak]
- translate error messages too [Karel Zak]
scriptreplay:
- (man) add missing --log-* oprions [Karel Zak]
- (utils) detect empty steps [Karel Zak]
- add --cr-mode [Karel Zak]
- add --log-{in,out,io} options [Karel Zak]
- add --stream [Karel Zak]
- add --stream to the man page [Karel Zak]
- add --summary [Karel Zak]
- add -T, --log-timing [Karel Zak]
- check for EOF [Karel Zak]
- cleanup usage() [Karel Zak]
- fix error path [Karel Zak]
- fix io data log use [Karel Zak]
- fix typo [Karel Zak]
- make data log file optional for --summary [Karel Zak]
- make sure timing file specified [Karel Zak]
- move all utils to script-playutils.{c,h} [Karel Zak]
- print info and signals [Karel Zak]
- restrict header name size [Karel Zak]
- rewrite to support new timing file format [Karel Zak]
- skip unwanted steps [Karel Zak]
- use struct timeval for delay [Karel Zak]
setpwnam:
- use more appropriate allocation size types [Sami Kerola]
setterm:
- cleanup usage() and man page [Karel Zak]
- fix --clear [Karel Zak]
sfdisk:
- (--move-data) add simple progress bar [Karel Zak]
- (--move-data) add speed to progress bar, don't use POSIX_FADV_DONTNEED [Karel Zak]
- (--move-data) keep step size based on optimal I/O [Karel Zak]
- (--move-data) make log optional [Karel Zak]
- (man) add note about interactive mode) [Karel Zak]
- (move-data) improve MiB/s progress bar [Karel Zak]
- add --move-use-fsync, disable fsync() by default [Karel Zak]
- add -J between mutually exclusive options [Karel Zak]
- check fdisk_script_set_header() return code [coverity scan] [Karel Zak]
- make --no-act usable for --move-data too [Karel Zak]
- mark --dump and --list-free as mutually exclusive [Karel Zak]
- remove never read value [clang scan] [Karel Zak]
- write all message to stdout [Karel Zak]
strutils:
- fix double free in strrealloc() [coverity scan] [Karel Zak]
su:
- (pty) remove unnecessary call [Karel Zak]
- More descriptive error message on malformed user entry [Jakub Hrozek]
- fix error message [Karel Zak]
- silence a useless warning [Jouke Witteveen]
- use lib/pty-session.c code for --pty [Karel Zak]
sys-utils/manuals:
- Make the number of the paired macros ".RS" and ".RE" equal [Bjarni Ingi Gislason]
term-utils:
- add header file guards [lgtm scan] [Karel Zak]
tests:
- (blkid) update regression tests (due to BLOCK_SIZE) [Karel Zak]
- (chfn) force to bash [Karel Zak]
- (col) avoid hardcoding of errno string [Patrick Steinhardt]
- (colcrt) fix reliance on EILSEQ in POSIX locale [Patrick Steinhardt]
- (colcrt) use env to set locale [Karel Zak]
- (column) use actually invalid multibytes to test encoding [Patrick Steinhardt]
- (fdisk) avoid hardcoding of errno string [Patrick Steinhardt]
- (fdisk) make sure we use the same sizes for MD devices [Karel Zak]
- (fdisk) update padding in output [Karel Zak]
- (getopt) remove unwanted paths from error output [Karel Zak]
- (libfdisk) remove reliance on buffer behaviour of standard streams [Patrick Steinhardt]
- (libmount) make X-* and x-* more robust [Karel Zak]
- (libsmartcols) add padding tests [Karel Zak]
- (lsblk) gather also udev attributes for new dumps [Karel Zak]
- (sfdisk) update move output [Karel Zak]
- Add test for current version (v5) of XFS filesystem [Anatoly Pugachev]
- Skip fdisk/mbr-nondos-mode on Sparc as unsupported [Karel Zak, Anatoly Pugachev]
- add --parsable, remove TS_OPT_parsable [Karel Zak]
- add missing 'ts_check_prog xz' [Karel Zak]
- add mount --all tests [Karel Zak]
- add new test for chfn gecos [Radka Skvarilova]
- add remaining stderr outputs [Karel Zak]
- add script and scriptlive replay [Karel Zak]
- another prompt fix [Karel Zak]
- commit add missing file [Karel Zak]
- don't show diff for TS_KNOWN_FAIL [Karel Zak]
- fix --unbuffered mode with ASAN [Karel Zak]
- fixes blkid/md-raidX-whole on Sparc [Anatoly Pugachev]
- improve unbuffer check [Karel Zak]
- lscpu s390 nested virtualization [Radka Skvarilova]
- make scriptlive output more portable [Karel Zak]
- mark mdadm tests as TS_KNOWN_FAIL [Karel Zak]
- mark scriptlive as KNOWN_FAILED [Karel Zak]
- remove device name from blkdiscard output [Karel Zak]
- remove option --posix [Karel Zak]
- remove reliance on buffer behaviour of stderr/stdout streams [Patrick Steinhardt]
- remove unbuffered ts_run feature [Karel Zak]
- split stdout and stderr [Karel Zak]
- upadet scriptlive output [Karel Zak]
- update fdisk output [Karel Zak]
- update sfdisk dumps [Karel Zak]
- update sfdisk wipe output [Karel Zak]
- use env and support both unbuffer/stdbuf [Patrick Steinhardt]
- use subtests for mountpoint(1) [Karel Zak]
travis:
- don't call tests in parallel for root [Karel Zak]
- fix sudo command line [Karel Zak]
- force non-parallel for root [Karel Zak]
unshare:
- add --keep-caps option [James Peach]
- add --map-current-user option [James Peach]
- cleanup capabilities code [lgtm scan] [Karel Zak]
- fix --map-current-user short option (-c) [Matthew Harm Bekkema]
verity:
- add new verity.roothashfile option [Luca Boccassi]
- add support for Forward Error Correction options [Luca Boccassi]
- ensure that hash_device and root_hash[_file] are passed together or not at all [Luca Boccassi]
wdctl:
- add control struct [Karel Zak]
- default to /dev/watchdog0 [Karel Zak]
- remove duplicate include of <unistd.h> [Patrick Steinhardt]
- remove printing from main() [Karel Zak]
- rename watch dog info struct [Karel Zak]
wipefs:
- Allow explicitly enable/disablement [Sam Voss]
- Allow explicitly enable/disablement [Sam Voss]

View File

@ -0,0 +1,641 @@
Util-linux 2.36 Release Notes
=============================
Release highlights
------------------
blkdiscard(8) refuses to proceed if filesystem or RAID signatures are found in
interactive mode (executed on a terminal). The option --force is required to
the discard data.
irqtop(1) and lsirq(1) are NEW COMMANDS to monitor kernel interrupts.
cal(1) provides a new --vertical command line option to output calendar
in vertical mode.
blkzone(8) implements open/close/finish commands now.
unshare(1) and nsenter(1) commands support the time namespace now.
agetty(8) now supports multiple paths in the option --issue-file.
The commands fdisk(8), sfdisk(8), cfdisk(8), mkswap(8) and wipefs(8) now
support block devices locking by flock(2) to better behave with udevd or other
tools. For more details see https://systemd.io/BLOCK_DEVICE_LOCKING/. This
feature is controlled by a new command line option --lock and
$LOCK_BLOCK_DEVICE environmental variable.
dmesg(1) supports a new command line option --follow-new to wait and print only
new kernel messages.
fdisk(8) provides a new command line option --list-details to print more
information about partition table. Another new command line option is
--noauto-pt. It's usable to don't automatically create default partition table
on empty devices.
The command fdisk(8) and sfdisk(8) support user-friendly aliases for partition
types. For example "echo 'size=10M type=uefi' | sfdisk /dev/sda" creates EFI
system partition on sda.
fstrim(8) supports new command line option --listed-in to specify alternatives
where to read list of the filesystems. This option makes fstrim systemd service
file more portable between distributions.
libfdisk provides API to relocate GPT backup header. This feature is usable to
generate small, but still valid images for containers and resize the image later.
This new feature is exported to command line by "sfdisk --relocate".
mount(8) now supports mount by ID= tag. The tag is a block device identifier as
used by udevd in /dev/disk/by-id. It's usually WWN or another HW related
identifier. This feature is designed for users who need to avoid filesystem or
partition table dependence in fstab. The udevd is required for this tag.
login(1) supports list of "message of the day" files and directories in the
option MOTD_FILE= in /etc/login.defs now. The default value is
/usr/share/misc/motd:/run/motd:/etc/motd.
All tools which read /etc/login.defs is possible to compile with libeconf now.
The build system provides a new option --disable-hwclock-gplv3 to avoid optional
GPLv3 code in the command hwclock(8).
The build system supports a new option --with-cryptsetup=dlopen to use dlopen
for libcryptsetup in libmount dm-verity support. This is a temporary workaround
to avoid collisions between JSON libraries and to reduce dependencies overhead in
libmount. Note that dm-verity support is still EXPERIMENTAL and disabled by
default.
more(1) has been refactored to meet 21st century codding standards. Thanks to
Sami Kerola.
Thanks to Michael Kerrisk for massive man pages cleanup, and thanks to Evgeny
Vereshchagin for work on better integration with CIFuzz and Travis.
Changes between v2.35 and v2.36
-------------------------------
Manual pages:
- ipcmk.1, ipcs.1, lsipc.1 explicitly mention "System V" [Michael Kerrisk (man-pages)]
- fdisk.8 fix typo [Shigeki Morishima]
- Standardize on AUTHORS as section title [Michael Kerrisk (man-pages)]
- Standardize on CONFORMING TO as section title [Michael Kerrisk (man-pages)]
- Standardize on ENVIRONMENT as section title [Michael Kerrisk (man-pages)]
- Standardize on EXAMPLE as section title [Michael Kerrisk (man-pages)]
- Standardize on EXIT STATUS as section title [Michael Kerrisk (man-pages)]
- Standardize on OPTIONS as section title [Michael Kerrisk (man-pages)]
- ipcmk.1, ipcrm.1, ipcs.1, lsipc.1 SEE ALSO add sysvipc(7) [Michael Kerrisk (man-pages)]
- kill.1 improve the description of the --timout option [Michael Kerrisk (man-pages)]
- kill.1 various language, spelling, and formatting fixes [Michael Kerrisk (man-pages)]
- login.1 SEE ALSO add utmp(5), lastlog(8) [Michael Kerrisk (man-pages)]
- login.1 formatting fixes [Michael Kerrisk (man-pages)]
- login.1 various minor wording fixes [Michael Kerrisk (man-pages)]
- losetup.8 Fix "--direct-io" defaults [Rupesh Girase]
- mount.8 Miscellaneous wording, grammar, and formatting fixes [Michael Kerrisk (man-pages)]
- mount.8 Rewrite FILESYSTEM-SPECIFIC MOUNT OPTIONS intro [Michael Kerrisk (man-pages)]
- mount.8 SEE ALSO add some obvious references [Michael Kerrisk (man-pages)]
- mount.8 Typo fix (remove an accidental paragraph break) [Michael Kerrisk (man-pages)]
- mount.8, umount.8 Clarify that "namespace" means "mount namespace" [Michael Kerrisk (man-pages)]
- mount.8, umount.8 Consistently format pathnames with italic [Michael Kerrisk (man-pages)]
- nsenter.1 clarify the intro discussion [Michael Kerrisk]
- nsenter.1 note that 'file' can be a bind mount [Michael Kerrisk]
- nsenter.1, unshare.1 add a reference to time_namespaces(7) [Michael Kerrisk]
- nsenter.1, unshare.1 remove repeated references to clone(2) [Michael Kerrisk]
- nsenter.1, unshare.1 update references to *_namespaces(7) pages [Michael Kerrisk]
- order AUTHORS / COPYRIGHT / SEE ALSO / AVAILABILITY consistently [Michael Kerrisk (man-pages)]
- order ENVIRONMENT / FILES / CONFORMING TO consistently [Michael Kerrisk (man-pages)]
- order NOTES / HISTORY / BUGS / EXAMPLE consistently [Michael Kerrisk (man-pages)]
- rename EXAMPLE section to EXAMPLES [Michael Kerrisk (man-pages)]
- rename RETURN VALUES to RETURN VALUE [Michael Kerrisk (man-pages)]
- reword su.1 description [Karel Zak]
- runuser.1 Various wording and formatting fixes [Michael Kerrisk (man-pages)]
- runuser.1, su.1 miscellaneous wording and formatting fixes [Michael Kerrisk (man-pages)]
- script.1 Miscellaneous wording, grammar, and formatting fixes [Michael Kerrisk (man-pages)]
- scriptlive.1 Miscellaneous wording, grammar, and formatting fixes [Michael Kerrisk (man-pages)]
- scriptreplay.1 Miscellaneous wording, grammar, and formatting fixes [Michael Kerrisk (man-pages)]
- setpriv.1 Minor formatting and typo fixes [Michael Kerrisk (man-pages)]
- setpriv.1 Various minor wording and formatting fixes [Michael Kerrisk (man-pages)]
- setpriv.1 warn users of restrictions on capability changes [Michael Kerrisk (man-pages)]
- umount.8 use "filesystem" consistently [Michael Kerrisk (man-pages)]
- unshare.1 EXAMPLES improve persistent mount namespace example [Michael Kerrisk (man-pages)]
- unshare.1 clarify description and example for --mount=<path> [Michael Kerrisk (man-pages)]
- unshare.1 clarify that --pid=<file> requires --fork [Michael Kerrisk (man-pages)]
- unshare.1 fix examples, part 1 [Michael Kerrisk]
- unshare.1 fix examples, part 2 [Michael Kerrisk]
- unshare.1 fix examples, part 3 [Michael Kerrisk]
- unshare.1 improve intro paragraphs [Michael Kerrisk]
- unshare.1 typo fix [Michael Kerrisk (man-pages)]
- use the term "exit status" [Michael Kerrisk (man-pages)]
- various reword "allow(s) to" [Michael Kerrisk (man-pages)]
- wording fix "another" ==> "other" [Michael Kerrisk (man-pages)]
Subject:
- docs change from nofill to fill mode [Bjarni Ingi Gislason]
- docs disk-utils change "allows to <verb>" to "allows <verb>ing" [Bjarni Ingi Gislason]
- docs remove unnecessary paragraph macros [Bjarni Ingi Gislason]
agetty:
- (man) add "white" color name [Karel Zak]
- (man) fix typo [Karel Zak]
- extend --issue-file to support multiple paths [Karel Zak]
- ignore ^C [Karel Zak]
- save the original speed on --keep-baud [Karel Zak]
bash-completion:
- chmod -x [Karel Zak]
- release preparations [Sami Kerola]
- umount explicitly needs gawk [Wolfram Sang]
- update irqtop and lsirq completions [Sami Kerola]
bash-completion/umount:
- shell charaters escape [Etienne Mollier]
blkdiscard:
- (man) offset and length must be sector aligned [Lukas Czerner]
- Refuse to proceed if signatures are found [Lukas Czerner]
- use O_EXCL, add --force [Karel Zak]
blkzone:
- Add --force option [Shin'ichiro Kawasaki]
- add open/close/finish commands [Aravind Ramesh]
- deny destructive ioctls on busy blockdev [Johannes Thumshirn]
- ioctl related code refactoring [Damien Le Moal]
- remove unnecessary initializations [Karel Zak]
blockdev:
- Don't fail on missing start sector [Stanislav Brabec]
build-sys:
- Fix autogenerated URL in ChangeLog [Chris Hofstaedtler]
- add $LDADD and libcommon to test_logindefs_LDADD [Karel Zak]
- add --disable-hwclock-gplv3 [Karel Zak]
- add --enable-ubsan to make it possible to build util-linux with UBSan [Evgeny Vereshchagin]
- add --enable-werror [Karel Zak]
- add --enable-werror to devel build scenarios [Karel Zak]
- add -Waddress-of-packed-member [Karel Zak]
- add missing LDADD to blkid test [Karel Zak]
- cleanup $vendordir use [Karel Zak]
- fix blkdiscard blkid.h use [Karel Zak]
- fix chfn-chsh configure help text [Karel Zak]
- fix irqtop compilation with -lslang [Karel Zak]
- make lsirq and irqtop optional [Karel Zak]
- release++ (v2.36-rc1) [Karel Zak]
- release++ (v2.36-rc2) [Karel Zak]
- remove redundard includes [Karel Zak]
- remove unneeded include of generated file [Zbigniew Jędrzejewski-Szmek]
- rename automake variable to match define name [Zbigniew Jędrzejewski-Szmek]
cal:
- Add column mode [Aurelien LAJOIE]
- Add helper functions for left align [Aurelien LAJOIE]
- Add test, all are checked against ncal [Aurelien LAJOIE]
- Add weekdays into cal_control [Aurelien LAJOIE]
- Correctly center the year [Aurelien LAJOIE]
- Remove todo [Aurelien LAJOIE]
- Update man page [Aurelien LAJOIE]
- correctly set the week width [Aurelien LAJOIE]
- use a const char* [Aurelien LAJOIE]
- use size_t to calculate width [lgtm scan] [Karel Zak]
cfdisk:
- add --lock and LOCK_BLOCK_DEVICE [Karel Zak]
chfn:
- Make readline prompt for each field on a separate line [Damien Goutte-Gattat]
chrt:
- Use sched_setscheduler system call directly [jonnyh64]
chsh:
- (man) fix default behavior description [Karel Zak]
col:
- fix output when first line does not have newline character [Sami Kerola]
cryptsetup:
- add option to use via dlopen in libmount [Luca Boccassi]
ctrlaltdel:
- display error message indicated by errno [Sami Kerola]
disk-utils:
- Add reference to ufiformat(8) [Wojtek Kaniewski]
dmesg:
- add --follow-new [Konstantin Khlebnikov]
- adjust timestamps according to suspended time [Konstantin Khlebnikov]
doc:
- Fix some warnings from "test-groff" for manuals [Bjarni Ingi Gislason]
- disk-utils/* Fix some warnings from "mandoc -T lint" [Bjarni Ingi Gislason]
- libuuid/man/* Fix some warnings from "mandoc -T lint" [Bjarni Ingi Gislason]
- login-utils/* Fix some warnings from "mandoc -T lint" [Bjarni Ingi Gislason]
- misc-utils/* Fix some warnings from "mandoc -T lint" [Bjarni Ingi Gislason]
- schedutils/* Fix some warnings from "mandoc -T lint" [Bjarni Ingi Gislason]
- sys-utils/* fix some warnings from "mandoc -T lint" [Bjarni Ingi Gislason]
- term-utils/* fix some warnings from "mandoc -T lint" [Bjarni Ingi Gislason]
- text-utils/* fix some warnings from "mandoc -T lint" [Bjarni Ingi Gislason]
docs:
- (man) remove double quotes (") in .SH lines [Michael Kerrisk (man-pages)]
- Correct ChangeLog URL to history log. [Anatoly Pugachev]
- Fix dead references to kernel documentation [Yannick Le Pennec]
- Improve grammar [Ben Frankel]
- Some minor fixes in some manuals [Bjarni Ingi Gislason]
- add blkdiscard to ReleaseNotes [Karel Zak]
- add note about AsciiDocs [Karel Zak]
- add rev(1) to TODO [Karel Zak]
- add swap to 1st fstab field [Karel Zak]
- add terminal hyperlinks to TODO [Karel Zak]
- add v2.36-ReleaseNotes [Karel Zak]
- fix release notes file name [Karel Zak]
- fix spacing in irqtop and lsirq manual pages [Sami Kerola]
- improve size arguments description in --help output [Karel Zak, ed]
- kill.1 add note about shell-internal kill implementations [Sami Kerola]
- mark some branches as github-only [Karel Zak]
- mention Coverity Scan and the Fossies codespell report [Evgeny Vereshchagin]
- misc-utils change "allows to <verb>" to "allows <verb>ing" [Bjarni Ingi Gislason]
- nsenter(1) fix further details in PID namespace section [Stephen Kitt]
- remove drone.io, add lgtm.com [Karel Zak]
- remove irqtop TODO item [Sami Kerola]
- remove trailing space in strings [Bjarni Ingi Gislason]
- renice(1) Add chrt(1) to SEE ALSO [Jann Horn]
- reword others "allow to" [Karel Zak]
- update AUTHORS file [Karel Zak]
- update ReleaseNotes [Karel Zak]
- update v2.36-ReleaseNotes [Karel Zak]
eject:
- fix compiler warning [-Wformat-overflow] [Karel Zak]
exfat:
- Fix parsing exfat label [Pali Rohár]
fdisk:
- add --list-details [Karel Zak]
- add --lock and LOCK_BLOCK_DEVICE [Karel Zak]
- add --noauto-pt [Karel Zak]
- add support for parttype aliases [Karel Zak]
- better wording for '-B' in the man page [Wolfram Sang]
- improve list-types readability [Karel Zak]
- make sure label defined for some menu entries [Karel Zak]
- specify in '--help' that we can have multiple devices with '-l' [Wolfram Sang]
- update expected test outputs with command outputs [Sami Kerola]
findmnt:
- make xalloc use mroe robust [Karel Zak]
fix typo:
- yourbranch -> yourgit [Soumendra Ganguly]
flock:
- Add new example using shell IO redirection [Jookia]
- make examples in man page more readable [Karel Zak]
fsck.cramfs:
- fix macro usage [Zbigniew Jędrzejewski-Szmek]
fstrim:
- add --listed-in <file[ file ..]> [Karel Zak]
- do not use Protect setting in systemd service [Karel Zak]
- randomize timer start time across 100 minutes [Sami Kerola]
- rename --quite to --quite-unsupported [Karel Zak]
- run service and timer only if /etc/fstab is present [Luca BRUNO]
getopt:
- use examples installation directory in man page [Sami Kerola]
hexdump:
- fix typo, dcl instead of dc1 [Karel Zak]
hwclock:
- fix audit exit status [Karel Zak]
- improve use of settimeofday() portability [Karel Zak]
- make glibc 2.31 compatible [J William Piggott, Karel Zak]
- update yacc file [Sami Kerola]
ilib/strutils:
- fix rounding in size_to_human_string() [Karel Zak]
include:
- add remove_entry() to env.h [Sami Kerola]
- cleanup pidfd inckudes [Karel Zak]
include/c:
- add USAGE_ARGUMENT [Karel Zak]
include/nls:
- remove unnecessary declaration [Karel Zak]
ipcs:
- ipcs.1 ipcs no longer needs read permission on IPC resources [Michael Kerrisk]
iqrtop:
- cleanup header [Karel Zak]
irctop:
- move source code to sys-utils/ directory [Sami Kerola]
irqtop:
- add bash-completion [Sami Kerola]
- add manual page [Sami Kerola]
- add struct irq_output [Karel Zak]
- add total and delta as own columns [Sami Kerola]
- avoid function like pre-processor definitions [Sami Kerola]
- change the update delay to use struct timeval [Sami Kerola]
- cleanup command line options [Karel Zak]
- cleanup man page [Karel Zak]
- cleanup sort stuff [Karel Zak]
- cleanup struct irq_stat use [Karel Zak]
- display number of new interupts in-between updates [Sami Kerola]
- do not use fixed size /proc/interrupts line buffer [Sami Kerola]
- don't print header for --once [Karel Zak]
- fix all warnings [zhenwei pi]
- fix open file descriptor leak [Sami Kerola]
- hide cursor when in interactive mode [Sami Kerola]
- implement a new utility to display kernel interrupt [zhenwei pi]
- improve header [Sami Kerola]
- include hostname and timestamp to output header [Sami Kerola]
- init README [zhenwei pi]
- keep WINDOW pointer in functions only [Karel Zak]
- keep table in functions only [Karel Zak]
- make util-linux build-system to build the command [Sami Kerola]
- minor cleanup [Karel Zak]
- move WINDOW back to control struct [Karel Zak]
- move independent code to irq-common.c [Karel Zak]
- move screen update to a separate function [Sami Kerola]
- remove dead code [Karel Zak]
- remove unnecessary code [Karel Zak]
- reorder function [Karel Zak]
- separate normal and ncurses way [Karel Zak]
- separate screen and scols code [Karel Zak]
- simplify terminal resizing [Karel Zak]
- small cleanup in main() [Karel Zak]
- tidy coding style and update usage() text [Sami Kerola]
- trim white spaces from end of name field [Sami Kerola]
- use -J for JSON [Karel Zak]
- use epoll event loop [Sami Kerola]
- use lib/monotonic.c to determine uptime [Sami Kerola]
- use libsmartcols [Sami Kerola]
- use memory allocation that check errors [Sami Kerola]
- use name instead of desc as irq name field referal [Sami Kerola]
- use runtime control structure [Sami Kerola]
- use util-linux libcommon facilities [Sami Kerola]
kill:
- include sys/types.h before checking SYS_pidfd_send_signal [Sami Kerola]
last:
- fix use of non-terminated utmp->ut_line [Karel Zak]
lib/blkdev:
- add support for --lock and LOCK_BLOCK_DEVICE [Karel Zak]
lib/color-names:
- add "white" between human-readable [Karel Zak]
lib/mangle:
- check for the NULL string argument [Gaël PORTAY]
lib/mbsalign:
- add function to calculate width [Karel Zak]
lib/path:
- add ul_path_is_accessible() [Karel Zak]
lib/pwdutils:
- add xgetgrnam [Matthew Harm Bekkema]
lib/randutils:
- use explicit data types for bit ops [Karel Zak]
lib/strutils:
- add test for strdup_to_struct_member() [Karel Zak]
- fix floating point exception [Karel Zak]
- fix parse_size() for large numbers [Karel Zak]
- fix uint64_t overflow [Karel Zak]
- remove unnecessary include [Karel Zak]
- use directly err() [Karel Zak]
lib/sysfs:
- fix prefix use in sysfs_devname_is_hidden() [Karel Zak]
libblkid:
- (docs) add missing references [Karel Zak]
- (docs) document new function [Karel Zak]
- Add support for zonefs [Damien Le Moal]
- Fix UTF-16 support in function blkid_encode_to_utf8() [Pali Rohár]
- add dax capability detection in topology probing [Anthony Iliopoulos]
- fix compiler warning [-Wsign-compare] [Karel Zak]
- fix fstatat() use in blkid__scan_dir() [Karel Zak]
- move UTF encoding function to lib/ [Karel Zak]
- remove blkid_llseek() [Karel Zak]
- remove unnecessary uuid.h [Karel Zak]
libfdisk:
- (docs) add missing comment [Karel Zak]
- (docs) add missing references [Karel Zak]
- (docs) document new functions [Karel Zak]
- (docs) fix typos [Karel Zak]
- (dos) be more explicit in fdisk_verify_disklabel() output [Karel Zak]
- (dos) be more robust about max number of partitions [Karel Zak]
- (dos) fix default partition start [Karel Zak]
- (gpt) add GPT debug mask [Karel Zak]
- (gpt) add functionality to move backup header [Karel Zak]
- (gpt) cleanup and consolidate write code [Karel Zak]
- (gpt) cleanup entries array size calculations [Karel Zak]
- (gpt) fix compiler warning [-Wmaybe-uninitialized] [Karel Zak]
- (gpt) partition name default to empty string [Karel Zak]
- (script) accept sector-size, ignore unknown headers [Karel Zak]
- (script) fix memory leak [Karel Zak]
- (script) fix partno_from_devname() [Karel Zak]
- (script) fix segmentation fault [Gaël PORTAY]
- add Linux /var, /var/tmp and root verity GPT partition types [nl6720]
- add fdisk_set_disklabel_id_from_string() [Karel Zak]
- add missing comments [Karel Zak]
- add partition type aliases and shortcuts [Karel Zak]
- fix __copy_partition() [Karel Zak]
- fix alignment logic for tiny partitions [Karel Zak]
- fix const char mess [Karel Zak]
- fix partition calculation for BLKPG_* ioctls [Karel Zak]
- fix pointer wraparound warning [Sami Kerola]
- make sure we check for maximal number of partitions [Karel Zak]
- make sure we use NULL after free [Karel Zak]
- remove unwanted assert() [Karel Zak]
- use ul_encode_to_utf8() [Karel Zak]
libfdisk, unshare:
- fix gcc-4.9.4 warnings [Toni Uhlig]
libmount:
- (docs) add missing references [Karel Zak]
- (docs) fix typo, remove unused reference [Karel Zak]
- (parser) fix memory leak on error before end-of-file [Karel Zak]
- (umount) FS lookup refactoring [Karel Zak]
- (umount) fix FD leak [Karel Zak]
- (verity) remove unnecessary empty lines [Karel Zak]
- Avoid triggering autofs in lookup_umount_fs_by_statfs [Fabian Vogt]
- add support for ID= [Karel Zak]
- add support for signed verity devices [Luca Boccassi]
- do not unnecessarily chmod utab.lock [Tycho Andersen]
- fix condition for mountinfo filter [Karel Zak]
- fix mount -a EBUSY for cifs [Roberto Bergantinos Corpas]
- fix x- options use for non-root users [Karel Zak]
- improve smb{2,3} support [Karel Zak]
- make mnt_context_find_umount_fs() more extendable [Karel Zak]
- move "already mounted" code to separate function [Karel Zak]
- smb2 is unsupported alias [Karel Zak]
- try read-only mount on write-protected superblock too [Karel Zak]
- use mnt_stat_mountpoint() on more places [Karel Zak]
libsmartcols:
- (docs) add missing references [Karel Zak]
- (docs) fix reference [Karel Zak]
- (sample) check scols_line_refer_data() return code [coverity scan] [Karel Zak]
- (sample) check scols_line_set_data() return code [coverity scan] [Karel Zak]
- (sample) remove unnecessary check [coverity scan] [Karel Zak]
- (sample) remove unused variable [Karel Zak]
- (smaple) check scols_line_set_data() return code [coverity scan] [Karel Zak]
- don't calculate with encoding on scols_table_enable_noencoding() [Karel Zak]
libuuid:
- (test) cleanup unused memory [coverity scan] [Karel Zak]
- (test) close fd [coverity scan] [Karel Zak]
- (test) make sure UUID is terminated [coverity scan] [Karel Zak]
- add uuid_parse_range() [Zane van Iperen]
- add uuid_parse_range() to man page and symbol-table [Karel Zak]
- ensure variable is initialized [cppcheck] [Sami Kerola]
- improve uuid_unparse() performance [Aurelien LAJOIE]
- remove function alias [Karel Zak]
login:
- add MOTD_FIRSTONLY= [Karel Zak]
- add support for directories in MOTD_FILE= [Karel Zak]
- avoid lseek() with pread() and pwrite() [Sami Kerola]
- cleanup -f in usage() and comments [Karel Zak]
- cleanup get_hushlogin_status() use [Karel Zak]
- fix -f description in the man-page [Karel Zak]
- fixed invalid sizeof usage [Toni Uhlig]
- keep default MOTD_FILE= backwardly compatible [Karel Zak]
- use PAM_SILENT to propagate hushlogin to PAM [Karel Zak]
logindefs:
- use xalloc.h, code cleanup [Karel Zak]
lsblk:
- Add SERIAL column to the SCSI output mode. [Milan Broz]
- Fall back to ID_SERIAL [Sven Wiltink]
- Ignore hidden devices [Ritika Srivastava]
- add dax (direct access) capability column [Anthony Iliopoulos]
- fix -P regression from v2.34 [Karel Zak]
lscpu:
- Adapt MIPS cpuinfo [Jiaxun Yang]
- Add shared cached info for s390 lscpu -C [Sumanth Korikkar]
- cleanup caches code [Karel Zak]
- fix SIGSEGV on archs without drawers & books [Karel Zak]
- use official name for HiSilicon tsv110 [Karel Zak]
lsirq:
- add -P option [Karel Zak]
- add -n option [Karel Zak]
- add new command [Karel Zak]
- mark --json and --pairs options mutually exclusive [Sami Kerola]
lslogins:
- remove unnecessary brackets [Karel Zak]
- use lastlog as wtmp fallback [Sami Kerola]
lsmem:
- make it without leaks for non-error output [Karel Zak]
- report inaccessible /sys/devices/system/memory [Karel Zak]
lsns:
- add time namespace support [Adrian Reber]
manual pages:
- adjtime_config.5 format pathname with .I [Michael Kerrisk (man-pages)]
mkswap:
- add --lock and LOCK_BLOCK_DEVICE [Karel Zak]
more:
- add display_file() to show files and stdin [Sami Kerola]
- avoid defining special characters locally [Sami Kerola]
- avoid libmagic telling an empty file is binary [Sami Kerola]
- do not allocate shell command buffer from stack [Sami Kerola]
- do not reset parent process terminal in execute() [Sami Kerola]
- drop setuid permissions before executing anything [Sami Kerola]
- fix SIGSTOP and SIGCONT handling [Sami Kerola]
- fix moving backwards so that it can reach begining of the file [Sami Kerola]
- make execute() more robust and timely [Sami Kerola]
- make page and arrow up/down to update view [Sami Kerola]
- move code blocks from more_key_command() to functions [Sami Kerola]
- move currently open file to control structure [Sami Kerola]
- move runtime usage output to a function [Sami Kerola]
- refactor and clarify code [Sami Kerola]
- remove kill_line() in favor of erase_prompt() [Sami Kerola]
- remove underlining related code [Sami Kerola]
- replace siglongjmp() and signal() calls with signalfd() [Sami Kerola]
- restructure print_buf() if-else with continue [Sami Kerola]
- simplify initterm() [Sami Kerola]
- target all standard streams when calling fflush() [Sami Kerola]
- tell in run time help what the 'v' will execute as editor [Sami Kerola]
- use getopt_long() to parse options [Sami Kerola]
- use libmagic to identify binary files [Sami Kerola]
- use off_t and cc_t to clarify what variables attempt to represent [Sami Kerola]
- use single exit path to ensure resource freeing is unified [Sami Kerola]
mount:
- (man) cleanup devices identifiers section [Karel Zak]
- Update man page Synopsis [Marcel Waldvogel]
- support "-o move" on command line [Karel Zak]
nsenter:
- add support for the time namespace [Adrian Reber]
po:
- merge changes [Karel Zak]
- update cs.po (from translationproject.org) [Petr Písař]
- update de.po (from translationproject.org) [Mario Blättermann]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update fr.po (from translationproject.org) [Frédéric Marchal]
- update hr.po (from translationproject.org) [Božidar Putanec]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update pt.po (from translationproject.org) [Pedro Albuquerque]
- update pt_BR.po (from translationproject.org) [Rafael Fontenelle]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
- update zh_CN.po (from translationproject.org) [Boyuan Yang]
pylibmount:
- cleanup and sync UL_RaiseExc [Karel Zak]
rename:
- fix regression for symlink with non-existing target [Mauricio Faria de Oliveira]
- tests add more symlink checks [Mauricio Faria de Oliveira]
rev:
- (man) add note about limitations [Karel Zak]
- report line on error [Karel Zak]
script:
- fix minor warning [Sami Kerola]
scriptlive:
- fix man page formatting [Jakub Wilk]
- fix typo [Jakub Wilk]
scriptlive, scriptreplay:
- cleanup --maxdelay man page description [Karel Zak]
setarch:
- add arm and aarch64 architectures to transition rules [Alexey Gladkov]
- fix stderr handling in uname26 tests [Helge Deller]
- make verify_arch_domain extendable [Alexey Gladkov]
sfdisk:
- (man) add note about type and shortcuts collision [Karel Zak]
- (man) fix typo [Gaël PORTAY]
- add --disk-id to change disk UUID/ID [Karel Zak]
- add --lock and LOCK_BLOCK_DEVICE [Karel Zak]
- add --relocate command [Karel Zak]
- avoid unneeded empty lines with '--list-free' [Wolfram Sang]
- extend --part-type, support aliases [Karel Zak]
- fix --append to PT with gaps [Karel Zak]
- fix previous --append patch, improve man page [Karel Zak]
- fix ref-counting for the script [Karel Zak]
- make sure we do not overlap on --move [Karel Zak]
- only report I/O errors on --move-data [Karel Zak]
- remove broken step alignment for --move [Karel Zak]
su, runuser:
- (man) add more info about PATH and PAM [Karel Zak]
swapoff:
- cleanup EXIT STATUS [Karel Zak]
- do not use 1 exist status at all [Karel Zak]
sys-utils:
- mount.8 split a long line into two [Bjarni Ingi Gislason]
test_tiocsti:
- check ioctl() return code [coverity scan] [Karel Zak]
tests:
- Add UDF hdd image with emoji label created by mkudffs 2.2 [Pali Rohár]
- Fix for misc/fallocate test build failure. [Mark Hindley]
- Fix mountpoint test failure in build chroots. [Mark Hindley]
- add STATIC binaries to build-sys tests [Karel Zak]
- add checksum for cramfs/mkfs for BE 8192 (sparc64) [Anatoly Pugachev]
- add sanitize_env() check [Sami Kerola]
- add sfdisk --dump test [Karel Zak]
- add zonefs blkid test [Karel Zak]
- cleanup cramfs checksums [Karel Zak]
- cleanup fdisk based stuff [Karel Zak]
- don't use ASAN in build tests [Karel Zak]
- explain why MD tests with metadata v0.90 are KNOWN-FAIL [Karel Zak]
- fixes eject/umount on SPARC [Anatoly Pugachev]
- fixes fdisk/align-512-* tests [Anatoly Pugachev]
- fixes libmount/ on SPARC [Anatoly Pugachev]
- fixes mount tests on SPARC [Anatoly Pugachev]
- ignore the python libmount tests when they're run under UBSan [Evgeny Vereshchagin]
- sfdisk fill correctly gaps if default start requested [Karel Zak]
- skip "blkid/dm-err" when `mknod` doesn't work [Evgeny Vereshchagin]
- turn off detect_leaks on s390x, use more asan options [Evgeny Vereshchagin]
- update build-sys tests [Karel Zak]
- update fdisk outputs due to sizes rounding change [Karel Zak]
travis:
- build util-linux on arm64, ppc64le and s390x [Evgeny Vereshchagin]
- don't ask for Ubuntu release on XOS [Karel Zak]
- ignore memory leaks in checkusage [Evgeny Vereshchagin]
- install all the "official" build dependencies [Evgeny Vereshchagin]
- install llvm-* to get llvm-symbolizer [Evgeny Vereshchagin]
- integrate util-linux with Coverity Scan [Evgeny Vereshchagin]
- make it easier to switch to the next clang/gcc [Evgeny Vereshchagin]
- switch to Bionic [Evgeny Vereshchagin]
- switch to a newer version of macOS [Evgeny Vereshchagin]
- switch to clang-10 [Evgeny Vereshchagin]
- switch to gcc-10 [Evgeny Vereshchagin]
- turn off -Werror on precise and osx [Evgeny Vereshchagin]
- turn on -Werror [Evgeny Vereshchagin]
- turn on CIFuzz [Evgeny Vereshchagin]
- turn on UBsan on Travis CI to see how it goes [Evgeny Vereshchagin]
umount:
- don't try it as non-suid if not found mountinfo entry [Karel Zak]
unshare:
- (man) add note about signals on --fork [Karel Zak]
- Fix PID and TIME namespace persistence [michael-dev]
- Support names for map-user/group options [Matthew Harm Bekkema]
- allow custom uid/gid mappings in userns [Matthew Harm Bekkema]
- fix help message indentation [Adrian Reber]
- fix man page formatting [Jakub Wilk]
- support the time namespace [Adrian Reber]
- use '-T' for time namespace instead of '-t' [Adrian Reber]
unshare --fork:
- Ignore SIGINT and SIGTERM in parent [Daan De Meyer]
various:
- fix more lgtm scan warnings [Sami Kerola]
- use threadsafe versions of time functions [lgtm scan] [Sami Kerola]
wipefs:
- add --lock and LOCK_BLOCK_DEVICE [Karel Zak]
- fix man page --no-headings short option [Karel Zak]
write:
- fix potential string overflow [Sami Kerola]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,117 @@
util-linux v2.39.1 Release Notes
================================
The main objective of this maintenance release is to address bugs in libmount and
resolve the regression that occurred due to the v2.39 rewrite for the new kernel
mount interface.
The meson build system has also been enhanced.
Changes between v2.39 and v2.39.1
---------------------------------
blkzone:
- don't take address of struct blk_zone [Thomas Weißschuh]
build-sys:
- add --disable-waitpid [Frantisek Sumsal]
- don't call pkg-config --static if unnecessary [Karel Zak]
- fix typo in waitpid check [Thomas Weißschuh]
- only pass --failure-level if supported [Thomas Weißschuh]
cal:
- fix error message for bad -c argument [Jakub Wilk]
- fix long option name for -c [Jakub Wilk]
ci:
- prevent prompts during installation [Thomas Weißschuh]
dmesg:
- make kmsg read() buffer big enough for kernel [anteater]
docs:
- update AUTHORS file [Karel Zak]
enosys:
- add support for MIPS, PowerPC and ARC [Thomas Weißschuh]
- add support for loongarch [Thomas Weißschuh]
- add support for sparc [Thomas Weißschuh]
- split audit arch detection into dedicated header [Thomas Weißschuh]
hardlink:
- (man) add missing comma [Jakub Wilk]
lib:
- remove pager.c from libcommon [Karel Zak]
lib/ include/:
- cleanup license headers [Karel Zak]
lib/color-names:
- fix license header [Karel Zak]
lib/loopdev:
- consistently return error values from loopcxt_find_unused() [Thomas Weißschuh]
- document function return values [Thomas Weißschuh]
lib/strutils:
- fix typo [Jakub Wilk]
libblkid:
- (bcache) also calculate checksum over journal buckets [Thomas Weißschuh]
- (bcache) extend superblock definition [Thomas Weißschuh]
- jfs - avoid undefined shift [Milan Broz]
libmount:
- (optlist) correctly detect ro status [Thomas Weißschuh]
- always ignore user=<name> [Karel Zak]
- check for availability of mount_setattr [Thomas Weißschuh]
- cleanup enosys returns from mount hoop [Karel Zak]
- don't call hooks after mount.<type> helper [Karel Zak]
- don't call mount.<type> helper with usernames [Karel Zak]
- don't pass option "defaults" to helper [Thomas Weißschuh]
- fix options prepend/insert and merging [Karel Zak]
- fix sync options between context and fs structs [Karel Zak]
- introduce LIBMOUNT_FORCE_MOUNT2={always,never,auto} [Karel Zak]
libsmartcols:
- (samples) fix format truncation warning [Thomas Weißschuh]
logger:
- initialize socket credentials contol union [Karel Zak]
losetup:
- deduplicate find_unused() logic [Thomas Weißschuh]
lsfd:
- (filter) weakly support ARRAY_STRING and ARRAY_NUMBER json types [Masatake YAMATO]
- (tests) fix typo [Thomas Weißschuh]
- use ARRAY_STRING for ENDPOINTS column in JSON output mode [Masatake YAMATO]
meson:
- add conditionalization for test progs [Zbigniew Jędrzejewski-Szmek]
- check for _NL_TIME_WEEK_1STDAY in langinfo.h [Christian Hesse]
- conditionalize waitpid [Zbigniew Jędrzejewski-Szmek]
- implement HAVE_PTY [Zbigniew Jędrzejewski-Szmek]
- include bash-completion for newgrp [Christian Hesse]
- include bash-completion for write [Christian Hesse]
- install chfn setuid [Christian Hesse]
- install chsh setuid [Christian Hesse]
- install mount setuid [Christian Hesse]
- install newgrp setuid [Christian Hesse]
- install su setuid [Christian Hesse]
- install symlink for vigr man page [Christian Hesse]
- install umount setuid [Christian Hesse]
- install wall setgid [Christian Hesse]
- install write setgid [Christian Hesse]
- require 0.57 [Thomas Weißschuh]
mkfs.minix:
- handle 64bit time on 32bit system [Thomas Weißschuh]
po:
- merge changes [Karel Zak]
- update hr.po (from translationproject.org) [Božidar Putanec]
po-man:
- add ko.po (from translationproject.org) [Seong-ho Cho]
- add ro.po (from translationproject.org) [Remus-Gabriel Chelu]
- merge changes [Karel Zak]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
sfdisk:
- add hint about duplicate UUIDs when use dump [Karel Zak]
test_enosys:
- fix build on old kernels [Thomas Weißschuh]
test_uuidd:
- make pthread_t formatting more robust [Thomas Weißschuh]
tests:
- (lsfd) add a case for verifying ENDPOINTS column output in JSON mode [Masatake YAMATO]
- (run.sh) detect builddir from working directory [Thomas Weißschuh]
- backport mount_setattr test [Karel Zak]
- backport special mount script [Karel Zak]
- fix update special mount test output [Karel Zak]
tools:
- (asciidoctor) explicitly require extensions module [Thomas Weißschuh]
unshare:
- fix error message for unexpected time offsets [Thomas Weißschuh]
waitpid:
- only build when pidfd_open is available [Thomas Weißschuh]

View File

@ -0,0 +1,56 @@
util-linux v2.39.2 Release Notes
================================
Changes between v2.39.1 and v2.39.2
-----------------------------------
build-sys:
- add AX_COMPARE_VERSION [Thomas Weißschuh]
chrt:
- (man) add note about --sched-period lower limit [Karel Zak]
column:
- fix -l [Karel Zak]
docs:
- update AUTHORS file [Karel Zak]
github:
- check apt-cache in more robust way [Karel Zak]
include:
- define pidfd syscalls if needed [Markus Mayer]
libblkid:
- fix topology chain types mismatch [Karel Zak]
libmount:
- (python) work around python 3.12 bug [Thomas Weißschuh]
- (utils) fix statx fallback [Thomas Weißschuh]
- check for linux/mount.h [Markus Mayer]
- check for struct statx [Markus Mayer]
- cleanup --fake mode [Karel Zak]
- fix typo [Debarshi Ray]
- handle failure to apply flags as part of a mount operation [Debarshi Ray]
- ifdef statx() call [Karel Zak]
- improve EPERM interpretation [Karel Zak]
- update documentation for MNT_ERR_APPLYFLAGS [Debarshi Ray]
- use mount(2) for remount on Linux < 5.14 [Karel Zak]
- use some MS_* flags as superblock flags [Karel Zak]
lscpu:
- Even more Arm part numbers (early 2023) [Jeremy Linton]
meson:
- add check for linux/mount.h [Thomas Weißschuh]
- add check for struct statx [Thomas Weißschuh]
- check for HAVE_STRUCT_STATX_STX_MNT_ID [Karel Zak]
po:
- merge changes [Karel Zak]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update hr.po (from translationproject.org) [Božidar Putanec]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update sr.po (from translationproject.org) [Мирослав Николић]
po-man:
- merge changes [Karel Zak]
- update sr.po (from translationproject.org) [Мирослав Николић]
setarch:
- add PER_LINUX_FDPIC fallback [Karel Zak]
uuidd:
- improve man page for -cont-clock [Karel Zak]
wall:
- do not error for ttys that do not exist [Mike Gilbert]
zramctl:
- add hint about supported algorithms [Karel Zak]

View File

@ -0,0 +1,114 @@
util-linux v2.39.3 Release Notes
================================
Changes between v2.39.2 and v2.39.3
-----------------------------------
autotools:
- fix AC_DEFINE_UNQUOTED() use [Karel Zak]
- fix librtas check [Karel Zak]
- fix typos [Karel Zak]
blkid:
- fix call to err_exclusive_options [Thomas Weißschuh]
blkpr:
- store return value of getopt_long in int [Thomas Weißschuh]
build-sys:
- fix libmount/src/hooks.c use [Karel Zak]
disk-utils:
- add SPDX and Copyright notices [Karel Zak]
docs:
- add SPDX to boilerplate.c [Karel Zak]
- update AUTHORS file [Karel Zak]
- use HTTPS for GitHub clone URLs [Jakub Wilk]
include:
- add DragonFlyBSD GPT partition types [Thomas Weißschuh]
include/audit-arch:
- add missing SPDX [Karel Zak]
ldattach:
- don't call exit() from signal handler [Thomas Weißschuh]
lib/env:
- avoid underflow of read_all_alloc() return value [Thomas Weißschuh]
lib/idcache:
- always gracefully handle null cache [Thomas Weißschuh]
lib/path:
- Set errno in case of fgets failure [Tobias Stoeckmann]
- fix possible out of boundary access [Tobias Stoeckmann]
- fix typos [Tobias Stoeckmann]
- set errno in case of error [Tobias Stoeckmann]
libblkid:
- (bcachefs) adapt to major.minor version [Thomas Weißschuh]
- (bcachefs) add support for sub-device labels [Thomas Weißschuh]
- (bcachefs) fix compiler warning [-Werror=sign-compare] [Karel Zak]
- (bcachefs) fix not detecting large superblocks [Colin Gillespie]
- (bcachefs) fix size validation [Thomas Weißschuh]
- (jmicron_raid) avoid modifying shared buffer [Thomas Weißschuh]
- (jmicron_raid) use checksum APIs [Thomas Weißschuh]
- (ntfs) validate that sector_size is a power of two [Thomas Weißschuh]
- (probe) handle probe without chain gracefully [Thomas Weißschuh]
- (vfat) avoid modifying shared buffer [Thomas Weißschuh]
- (vxfs) report endianness [Thomas Weißschuh]
- (zonefs) avoid modifying shared buffer [Thomas Weißschuh]
- avoid memory leak of cachefile path [Thomas Weißschuh]
- exfat fix fail to find volume label [Yuezhang Mo]
- reset errno before calling probefuncs [Thomas Weißschuh]
libfdisk:
- handle allocation failure in fdisk_new_partition [Thomas Weißschuh]
- reset errno before calling read() [Thomas Weißschuh]
libmount:
- Fix regression when mounting with atime [Filipe Manana]
- accept '\' as escape for options separator [Karel Zak]
- fix possible NULL dereference [coverity scan] [Karel Zak]
- fix statx() includes [Karel Zak]
- gracefully handle NULL path in mnt_resolve_target() [Thomas Weißschuh]
- improve mnt_table_next_child_fs() [Karel Zak]
- make.stx_mnt_id use more robust [Karel Zak]
- report statx in features list [Karel Zak]
libsmartcols:
- handle nameless tables in export format [Thomas Weißschuh]
libuuid:
- avoid truncate clocks.txt to improve performance [Goldwyn Rodrigues]
libuuid/src/gen_uuid.c:
- fix cs_min declaration [Fabrice Fontaine]
login:
- Use pid_t for child_pid [Tobias Stoeckmann]
- move comment [Tobias Stoeckmann]
losetup:
- fix JSON MAJ MIN [Karel Zak]
lscpu:
- Use 4K buffer size instead of BUFSIZ [Khem Raj]
- fix caches separator for --parse=<list> [Karel Zak]
- Add Phytium FTC862 cpu model. fix:
lsfd:
- (man) fix the form for the optional argument of --inet option [Masatake YAMATO]
- avoid undefined behavior [Thomas Weißschuh]
- fix memory leak in append_filter_expr() [Karel Zak]
lslogins:
- (man) fix -y option formatting [Thomas Weißschuh]
- fix realloc() loop allocation size [Thomas Weißschuh]
meson:
- install wall executable with group 'tty' [Christian Hesse]
- install write executable with group 'tty' [Christian Hesse]
more:
- avoid out-of-bound access [Thomas Weißschuh]
po:
- add ro.po (from translationproject.org) [Remus-Gabriel Chelu]
- merge changes [Karel Zak]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
po-man:
- merge changes [Karel Zak]
script-playutils:
- close filestream in case ignore_line() fails [Thomas Weißschuh]
setpriv:
- fix group argument completion [Thomas Weißschuh]
setterm:
- avoid restoring flags from uninitialized memory [Chris Hofstaedtler]
tests:
- add ts_skip_docker [Thomas Weißschuh]
- skip broken tests on docker [Thomas Weißschuh]
umount:
- handle bindmounts during --recursive [Thomas Weißschuh]
- Add Phytium FTC310 & FTC664 support [zuoqian]
- Fix man page for col to correct documentation error [Connor-GH]
- Update col.c to fix option mistake [Connor-GH]
- Use empty libuser config file. [Anatoly Pugachev]

View File

@ -0,0 +1,15 @@
This was the original README when rfkill was a standalone project.
-- snip
This is 'rfkill', a tool to use /dev/rfkill.
To build rfkill, just enter 'make'.
'rfkill' is currently maintained at http://git.sipsolutions.net/rfkill.git/,
some more documentation is available at
http://wireless.kernel.org/en/users/Documentation/rfkill.
Please send all patches to Johannes Berg <johannes@sipsolutions.net>
and CC linux-wireless@vger.kernel.org for community review.

379
Makefile.am Normal file
View File

@ -0,0 +1,379 @@
AM_CPPFLAGS = \
-include config.h \
-I$(top_srcdir)/include \
-DLOCALEDIR=\"$(localedir)\" \
-D_PATH_RUNSTATEDIR=\"${runstatedir}\" \
-D_PATH_SYSCONFSTATICDIR=\"${sysconfstaticdir}\"
if USE_VENDORDIR
AM_CPPFLAGS += \
-D_PATH_VENDORDIR=\"${vendordir}\"
endif
if FUZZING_ENGINE
if !OSS_FUZZ
AM_CPPFLAGS += \
-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
endif
endif
AM_CFLAGS = -fsigned-char $(WARN_CFLAGS)
AM_CXXFLAGS = $(AM_CFLAGS)
AM_LDFLAGS = $(ASAN_LDFLAGS) $(UBSAN_LDFLAGS) $(FUZZING_ENGINE_LDFLAGS)
# Add gettext stuff to the global LDADD for systems with separate libintl
# library. The LTLIBINTL is generated by AM_GNU_GETTEXT macro.
#
LDADD = $(LTLIBINTL)
LIB_FUZZING_ENGINE ?= -fsanitize=fuzzer
# Paths to in-tree libraries (use ul_ prefix to avoid possible collisions) Note
# that blkid.h, libmount.h, libfdisk.h and libsmartcols.h are generated and
# stored in build dirs.
#
ul_libblkid_incdir = $(top_builddir)/libblkid/src
ul_libmount_incdir = $(top_builddir)/libmount/src
ul_libsmartcols_incdir = $(top_builddir)/libsmartcols/src
ul_libfdisk_incdir = $(top_builddir)/libfdisk/src
ul_libuuid_incdir = $(top_srcdir)/libuuid/src
bashcompletiondir = @bashcompletiondir@
dist_noinst_HEADERS =
dist_noinst_DATA =
noinst_PROGRAMS =
EXTRA_LTLIBRARIES =
usrbin_exec_PROGRAMS =
usrsbin_exec_PROGRAMS =
man_MANS =
pkgconfig_DATA =
usrlib_exec_LTLIBRARIES =
bin_PROGRAMS =
sbin_PROGRAMS =
dist_usrbin_exec_SCRIPTS =
systemdsystemunit_DATA =
dist_bashcompletion_DATA =
check_PROGRAMS =
dist_check_SCRIPTS =
PATHFILES =
ADOCFILES_COMMON =
MANPAGES =
MANLINKS =
INSTALL_EXEC_HOOKS =
UNINSTALL_HOOKS =
INSTALL_DATA_HOOKS =
CLEAN_LOCALS =
CHECK_LOCALS =
EXTRA_DIST =
CLEANFILES =
SUBDIRS = po
if ENABLE_ASCIIDOC
if ENABLE_POMAN
SUBDIRS += po-man
endif
endif
RCS_FIND_IGNORE = \( -name SCCS -o -name BitKeeper -o -name .svn -o \
-name CVS -o -name .pc -o -name .hg -o -name .git \) -prune -o
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST += \
.version \
autogen.sh \
Documentation \
po/update-potfiles \
README.licensing
include tools/Makemodule.am
include include/Makemodule.am
include lib/Makemodule.am
include libuuid/Makemodule.am
include libblkid/Makemodule.am
include libmount/Makemodule.am
include libsmartcols/Makemodule.am
include libfdisk/Makemodule.am
include schedutils/Makemodule.am
include text-utils/Makemodule.am
include term-utils/Makemodule.am
include login-utils/Makemodule.am
include sys-utils/Makemodule.am
include misc-utils/Makemodule.am
include disk-utils/Makemodule.am
include bash-completion/Makemodule.am
include man-common/Makemodule.am
include tests/Makemodule.am
# Meson files
EXTRA_DIST += \
meson.build \
meson_options.txt \
tools/meson-make-manpage-stub.sh \
tools/meson-make-symlink.sh \
\
include/meson.build \
libblkid/meson.build \
libmount/meson.build \
libmount/python/meson.build \
misc-utils/meson.build \
libsmartcols/meson.build \
text-utils/meson.build \
po/meson.build \
lib/meson.build \
libuuid/meson.build \
sys-utils/meson.build \
libfdisk/meson.build \
term-utils/meson.build \
disk-utils/meson.build \
login-utils/meson.build
# pylibmountexec module must be installed after usrlib_exec libraries,
# otherwise the libtool relink step will fail to find libmount.la and
# will try -lmount which is possibly not available.
#
# So introduce this dependency rule:
# install-pylibmountexecLTLIBRARIES: install-usrlib_execLTLIBRARIES
@verbatim_pylibmount_dependency@
#
# Don't rely on configure.ac AC_CONFIG_FILES for install paths.
#
# The paths should be expanded at make time rather than configure:
# - to support 'make install prefix=/foo DESTDIR=/foo'
# - to recursively expands the paths (e.g. AC_CONFIG_FILES expands
# '@usrsbin_execdir@' to ${exec_prefix}/sbin')
#
edit_cmd = sed \
-e 's|@prefix[@]|$(prefix)|g' \
-e 's|@exec_prefix[@]|$(exec_prefix)|g' \
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
-e 's|@datadir[@]|$(datadir)|g' \
-e 's|@sbindir[@]|$(sbindir)|g' \
-e 's|@bindir[@]|$(bindir)|g' \
-e 's|@docdir[@]|$(docdir)|g' \
-e 's|@includedir[@]|$(includedir)|g' \
-e 's|@runstatedir[@]|$(runstatedir)|g' \
-e 's|@usrlib_execdir[@]|$(usrlib_execdir)|g' \
-e 's|@usrbin_execdir[@]|$(usrbin_execdir)|g' \
-e 's|@usrsbin_execdir[@]|$(usrsbin_execdir)|g' \
-e 's|@VERSION[@]|$(VERSION)|g' \
-e 's|@ADJTIME_PATH[@]|$(ADJTIME_PATH)|g' \
-e 's|@LIBUUID_VERSION[@]|$(LIBUUID_VERSION)|g' \
-e 's|@LIBMOUNT_VERSION[@]|$(LIBMOUNT_VERSION)|g' \
-e 's|@LIBMOUNT_MAJOR_VERSION[@]|$(LIBMOUNT_MAJOR_VERSION)|g' \
-e 's|@LIBMOUNT_MINOR_VERSION[@]|$(LIBMOUNT_MINOR_VERSION)|g' \
-e 's|@LIBMOUNT_PATCH_VERSION[@]|$(LIBMOUNT_PATCH_VERSION)|g' \
-e 's|@LIBSMARTCOLS_VERSION[@]|$(LIBSMARTCOLS_VERSION)|g' \
-e 's|@LIBFDISK_PC_REQUIRES[@]|$(LIBFDISK_PC_REQUIRES)|g' \
-e 's|@LIBFDISK_VERSION[@]|$(LIBFDISK_VERSION)|g' \
-e 's|@LIBFDISK_MAJOR_VERSION[@]|$(LIBFDISK_MAJOR_VERSION)|g' \
-e 's|@LIBFDISK_MINOR_VERSION[@]|$(LIBFDISK_MINOR_VERSION)|g' \
-e 's|@LIBFDISK_PATCH_VERSION[@]|$(LIBFDISK_PATCH_VERSION)|g' \
-e 's|@LIBBLKID_VERSION[@]|$(LIBBLKID_VERSION)|g'
if HAVE_SELINUX
edit_cmd += -e 's|@LIBSELINUX[@]|libselinux|g'
else
edit_cmd += -e 's|@LIBSELINUX[@]||g'
endif
if HAVE_CRYPTSETUP
if CRYPTSETUP_VIA_DLOPEN
edit_cmd += -e 's|@LIBCRYPTSETUP[@]||g'
edit_cmd += -e 's|@LIBDL[@]|-ldl|g'
else
edit_cmd += -e 's|@LIBCRYPTSETUP[@]|libcryptsetup|g'
edit_cmd += -e 's|@LIBDL[@]||g'
endif
else
edit_cmd += -e 's|@LIBCRYPTSETUP[@]||g'
edit_cmd += -e 's|@LIBDL[@]||g'
endif
if USE_VENDORDIR
edit_cmd += -e 's|@vendordir[@]|$(vendordir)|g'
else
edit_cmd += -e 's|@vendordir[@]||g'
endif
CLEANFILES += $(PATHFILES) $(EXTRA_LTLIBRARIES)
EXTRA_DIST += $(PATHFILES:=.in)
$(PATHFILES): Makefile
@ rm -f $@ $@.tmp
$(AM_V_at) $(MKDIR_P) $$(dirname $@)
$(AM_V_GEN) srcdir=''; \
test -f ./$@.in || srcdir=$(srcdir)/; \
$(edit_cmd) $${srcdir}$@.in >$@.tmp
@ mv $@.tmp $@
if ENABLE_ASCIIDOC
EXTRA_DIST += $(ADOCFILES_COMMON) $(MANPAGES) $(MANLINKS)
man_MANS += $(MANPAGES) $(MANLINKS)
$(MANPAGES): $(ADOCFILES_COMMON)
asciidoc_man_cmd = $(ASCIIDOCTOR) \
-b manpage \
-a 'release-version=$(VERSION)' \
-a 'package-docdir=$(docdir)' \
-a 'VERSION=$(VERSION)' \
-a 'ADJTIME_PATH=$(ADJTIME_PATH)' \
--load-path '$(abs_srcdir)/tools' \
--require asciidoctor-includetracker
if HAVE_ASCIIDOCTOR_FAILURE_LEVEL
asciidoc_man_cmd += --failure-level ERROR
endif
SUFFIXES = .1.adoc .3.adoc .5.adoc .8.adoc .1 .3 .5 .8
.1.adoc.1 .3.adoc.3 .5.adoc.5 .8.adoc.8:
$(AM_V_GEN) test -f ./$@ || \
$(MKDIR_P) $$(dirname $@) && \
$(asciidoc_man_cmd) --base-dir=$(abs_srcdir) \
--destination-dir $(abs_builddir)/$$(dirname $@) $<
-include \
$(abs_builddir)/**.1.deps \
$(abs_builddir)/**.3.deps \
$(abs_builddir)/**.5.deps \
$(abs_builddir)/**.8.deps
$(MANLINKS): $(MANPAGES)
gen-man: $(man_MANS)
# Standard "make" follows BUILD_* macros from ./configure, and in this case, it
# ignores man pages for disabled tools, but for distribution tarball, we need
# to generate all man-pages (to avoid dependence on asciidoc). [kzak Jan-2022]
gen-man-dist:
@list=`find -name *.adoc -not -path "*/man-common/*" -not -path "*/po-man/*" | sed -e 's/\.adoc//g'`; \
missing=`for p in $$list; do test -f $$p || echo $$p; done`; \
if test -n "$$missing"; then \
$(MAKE) $(AM_MAKEFLAGS) $$missing; \
fi;
# !ENABLE_ASCIIDOC
else
if HAVE_MANPAGES
EXTRA_DIST += $(ADOCFILES_COMMON) $(MANPAGES) $(MANLINKS)
man_MANS += $(MANPAGES) $(MANLINKS)
endif
gen-man:
gen-man-dist:
endif
# Arrange so that .tarball-version appears only in the distribution
# tarball, and never in a checked-out repository.
dist-hook: gen-man-dist
echo $(VERSION) > $(distdir)/.tarball-version
# Set ChangeLog tag reference.
sed -i "s!log!log?h=v$(VERSION)!" $(distdir)/ChangeLog
distclean-local:
-find . -name \*~ -o -name \*.orig -o -name \*.rej | xargs rm -f
rm -rf autom4te.cache
checkincludes:
@find * $(RCS_FIND_IGNORE) \
-name '*.[hcS]' -type f -print | sort -u \
| xargs $(top_srcdir)/tools/checkincludes.pl
checkconfig:
@find * $(RCS_FIND_IGNORE) \
-name '*.[hcS]' -type f -print | sort -u \
| xargs $(top_srcdir)/tools/checkconfig.sh $(top_srcdir)
checkmans:
@$(top_srcdir)/tools/checkadoc-missing.sh
@$(top_srcdir)/tools/checkadoc-repeat.sh
checkxalloc:
@ $(top_srcdir)/tools/checkxalloc.sh
checkdecl:
@ $(top_srcdir)/tools/checkdecl.sh
checkcompletion:
@ $(top_srcdir)/tools/checkcompletion.sh $(top_srcdir)
checkusage:
@ $(top_srcdir)/tools/checkusage.sh \
$(bin_PROGRAMS) $(sbin_PROGRAMS) \
$(usrbin_exec_PROGRAMS) $(usrsbin_exec_PROGRAMS)
checklibdoc:
@ $(top_srcdir)/tools/checklibdocs.sh \
$(top_srcdir)/libmount/src/libmount.sym \
$(top_srcdir)/libmount/docs/libmount-sections.txt
@ $(top_srcdir)/tools/checklibdocs.sh \
$(top_srcdir)/libfdisk/src/libfdisk.sym \
$(top_srcdir)/libfdisk/docs/libfdisk-sections.txt
@ $(top_srcdir)/tools/checklibdocs.sh \
$(top_srcdir)/libsmartcols/src/libsmartcols.sym \
$(top_srcdir)/libsmartcols/docs/libsmartcols-sections.txt
@ $(top_srcdir)/tools/checklibdocs.sh \
$(top_srcdir)/libblkid/src/libblkid.sym \
$(top_srcdir)/libblkid/docs/libblkid-sections.txt
DISTCHECK_CONFIGURE_FLAGS = \
--disable-makeinstall-chown \
--disable-use-tty-group \
--disable-silent-rules \
--disable-rpath \
--enable-all-programs \
--enable-gtk-doc \
--with-python \
--with-bashcompletiondir=$$dc_install_base/$(bashcompletiondir) \
--with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
BUILT_SOURCES = .version
.version:
echo $(VERSION) > $@-t && mv $@-t $@
CHANGELOG_FILE = v$(VERSION)-ChangeLog
$(CHANGELOG_FILE):
@ if test "x$$PREVIOUS_VERSION" == "x"; then \
echo "Usage make changelog PREVIOUS_VERSION=<version>"; \
exit 1; \
fi
@ echo "Changes between v$(PREVIOUS_VERSION) and v$(VERSION)" > $(CHANGELOG_FILE)
@ echo "--------------------------------------------" >> $(CHANGELOG_FILE)
@ echo >> $(CHANGELOG_FILE)
$(AM_V_GEN) git log --stat v$(PREVIOUS_VERSION)..HEAD >> $(CHANGELOG_FILE)
#
#
# smatch scan -- smatch and cgcc are expected in $PATH
#
checksmatch:
$(MAKE) CHECK="smatch --data=$(abs_top_srcdir)/tools/smatch-data" CC=cgcc
check-programs: $(check_PROGRAMS)
changelog: $(CHANGELOG_FILE)
install-exec-hook: $(INSTALL_EXEC_HOOKS)
uninstall-hook: $(UNINSTALL_HOOKS)
install-data-hook: $(INSTALL_DATA_HOOKS)
clean-local: $(CLEAN_LOCALS)
check-local: $(CHECK_LOCALS)

17751
Makefile.in Normal file

File diff suppressed because it is too large Load Diff

1915
NEWS Normal file

File diff suppressed because it is too large Load Diff

146
README Normal file
View File

@ -0,0 +1,146 @@
util-linux
util-linux is a random collection of Linux utilities
Note: for the years 2006-2010 this project was named "util-linux-ng".
COMPILE & INSTALL:
See Documentation/howto-compilation.txt.
MAILING LIST:
E-MAIL: util-linux@vger.kernel.org
URL: http://vger.kernel.org/vger-lists.html#util-linux
ARCHIVE: https://lore.kernel.org/util-linux/
The mailing list will reject email messages that contain:
- more than 100K characters
- html
- spam phrases/keywords
See: http://vger.kernel.org/majordomo-info.html#taboo
IRC CHANNEL:
#util-linux at libera.chat:
irc://irc.libera.chat/util-linux
The IRC channel and Mailing list are for developers and project
maintainers. For end users it is recommended to utilize the
distribution's support system.
BUG REPORTING:
E-MAIL: util-linux@vger.kernel.org
Web: https://github.com/util-linux/util-linux/issues
Bug reports with sensitive or private information: Karel Zak <kzak@redhat.com>
This project has no resources to provide support for distribution specific
issues. For end users it is recommended to utilize the distribution's
support system.
NLS (PO TRANSLATIONS):
PO files are maintained by:
https://translationproject.org/domain/util-linux.html
VERSION SCHEMA:
Standard releases:
<major>.<minor>[.<maint>]
major = fatal and deep changes
minor = typical release with new features
maint = maintenance releases; bug fixes only
Development releases:
<major>.<minor>-rc<N>
SOURCE CODE:
Download archive:
https://www.kernel.org/pub/linux/utils/util-linux/
See also:
Documentation/howto-contribute.txt
Documentation/howto-build-sys.txt
Documentation/howto-pull-request.txt
SCM (Source Code Management) Repository:
Primary repository:
git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
Backup repository:
git clone https://github.com/util-linux/util-linux.git
Web interfaces:
https://git.kernel.org/cgit/utils/util-linux/util-linux.git
https://github.com/util-linux/util-linux
Note: the GitHub repository may contain temporary development branches too.
The kernel.org repository contains master (current development) and stable/*
(maintenance) branches only. All master or stable/* changes are always pushed
to both repositories at the same time.
Repository Branches: 'git branch -a'
master branch
- current development
- the source for stable releases when deemed ready.
- day-to-day status is: 'it works for me'. This means that its
normal state is useful but not well tested.
- long-term development or invasive changes in active development are
forked into separate 'topic' branches from the tip of 'master'.
stable/ branches
- public releases
- branch name: stable/v<major>.<minor>.
- created from the 'master' branch after two or more release
candidates and the final public release. This means that the stable
releases are committed, tagged, and reachable in 'master'.
- these branches then become forked development branches. This means
that any changes made to them diverge from the 'master' branch.
- maintenance releases are part of, and belong to, their respective
stable branch. As such, they are tags(<major>.<minor>.<maint>) and
not branches of their own. They are not part of, visible in, or
have anything to do with the 'master' development branch. In git
terminology: maintenance releases are not reachable from 'master'.
- when initially cloned (as with the 'git clone' command given above)
these branches are created as 'remote tracking branches' and are
only visible by using the -a or -r options to 'git branch'. To
create a local branch use the desired tag with this command:
'git checkout -b v2.29.2 v2.29.2'
Tags: 'git tag'
- a new tag object is created for every release.
- tag name: v<version>.
- all tags are signed by the maintainer's PGP key.
Known Bugs:
- don't use tag v2.13.1 (created and published by mistake),
use v2.13.1-REAL instead.
WORKFLOW EXAMPLE:
1) development (branch: <master>)
2) master release (tags: v2.29-rc1, v2.29-rc2, v2.29, branch: <master>)
3) development (work on v2.30, branch: <master>)
4) fork -- create a new branch <stable/v2.29> based on tag v2.29
4a) new patches or cherry-pick patches from <master> (branch: <stable/v2.29>)
4b) stable release (tag: v2.29.1, branch: <stable/v2.29>)
4c) more patches; another release (tag: v2.29.2, branch: <stable/v2.29>)
5) master release v2.30 (branch: <master>)
...
where 3) and 4) happen simultaneously.

28
README.licensing Normal file
View File

@ -0,0 +1,28 @@
The project util-linux doesn't use the same license for all of the code.
There is code under:
* GPL-1.0-or-later - GNU General Public License version 1, or any later version
* GPL-2.0 - GNU General Public License version 2
* GPL-2.0-or-later - GNU General Public License version 2, or any later version
* GPL-3.0-or-later - GNU General Public License version 3, or any later version
* LGPL-2.1-or-later - GNU Lesser General Public License 2.1 or any later version
* BSD-2-Clause - Simplified BSD License
* BSD-3-Clause - BSD 3-Clause "New" or "Revised" License
* BSD-4-Clause-UC - BSD 4-Clause University of California-Specific
* Public Domain
Please, check the source code for more details. A license is usually at the start
of each source file.
The ./COPYING file (GPL-2.0-or-later) is the default license for code without
an explicitly defined license.

1919
aclocal.m4 vendored Normal file

File diff suppressed because it is too large Load Diff

158
autogen.sh Executable file
View File

@ -0,0 +1,158 @@
#!/bin/sh
#
# Helps generate autoconf/automake stuff, when code is checked out from SCM.
#
# Copyright (C) 2006-2010 - Karel Zak <kzak@redhat.com>
#
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
THEDIR=`pwd`
cd $srcdir
DIE=0
warn_mesg ()
{
echo
echo "WARNING: $1"
test -z "$2" ||
echo " $2"
echo
}
error_mesg ()
{
echo
echo "ERROR: $1"
test -z "$2" ||
echo " $2"
echo
DIE=1
}
# provide simple gettext backward compatibility
autopoint_fun ()
{
# we have to deal with set -e ...
ret="0"
# check against this hardcoded set of alternative gettext versions
gt_ver=`gettext --version |\
sed -n -e 's/.* \(0\.17\|0\.18\|0\.18\.[1-2]\)$/\1/p'`
if [ -n "$gt_ver" ]; then
warn_mesg "warning: forcing autopoint to use old gettext $gt_ver"
rm -f configure.ac.autogenbak
sed -i.autogenbak configure.ac \
-e "s/\(AM_GNU_GETTEXT_VERSION\).*/\1([$gt_ver])/"
fi
autopoint "$@" || ret=$?
if [ -n "$gt_ver" ]; then
mv configure.ac.autogenbak configure.ac
fi
return $ret
}
test -f sys-utils/mount.c ||
error_mesg "You must run this script in the top-level util-linux directory."
(autopoint --version) < /dev/null > /dev/null 2>&1 ||
error_mesg "You must have autopoint installed to generate the util-linux build system." "The autopoint command is part of the GNU gettext package."
(autoconf --version) < /dev/null > /dev/null 2>&1 ||
error_mesg "You must have autoconf installed to generate the util-linux build system."
(autoheader --version) < /dev/null > /dev/null 2>&1 ||
error_mesg "You must have autoheader installed to generate the util-linux build system." "The autoheader command is part of the GNU autoconf package."
[ -x "$(command -v gettext)" -o -x "$(command -v xgettext)" ] ||
warn_mesg "You need have [x]gettext binary installed to update po/ stuff."
if ! (bison --version) < /dev/null > /dev/null 2>&1; then
error_mesg "You must have bison installed to build the util-linux."
else
lexver=$(bison --version | awk '/^bison \(GNU [Bb]ison\)/ { print $4 }')
case "$lexver" in
[2-9].*)
;;
*)
error_mesg "You must have bison version >= 2.x, but you have $lexver."
;;
esac
fi
LIBTOOLIZE=libtoolize
case `uname` in Darwin*) LIBTOOLIZE=glibtoolize ;; esac
if ! ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1; then
error_mesg "You must have libtool-2 installed to generate the util-linux build system."
else
ltver=$($LIBTOOLIZE --version | awk '/^[g]*libtoolize/ { print $4 }')
ltver=${ltver:-"none"}
test ${ltver##2.} = "$ltver" &&
error_mesg "You must have libtool version >= 2.x.x, but you have $ltver."
fi
(automake --version) < /dev/null > /dev/null 2>&1 ||
error_mesg "You must have automake installed to generate the util-linux build system."
if test "$DIE" -eq 1; then
exit 1
fi
echo
echo "Generating build-system with:"
echo " autopoint: $(autopoint --version | head -1)"
echo " aclocal: $(aclocal --version | head -1)"
echo " autoconf: $(autoconf --version | head -1)"
echo " autoheader: $(autoheader --version | head -1)"
echo " automake: $(automake --version | head -1)"
echo " libtoolize: $($LIBTOOLIZE --version | head -1)"
echo " bison: $(bison --version | head -1)"
echo
rm -rf autom4te.cache
set -e
po/update-potfiles
autopoint_fun --force $AP_OPTS
if ! grep -q datarootdir po/Makefile.in.in; then
echo "INFO: autopoint does not honor dataroot variable, patching."
sed -i -e 's/^datadir *=\(.*\)/datarootdir = @datarootdir@\
datadir = @datadir@/g' po/Makefile.in.in
fi
$LIBTOOLIZE --force $LT_OPTS
# patch libtool
if test -f tools/libtool.m4.patch; then
if test -L m4/libtool.m4; then
cp m4/libtool.m4 m4/libtool.m4.org
rm m4/libtool.m4
mv m4/libtool.m4.org m4/libtool.m4
fi
set +e
patch --batch --dry -p1 < tools/libtool.m4.patch > /dev/null 2>&1
if [ "$?" -eq 0 ]; then
patch -p1 --batch < tools/libtool.m4.patch
fi
set -e
fi
aclocal -I m4 $AL_OPTS
autoconf $AC_OPTS
autoheader $AH_OPTS
automake --add-missing $AM_OPTS
cd "$THEDIR"
echo
echo "Now type '$srcdir/configure' and 'make' to compile."
echo

View File

@ -0,0 +1,348 @@
if BUILD_BASH_COMPLETION
if BUILD_BLKID
dist_bashcompletion_DATA += bash-completion/blkid
endif
if BUILD_CAL
dist_bashcompletion_DATA += bash-completion/cal
endif
if BUILD_COL
dist_bashcompletion_DATA += bash-completion/col
endif
if BUILD_COLCRT
dist_bashcompletion_DATA += bash-completion/colcrt
endif
if BUILD_COLRM
dist_bashcompletion_DATA += bash-completion/colrm
endif
if BUILD_COLUMN
dist_bashcompletion_DATA += bash-completion/column
endif
if BUILD_FINCORE
dist_bashcompletion_DATA += bash-completion/fincore
endif
if BUILD_FINDFS
dist_bashcompletion_DATA += bash-completion/findfs
endif
if BUILD_FINDMNT
dist_bashcompletion_DATA += bash-completion/findmnt
endif
if BUILD_FLOCK
dist_bashcompletion_DATA += bash-completion/flock
endif
if BUILD_GETOPT
dist_bashcompletion_DATA += bash-completion/getopt
endif
if BUILD_HEXDUMP
dist_bashcompletion_DATA += bash-completion/hexdump
endif
if BUILD_IPCMK
dist_bashcompletion_DATA += bash-completion/ipcmk
endif
if BUILD_IPCRM
dist_bashcompletion_DATA += bash-completion/ipcrm
endif
if BUILD_IPCS
dist_bashcompletion_DATA += bash-completion/ipcs
endif
if BUILD_IRQTOP
dist_bashcompletion_DATA += bash-completion/irqtop
endif
if BUILD_ISOSIZE
dist_bashcompletion_DATA += bash-completion/isosize
endif
if BUILD_LOGGER
dist_bashcompletion_DATA += bash-completion/logger
endif
if BUILD_LOOK
dist_bashcompletion_DATA += bash-completion/look
endif
if BUILD_LSIPC
dist_bashcompletion_DATA += bash-completion/lsipc
endif
if BUILD_LSIRQ
dist_bashcompletion_DATA += bash-completion/lsirq
endif
if BUILD_LSNS
dist_bashcompletion_DATA += bash-completion/lsns
endif
if BUILD_MCOOKIE
dist_bashcompletion_DATA += bash-completion/mcookie
endif
if BUILD_MKFS
dist_bashcompletion_DATA += bash-completion/mkfs
endif
if BUILD_MKSWAP
dist_bashcompletion_DATA += bash-completion/mkswap
endif
if BUILD_NAMEI
dist_bashcompletion_DATA += bash-completion/namei
endif
if BUILD_PRLIMIT
dist_bashcompletion_DATA += bash-completion/prlimit
endif
if BUILD_READPROFILE
dist_bashcompletion_DATA += bash-completion/readprofile
endif
if BUILD_RENICE
dist_bashcompletion_DATA += bash-completion/renice
endif
if BUILD_REV
dist_bashcompletion_DATA += bash-completion/rev
endif
if BUILD_SCRIPT
dist_bashcompletion_DATA += bash-completion/script
endif
if BUILD_SCRIPTREPLAY
dist_bashcompletion_DATA += bash-completion/scriptreplay
endif
if BUILD_SCRIPTLIVE
dist_bashcompletion_DATA += bash-completion/scriptlive
endif
if BUILD_SETSID
dist_bashcompletion_DATA += bash-completion/setsid
endif
if BUILD_WHEREIS
dist_bashcompletion_DATA += bash-completion/whereis
endif
if BUILD_WIPEFS
dist_bashcompletion_DATA += bash-completion/wipefs
endif
if BUILD_FSCK
dist_bashcompletion_DATA += bash-completion/fsck
endif
if BUILD_BFS
dist_bashcompletion_DATA += bash-completion/mkfs.bfs
endif
if BUILD_MINIX
dist_bashcompletion_DATA += \
bash-completion/fsck.minix \
bash-completion/mkfs.minix
endif
if BUILD_CRAMFS
dist_bashcompletion_DATA += \
bash-completion/fsck.cramfs \
bash-completion/mkfs.cramfs
endif
if BUILD_PARTX
dist_bashcompletion_DATA += \
bash-completion/addpart \
bash-completion/delpart \
bash-completion/resizepart \
bash-completion/partx
endif
if BUILD_RAW
dist_bashcompletion_DATA += bash-completion/raw
endif
if BUILD_SWAPLABEL
dist_bashcompletion_DATA += bash-completion/swaplabel
endif
if BUILD_FDFORMAT
dist_bashcompletion_DATA += bash-completion/fdformat
endif
if BUILD_BLOCKDEV
dist_bashcompletion_DATA += bash-completion/blockdev
endif
if BUILD_FDISK
dist_bashcompletion_DATA += bash-completion/fdisk
endif
if BUILD_SFDISK
dist_bashcompletion_DATA += bash-completion/sfdisk
endif
if BUILD_CFDISK
dist_bashcompletion_DATA += bash-completion/cfdisk
endif
if BUILD_CHFN_CHSH
dist_bashcompletion_DATA += \
bash-completion/chfn \
bash-completion/chsh
endif
if BUILD_LAST
dist_bashcompletion_DATA += bash-completion/last
install-data-hook-bashcomp-lastb::
ln -sf last $(DESTDIR)$(bashcompletiondir)/lastb
INSTALL_DATA_HOOKS += install-data-hook-bashcomp-lastb
endif
if BUILD_LSLOGINS
dist_bashcompletion_DATA += bash-completion/lslogins
endif
if BUILD_NEWGRP
dist_bashcompletion_DATA += bash-completion/newgrp
endif
if BUILD_SU
dist_bashcompletion_DATA += bash-completion/su
endif
if BUILD_RUNUSER
install-data-hook-bashcomp-runuser::
if BUILD_SU
ln -sf su $(DESTDIR)$(bashcompletiondir)/runuser
else
cp $(top_srcdir)/bash-completion/su $(DESTDIR)$(bashcompletiondir)/runuser
endif
INSTALL_DATA_HOOKS += install-data-hook-bashcomp-runuser
endif
if BUILD_UTMPDUMP
dist_bashcompletion_DATA += bash-completion/utmpdump
endif
if BUILD_UUIDGEN
dist_bashcompletion_DATA += bash-completion/uuidgen
endif
if BUILD_UUIDPARSE
dist_bashcompletion_DATA += bash-completion/uuidparse
endif
if BUILD_UUIDD
dist_bashcompletion_DATA += bash-completion/uuidd
endif
if BUILD_LSBLK
dist_bashcompletion_DATA += bash-completion/lsblk
endif
if BUILD_LSLOCKS
dist_bashcompletion_DATA += bash-completion/lslocks
endif
if BUILD_RENAME
dist_bashcompletion_DATA += bash-completion/rename
endif
if BUILD_CHRT
dist_bashcompletion_DATA += bash-completion/chrt
endif
if BUILD_UCLAMPSET
dist_bashcompletion_DATA += bash-completion/uclampset
endif
if BUILD_IONICE
dist_bashcompletion_DATA += bash-completion/ionice
endif
if BUILD_TASKSET
dist_bashcompletion_DATA += bash-completion/taskset
endif
if BUILD_CHCPU
dist_bashcompletion_DATA += bash-completion/chcpu
endif
if BUILD_CHMEM
dist_bashcompletion_DATA += bash-completion/chmem
endif
if BUILD_EJECT
dist_bashcompletion_DATA += bash-completion/eject
endif
if BUILD_FALLOCATE
dist_bashcompletion_DATA += bash-completion/fallocate
endif
if BUILD_HWCLOCK
dist_bashcompletion_DATA += bash-completion/hwclock
endif
if BUILD_TUNELP
dist_bashcompletion_DATA += bash-completion/tunelp
endif
if BUILD_LSCPU
dist_bashcompletion_DATA += bash-completion/lscpu
endif
if BUILD_LSMEM
dist_bashcompletion_DATA += bash-completion/lsmem
endif
if BUILD_LOSETUP
dist_bashcompletion_DATA += bash-completion/losetup
endif
if BUILD_MOUNT
dist_bashcompletion_DATA += bash-completion/mount
dist_bashcompletion_DATA += bash-completion/umount
endif
if BUILD_MOUNTPOINT
dist_bashcompletion_DATA += bash-completion/mountpoint
endif
if BUILD_NSENTER
dist_bashcompletion_DATA += bash-completion/nsenter
endif
if BUILD_PIVOT_ROOT
dist_bashcompletion_DATA += bash-completion/pivot_root
endif
if BUILD_SETPRIV
dist_bashcompletion_DATA += bash-completion/setpriv
endif
if BUILD_SWAPON
dist_bashcompletion_DATA += bash-completion/swapon
dist_bashcompletion_DATA += bash-completion/swapoff
endif
if BUILD_UNSHARE
dist_bashcompletion_DATA += bash-completion/unshare
endif
if BUILD_WDCTL
dist_bashcompletion_DATA += bash-completion/wdctl
endif
if BUILD_BLKDISCARD
dist_bashcompletion_DATA += bash-completion/blkdiscard
endif
if BUILD_BLKZONE
dist_bashcompletion_DATA += bash-completion/blkzone
endif
if BUILD_CTRLALTDEL
dist_bashcompletion_DATA += bash-completion/ctrlaltdel
endif
if BUILD_DMESG
dist_bashcompletion_DATA += bash-completion/dmesg
endif
if BUILD_FSFREEZE
dist_bashcompletion_DATA += bash-completion/fsfreeze
endif
if BUILD_FSTRIM
dist_bashcompletion_DATA += bash-completion/fstrim
endif
if BUILD_LDATTACH
dist_bashcompletion_DATA += bash-completion/ldattach
endif
if BUILD_RFKILL
dist_bashcompletion_DATA += bash-completion/rfkill
endif
if BUILD_RTCWAKE
dist_bashcompletion_DATA += bash-completion/rtcwake
endif
if BUILD_SETARCH
dist_bashcompletion_DATA += bash-completion/setarch
endif
if BUILD_ZRAMCTL
dist_bashcompletion_DATA += bash-completion/zramctl
endif
if BUILD_MESG
dist_bashcompletion_DATA += bash-completion/mesg
endif
if BUILD_WALL
dist_bashcompletion_DATA += bash-completion/wall
endif
if BUILD_WRITE
dist_bashcompletion_DATA += bash-completion/write
endif
if BUILD_SETTERM
dist_bashcompletion_DATA += bash-completion/setterm
endif
if BUILD_MORE
dist_bashcompletion_DATA += bash-completion/more
endif
if BUILD_PG
dist_bashcompletion_DATA += bash-completion/pg
endif
if BUILD_UL
dist_bashcompletion_DATA += bash-completion/ul
endif
if BUILD_HARDLINK
dist_bashcompletion_DATA += bash-completion/hardlink
endif
if BUILD_PIPESZ
dist_bashcompletion_DATA += bash-completion/pipesz
endif
if BUILD_FADVISE
dist_bashcompletion_DATA += bash-completion/fadvise
endif
if BUILD_WAITPID
dist_bashcompletion_DATA += bash-completion/waitpid
endif
endif # BUILD_BASH_COMPLETION

24
bash-completion/addpart Normal file
View File

@ -0,0 +1,24 @@
_addpart_module()
{
local cur
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
case $COMP_CWORD in
1)
OPTS="--help --version $(lsblk -pnro name)"
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
;;
2)
# FIXME: how to determine next free partition number
;;
3)
COMPREPLY=( $(compgen -W "start" -- $cur) )
;;
4)
COMPREPLY=( $(compgen -W "length" -- $cur) )
;;
esac
return 0
}
complete -F _addpart_module addpart

View File

@ -0,0 +1,38 @@
_blkdiscard_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-o'|'--offset'|'-l'|'--length'|'-p'|'--step')
COMPREPLY=( $(compgen -W "num" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="
--force
--offset
--length
--quiet
--step
--secure
--zeroout
--verbose
--help
--version
"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _blkdiscard_module blkdiscard

100
bash-completion/blkid Normal file
View File

@ -0,0 +1,100 @@
_blkid_module()
{
local cur prev OPTS OUTPUT_ALL
OUTPUT_ALL=''
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-c'|'--cache-file')
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
return 0
;;
'-o'|'--output')
COMPREPLY=( $(compgen -W "value device export full" -- $cur) )
return 0
;;
'-s'|'--match-tag')
COMPREPLY=( $(compgen -W "tag" -- $cur) )
return 0
;;
'-t'|'--match-token')
COMPREPLY=( $(compgen -W "TYPE= LABEL= UUID=" -- $cur) )
return 0
;;
'-L'|'--label')
COMPREPLY=( $(compgen -W "$(cd /dev/disk/by-label/ 2>/dev/null && echo *)" -- $cur) )
return 0
;;
'-U'|'--uuid')
COMPREPLY=( $(compgen -W "$(cd /dev/disk/by-uuid/ 2>/dev/null && echo *)" -- $cur) )
return 0
;;
'-S'|'--size')
COMPREPLY=( $(compgen -W "size" -- $cur) )
return 0
;;
'-O'|'--offset')
COMPREPLY=( $(compgen -W "offset" -- $cur) )
return 0
;;
'-u'|'--usages')
OUTPUT_ALL={,no}{filesystem,raid,crypto,other}
;;
'-n'|'--match-types')
OUTPUT_ALL="
$(awk '{print $NF}' /proc/filesystems)
$(\ls /lib/modules/$(uname -r)/kernel/fs)
"
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
if [ -n "$OUTPUT_ALL" ]; then
local prefix realcur OUTPUT_ALL OUTPUT
realcur="${cur##*,}"
prefix="${cur%$realcur}"
for WORD in $OUTPUT_ALL; do
if ! [[ $prefix == *"$WORD"* ]]; then
OUTPUT="$WORD ${OUTPUT:-""}"
fi
done
compopt -o nospace
COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- "$realcur") )
return 0
fi
case $cur in
-*)
OPTS="
--cache-file
--no-encoding
--garbage-collect
--output
--list-filesystems
--match-tag
--match-token
--list-one
--label
--uuid
--probe
--info
--size
--offset
--usages
--match-types
--no-part-details
--help
--version
"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _blkid_module blkid

53
bash-completion/blkzone Normal file
View File

@ -0,0 +1,53 @@
_blkzone_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-o'|'--offset')
COMPREPLY=( $(compgen -W "sector" -- $cur) )
return 0
;;
'-l'|'--length')
COMPREPLY=( $(compgen -W "size" -- $cur) )
return 0
;;
'-c'|'--count')
COMPREPLY=( $(compgen -W "number" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
case $prev in
'report'|'reset')
OPTS="--verbose --offset --length --count --force"
;;
*)
OPTS="--help --version"
;;
esac
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
*)
case $prev in
'report'|'reset')
;;
*)
OPTS="report reset"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
;;
esac
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _blkzone_module blkzone

46
bash-completion/blockdev Normal file
View File

@ -0,0 +1,46 @@
_blockdev_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
DEVS="$(lsblk -pnro name)"
OPTS="-h -V -q
--report
--getsz
--setro
--setrw
--getro
--getdiscardzeroes
--getdiskseq
--getss
--getpbsz
--getiomin
--getioopt
--getalignoff
--getmaxsect
--getbsz
--setbsz
--getsize64
--setra
--getra
--setfra
--getfra
--flushbufs
--rereadpt
$DEVS"
case $prev in
'--setbsz')
COMPREPLY=( $(compgen -W "bytes" -- $cur) )
return 0
;;
'--setra'|'--setfra')
COMPREPLY=( $(compgen -W "sectors" -- $cur) )
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
}
complete -F _blockdev_module blockdev

30
bash-completion/cal Normal file
View File

@ -0,0 +1,30 @@
_cal_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
case $cur in
-*)
OPTS=" --one
--three
--months
--sunday
--span
--monday
--julian
--year
--twelve
--week
--color=auto
--color=always
--color=never
--vertical
--version
--help"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
return 0
}
complete -F _cal_module cal

32
bash-completion/cfdisk Normal file
View File

@ -0,0 +1,32 @@
_cfdisk_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-L'|'--color')
COMPREPLY=( $(compgen -W "auto never always" -- $cur) )
return 0
;;
'-V'|'--version'|'h'|'--help')
return 0
;;
esac
case $cur in
-*)
OPTS=" --color
--zero
--lock
--help
--read-only
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _cfdisk_module cfdisk

59
bash-completion/chcpu Normal file
View File

@ -0,0 +1,59 @@
_chcpu_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-e'|'--enable')
local prefix realcur CPULIST_ALL CPULIST
realcur="${cur##*,}"
prefix="${cur%$realcur}"
CPULIST_ALL=$(sed 's/^/{/; s/-/../g; s/,/} {/g; s/$/}/' /sys/devices/system/cpu/offline)
for WORD in $(eval echo $CPULIST_ALL); do
if ! [[ $prefix == *"$WORD"* ]]; then
CPULIST="$WORD ${CPULIST:-""}"
fi
done
compopt -o nospace
COMPREPLY=( $(compgen -P "$prefix" -W "$CPULIST" -S ',' -- $realcur) )
return 0
;;
'-d'|'--disable')
local prefix realcur CPULIST_ALL CPULIST
realcur="${cur##*,}"
prefix="${cur%$realcur}"
CPULIST_ALL=$(sed 's/^/{/; s/-/../g; s/,/} {/g; s/$/}/' /sys/devices/system/cpu/online)
for WORD in $(eval echo $CPULIST_ALL); do
if ! [[ $prefix == *"$WORD"* ]]; then
CPULIST="$WORD ${CPULIST:-""}"
fi
done
compopt -o nospace
COMPREPLY=( $(compgen -P "$prefix" -W "$CPULIST" -S ',' -- $realcur) )
return 0
;;
'-c'|'--configure'|'-g'|'--deconfigure')
COMPREPLY=( $(compgen -W "cpu-list" -- $cur) )
return 0
;;
'-p'|'--dispatch')
COMPREPLY=( $(compgen -W "horizontal vertical" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
OPTS="--help
--enable
--disable
--configure
--deconfigure
--dispatch
--rescan
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
}
complete -F _chcpu_module chcpu

22
bash-completion/chfn Normal file
View File

@ -0,0 +1,22 @@
_chfn_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-u'|'--help'|'-v'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="--full-name --office --office-phone --home-phone --help --version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
COMPREPLY=( $(compgen -u -- $cur) )
return 0
}
complete -F _chfn_module chfn

30
bash-completion/chmem Normal file
View File

@ -0,0 +1,30 @@
_chmem_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="
--enable
--disable
--blocks
--verbose
--zone
--help
--version
"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
COMPREPLY=( $(compgen -W "size range blockrange" -- $cur) )
return 0
}
complete -F _chmem_module chmem

52
bash-completion/chrt Normal file
View File

@ -0,0 +1,52 @@
_chrt_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-h'|'--help'|'-V'|'--version')
return 0
;;
'-T'|'--sched-runtime'|'-P'|'--sched-period'|'-D'|'--sched-deadline')
COMPREPLY=( $(compgen -W "nanoseconds" -- $cur) )
return 0
;;
esac
case $cur in
-*)
OPTS="
--all-tasks
--batch
--deadline
--fifo
--help
--idle
--max
--other
--pid
--reset-on-fork
--rr
--sched-deadline
--sched-period
--sched-runtime
--verbose
--version
"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
local i
for i in ${COMP_WORDS[*]}; do
case $i in
'-p'|'--pid')
COMPREPLY=( $(compgen -W "$(cd /proc && echo [0-9]*)" -- $cur) )
return 0
;;
esac
done
COMPREPLY=( $(compgen -c -- $cur) )
return 0
}
complete -F _chrt_module chrt

26
bash-completion/chsh Normal file
View File

@ -0,0 +1,26 @@
_chsh_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-s'|'--shell')
COMPREPLY=( $(compgen -W "$($1 -l)" -- $cur) )
return 0
;;
'-u'|'--help'|'-v'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="--shell --list-shells --version --help"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
COMPREPLY=( $(compgen -u -- $cur) )
return 0
}
complete -F _chsh_module chsh

27
bash-completion/col Normal file
View File

@ -0,0 +1,27 @@
_col_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-l'|'--lines')
COMPREPLY=( $(compgen -W "number" -- $cur) )
return 0
;;
'-H'|'--help'|'-V'|'--version')
return 0
;;
esac
OPTS="--no-backspaces
--fine
--pass
--tabs
--spaces
--lines
--version
--help"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
}
complete -F _col_module col

27
bash-completion/colcrt Normal file
View File

@ -0,0 +1,27 @@
_colcrt_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS=" --no-underlining
--half-lines
--version
--help"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
return 0
}
complete -F _colcrt_module colcrt

29
bash-completion/colrm Normal file
View File

@ -0,0 +1,29 @@
_colrm_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="--version --help"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
case $COMP_CWORD in
1)
COMPREPLY=( $(compgen -W "startcol" -- $cur) )
;;
2)
COMPREPLY=( $(compgen -W "endcol" -- $cur) )
;;
esac
return 0
}
complete -F _colrm_module colrm

64
bash-completion/column Normal file
View File

@ -0,0 +1,64 @@
_column_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-c'|'--output-width'|'-l'|'--table-columns-limit')
COMPREPLY=( $(compgen -W "number" -- $cur) )
return 0
;;
'-s'|'--separator'|'-o'|'--output-separator'|'-n'|'--table-name'|'-O')
COMPREPLY=( $(compgen -W "string" -- $cur) )
return 0
;;
'-O'|'--table-order'|'-N'|'--table-columns'|'-E'|'--table-noextreme'|'-H'|'--table-hide'|'-R'|'--table-right'|'-T'|'--table-truncate'|'-W'|'--table-wrap')
COMPREPLY=( $(compgen -W "string" -- $cur) )
return 0
;;
'-r'|'--tree'|'-i'|'--tree-id'|'-p'|'--tree-parent')
COMPREPLY=( $(compgen -W "string" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="--columns
--table
--table-name
--table-order
--table-columns
--table-columns-limit
--table-noextreme
--table-noheadings
--table-maxout
--table-header-repeat
--table-hide
--table-right
--table-truncate
--table-wrap
--keep-empty-lines
--json
--tree
--tree-id
--tree-parent
--output-width
--separator
--output-separator
--fillrows
--help
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
return 0
}
complete -F _column_module column

View File

@ -0,0 +1,17 @@
_ctrlaltdel_module()
{
local cur prev
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $(compgen -W "hard soft" -- $cur) )
fi
return 0
}
complete -F _ctrlaltdel_module ctrlaltdel

25
bash-completion/delpart Normal file
View File

@ -0,0 +1,25 @@
_delpart_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $COMP_CWORD in
1)
OPTS="--help --version $(lsblk -pnro name)"
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
;;
2)
prev="${COMP_WORDS[COMP_CWORD-1]}"
COMPREPLY=( $(compgen -W "$(cat /sys/block/${prev##*/}/*/partition 2>/dev/null)" -- $cur) )
;;
esac
return 0
}
complete -F _delpart_module delpart

Some files were not shown because too many files have changed in this diff Show More