merge upstream 2.38.1

This commit is contained in:
su-fang 2023-02-17 14:33:46 +08:00
parent d2e8f6190e
commit e72d587bc0
1769 changed files with 800174 additions and 206011 deletions

View File

@ -1 +1 @@
2.34
2.38.1

View File

@ -1 +1 @@
2.34
2.38.1

234
AUTHORS
View File

@ -31,6 +31,8 @@ AUTHORS (merged projects & commands):
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>
@ -41,6 +43,7 @@ AUTHORS (merged projects & commands):
lscpu: Cai Qian <qcai@redhat.com>
lsblk: Milan Broz <mbroz@redhat.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>
@ -69,6 +72,7 @@ AUTHORS (merged projects & commands):
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>
@ -82,11 +86,14 @@ AUTHORS (merged projects & commands):
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>
@ -94,57 +101,79 @@ CONTRIBUTORS:
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>
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>
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>
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>
@ -159,12 +188,14 @@ CONTRIBUTORS:
Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Björn Jacke <bj@sernet.de>
Bjørn Mork <bjorn@mork.no>
bobbyboy5069 <106821778+bobbyboy5069@users.noreply.github.com>
Bob Proulx <rwp@hprwp.fc.hp.com>
Boris Egorov <egorov@linux.com>
Borut Mrak <borutmrak@users.noreply.github.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>
@ -173,13 +204,20 @@ CONTRIBUTORS:
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 Finnberg <christian@finnberg.net>
Christian Hesse <mail@eworm.de>
Christian von Roques <roques@juliet.ka.sub.org>
Christian Wiese <chris@opensde.org>
@ -200,10 +238,15 @@ CONTRIBUTORS:
Corentin Chary <corentincj@iksaif.net>
Cristian Rodríguez <crrodriguez@opensuse.org>
Csaba Kos <csaba.kos@gmail.com>
csbo98 <boliu98@foxmail.com>
d032747 <michael.trapp@sap.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 <dsd@laptop.org>
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>
@ -213,9 +256,13 @@ CONTRIBUTORS:
Daniel Thumim <dthumim@mit.edu>
Daniel Trebbien <dtrebbien@gmail.com>
Darren Salt <linux@youmustbejoking.demon.co.uk>
Darsey Litzenberger <dlitz@dlitz.net>
data-man <dataman@tutanota.com>
Dave Jones <davej@fedoraproject.org>
Dave Reisner <dreisner@archlinux.org>
David Brownell <david-b@pacbell.net>
David Cantrell <david@cantrell.org.uk>
David Engraf <david.engraf@sysgo.com>
David Holland <dholland@hcs.harvard.edu>
Davidlohr Bueso <davidlohr@hp.com>
David Miller <davem@davemloft.net>
@ -230,43 +277,69 @@ CONTRIBUTORS:
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>
ellcs <me@ellcs.de>
Elliott Mitchell <ehem+util-linux@drgnwing.com>
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>
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>
@ -280,9 +353,13 @@ CONTRIBUTORS:
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>
@ -299,22 +376,33 @@ CONTRIBUTORS:
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>
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 Wienand <iwienand@redhat.com>
Icenowy Zheng <icenowy@aosc.io>
Igor Bazhitov <igor.bazhitov@gmail.com>
@ -324,20 +412,27 @@ CONTRIBUTORS:
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 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@medozas.de>
Jan Kara <jack@suse.cz>
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>
@ -348,24 +443,35 @@ CONTRIBUTORS:
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>
@ -374,14 +480,18 @@ CONTRIBUTORS:
John W. Linville <linville@tuxdriver.com>
Jonathan Liu <net147@gmail.com>
Jon Grant <jg@jguk.org>
jonnyh64 <60403537+jonnyh64@users.noreply.github.com>
Jon Ringle <jon@ringle.org>
Jookia <contact@jookia.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>
@ -401,10 +511,12 @@ CONTRIBUTORS:
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>
Kunihiko IMAI <kimai@iodata.jp>
KyleMahlkuch <Kyle.Mahlkuch@ibm.com>
Lada Trimasova <ltrimas@synopsys.com>
@ -413,23 +525,36 @@ CONTRIBUTORS:
Laurent Vivier <laurent@vivier.eu>
Lauri Nurmi <lanurmi@iki.fi>
Lawrence Rust <lawrence@softsystem.co.uk>
leeceeksdee <70331744+leeceeksdee@users.noreply.github.com>
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>
@ -439,21 +564,31 @@ CONTRIBUTORS:
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 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>
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>
@ -461,19 +596,24 @@ CONTRIBUTORS:
Max Klinger <max@fs.lmu.de>
Meelis Roos <mroos@linux.ee>
MeggyCal <MeggyCal@users.noreply.github.com>
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 <hramrach@gmail.com>
Michal Suchanek <msuchanek@suse.de>
Michel Robitaille <robitail@IRO.UMontreal.CA>
Mickey Rose <lightmare@users.noreply.github.com>
Mike Frysinger <vapier@gentoo.org>
Mike Hommey <mh@glandium.org>
Mikel Olasagasti Uranga <hey_neken@mundurat.net>
@ -481,30 +621,40 @@ CONTRIBUTORS:
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 <mbroz@redhat.com>
Ming Lei <tom.leiming@gmail.com>
Miquel van Smoorenburg <miquels@maestro.htsa.aha.nl>
Mister Me <gdg@localhost.localdomain>
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>
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>
@ -515,6 +665,7 @@ CONTRIBUTORS:
osexp2000 <osexp2000@gmail.com>
Pádraig Brady <P@draigBrady.com>
Pali Rohár <pali.rohar@gmail.com>
panchenbo <panchenbo@uniontech.com>
Pascal Terjan <pterjan@mandriva.com>
Patrice Dumas <pertusus@free.fr>
Patrick Plagwitz <patrick.plagwitz@fau.de>
@ -523,11 +674,14 @@ CONTRIBUTORS:
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>
peppe <g1pi@libero.it>
@ -552,13 +706,21 @@ CONTRIBUTORS:
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>
Rafael Fontenelle <rffontenelle@users.noreply.github.com>
Rafal Luzynski <digitalfreak@lingonborough.com>
Rafał Miłecki <rafal@milecki.pl>
Raghavendra D Prabhu <rprabhu@wnohang.net>
@ -569,6 +731,7 @@ CONTRIBUTORS:
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>
Rian Hunter <rian@alum.mit.edu>
@ -582,8 +745,11 @@ CONTRIBUTORS:
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>
@ -595,29 +761,43 @@ CONTRIBUTORS:
Romain Naour <romain.naour@gmail.com>
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@ens-lyon.org>
Samuel Thibault <samuel.thibault@aquilenet.fr>
Sam Varshavchik <mrsam@courier-mta.com>
Sam Voss <sam.voss@gmail.com>
Sanchit Saini <49326387+sanchit-saini@users.noreply.github.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 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>
@ -625,20 +805,34 @@ CONTRIBUTORS:
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>
Siu Ching Pong -Asuka Kenji- <asukakenji@users.noreply.github.com>
sluidfoe <sluidfoe@gmail.com>
Smitty <me@smitop.com>
Sol Boucher <sboucher@cmu.edu>
Søren Holm <sgh@sgh.dk>
Soumendra Ganguly <67527439+8vasu@users.noreply.github.com>
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>
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>
@ -649,22 +843,30 @@ CONTRIBUTORS:
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>
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>
ThomasKaiser <ThomasKaiser@users.noreply.github.com>
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Schwinge <thomas@codesourcery.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>
@ -672,37 +874,54 @@ CONTRIBUTORS:
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>
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>
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>
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>
@ -711,21 +930,30 @@ CONTRIBUTORS:
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
Yann Droneaud <yann@droneaud.fr>
Yannick Le Pennec <yannick.lepennec@live.fr>
YmrDtnJu <YmrDtnJu@users.noreply.github.com>
Yonatan Goldschmidt <yon.goldschmidt@gmail.com>
Yoshihiro Takahashi <ytakahashi@miraclelinux.com>
Yousong Zhou <yszhou4tech@gmail.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>
zhenwei pi <pizhenwei@bytedance.com>
Zhi Li <lizhi1215@gmail.com>
Мирослав Николић <miroslavnikolic@rocketmail.com>

View File

@ -1,3 +1,3 @@
See version control history.
http://git.kernel.org/?p=utils/util-linux/util-linux.git;a=log;h=2.34
https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/log?h=v2.38.1

View File

@ -1,62 +1,83 @@
Note that items with (!) have high priority.
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).
agetty
------
- follow LOGIN_PLAIN_PROMPT from /etc/login.defs as alternative to --nohostname
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/karelzak/util-linux/issues/749
https://github.com/util-linux/util-linux/issues/749
cal
---
- add option to print calendar in vertical way
https://github.com/karelzak/util-linux/issues/604
- support another --reforms, see for example freebsd version
https://github.com/freebsd/freebsd/blob/master/usr.bin/ncal/ncal.c#L72
script
------
- introduce a new timing file format to record information about multiple
streams (stdout, stdin) and events (signals)
- add support for stdin loggin -- separated log file with raw input and timing
records in the timing file
- for example timing file format:
<type> <timestamp> [<offset> | <signal> ...]
O 0.001296 256
S 0.001297 SIGWINCH: columns=50, lines=20
I 0.000010 10
O - output, S - signal, I - input
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.
lsblk
-----
- currently it does not show mountpoint for all devices in btrfs RAID. It's because
/proc/#/mountinfo contains reference to the one device only. Maybe we can add some
btrfs specific code to provide a better output for FS based stacks. Not sure.
https://bugzilla.redhat.com/show_bug.cgi?id=1084453
nsenter(1)
----------
- read the default UID and GID from the target process.
http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/9553/focus=9585
hwlock
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
it means use the file only if exists, otherwise follow /etc/adjtime
- see topic/hwclock-drift-file branch
bash completion
---------------
@ -68,27 +89,29 @@ bash completion
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/karelzak/util-linux/issues/448
of the FS is created. https://github.com/util-linux/util-linux/issues/448
(... just idea, maybe wrong idea)
- support CAP_SYS_ADMIN; for mount(2) syscall the CAP_SYS_ADMIN is good
enough. Unfortunately, mount(8) does more things like check for filesystem
type (but it's usually done by udev, so root perms are unnecessary), create
loop devices, write to /run/mount/utab or /etc/mtab, etc.
It would be nice to improve libmount to check for CAP_SYS_ADMIN if suid not
set and allow to use it for simple tasks where no another operation is
necessary.
- 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
------
@ -96,15 +119,17 @@ getopt
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/karelzak/util-linux/issues/701
https://github.com/util-linux/util-linux/issues/701
docs
----
- (!) use something better than gtk-doc for libmount and libblkid (doxyden?)
- (!) 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:
-----------
@ -120,11 +145,28 @@ login-utils:
* 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
--------
- (!) add support for BitLocker Drive Encryption
https://github.com/karelzak/util-linux/issues/617
- 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)
@ -135,13 +177,18 @@ 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

View File

@ -10,13 +10,13 @@ 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
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
(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

View File

@ -2,6 +2,13 @@ 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

View File

@ -1,6 +1,6 @@
|^^^^^^|
| | _____________________
| | _____________________
| | / \
| (o)(o) | |
@ _) | BOGUS man!! |

View File

@ -32,7 +32,7 @@
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
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

@ -2,8 +2,15 @@ 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.
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
@ -43,7 +50,7 @@ Compile certain portion
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

View File

@ -9,8 +9,8 @@ CONTENTS
Sending Patches
* send your patches to the mailing list.
See ../README.
* 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
@ -31,6 +31,10 @@ Sending 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 http://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.
@ -43,7 +47,7 @@ Repositories & Branches
We use this repository for master and stable branches only.
* Backup repository at github.com:
git clone git://github.com/karelzak/util-linux.git
git clone git://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
@ -53,10 +57,13 @@ Repositories & Branches
* Branches:
master - development for the next release
next - optionally used when master branch is frozen due to -rcN releases
topic/* - long time development
stable/* - stable maintenance releases
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

View File

@ -1,188 +1,2 @@
.\" This is a util-linux manual page example in troff format.
.\"
.\" The .TH macro expects the following arguments:
.\" title section date footer header
.\" The title is usually the command name.
.\" The section must match the filename extension.
.\" The date is the month and year when the last update happened.
.\" The footer is fixed to "util-linux".
.\" The header is a textual description of the section:
.\" 1 "User Commands"
.\" 2 "System calls"
.\" 3 "Programmer's Manual"
.\" 4 "Special Files"
.\" 5 "File Formats"
.\" 6 "Games"
.\" 7 "Miscellanea"
.\" 8 "System Administration"
.\"
.\" Please read `man 7 groff_man' to see how to use the various macros.
.\"
.TH EXAMPLE "1" "April 2016" "util-linux" "User Commands"
.SH NAME
example \- a util-linux man-page howto
.SH SYNOPSIS
.B example
[options]
.I argument
.SH DESCRIPTION
Each manual page needs some sort of description of the command.
Write such here.
.SH OPTIONS
.TP
\fB\-n\fR, \fB\-\-no\-argument\fR
This option does not use an argument.
.TP
\fB\-\-optional\fR[\fI=argument\fR]
Tell in this description that the
.I argument
is optional, and what happens when it is or is not given. Notice that the word
.I argument
is not abbreviated as is customary in the usage text. For example, when the
usage text uses the argument
.IR num ,
the manual page should say
.IR number .
.IP
Notice that after release v2.28 it was decided that introducing new options
taking optional arguments should be limited to long-only options. This is
done primarily to avoid problematic behaviour of short options. Imagine for
example normal option
.B \-n
and optional option
.BR \-o .
One will expect
.B command \ \-no
and
.B command \ \-on
to be the same, but in fact the former is two separate options while the
later will use
.B n
as option argument of
.BR -o .
So it is best to avoid short forms of optional options altogether.
.TP
\fB\-r\fR, \fB\-\-required\fR \fIargument\fR
Tell in this description that the
.I argument
is required.
.TP
\fB\-V\fR, \fB\-\-version\fR
Display version information and exit.
.TP
\fB\-h\fR, \fB\-\-help\fR
Display help text and exit.
.SH NOTES
Tell details that users might need to know. For example, kernel feature or
version requirements.
.PP
The man-page source lines should not exceed 80 characters in length.
.PP
Do not leave empty lines in the groff input. If you need a break or a new
paragraph, use the appropriate groff macros. See
.BR groff_man (7)
how to use man page macros.
.PP
The use cases of
.I italic
(which is underlined on a terminal) and
.B bold
are not strictly defined. The main convention is that
.I symbolic arguments
use italic, and
.B commands
and
.B literal arguments
use bold, and
.I other highlights
use
.B either
one.
.\"
.\" The manual page comments are undervalued way of adding clarifications
.\" quite not belong to the manual, questions, TODO items etc. Feel free
.\" to use them.
.\"
.PP
When in the source a new sentence begins somewhere midline, it should use a
double space before its initial letter. This is done because \fBgroff\fR
uses a double space after a sentence when this sentence ends at the end of
an input line and the next sentence begins on the next line.
Unless a double space is used before other sentence starts as well, the
spacing style will be inconsistent.
.SH ENVIRONMENT
Tell which environment variables affect, and how, the execution of the command.
.TP
.B EXAMPLE_PATH
Configuration file path. Notice that well-known environment variables, such as
.BR HOME ,
do not need explanation.
.SH FILES
Tell which file(s) the command uses.
.TP
.B $EXAMPLE_PATH
.TQ
.B $HOME/.example.conf
.TQ
.B /etc/example.conf
What are these files, in which order are they read, and will the evaluation
end or continue if one of them is found.
In case the explanation is not simple, write a separate "Special Files"
manual page that tells about syntax, meaning of key-value settings, etc.
This "Special Files" manual page then needs to be referred in the
.B SEE ALSO
section.
.TP
.B /var/log/example.log
Another file.
.SH EXAMPLES
Write typical and/or clever use examples here. The below examples are stupid,
and you should never write them in a real man page.
.TP
.B example -h
Output help screen.
.TP
.B example -V
Output version information.
.SH "EXIT STATUS"
This section can be left out if the command has only two return values,
.B 0
for success and
.B 1
for failure. Use of
.B sysexits.h
return values must be mentioned, but does not need to be explained.
.PP
.RS
.PD 0
.TP
.B 0
success
.TP
.B 1
failure
.TP
.B 2
tell why this could happen
.TP
.B 3
etc
.PD
.RE
.SH AUTHORS
.MT rjh@\:example.org
Random J. Hacker
.ME
.br
.MT fred@\:example.com
Fred Foobar
.ME
.SH "SEE ALSO"
.BR groff_man (7),
.BR foo (1),
.BR bar (8)
.SH AVAILABILITY
The example command is part of the util-linux package and is available from
.UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
Linux Kernel Archive
.UE .
Since v2.37 util-linux project uses asciidoc format to maintain man pages.
See man-common/manpage-stub.adoc for more details.

View File

@ -12,7 +12,7 @@ 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 a upstream
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
@ -43,7 +43,7 @@ is needed to stay up to date with upstream.
git checkout master
git branch textual
# spent here most of the effort
git push yourbranch textual:textual
git push yourgit textual:textual
5. Do not worry if you used stupid-and-wrong branch name, it can be fixed
before submission.
@ -128,7 +128,17 @@ git rebase -i master
# change something
git push -f yourgit textual:textual
4. Assuming the changes look good send them to mail list. Yes, the all
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.

View File

@ -5,21 +5,25 @@
It's expected that for each invasive change or important bugfix you will
include a test to your patch.
Compile tests & run basic tests:
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 [--verbose] [--memcheck]
# ./run.sh [options, see --help]
Alternatively using sudo and make:
$ make check TS_COMMAND="true"
$ make check-programs
$ sudo -E make check TS_OPTS="--parallel=1"
note that as root you have to manually remove output and diff directories
@ -31,6 +35,7 @@
Run subset of tests:
$ cd tests
$ ./run.sh <test_directory-name>
for example:
@ -38,6 +43,10 @@
$ ./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:
@ -58,6 +67,14 @@
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
---------------------
@ -104,34 +121,32 @@ TS_OPT_testdir_[testscript_]memcheck="<yes|no>"
Run certain tests with valgrind. Similar usage like TS_OPT_*_fake above.
External services
External services
-----------------
Travis CI - automatically executed for all github commits.
Coveralls coverage reports
URL: https://travis-ci.org/karelzak/util-linux/
URL: https://coveralls.io/github/util-linux/util-linux
See .travis.yml for more details.
lgtm CI - automatically executed security code analysis
We require "sudo" to install additional stuff and to run the tests with
UID=0, it means that tests are executed on travis "legacy infrastructure".
URL: https://lgtm.com/projects/g/util-linux/util-linux/
Coverity Scan
Drone.io - automatically executed for all github commits.
URL: https://scan.coverity.com/projects/karelzak-util-linux
URL: https://drone.io/github.com/karelzak/util-linux
Fossies codespell report
The drone.io does not use any in-tree config file (like travis-ci), the
currently used configuration (maintained by Drone.io web UI):
URL: https://fossies.org/linux/test/util-linux-master.tar.gz/codespell.html
MAKE_CHECK="root"
MAKE_CHECK_OPTS="--skip-loopdevs --exclude=mount/move"
source ./.travis-functions.sh
travis_install_script || exit
travis_before_script || exit
ret=0
travis_script || ret=$?
travis_after_script
exit $ret
yes, it shares the setup functions with travis-ci.
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

@ -1,3 +1,3 @@
Hwclock is a program that runs under Linux and sets and queries the
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,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

@ -42,7 +42,7 @@ the &D2 and &C1 commands may not be entirely standard.
Exit kermit/minicom.
Put the command
Put the command
/sbin/agetty -w 2400 ttyS1
@ -61,11 +61,11 @@ for the same setup as above, use the following agetty command in your
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
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
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:

View File

@ -7,7 +7,7 @@ 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>.
Presently in util-linux maintained by Karel Zak <kzak@redhat.com>.
== Notes to developers ==

View File

@ -16,10 +16,10 @@ Version 1.48 (6-Jun-97)
After idea by Andries Brouwer.
Version 1.47 (2-Apr-97)
Got new version of hostid.c and hostid.1 from
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.
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)
@ -38,7 +38,7 @@ Version 1.45a (16-Dec-96)
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,
Initial support patch by Randolph Bentson,
<bentson@grieg.seaslug.org>
Changed getpass() to use fputs() instead of fprintf().
@ -75,7 +75,7 @@ Version 1.40a (29-Dec-95):
<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
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
@ -85,7 +85,7 @@ 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):
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
@ -103,12 +103,12 @@ Version 1.36 (25-Aug-95):
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
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
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.
@ -118,8 +118,8 @@ Version 1.35 (7-Aug-95):
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
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):
@ -153,8 +153,8 @@ Version 1.32
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
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
@ -167,13 +167,13 @@ Version 1.31a (28-Oct-94):
the reboot.
Version 1.30 (17-Sep-94):
tobias@server.et-inf.fho-emden.de (Peter Tobias) has made a more
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
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
@ -210,7 +210,7 @@ Version 1.28a (16-May-94):
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
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
@ -221,7 +221,7 @@ Version 1.27 (10-May-94):
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
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
@ -229,7 +229,7 @@ Version 1.27 (10-May-94):
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
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.
@ -241,13 +241,13 @@ Version 1.25 (9-Feb-94):
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.
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
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.
@ -268,7 +268,7 @@ Version 1.21 (30-Oct-93): changes since 1.20
/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
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.
@ -366,8 +366,8 @@ Version 1.8a (13-Dec-92): changes since 1.7:
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.
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)
@ -380,7 +380,7 @@ Version 1.7: 26-Oct-92 changes since 1.6:
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
@ -400,7 +400,7 @@ Version 1.4 (4-Jul-92): changes since 1.3:
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
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
@ -411,7 +411,7 @@ Version 1.3 (14-Jun-92): changes since 1.2:
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
@ -439,7 +439,7 @@ Version 1.2 (28-Feb-92): changes since 1.1:
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
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.
@ -459,7 +459,7 @@ Version 1.1 (released 19-Feb-92): Changes since 1.0:
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
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
@ -478,7 +478,7 @@ 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
at different terminals. This code doubles as code for
a wall(1) command. Make a symlink: /usr/bin/wall ->
/usr/bin/write for this.
@ -495,7 +495,7 @@ login. Login doesn't print /etc/motd, and doesn't check for mail if
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
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.

View File

@ -1,7 +1,7 @@
Release schedule
----------------
The util-linux package uses the <major>.<minor>.<maintenaince> version
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

View File

@ -6,13 +6,13 @@ 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
- 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 v0 swap space format since 2.5.22. The new version v1 is
supported since 2.1.117.
swapon(8):
@ -30,25 +30,25 @@ 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
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
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
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
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.
@ -64,11 +64,11 @@ flock(1):
- allows lock directory
fsck.cramfs:
- automatically detects the image endianness, and can work on images of
- 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
- now accepts a new optional parameter (-N) that allows creating
the cramfs image in either endianness.
renice(1):
@ -77,14 +77,14 @@ renice(1):
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
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
old kernel, etc.) does not allow the requested scheduling priority
to be set.
- the command line option "-p" handles multiple PIDs now.
@ -97,8 +97,8 @@ ipcmk(1):
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,
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):

View File

@ -5,11 +5,11 @@ Release highlights
------------------
fallocate:
- this NEW COMMAND is a command line interface to 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
- this NEW COMMAND is a command line interface to unshare Linux syscall
and allows to run program with some namespaces unshared from parent.
wipefs
@ -22,14 +22,14 @@ libblkid:
* 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
* 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
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

View File

@ -1,8 +1,8 @@
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 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
@ -17,8 +17,8 @@ libmount:
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
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
@ -26,7 +26,7 @@ libmount:
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
- this NEW COMMAND is a command line interface to the libmount library
for work with mountinfo, fstab and mtab files
fsfreeze(8):
@ -38,13 +38,13 @@ swaplabel(8):
blkid(8):
- supports new command line option "-i" to print I/O Limits
- supports new command line option "-n" to restrict probing functions to
- 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
- supports new command line option "-R/--reset-on-fork" to enable
SCHED_RESET_ON_FORK flag
fdisk(8):
@ -53,11 +53,11 @@ fdisk(8):
(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
- 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
- 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):

View File

@ -37,9 +37,9 @@ losetup(8), mount(8):
(requires kernel >= 2.6.37)
fsck(8):
- supports new command line option "-l" to lock whole-disk device by
- 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.
are executed in the same time.
rtcwake(8):
- supports new mode "show" to print the current RTC alarm time
@ -53,7 +53,7 @@ swapon(8):
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

View File

@ -10,7 +10,7 @@ agetty(8):
- mingetty features have been merged to agetty
chrt(1), taskset(1):
- supports new command line option "--all-tasks" to set or retrieve the
- supports new command line option "--all-tasks" to set or retrieve the
scheduling attributes of all the tasks (threads) for a given PID
dmesg(1):
@ -22,7 +22,7 @@ fdisk(8):
- improved dialogs to be more user-friendly
findmnt(8), partx(8), lsblk(8)
- support new command line option "--pairs" to enable key="value"
- support new command line option "--pairs" to enable key="value"
output format
findmnt(8):
@ -41,7 +41,7 @@ libmount:
- the API officially stable
lsblk(8):
- supports new columns:
- supports new columns:
TYPE - device type
RQ-SIZE - queue request size
STATE - device state (e.g. running, suspended)
@ -69,7 +69,7 @@ simpleinit:
- this set of deprecated utils has been REMOVED
wall(1):
- support new command line option "--timeout" to specify write timeout to
- support new command line option "--timeout" to specify write timeout to
terminals in seconds.
It's not supported to link with external (e.g. from e2fsprogs) libblkis and

View File

@ -34,17 +34,17 @@ losetup(8):
table parser
mount(8), umount(8):
- new pure libmount based mount(8) and umounts(8) commands are available,
- 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
- 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
- supports new command line options --file to read the log from a file rather
than from kernel buffer
fallocate(8):
@ -62,7 +62,7 @@ lscpu(1):
- supports s390 topology description (polarization, books, ...)
partx(8):
- supports partitioned loop devices (note that since kernel 3.2 partitioned
- supports partitioned loop devices (note that since kernel 3.2 partitioned
loop devices are usable everywhere (including Fedora))
wipefs(8):

View File

@ -16,7 +16,7 @@ partx(8):
mount(8), umount(8), swapon(8), blkid(8) and findmnt(8):
- supports PARTUUID= and PARTLABEL= tags to specify block devices by partition
UUID or LABEL (for example for UEFI GPT). These tags are filesystem
independent and provide persistent configuration (your /etc/fstab setting
independent and provide persistent configuration (your /etc/fstab setting
will not be affected by mkfs/mkswap changes).
dmesg(1):
@ -26,7 +26,7 @@ dmesg(1):
su(1):
- has been merged from coreutils into util-linux
- utils-linux version uses /etc/pam.d/su-l PAM config file for --login
- utils-linux version uses /etc/pam.d/su-l PAM config file for --login
(e.g. "su -") session.
sulogin(8):
@ -40,9 +40,9 @@ eject(1):
- supports new options --manualeject, --force and --no-partitions-unmount
lslocks(1)
- this NEW COMMAND prints local system locks and it's replacement to very
- this NEW COMMAND prints local system locks and it's replacement to very
long time unmaintained lslk(1)
wdctl(8):
- this NEW COMMAND shows hardware watchdog status
@ -65,7 +65,7 @@ fdisk(8)
- does not print geometry in 'p'rint output in non-DOS mode
libuuid:
- does NOT EXECUTE uuidd on demand, the daemon has to be started by
- does NOT EXECUTE uuidd on demand, the daemon has to be started by
init scripts / systemd
uuidd:
@ -79,7 +79,7 @@ fsck(8):
- supports new option -r to report memory and runtime statistics
lsblk(8):
- supports inverse trees (new option -s)
- supports inverse trees (new option -s)
losetup(8):
- supports option --detach-all to detach all loop devices
@ -90,7 +90,7 @@ build-system changes:
- partx(8) enabled by default (see --disable-partx)
- kill(1) enabled by default (see --disable-kill)
- new non-recursive build-system
Stable maintenance releases between v2.21 and v2.22
---------------------------------------------------

View File

@ -20,7 +20,7 @@ Release highlights
------------------
nsenter(1):
- this NEW COMMAND provides command line interface to setns() Linux syscall
- this NEW COMMAND provides command line interface to setns() Linux syscall
and allows to run program with namespaces of other processes
unshare(1):
@ -30,21 +30,21 @@ fdisk(8):
- provides experimental support for GUID Partition Table (GPT), the
implementation is still not complete and some (unimportant) features are missing.
- ~50% of fdisk code has been refactored, this task is going to be complete
- ~50% of fdisk code has been refactored, this task is going to be complete
in the next release. The goal is to have libfdisk shared between all fdisks.
partx(8):
- supports new "update" command (implemented by BLKPG_RESIZE_PARTITION ioctl)
mount(8):
- supports new userspace mount option x-mount.mkdir[=<mode>] to create
- supports new userspace mount option x-mount.mkdir[=<mode>] to create
mountpoints on demand
- the support for propagation flags has been improved, now the flags could be
specified in /etc/fstab and used together with regular mount options. It's
also possible to specify more propagation flags together. This EXPERIMENTAL
also possible to specify more propagation flags together. This EXPERIMENTAL
feature is implemented by additional mount(2) syscalls, because Linux does
not allow to use propagation flags with another options or more flags
not allow to use propagation flags with another options or more flags
together.
umount(8):
@ -91,14 +91,14 @@ swapon(8) and losetup(8):
- the commands prints basic overview by default if no option specified
column(1):
- supports new command line option --output-separator to specify table
- supports new command line option --output-separator to specify table
output delimiter
rename(1):
- supports new command line option --symlink to rename symlink target
hwclock(8):
- supports new command line option --compare to periodically compare
- supports new command line option --compare to periodically compare
the Hardware Clock to the System Time (based on adjtimex -c)
ipcs(1):

View File

@ -17,19 +17,19 @@ libsmartcols:
been originally developed for lsblk(8) and findmnt(8).
cfdisk(8):
- the code been completely rewritten, now it uses libfdisk and libsmartcols,
- the code been completely rewritten, now it uses libfdisk and libsmartcols,
supports GPT, SUN, SGI and BSD disk labels
- the command is no more based on CHS addressing
fdisk(8):
- no more print sizes in 1024-byte blocks, but in real sectors or human
- no more print sizes in 1024-byte blocks, but in real sectors or human
readable sizes (MiB, TiB, etc.)
- allows to modify GPT partition attributes
- allows to modify GPT partition attributes
lslogins(1):
- this NEW COMMAND list information about users, groups and system accounts,
provides data from last, wtmp, btmp, hust status, password expiration
settings, SELinux context, nologin setting, etc.
settings, SELinux context, nologin setting, etc.
terminal-colors.d(5):
- this new directory controls output colorization for various utilities
@ -41,7 +41,7 @@ cal(1):
- supports new option --week to show week numbers
fallocate(1):
- supports new option --dig-holes to detect and dig holes, it makes the
- supports new option --dig-holes to detect and dig holes, it makes the
file sparse in-place, without using extra disk space.
fstrim(1):
@ -65,10 +65,10 @@ lsblk(8):
kill(1) and setterm(1):
- the commands have been refactored to be more robust
The build system has been improved to support to build only explicitly specified
utils or libs (e.g. --disable-all-programs --enable-libblkid to build only
utils or libs (e.g. --disable-all-programs --enable-libblkid to build only
libblkid).
The project test suite has been improved to be more portable and robust, project

View File

@ -31,7 +31,7 @@ The command lsblk allows to sort output by unprinted columns (e.g. lsblk
The command mount applies the nofail mount option to ENOMEDIUM errors.
The commands nsenter and unshare support a new option --cgroup for work with
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

View File

@ -79,15 +79,15 @@ compatibility -l is now aliased to --localtime.
Security issues
---------------
CVE-2016-2779
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
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.

View File

@ -1,6 +1,6 @@
Util-linux 2.33 Release Notes
=============================
Release highlights
------------------
@ -49,7 +49,7 @@ 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
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
@ -77,13 +77,13 @@ 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
-------------------------------

View File

@ -19,7 +19,7 @@ The new features based on this functionality are:
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.
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.
@ -52,8 +52,8 @@ 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 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.

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

View File

@ -0,0 +1,109 @@
util-linux 2.38.1 Release Notes
===============================
BSD:
- Use byteswap.h and endian.h defined macos when present [Warner Losh]
column:
- fix buffer overflow when -l specified [Karel Zak]
- fix greedy mode on -l [Karel Zak]
configure.ac:
- add lsns option [Fabrice Fontaine]
dmesg:
- fix --since and --until [Karel Zak]
docs:
- update AUTHORS file [Karel Zak]
fstrim:
- Remove all skipped entries before de-duplication [Scott Shambarger]
- check for ENOSYS when using --quiet-unsupported [Narthorn]
hardlink:
- Document '-c' option in manpage [FeRD (Frank Dana)]
- Fix man page docs for '-v/--verbose' [FeRD (Frank Dana)]
- Move -c option in --help [FeRD (Frank Dana)]
- require statfs_magic.h only when reflink support enabled [Karel Zak]
- use info rather than warning message [Karel Zak]
irqtop:
- fix compiler warning [-Werror=format-truncation=] [Karel Zak]
- remove unused variable [Karel Zak]
lib/fileutils:
- fix compiler warning [Karel Zak]
lib/logindefs:
- fix compiler warning [-Werror=format-truncation=] [Karel Zak]
lib/strutils:
- add ul_strchr_escaped() [Karel Zak]
libblkid:
- (bsd) fix buffer pointer use [fuzzing] [Karel Zak]
- (hfs) fix label use [fuzzing] [Karel Zak]
- (hfs) fix make sure buffer is large enough [Karel Zak]
- (mac) make sure block size is large enough [fuzzing] [Karel Zak]
- (probe) fix size and offset overflows [fuzzing] [Karel Zak]
- (swap) fix magic string memcmp [fuzzing] [Karel Zak]
- simplify 'leaf' detection [Karel Zak]
- update documentation of BLOCK_SIZE tag [Andrey Albershteyn]
libfdisk:
- (gpt) Add UUID for Marvell Armada 3700 Boot partition [Pali Rohár]
- meson.build fix typo [Anatoly Pugachev]
libmount:
- fix and improve utab update on MS_MOVE [Karel Zak]
- when moving a mount point, all sub mount entries in utab should also be updated [Franck Bui]
libuuid:
- (man) uuid_copy() -- add missing parenthesis [Andrew Price]
- improve cache handling [d032747]
logger:
- make sure structured data are escaped [Karel Zak]
loopdev:
- set block_size when using LOOP_CONFIGURE [Hideki EIRAKU]
losetup:
- Fix typo for the --sector-size docs [Alberto Ruiz]
lsblk:
- fix JSON output when without --bytes [Karel Zak]
lscpu:
- keep bogomips locale output locale sensitive [Karel Zak]
lsfd:
- add static modifier to nodev_table [Masatake YAMATO]
- delete __unused__ attribute for an used parameter [Masatake YAMATO]
- fix compiler warning [-Werror=maybe-uninitialized] [Karel Zak]
- fix crash triggered by an empty filter expression [Masatake YAMATO]
lsirq:
- improve --sort IRQ [Karel Zak]
lslogins:
- fix free() invalid pointer [Karel Zak]
- improve prefixes interpretation [Karel Zak]
lsns:
- (man) add ip-netns to "SEE ALSO" section [Masatake YAMATO]
- improve dependence on NS_GET_ ioctls [Karel Zak]
meson:
- fix compilation without systemd [Rosen Penev]
- fix when HAVE_CLOCK_GETTIME is set [Nicolas Caramelli]
more:
- avoid infinite loop on --squeeze [Karel Zak]
po:
- merge changes [Karel Zak]
- update de.po (from translationproject.org) [Mario Blättermann]
- update hr.po (from translationproject.org) [Božidar Putanec]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
po-man:
- merge changes [Karel Zak]
- update fr.po (from translationproject.org) [Frédéric Marchal]
- update uk.po (from translationproject.org) [Yuri Chornoivan]
sfdiks:
- (man) fix example [Karel Zak]
sulogin:
- fix includes [Karel Zak]
switch_root:
- (man) fix return code description [Karel Zak]
taskset:
- fix use of err_affinity() [csbo98]
tests:
- don't compile lsfd/mkfds helper on macos, since it's linux only [Anatoly Pugachev]
- fdisk/bsd update expected output for ppc64le [Chris Hofstaedtler]
- fix misc/setarch run in a docker environment [Anatoly Pugachev]
- make libmount tests more portable [Karel Zak]
- report failed tests [Karel Zak]
unshare:
- Fix "you (user xxxx) don't exist" error when uid differs from primary gid [Sol Boucher]
uuidd:
- allow AF_INET in systemd service [Karel Zak]
- remove also PrivateNetwork=yes from systemd service [Karel Zak]
zramctl:
- fix compiler warning [-Werror=maybe-uninitialized] [Karel Zak]

View File

@ -2,20 +2,31 @@ AM_CPPFLAGS = \
-include config.h \
-I$(top_srcdir)/include \
-DLOCALEDIR=\"$(localedir)\" \
-D_PATH_RUNSTATEDIR=\"${runstatedir}\"
-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_LDFLAGS = $(ASAN_LDFLAGS)
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)
# Automake (at least up to 1.10) mishandles dist_man_MANS inside conditionals.
# Unlike with other dist primaries, the files are not distributed if the
# conditional is false.
# Work the bug around until it is fixed:
dist_noinst_DATA = $(dist_man_MANS)
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
@ -31,11 +42,11 @@ ul_libuuid_incdir = $(top_srcdir)/libuuid/src
bashcompletiondir = @bashcompletiondir@
dist_noinst_HEADERS =
dist_noinst_DATA =
noinst_PROGRAMS =
noinst_LTLIBRARIES =
EXTRA_LTLIBRARIES =
usrbin_exec_PROGRAMS =
usrsbin_exec_PROGRAMS =
dist_man_MANS =
man_MANS =
pkgconfig_DATA =
usrlib_exec_LTLIBRARIES =
@ -48,6 +59,9 @@ check_PROGRAMS =
dist_check_SCRIPTS =
PATHFILES =
ADOCFILES_COMMON =
MANPAGES =
MANLINKS =
INSTALL_EXEC_HOOKS =
UNINSTALL_HOOKS =
@ -60,6 +74,12 @@ 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
@ -90,9 +110,33 @@ 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.
@ -116,6 +160,7 @@ edit_cmd = sed \
-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' \
@ -136,7 +181,32 @@ edit_cmd = sed \
-e 's|@LIBFDISK_PATCH_VERSION[@]|$(LIBFDISK_PATCH_VERSION)|g' \
-e 's|@LIBBLKID_VERSION[@]|$(LIBBLKID_VERSION)|g'
CLEANFILES += $(PATHFILES)
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
@ -147,12 +217,60 @@ $(PATHFILES): Makefile
$(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)'
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 $@) $<
$(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:
dist-hook: gen-man-dist
echo $(VERSION) > $(distdir)/.tarball-version
# Set ChangeLog tag reference.
sed -i "s/log/log;h=$(VERSION)/" $(distdir)/ChangeLog
sed -i "s!log!log?h=v$(VERSION)!" $(distdir)/ChangeLog
distclean-local:
-find . -name \*~ -o -name \*.orig -o -name \*.rej | xargs rm -f
@ -170,7 +288,8 @@ checkconfig:
| xargs $(top_srcdir)/tools/checkconfig.sh $(top_srcdir)
checkmans:
@$(top_srcdir)/tools/checkmans.sh
@$(top_srcdir)/tools/checkadoc-missing.sh
@$(top_srcdir)/tools/checkadoc-repeat.sh
checkxalloc:
@ $(top_srcdir)/tools/checkxalloc.sh
@ -200,16 +319,17 @@ checklibdoc:
$(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 \
--disable-makeinstall-chown \
--enable-static-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 $@

File diff suppressed because it is too large Load Diff

84
NEWS
View File

@ -1,12 +1,72 @@
util-linux 2.34: Jun 14 2018
util-linux 2.38.1: Aug 4 2022
* see Documentation/releases/v2.38.1-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38.1-ChangeLog
util-linux 2.38: Mar 28 2022
* see Documentation/releases/v2.38-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-ChangeLog
util-linux 2.38-rc4: Mar 16 2022
* see Documentation/releases/v2.38-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-rc4-ChangeLog
util-linux 2.38-rc3: Mar 15 2022
* see Documentation/releases/v2.38-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-rc3-ChangeLog
util-linux 2.38-rc2: Mar 04 2022
* see Documentation/releases/v2.38-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-rc2-ChangeLog
util-linux 2.38-rc1: Jan 31 2022
* see Documentation/releases/v2.38-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-rc1-ChangeLog
util-linux 2.37: Jun 1 2021
* see Documentation/releases/v2.37-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.37/v2.37-ChangeLog
util-linux 2.37-rc2: May 10 2021
* see Documentation/releases/v2.37-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.37/v2.37-rc2-ChangeLog
util-linux 2.37-rc1: Apr 12 2021
* see Documentation/releases/v2.37-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.37/v2.37-rc1-ChangeLog
util-linux 2.36: Jul 23 2020
* see Documentation/releases/v2.36-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36-ChangeLog
util-linux 2.36-rc2: Jul 09 2020
* see Documentation/releases/v2.36-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36-rc2-ChangeLog
util-linux 2.36-rc1: Jun 09 2020
* see Documentation/releases/v2.36-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36-rc1-ChangeLog
util-linux 2.35: Jan 21 2020
* see Documentation/releases/v2.35-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.35/v2.35-ChangeLog
util-linux 2.35-rc2: Jan 8 2020
* see Documentation/releases/v2.35-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.35/v2.35-rc2-ChangeLog
util-linux 2.35-rc1: Dec 11 2019
* see Documentation/releases/v2.35-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.35/v2.35-rc1-ChangeLog
util-linux 2.34: Jun 14 2019
* see Documentation/releases/v2.34-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.34/v2.34-ChangeLog
util-linux 2.34-rc2: May 30 2018
util-linux 2.34-rc2: May 30 2019
* see Documentation/releases/v2.34-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.34/v2.34-rc2-ChangeLog
util-linux 2.34-rc1: Apr 30 2018
util-linux 2.34-rc1: Apr 30 2019
* see Documentation/releases/v2.34-ReleaseNotes or the complete changelog at
https://www.kernel.org/pub/linux/utils/util-linux/v2.34/v2.34-rc1-ChangeLog
@ -309,7 +369,7 @@ util-linux 2.13-pre4
util-linux 2.13-pre3
* misc buld system fixes
* misc build system fixes
* cfdisk: fix a segfault with ReiserFS partitions
* umount: disallow -r option for non-root users
* updated translations: da, fr, it, nl, ru, sl, tr
@ -1369,7 +1429,7 @@ HIGHLIGHTS for version 2.8:
1) New programs:
- getopt(1) by Frodo Looijaard replaces the older bsd based version.
Keywords: Backward compatible, supports --long options.
1) Removed programs:
1) Removed programs:
- chroot: is no longer in util-linux. Get it free with GNU sh-utils
- hostid: No-one could figure out the right way for this program to
work. Another hostid program is included in poeigl
@ -1426,11 +1486,11 @@ See notes for 2.6 for installation instructions.
This is a incremental release containing some fixes. A new release
will be made later fixing the outstanding bugs.
- Things compiles and works better with recent releases of kernel,
- Things compiles and works better with recent releases of kernel,
ncurses, and so forth: fdisk, more
- Some fixes to make things compile out of the box on alphas.
- There has been reported a problem with login and /etc/usertty. It
should be fixed. If you still have problems get a recent MAKEDEV and
should be fixed. If you still have problems get a recent MAKEDEV and
use it to make new tty devices. They were renumbered sometime during
the 1.3 phase of the kernel.
- ipcs now displays the key of the structures.
@ -1456,7 +1516,7 @@ HIGHLIGHTS for version 2.6:
tsx-11.mit.edu:/pub/sources/sbin
sunsite.unc.edu:/pub/Linux/system/Daemons
2) Bugfixes, additions:
2) Bugfixes, additions:
- SECURITY: All known holes in mount have been fixed. UPGRADE NOW
if you haven't already!
- Portability enhancements to the minix filesystem utils (m68k and
@ -1464,7 +1524,7 @@ HIGHLIGHTS for version 2.6:
- passwd/chsh/chfn will not mess up the passwd file on a NIS machine
- others too numerous to enumerate.
3) New programs:
3) New programs:
- vigr (it's like vipw)
- Introducing hwclock. A complete rewrite of the latest available
clock source. It supports intel/CMOS, /dev/rtc and linux/m68k
@ -1514,7 +1574,7 @@ HIGHLIGHTS for version 2.5:
locking, and several security holes have been patched. Further, chsh
and chfn can be configured at compile time to require a password before
updates and chsh can be configured to only use shells from /etc/shells.
HIGHLIGHTS for version 2.4 (2.3 was never released):
0) Michael K. Johnson <johnsonm@nigel.vnet.net> is the interim maintainer
@ -1662,7 +1722,7 @@ login-utils:
simpleinit: Peter Orbaek
ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
vipw: 5.16 (Berkeley) 3/3/91, with modifications by Mike Grupenhoff
<kashmir@umiacs.UMD.EDU>
<kashmir@umiacs.UMD.EDU>
wall: 8.2 (Berkeley) 11/16/93 (With changes so that damaging escape
sequences cannot be sent.)
ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
@ -1731,7 +1791,7 @@ mount:
supports NFS stuff. I have modified the man pages. I have also added
a small patch from Hamish Glen Coleman (t933093@minyos.xx.rmit.OZ.AU)
which restores the -o semantics.
Updated with Rick Sladkey's mount-0.99.14.tar.gz package, and with
extra patches from Rick. Adam J. Richter allowed -t option to be
optional. Patrick J. Volkerding (volkerdi@mhd1.moorhead.msus.edu) and

21
README
View File

@ -5,6 +5,10 @@
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
@ -19,9 +23,9 @@ MAILING LIST:
IRC CHANNEL:
#util-linux at freenode.net:
#util-linux at libera.chat:
irc://chat.freenode.net/util-linux
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
@ -30,7 +34,9 @@ IRC CHANNEL:
BUG REPORTING:
E-MAIL: util-linux@vger.kernel.org
Web: https://github.com/karelzak/util-linux/issues
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
@ -57,17 +63,22 @@ 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 git://github.com/karelzak/util-linux.git
git clone git://github.com/util-linux/util-linux.git
Web interfaces:
http://git.kernel.org/cgit/utils/util-linux/util-linux.git
https://github.com/karelzak/util-linux
https://github.com/util-linux/util-linux
Note: the GitHub repository may contain temporary development branches too.

View File

@ -2,6 +2,8 @@
The project util-linux doesn't use the same license for all of the code.
There is code under:
* GPL-3.0-or-later - GNU General Public License version 3, or any later version
* GPL-2.0-or-later - GNU General Public License version 2, or any later version
* GPL-2.0 - GNU General Public License version 2

355
aclocal.m4 vendored
View File

@ -1,6 +1,6 @@
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -14,8 +14,8 @@
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
[m4_warning([this file was generated for autoconf 2.69.
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
[m4_warning([this file was generated for autoconf 2.71.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
@ -364,7 +364,7 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
[AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
])dnl PKG_HAVE_DEFINE_WITH_MODULES
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
# Copyright (C) 2002-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -379,7 +379,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.16.1], [],
m4_if([$1], [1.16.5], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@ -395,12 +395,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.16.1])dnl
[AM_AUTOMAKE_VERSION([1.16.5])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# Copyright (C) 2011-2018 Free Software Foundation, Inc.
# Copyright (C) 2011-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -462,7 +462,7 @@ AC_SUBST([AR])dnl
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -514,7 +514,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
# Copyright (C) 1997-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -545,7 +545,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -736,7 +736,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -775,7 +775,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
done
if test $am_rc -ne 0; then
AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
for automatic dependency tracking. Try re-running configure with the
for automatic dependency tracking. If GNU make was not used, consider
re-running the configure script with MAKE="gmake" (or whatever is
necessary). You can also try re-running configure with the
'--disable-dependency-tracking' option to at least be able to build
the package (albeit without support for automatic dependency tracking).])
fi
@ -802,7 +804,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -830,6 +832,10 @@ m4_defn([AC_PROG_CC])
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.65])dnl
m4_ifdef([_$0_ALREADY_INIT],
[m4_fatal([$0 expanded multiple times
]m4_defn([_$0_ALREADY_INIT]))],
[m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@ -866,7 +872,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(
m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
[ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
@ -918,6 +924,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[m4_define([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
# Variables for tags utilities; see am/tags.am
if test -z "$CTAGS"; then
CTAGS=ctags
fi
AC_SUBST([CTAGS])
if test -z "$ETAGS"; then
ETAGS=etags
fi
AC_SUBST([ETAGS])
if test -z "$CSCOPE"; then
CSCOPE=cscope
fi
AC_SUBST([CSCOPE])
AC_REQUIRE([AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
@ -999,7 +1019,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1020,7 +1040,7 @@ if test x"${install_sh+set}" != xset; then
fi
AC_SUBST([install_sh])])
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
# Copyright (C) 2003-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1041,7 +1061,7 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1084,7 +1104,7 @@ AC_SUBST([am__quote])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
# Copyright (C) 1997-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1105,12 +1125,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
*)
MISSING="\${SHELL} $am_aux_dir/missing" ;;
esac
MISSING="\${SHELL} '$am_aux_dir/missing'"
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
@ -1123,7 +1138,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1152,7 +1167,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1199,7 +1214,7 @@ AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1278,34 +1293,141 @@ AC_DEFUN([AM_PATH_PYTHON],
])
if test "$PYTHON" = :; then
dnl Run any user-specified action, or abort.
dnl Run any user-specified action, or abort.
m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
else
dnl Query Python for its version number. Getting [:3] seems to be
dnl the best way to do this; it's what "site.py" does in the standard
dnl library.
dnl Query Python for its version number. Although site.py simply uses
dnl sys.version[:3], printing that failed with Python 3.10, since the
dnl trailing zero was eliminated. So now we output just the major
dnl and minor version numbers, as numbers. Apparently the tertiary
dnl version is not of interest.
dnl
AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
[am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
[am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[[:2]])"`])
AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
dnl Use the values of $prefix and $exec_prefix for the corresponding
dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
dnl distinct variables so they can be overridden if need be. However,
dnl general consensus is that you shouldn't need this ability.
AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
dnl At times (like when building shared libraries) you may want
dnl At times, e.g., when building shared libraries, you may want
dnl to know which OS platform Python thinks this is.
dnl
AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
[am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
# Just factor out some code duplication.
dnl emacs-page
dnl If --with-python-sys-prefix is given, use the values of sys.prefix
dnl and sys.exec_prefix for the corresponding values of PYTHON_PREFIX
dnl and PYTHON_EXEC_PREFIX. Otherwise, use the GNU ${prefix} and
dnl ${exec_prefix} variables.
dnl
dnl The two are made distinct variables so they can be overridden if
dnl need be, although general consensus is that you shouldn't need
dnl this separation.
dnl
dnl Also allow directly setting the prefixes via configure options,
dnl overriding any default.
dnl
if test "x$prefix" = xNONE; then
am__usable_prefix=$ac_default_prefix
else
am__usable_prefix=$prefix
fi
# Allow user to request using sys.* values from Python,
# instead of the GNU $prefix values.
AC_ARG_WITH([python-sys-prefix],
[AS_HELP_STRING([--with-python-sys-prefix],
[use Python's sys.prefix and sys.exec_prefix values])],
[am_use_python_sys=:],
[am_use_python_sys=false])
# Allow user to override whatever the default Python prefix is.
AC_ARG_WITH([python_prefix],
[AS_HELP_STRING([--with-python_prefix],
[override the default PYTHON_PREFIX])],
[am_python_prefix_subst=$withval
am_cv_python_prefix=$withval
AC_MSG_CHECKING([for explicit $am_display_PYTHON prefix])
AC_MSG_RESULT([$am_cv_python_prefix])],
[
if $am_use_python_sys; then
# using python sys.prefix value, not GNU
AC_CACHE_CHECK([for python default $am_display_PYTHON prefix],
[am_cv_python_prefix],
[am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`])
dnl If sys.prefix is a subdir of $prefix, replace the literal value of
dnl $prefix with a variable reference so it can be overridden.
case $am_cv_python_prefix in
$am__usable_prefix*)
am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'`
am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"`
;;
*)
am_python_prefix_subst=$am_cv_python_prefix
;;
esac
else # using GNU prefix value, not python sys.prefix
am_python_prefix_subst='${prefix}'
am_python_prefix=$am_python_prefix_subst
AC_MSG_CHECKING([for GNU default $am_display_PYTHON prefix])
AC_MSG_RESULT([$am_python_prefix])
fi])
# Substituting python_prefix_subst value.
AC_SUBST([PYTHON_PREFIX], [$am_python_prefix_subst])
# emacs-page Now do it all over again for Python exec_prefix, but with yet
# another conditional: fall back to regular prefix if that was specified.
AC_ARG_WITH([python_exec_prefix],
[AS_HELP_STRING([--with-python_exec_prefix],
[override the default PYTHON_EXEC_PREFIX])],
[am_python_exec_prefix_subst=$withval
am_cv_python_exec_prefix=$withval
AC_MSG_CHECKING([for explicit $am_display_PYTHON exec_prefix])
AC_MSG_RESULT([$am_cv_python_exec_prefix])],
[
# no explicit --with-python_exec_prefix, but if
# --with-python_prefix was given, use its value for python_exec_prefix too.
AS_IF([test -n "$with_python_prefix"],
[am_python_exec_prefix_subst=$with_python_prefix
am_cv_python_exec_prefix=$with_python_prefix
AC_MSG_CHECKING([for python_prefix-given $am_display_PYTHON exec_prefix])
AC_MSG_RESULT([$am_cv_python_exec_prefix])],
[
# Set am__usable_exec_prefix whether using GNU or Python values,
# since we use that variable for pyexecdir.
if test "x$exec_prefix" = xNONE; then
am__usable_exec_prefix=$am__usable_prefix
else
am__usable_exec_prefix=$exec_prefix
fi
#
if $am_use_python_sys; then # using python sys.exec_prefix, not GNU
AC_CACHE_CHECK([for python default $am_display_PYTHON exec_prefix],
[am_cv_python_exec_prefix],
[am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`])
dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the
dnl literal value of $exec_prefix with a variable reference so it can
dnl be overridden.
case $am_cv_python_exec_prefix in
$am__usable_exec_prefix*)
am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'`
am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"`
;;
*)
am_python_exec_prefix_subst=$am_cv_python_exec_prefix
;;
esac
else # using GNU $exec_prefix, not python sys.exec_prefix
am_python_exec_prefix_subst='${exec_prefix}'
am_python_exec_prefix=$am_python_exec_prefix_subst
AC_MSG_CHECKING([for GNU default $am_display_PYTHON exec_prefix])
AC_MSG_RESULT([$am_python_exec_prefix])
fi])])
# Substituting python_exec_prefix_subst.
AC_SUBST([PYTHON_EXEC_PREFIX], [$am_python_exec_prefix_subst])
# Factor out some code duplication into this shell variable.
am_python_setup_sysconfig="\
import sys
# Prefer sysconfig over distutils.sysconfig, for better compatibility
@ -1325,96 +1447,95 @@ try:
except ImportError:
pass"
dnl Set up 4 directories:
dnl emacs-page Set up 4 directories:
dnl pythondir -- where to install python scripts. This is the
dnl site-packages directory, not the python standard library
dnl directory like in previous automake betas. This behavior
dnl is more consistent with lispdir.m4 for example.
dnl 1. pythondir: where to install python scripts. This is the
dnl site-packages directory, not the python standard library
dnl directory like in previous automake betas. This behavior
dnl is more consistent with lispdir.m4 for example.
dnl Query distutils for this directory.
AC_CACHE_CHECK([for $am_display_PYTHON script directory],
[am_cv_python_pythondir],
[if test "x$prefix" = xNONE
then
am_py_prefix=$ac_default_prefix
else
am_py_prefix=$prefix
fi
am_cv_python_pythondir=`$PYTHON -c "
dnl
AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)],
[am_cv_python_pythondir],
[if test "x$am_cv_python_prefix" = x; then
am_py_prefix=$am__usable_prefix
else
am_py_prefix=$am_cv_python_prefix
fi
am_cv_python_pythondir=`$PYTHON -c "
$am_python_setup_sysconfig
if can_use_sysconfig:
sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
else:
from distutils import sysconfig
sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
from distutils import sysconfig
sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
sys.stdout.write(sitedir)"`
case $am_cv_python_pythondir in
$am_py_prefix*)
am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
;;
*)
case $am_py_prefix in
/usr|/System*) ;;
*)
am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
;;
esac
;;
#
case $am_cv_python_pythondir in
$am_py_prefix*)
am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"`
;;
*)
case $am_py_prefix in
/usr|/System*) ;;
*) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
;;
esac
])
;;
esac
])
AC_SUBST([pythondir], [$am_cv_python_pythondir])
dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
dnl more consistent with the rest of automake.
dnl 2. pkgpythondir: $PACKAGE directory under pythondir. Was
dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
dnl more consistent with the rest of automake.
dnl
AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
dnl pyexecdir -- directory for installing python extension modules
dnl (shared libraries)
dnl 3. pyexecdir: directory for installing python extension modules
dnl (shared libraries).
dnl Query distutils for this directory.
AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
[am_cv_python_pyexecdir],
[if test "x$exec_prefix" = xNONE
then
am_py_exec_prefix=$am_py_prefix
else
am_py_exec_prefix=$exec_prefix
fi
am_cv_python_pyexecdir=`$PYTHON -c "
dnl
AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)],
[am_cv_python_pyexecdir],
[if test "x$am_cv_python_exec_prefix" = x; then
am_py_exec_prefix=$am__usable_exec_prefix
else
am_py_exec_prefix=$am_cv_python_exec_prefix
fi
am_cv_python_pyexecdir=`$PYTHON -c "
$am_python_setup_sysconfig
if can_use_sysconfig:
sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'})
else:
from distutils import sysconfig
sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
from distutils import sysconfig
sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix')
sys.stdout.write(sitedir)"`
case $am_cv_python_pyexecdir in
$am_py_exec_prefix*)
am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
;;
*)
case $am_py_exec_prefix in
/usr|/System*) ;;
*)
am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
;;
esac
;;
#
case $am_cv_python_pyexecdir in
$am_py_exec_prefix*)
am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"`
;;
*)
case $am_py_exec_prefix in
/usr|/System*) ;;
*) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
;;
esac
])
;;
esac
])
AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
dnl 4. pkgpyexecdir: $(pyexecdir)/$(PACKAGE)
dnl
AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
dnl Run any user-specified action.
$2
fi
])
@ -1437,7 +1558,7 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
sys.exit(sys.hexversion < minverhex)"
AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1456,7 +1577,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1537,7 +1658,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
# Copyright (C) 2009-2018 Free Software Foundation, Inc.
# Copyright (C) 2009-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1597,7 +1718,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1625,7 +1746,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006-2018 Free Software Foundation, Inc.
# Copyright (C) 2006-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -1644,7 +1765,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004-2018 Free Software Foundation, Inc.
# Copyright (C) 2004-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,

View File

@ -13,6 +13,25 @@ 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 ()
{
@ -24,7 +43,7 @@ autopoint_fun ()
sed -n -e 's/.* \(0\.17\|0\.18\|0\.18\.[1-2]\)$/\1/p'`
if [ -n "$gt_ver" ]; then
echo "warning: forcing autopoint to use old gettext $gt_ver"
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])/"
@ -39,49 +58,30 @@ autopoint_fun ()
return $ret
}
test -f sys-utils/mount.c || {
echo
echo "You must run this script in the top-level util-linux directory."
echo
DIE=1
}
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 || {
echo
echo "You must have autopoint installed to generate the util-linux build system."
echo "The autopoint command is part of the GNU gettext package."
echo
DIE=1
}
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to generate the util-linux build system."
echo
DIE=1
}
(autoheader --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoheader installed to generate the util-linux build system."
echo "The autoheader command is part of the GNU autoconf package."
echo
DIE=1
}
(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
echo
echo "You must have bison installed to build the util-linux."
echo
DIE=1
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].*)
;;
*)
echo
echo "You must have bison version >= 2.x, but you have $lexver."
echo
DIE=1
error_mesg "You must have bison version >= 2.x, but you have $lexver."
;;
esac
fi
@ -89,27 +89,16 @@ fi
LIBTOOLIZE=libtoolize
case `uname` in Darwin*) LIBTOOLIZE=glibtoolize ;; esac
if ! ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1; then
echo
echo "You must have libtool-2 installed to generate the util-linux build system."
echo
DIE=1
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" && {
echo
echo "You must have libtool version >= 2.x.x, but you have $ltver."
echo
DIE=1
}
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 || {
echo
echo "You must have automake installed to generate the util-linux build system."
echo
DIE=1
}
(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
@ -124,6 +113,7 @@ 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
@ -131,17 +121,34 @@ set -e
po/update-potfiles
autopoint_fun --force $AP_OPTS
if ! grep -q datarootdir po/Makefile.in.in; then
echo autopoint does not honor dataroot variable, patching.
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

View File

@ -45,6 +45,9 @@ 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
@ -57,6 +60,9 @@ 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
@ -90,6 +96,9 @@ 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
@ -155,6 +164,9 @@ dist_bashcompletion_DATA += \
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
@ -180,7 +192,7 @@ endif
if BUILD_UTMPDUMP
dist_bashcompletion_DATA += bash-completion/utmpdump
endif
if BUILD_LIBUUID
if BUILD_UUIDGEN
dist_bashcompletion_DATA += bash-completion/uuidgen
endif
if BUILD_UUIDPARSE
@ -201,6 +213,9 @@ 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
@ -317,5 +332,8 @@ endif
if BUILD_UL
dist_bashcompletion_DATA += bash-completion/ul
endif
if BUILD_HARDLINK
dist_bashcompletion_DATA += bash-completion/hardlink
endif
endif # BUILD_BASH_COMPLETION

View File

@ -6,6 +6,7 @@ _addpart_module()
case $COMP_CWORD in
1)
OPTS="--help --version $(lsblk -pnro name)"
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
;;
2)

View File

@ -16,6 +16,7 @@ _blkdiscard_module()
case $cur in
-*)
OPTS="
--force
--offset
--length
--step
@ -29,6 +30,7 @@ _blkdiscard_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}

View File

@ -93,6 +93,7 @@ _blkid_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}

3
bash-completion/blkzone Executable file → Normal file
View File

@ -25,7 +25,7 @@ _blkzone_module()
-*)
case $prev in
'report'|'reset')
OPTS="--verbose --offset --length --count"
OPTS="--verbose --offset --length --count --force"
;;
*)
OPTS="--help --version"
@ -46,6 +46,7 @@ _blkzone_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}

View File

@ -38,6 +38,7 @@ _blockdev_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
}

View File

@ -18,6 +18,7 @@ _cal_module()
--color=auto
--color=always
--color=never
--vertical
--version
--help"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )

View File

@ -17,12 +17,15 @@ _cfdisk_module()
-*)
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
}

View File

@ -5,7 +5,7 @@ _column_module()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-c'|'--output-width')
'-c'|'--output-width'|'-l'|'--table-columns-limit')
COMPREPLY=( $(compgen -W "number" -- $cur) )
return 0
;;
@ -32,6 +32,7 @@ _column_module()
--table-name
--table-order
--table-columns
--table-columns-limit
--table-noextreme
--table-noheadings
--table-header-repeat
@ -39,7 +40,7 @@ _column_module()
--table-right
--table-truncate
--table-wrap
--table-empty-lines
--keep-empty-lines
--json
--tree
--tree-id

View File

@ -12,6 +12,7 @@ _delpart_module()
case $COMP_CWORD in
1)
OPTS="--help --version $(lsblk -pnro name)"
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
;;
2)

View File

@ -41,10 +41,12 @@ _dmesg_module()
--file
--facility
--human
--json
--kernel
--color
--level
--console-level
--noescape
--nopager
--raw
--syslog
@ -54,7 +56,10 @@ _dmesg_module()
--time-format
--userspace
--follow
--follow-new
--decode
--since
--until
--help
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )

View File

@ -58,6 +58,7 @@ _eject_module()
IFS=$OLD_IFS
fi
done)"
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$DEVS" $cur) )
return 0
}

View File

@ -75,6 +75,9 @@ _fdisk_module()
--compatibility
--color
--list
--list-details
--noauto-pt
--lock
--output
--type
--units
@ -91,6 +94,7 @@ _fdisk_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}

View File

@ -32,8 +32,8 @@ _fsck_module()
return 0
;;
esac
COMPREPLY=( $(compgen -W "$(find -L /dev/ -path /dev/fd -prune \
-o -type b -print 2>/dev/null)" -- $cur) )
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _fsck_module fsck

View File

@ -25,9 +25,8 @@ _fsck.cramfs_module()
return 0
;;
esac
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _fsck.cramfs_module fsck.cramfs

View File

@ -10,6 +10,7 @@ _fsck.minix_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}

View File

@ -17,7 +17,8 @@ _fstrim_module()
-*)
OPTS="--all
--fstab
--quiet
--listed-in
--quiet-unsupported
--offset
--length
--minimum

36
bash-completion/hardlink Normal file
View File

@ -0,0 +1,36 @@
_hardlink_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-x'|'--exclude')
COMPREPLY=( $(compgen -W "regex" -- $cur) )
return 0
;;
'-H'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="
--content
--dry-run
--verbose
--force
--exclude
--version
--help
"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -d -- $cur) )
return 0
}
complete -F _hardlink_module hardlink

View File

@ -19,6 +19,14 @@ _hwclock_module()
COMPREPLY=( $(compgen -W "year" -- $cur) )
return 0
;;
'--param-get')
COMPREPLY=( $(compgen -W "param" -- $cur) )
return 0
;;
'--param-set')
COMPREPLY=( $(compgen -W "param=value" -- $cur) )
return 0
;;
'-h'|'-?'|'--help'|'-v'|'-V'|'--version')
return 0
;;
@ -44,6 +52,8 @@ _hwclock_module()
--date
--delay
--epoch
--param-get
--param-set
--update-drift
--noadjfile
--adjfile

47
bash-completion/irqtop Normal file
View File

@ -0,0 +1,47 @@
_irqtop_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-c'|'--cpu-stat')
COMPREPLY=( $(compgen -W "auto enable disable" -- $cur) )
return 0
;;
'-d'|'--delay')
COMPREPLY=( $(compgen -W "secs" -- $cur) )
return 0
;;
'-s'|'--sort')
COMPREPLY=( $(compgen -W "irq total delta name" -- $cur) )
return 0
;;
'-o'|'--output')
local prefix realcur OUTPUT
realcur="${cur##*,}"
prefix="${cur%$realcur}"
for WORD in "IRQ TOTAL DELTA NAME"; do
if ! [[ $prefix == *"$WORD"* ]]; then
OUTPUT="$WORD ${OUTPUT:-""}"
fi
done
compopt -o nospace
COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- $realcur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
OPTS=" --cpu-stat
--delay
--sort
--output
--softirq
--help
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
}
complete -F _irqtop_module irqtop

View File

@ -6,11 +6,12 @@ _lsblk_module()
prev="${COMP_WORDS[COMP_CWORD-1]}"
LSBLK_COLS_ALL="
NAME KNAME MAJ:MIN FSTYPE MOUNTPOINT LABEL UUID PARTTYPE
PARTLABEL PARTUUID PARTFLAGS RA RO RM HOTPLUG MODEL SERIAL SIZE
STATE OWNER GROUP MODE ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC
ROTA SCHED RQ-SIZE TYPE DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
WSAME WWN RAND PKNAME HCTL TRAN SUBSYSTEMS REV VENDOR
NAME KNAME PATH MAJ:MIN FSAVAIL FSSIZE FSTYPE FSUSED FSUSE% FSVER MOUNTPOINT
LABEL UUID PTUUID PTTYPE PARTTYPE PARTTYPENAME PARTLABEL PARTUUID PARTFLAGS RA
RO RM HOTPLUG MODEL SERIAL SIZE STATE OWNER GROUP MODE ALIGNMENT MIN-IO OPT-IO
PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE TYPE DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
WSAME WWN RAND PKNAME HCTL TRAN SUBSYSTEMS REV VENDOR ZONED ZONE-SZ ZONE-WGRAN
ZONE-APP ZONE-NR ZONE-OMAX ZONE-AMAX DAX
"
case $prev in
@ -31,7 +32,7 @@ _lsblk_module()
COMPREPLY=( $(compgen -P "$prefix" -W "${MAJOR:-""}" -S ',' -- $realcur) )
return 0
;;
'-o'|'--output'|'-M'|'--dedup')
'-o'|'--output'|'-E'|'--dedup')
local prefix realcur LSBLK_COLS
realcur="${cur##*,}"
prefix="${cur%$realcur}"
@ -79,12 +80,14 @@ _lsblk_module()
--topology
--scsi
--sort
--width
--help
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$($1 -pnro name)" -- $cur) )
return 0
}

40
bash-completion/lsirq Normal file
View File

@ -0,0 +1,40 @@
_lsirq_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-o'|'--output')
local prefix realcur OUTPUT
realcur="${cur##*,}"
prefix="${cur%$realcur}"
for WORD in "IRQ TOTAL NAME"; do
if ! [[ $prefix == *"$WORD"* ]]; then
OUTPUT="$WORD ${OUTPUT:-""}"
fi
done
compopt -o nospace
COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- $realcur) )
return 0
;;
'-s'|'--sort')
COMPREPLY=( $(compgen -W "irq total name" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
OPTS=" --json
--pairs
--noheadings
--output
--softirq
--sort
--help
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
}
complete -F _lsirq_module lsirq

3
bash-completion/lslogins Executable file → Normal file
View File

@ -23,7 +23,7 @@ _lslogins_module()
COMPREPLY=( $(compgen -W "short full iso" -- $cur) )
return 0
;;
'--wtmp-file'|'--btmp-file')
'--wtmp-file'|'--btmp-file'|'--lastlog')
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
@ -69,6 +69,7 @@ _lslogins_module()
--print0
--wtmp-file
--btmp-file
--lastlog
--help
--version
" -- $cur) )

View File

@ -21,7 +21,8 @@ _mkfs_module()
return 0
;;
esac
COMPREPLY=( $(compgen -W "$(lsblk -pnro name) /path/to/file" -- $cur) )
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _mkfs_module mkfs

View File

@ -24,7 +24,8 @@ _mkfs.bfs_module()
return 0
;;
esac
COMPREPLY=( $(compgen -W "$(lsblk -pnro name) /path/to/file" -- $cur) )
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _mkfs.bfs_module mkfs.bfs

View File

@ -36,9 +36,8 @@ _mkfs.cramfs_module()
return 0
;;
esac
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _mkfs.cramfs_module mkfs.cramfs

View File

@ -26,6 +26,7 @@ _mkfs.minix_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}

View File

@ -27,14 +27,13 @@ _mkswap_module()
esac
case $cur in
-*)
OPTS="--check --force --pagesize --label --swapversion --uuid --version --help"
OPTS="--check --force --pagesize --lock --label --swapversion --uuid --verbose --version --help"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _mkswap_module mkswap

View File

@ -5,18 +5,33 @@ _more_module()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-V')
'-n'|'--lines')
COMPREPLY=( $(compgen -W "number" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="-d -f -l -p -c -u -s -number -V"
OPTS="
--silent
--logical
--no-pause
--print-over
--clean-print
--squeeze
--plain
--lines
--help
--version
"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
+*)
OPTS="+number +/string"
OPTS="+number +/pattern"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;

View File

@ -88,7 +88,8 @@ _mount_module()
--make-rshared
--make-rslave
--make-rprivate
--make-runbindable"
--make-runbindable
--mkdir"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;

View File

@ -11,7 +11,7 @@ _mountpoint_module()
esac
case $cur in
-*)
OPTS="--quiet --fs-devno --devno --help --version"
OPTS="--quiet --nofollow --fs-devno --devno --help --version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;

View File

@ -42,11 +42,13 @@ _nsenter_module()
--pid=
--cgroup=
--user=
--time=
--setuid
--setgid
--preserve-credentials
--root=
--wd=
--wdns=
--no-fork
--help
--version

View File

@ -59,6 +59,7 @@ _partx_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}

View File

@ -11,7 +11,7 @@ _rename_module()
esac
case $cur in
-*)
OPTS="--verbose --symlink --help --version --no-act --no-override --interactive"
OPTS="--verbose --symlink --help --version --no-act --all --last --no-override --interactive"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;

View File

@ -12,6 +12,7 @@ _resizepart_module()
case $COMP_CWORD in
1)
OPTS="--help --version $(lsblk -pnro name)"
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
;;
2)

View File

@ -10,10 +10,18 @@ _script_module()
COMPREPLY=( $(compgen -c -- $cur) )
return 0
;;
'-E'|'--echo')
COMPREPLY=( $(compgen -W "auto always never" -- $cur) )
return 0
;;
'-o'|'--output-limit')
COMPREPLY=( $(compgen -W "size" -- $cur) )
return 0
;;
'-m'|'--logging-format')
COMPREPLY=( $(compgen -W "classic advanced" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
@ -25,6 +33,12 @@ _script_module()
-*)
OPTS="--append
--command
--echo
--log-in
--log-out
--log-io
--log-timing
--logging-format
--return
--flush
--force

View File

@ -0,0 +1,41 @@
_scriptlive_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-c'|'--command')
compopt -o bashdefault
COMPREPLY=( $(compgen -c -- $cur) )
return 0
;;
'-d'|'--divisor'|'-m'|'--maxdelay')
COMPREPLY=( $(compgen -W "digit" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="--timing
--log-in
--log-io
--log-timing
--command
--divisor
--maxdelay
--version
--help"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
return 0
}
complete -F _scriptlive_module scriptlive

View File

@ -5,10 +5,18 @@ _scriptreplay_module()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-c'|'--cr-mode')
COMPREPLY=( $(compgen -W "auto never always" -- $cur) )
return 0
;;
'-d'|'--divisor'|'-m'|'--maxdelay')
COMPREPLY=( $(compgen -W "digit" -- $cur) )
return 0
;;
'-x'|'--stream')
COMPREPLY=( $(compgen -W "out in signal info" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
@ -16,6 +24,13 @@ _scriptreplay_module()
case $cur in
-*)
OPTS="--timing
--log-in
--log-out
--log-io
--log-timing
--summary
--stream
--cr-mode
--typescript
--divisor
--maxdelay

View File

@ -6,6 +6,7 @@ _sfdisk_module()
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-d'|'--dump'|'-J'|'--json'|'-l'|'--list'|'-F'|'--list-free'|'-r'|'--reorder'|'-s'|'--show-size'|'-V'|'--verify'|'-A'|'--activate'|'--delete')
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -dpnro name)" -- $cur) )
return 0
;;
@ -57,10 +58,12 @@ _sfdisk_module()
--show-geometry
--list
--list-free
--disk-id
--reorder
--show-size
--list-types
--verify
--relocate
--delete
--part-label
--part-type
@ -68,10 +71,12 @@ _sfdisk_module()
--part-attrs
--append
--backup
--backup-pt-sectors
--bytes
--move-data
--force
--color
--lock
--partno
--no-act
--no-reread
@ -90,6 +95,7 @@ _sfdisk_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}

View File

@ -41,7 +41,7 @@ _su_module()
esac
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
COMPREPLY=( $(compgen -u -- $cur) )
return 0
}
complete -F _su_module su

39
bash-completion/uclampset Normal file
View File

@ -0,0 +1,39 @@
_uclampset_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="
--all-tasks
--help
--pid
--system
--reset-on-fork
--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 _uclampset_module uclampset

View File

@ -1,14 +1,8 @@
_umount_points_list()
{
# List of characters to escape, shamelessly stolen from "scp" comp.
# List of characters to escape shamelessly stolen from "scp" completion
local escape_chars='[][(){}<>\",:;^&!$=?`|\\'\'' \t\f\n\r\v]'
# This is most odd, but we are adding artifically a space after the
# file name because, somehow, it enables proper escaping of dangerous
# characters, e.g. "|" -> "\|". Without space, it is possible to get
# either 0 "|" or 2 "\\|" backslashes, but 1 does not work. Also,
# sticking to sub() and gsub(), instead of gensub(), allows to be AWK
# implementation agnostic.
findmnt -lno TARGET | awk '{
if ($0 ~ "^"ENVIRON["HOME"]) {
homeless = $0
@ -78,11 +72,8 @@ _umount_module()
return 0
;;
esac
local IFS=$'\n'
COMPREPLY=( $( compgen -W '$( _umount_points_list )' -- "$cur" ) )
}
# counteract the artificial addition of " " in _gen_mount_points() by
# disabling spaces automatically appended to the end of the file name
# completion via "-o nospace".
complete -F _umount_module -o nospace umount

View File

@ -26,9 +26,12 @@ _unshare_module()
--pid
--user
--cgroup
--time
--fork
--kill-child
--keep-caps
--mount-proc
--map-current-user
--map-root-user
--propagation
--setgroups
@ -36,6 +39,8 @@ _unshare_module()
--version
--root
--wd
--monotonic
--boottime
--setuid
--setgid"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )

View File

@ -22,7 +22,7 @@ _whereis_module()
return 0
;;
esac
COMPREPLY=( $(compgen -W "file" -- $cur) )
COMPREPLY=( $(compgen -c -- $cur) )
return 0
}
complete -F _whereis_module whereis

View File

@ -41,6 +41,7 @@ _wipefs_module()
--force
--noheadings
--json
--lock
--no-act
--offset
--output
@ -54,6 +55,7 @@ _wipefs_module()
return 0
;;
esac
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}

View File

@ -12,6 +12,9 @@
/* Path to hwclock adjtime file */
#undef CONFIG_ADJTIME_PATH
/* Define if cryptsetup is to be loaded via dlopen */
#undef CRYPTSETUP_VIA_DLOPEN
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
@ -42,9 +45,18 @@
/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME
/* Define to 1 if you have the `close_range' function. */
#undef HAVE_CLOSE_RANGE
/* Define to 1 if the system has the type `cpu_set_t'. */
#undef HAVE_CPU_SET_T
/* Define if cryptsetup is available */
#undef HAVE_CRYPTSETUP
/* Define if crypt_activate_by_signed_key exist in -lcryptsetup */
#undef HAVE_CRYPT_ACTIVATE_BY_SIGNED_KEY
/* Define to 1 if you have the <crypt.h> header file. */
#undef HAVE_CRYPT_H
@ -52,6 +64,10 @@
*/
#undef HAVE_DCGETTEXT
/* Define to 1 if you have the declaration of `BLK_ZONE_REP_CAPACITY', and to
0 if you don't. */
#undef HAVE_DECL_BLK_ZONE_REP_CAPACITY
/* Define to 1 if you have the declaration of `CPU_ALLOC', and to 0 if you
don't. */
#undef HAVE_DECL_CPU_ALLOC
@ -149,6 +165,9 @@
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
/* Define to 1 if you have the `getttynam' function. */
#undef HAVE_GETTTYNAM
/* Define to 1 if you have the `getusershell' function. */
#undef HAVE_GETUSERSHELL
@ -191,6 +210,9 @@
/* Define to 1 if you have the `lchown' function. */
#undef HAVE_LCHOWN
/* Define to 1 if you have the `lgetxattr' function. */
#undef HAVE_LGETXATTR
/* Define to 1 if you have the `audit' library (-laudit). */
#undef HAVE_LIBAUDIT
@ -200,8 +222,8 @@
/* Define to 1 if you have the `cap-ng' library (-lcap-ng). */
#undef HAVE_LIBCAP_NG
/* Do we need -lcrypt? */
#undef HAVE_LIBCRYPT
/* Define if libeconf is available */
#undef HAVE_LIBECONF
/* Define if libmount available. */
#undef HAVE_LIBMOUNT
@ -254,6 +276,9 @@
/* Define to 1 if you have the <linux/btrfs.h> header file. */
#undef HAVE_LINUX_BTRFS_H
/* Define to 1 if you have the <linux/capability.h> header file. */
#undef HAVE_LINUX_CAPABILITY_H
/* Define to 1 if you have the <linux/cdrom.h> header file. */
#undef HAVE_LINUX_CDROM_H
@ -266,18 +291,30 @@
/* Define to 1 if you have the <linux/fd.h> header file. */
#undef HAVE_LINUX_FD_H
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#undef HAVE_LINUX_FIEMAP_H
/* Define to 1 if you have the <linux/fs.h> header file. */
#undef HAVE_LINUX_FS_H
/* Define to 1 if you have the <linux/gsmmux.h> header file. */
#undef HAVE_LINUX_GSMMUX_H
/* Define to 1 if you have the <linux/if_alg.h> header file. */
#undef HAVE_LINUX_IF_ALG_H
/* Define to 1 if you have the <linux/kcmp.h> header file. */
#undef HAVE_LINUX_KCMP_H
/* Define to 1 if you have the <linux/major.h> header file. */
#undef HAVE_LINUX_MAJOR_H
/* Define to 1 if you have the <linux/net_namespace.h> header file. */
#undef HAVE_LINUX_NET_NAMESPACE_H
/* Define to 1 if you have the <linux/nsfs.h> header file. */
#undef HAVE_LINUX_NSFS_H
/* Define to 1 if you have the <linux/raw.h> header file. */
#undef HAVE_LINUX_RAW_H
@ -293,30 +330,27 @@
/* Define to 1 if you have the <linux/watchdog.h> header file. */
#undef HAVE_LINUX_WATCHDOG_H
/* Define to 1 if you have the `llistxattr' function. */
#undef HAVE_LLISTXATTR
/* Define to 1 if you have the `llseek' function. */
#undef HAVE_LLSEEK
/* Define to 1 if have llseek prototype */
#undef HAVE_LLSEEK_PROTOTYPE
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if the system has the type `loff_t'. */
#undef HAVE_LOFF_T
/* Define to 1 if you have the `lseek64' function. */
#undef HAVE_LSEEK64
/* Define to 1 if have lseek64 prototype */
#undef HAVE_LSEEK64_PROTOTYPE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the libmagic present. */
#undef HAVE_MAGIC
/* Define to 1 if you have the `mempcpy' function. */
#undef HAVE_MEMPCPY
/* Define to 1 if you have the <minix/config.h> header file. */
#undef HAVE_MINIX_CONFIG_H
/* Define to 1 if you have the `mkostemp' function. */
#undef HAVE_MKOSTEMP
@ -350,6 +384,9 @@
/* Define to 1 if you have the <net/if.h> header file. */
#undef HAVE_NET_IF_H
/* Define to 1 if you have the `newlocale' function. */
#undef HAVE_NEWLOCALE
/* Define to 1 if you have the `ntp_gettime' function. */
#undef HAVE_NTP_GETTIME
@ -362,12 +399,15 @@
/* Define to 1 if you have the <paths.h> header file. */
#undef HAVE_PATHS_H
/* Define if libpcre2 is available */
#undef HAVE_PCRE
/* Define to 1 if you have the `personality' function. */
#undef HAVE_PERSONALITY
/* Define to 1 if you have the `pidfd_open' function. */
#undef HAVE_PIDFD_OPEN
/* Define to 1 if you have the `pidfd_send_signal' function. */
#undef HAVE_PIDFD_SEND_SIGNAL
/* Define to 1 if you have the `posix_fadvise' function. */
#undef HAVE_POSIX_FADVISE
@ -377,12 +417,15 @@
/* Define to 1 if you have the `prctl' function. */
#undef HAVE_PRCTL
/* Define to 1 if you have the `prlimit' function. */
/* Have valid prlimit() function */
#undef HAVE_PRLIMIT
/* Define if program_invocation_short_name is defined */
#undef HAVE_PROGRAM_INVOCATION_SHORT_NAME
/* have PTY support */
#undef HAVE_PTY
/* Define to 1 if you have the <pty.h> header file. */
#undef HAVE_PTY_H
@ -404,12 +447,6 @@
/* Define to 1 if you have the `scandirat' function. */
#undef HAVE_SCANDIRAT
/* scanf %as modifier */
#undef HAVE_SCANF_AS_MODIFIER
/* scanf %ms modifier */
#undef HAVE_SCANF_MS_MODIFIER
/* Define to 1 if you have the `sched_setattr' function. */
#undef HAVE_SCHED_SETATTR
@ -431,10 +468,13 @@
/* Define to 1 if you have the <security/pam_misc.h> header file. */
#undef HAVE_SECURITY_PAM_MISC_H
/* Define to 1 if you have the `sendfile' function. */
#undef HAVE_SENDFILE
/* Define to 1 if you have the `setitimer' function. */
#undef HAVE_SETITIMER
/* Define to 1 if you have the `setns' function. */
/* Have valid setns() function */
#undef HAVE_SETNS
/* Define to 1 if you have the `setprogname' function. */
@ -479,6 +519,9 @@
/* Define to 1 if you have the <stdio_ext.h> header file. */
#undef HAVE_STDIO_EXT_H
/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
@ -500,6 +543,9 @@
/* Define to 1 if have strsignal function prototype */
#undef HAVE_STRSIGNAL_DECL
/* Define to 1 if you have the `strtod_l' function. */
#undef HAVE_STRTOD_L
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
@ -557,6 +603,9 @@
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
/* Define to 1 if you have the <sys/sendfile.h> header file. */
#undef HAVE_SYS_SENDFILE_H
/* Define to 1 if you have the <sys/signalfd.h> header file. */
#undef HAVE_SYS_SIGNALFD_H
@ -596,6 +645,9 @@
/* Define to 1 if you have the <sys/un.h> header file. */
#undef HAVE_SYS_UN_H
/* Define to 1 if you have the <sys/xattr.h> header file. */
#undef HAVE_SYS_XATTR_H
/* Define to 1 if you have the <term.h> header file. */
#undef HAVE_TERM_H
@ -628,12 +680,15 @@
/* Define to 1 if you have the `unlinkat' function. */
#undef HAVE_UNLINKAT
/* Define to 1 if you have the `unshare' function. */
/* Have valid unshare() function */
#undef HAVE_UNSHARE
/* Define to 1 if you have the `updwtmpx' function. */
#undef HAVE_UPDWTMPX
/* Define to 1 if you have the `uselocale' function. */
#undef HAVE_USELOCALE
/* Define if curses library has the use_default_colors(). */
#undef HAVE_USE_DEFAULT_COLORS
@ -661,6 +716,9 @@
/* Define to 1 if you have the `warnx' function. */
#undef HAVE_WARNX
/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H
/* Do we have wide character support? */
#undef HAVE_WIDECHAR
@ -733,9 +791,14 @@
/* Should pg ring the bell on invalid keys? */
#undef PG_BELL
/* Define to 1 if you have the ANSI C header files. */
/* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
#undef STDC_HEADERS
/* Fallback syscall number for close_range */
#undef SYS_close_range
/* Fallback syscall number for fallocate */
#undef SYS_fallocate
@ -745,6 +808,12 @@
/* Fallback syscall number for ioprio_set */
#undef SYS_ioprio_set
/* Fallback syscall number for pidfd_open */
#undef SYS_pidfd_open
/* Fallback syscall number for pidfd_send_signal */
#undef SYS_pidfd_send_signal
/* Fallback syscall number for pivot_root */
#undef SYS_pivot_root
@ -775,6 +844,12 @@
/* Enables colorized output from utils by default */
#undef USE_COLORS_BY_DEFAULT
/* Define to 1 if want to use CMOS clock. */
#undef USE_HWCLOCK_CMOS
/* use datetime parsing GPLv3 code to hwclock */
#undef USE_HWCLOCK_GPLv3_DATETIME
/* Define to 1 if want to support mtab. */
#undef USE_LIBMOUNT_SUPPORT_MTAB
@ -784,28 +859,97 @@
/* Enable plymouth support feature for sulogin and aggety */
#undef USE_PLYMOUTH_SUPPORT
/* Should sulogin use a emergency mount of /dev and /proc? */
/* Should sulogin use an emergency mount of /dev and /proc? */
#undef USE_SULOGIN_EMERGENCY_MOUNT
/* Define if systemd support is wanted */
#undef USE_SYSTEMD
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable general extensions on macOS. */
#ifndef _DARWIN_C_SOURCE
# undef _DARWIN_C_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
/* Enable X/Open compliant socket functions that do not require linking
with -lxnet on HP-UX 11.11. */
#ifndef _HPUX_ALT_XOPEN_SOCKET_API
# undef _HPUX_ALT_XOPEN_SOCKET_API
#endif
/* Identify the host operating system as Minix.
This macro does not affect the system headers' behavior.
A future release of Autoconf may stop defining this macro. */
#ifndef _MINIX
# undef _MINIX
#endif
/* Enable general extensions on NetBSD.
Enable NetBSD compatibility extensions on Minix. */
#ifndef _NETBSD_SOURCE
# undef _NETBSD_SOURCE
#endif
/* Enable OpenBSD compatibility extensions on NetBSD.
Oddly enough, this does nothing on OpenBSD. */
#ifndef _OPENBSD_SOURCE
# undef _OPENBSD_SOURCE
#endif
/* Define to 1 if needed for POSIX-compatible behavior. */
#ifndef _POSIX_SOURCE
# undef _POSIX_SOURCE
#endif
/* Define to 2 if needed for POSIX-compatible behavior. */
#ifndef _POSIX_1_SOURCE
# undef _POSIX_1_SOURCE
#endif
/* Enable POSIX-compatible threading on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
#endif
/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
# undef __STDC_WANT_IEC_60559_BFP_EXT__
#endif
/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
# undef __STDC_WANT_IEC_60559_DFP_EXT__
#endif
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
#endif
/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
# undef __STDC_WANT_IEC_60559_TYPES_EXT__
#endif
/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
#ifndef __STDC_WANT_LIB_EXT2__
# undef __STDC_WANT_LIB_EXT2__
#endif
/* Enable extensions specified by ISO/IEC 24747:2009. */
#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
# undef __STDC_WANT_MATH_SPEC_FUNCS__
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
/* Enable X/Open extensions. Define to 500 only if necessary
to make mbstate_t available. */
#ifndef _XOPEN_SOURCE
# undef _XOPEN_SOURCE
#endif
@ -815,6 +959,9 @@
/* Define to 1 to remove /bin and /sbin from PATH env.variable */
#undef USE_USRDIR_PATHS_ONLY
/* Define to 1 to use vendordir */
#undef USE_VENDORDIR
/* Version number of package */
#undef VERSION
@ -833,11 +980,6 @@
/* Enable MAP_ANON in sys/mman.h on Mac OS X */
#undef _DARWIN_C_SOURCE
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
@ -847,16 +989,6 @@
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Define to empty if `const' does not conform to ANSI C. */
#undef const

View File

@ -2,9 +2,9 @@
# Wrapper for Microsoft lib.exe
me=ar-lib
scriptversion=2012-03-01.08; # UTC
scriptversion=2019-07-04.01; # UTC
# Copyright (C) 2010-2018 Free Software Foundation, Inc.
# Copyright (C) 2010-2021 Free Software Foundation, Inc.
# Written by Peter Rosin <peda@lysator.liu.se>.
#
# This program is free software; you can redistribute it and/or modify
@ -53,7 +53,7 @@ func_file_conv ()
MINGW*)
file_conv=mingw
;;
CYGWIN*)
CYGWIN* | MSYS*)
file_conv=cygwin
;;
*)
@ -65,7 +65,7 @@ func_file_conv ()
mingw)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin)
cygwin | msys)
file=`cygpath -m "$file" || echo "$file"`
;;
wine)
@ -224,10 +224,11 @@ elif test -n "$extract"; then
esac
done
else
$AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
do
$AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
done
$AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \
| while read member
do
$AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
done
fi
elif test -n "$quick$replace"; then

View File

@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@ -53,7 +53,7 @@ func_file_conv ()
MINGW*)
file_conv=mingw
;;
CYGWIN*)
CYGWIN* | MSYS*)
file_conv=cygwin
;;
*)
@ -67,7 +67,7 @@ func_file_conv ()
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
cygwin/* | msys/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)

1466
config/config.guess vendored

File diff suppressed because it is too large Load Diff

710
config/config.sub vendored

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
# 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

View File

@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2018-03-11.20; # UTC
scriptversion=2020-11-14.01; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@ -69,6 +69,11 @@ posix_mkdir=
# Desired mode of installed file.
mode=0755
# Create dirs (including intermediate dirs) using mode 755.
# This is like GNU 'install' as of coreutils 8.32 (2020).
mkdir_umask=22
backupsuffix=
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
@ -99,18 +104,28 @@ Options:
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-C install only if different (preserve data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-p pass -p to $cpprog.
-s $stripprog installed files.
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
By default, rm is invoked with -f; when overridden with RMPROG,
it's up to you to specify -f if you want it.
If -S is not specified, no backups are attempted.
Email bug reports to bug-automake@gnu.org.
Automake home page: https://www.gnu.org/software/automake/
"
while test $# -ne 0; do
@ -137,8 +152,13 @@ while test $# -ne 0; do
-o) chowncmd="$chownprog $2"
shift;;
-p) cpprog="$cpprog -p";;
-s) stripcmd=$stripprog;;
-S) backupsuffix="$2"
shift;;
-t)
is_target_a_directory=always
dst_arg=$2
@ -255,6 +275,10 @@ do
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
# Don't chown directories that already exist.
if test $dstdir_status = 0; then
chowncmd=""
fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
@ -301,22 +325,6 @@ do
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
@ -326,52 +334,49 @@ do
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# Note that $RANDOM variable is not portable (e.g. dash); Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
# The $RANDOM variable is not portable (e.g., dash). Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
trap '
ret=$?
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
exit $ret
' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p' feature.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p'.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac
if
@ -382,7 +387,7 @@ do
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
@ -411,7 +416,7 @@ do
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
(umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
@ -451,7 +456,18 @@ do
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
(umask $cp_umask &&
{ test -z "$stripcmd" || {
# Create $dsttmp read-write so that cp doesn't create it read-only,
# which would cause strip to fail.
if test -z "$doit"; then
: >"$dsttmp" # No need to fork-exec 'touch'.
else
$doit touch "$dsttmp"
fi
}
} &&
$doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@ -477,6 +493,13 @@ do
then
rm -f "$dsttmp"
else
# If $backupsuffix is set, and the file being installed
# already exists, attempt a backup. Don't worry if it fails,
# e.g., if mv doesn't support -f.
if test -n "$backupsuffix" && test -f "$dst"; then
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
fi
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
@ -491,9 +514,9 @@ do
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
$doit $rmcmd "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify

View File

@ -1,9 +1,9 @@
#!/bin/sh
# py-compile - Compile a Python program
scriptversion=2018-03-07.03; # UTC
scriptversion=2021-02-27.01; # UTC
# Copyright (C) 2000-2018 Free Software Foundation, Inc.
# Copyright (C) 2000-2021 Free Software Foundation, Inc.
# 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
@ -27,7 +27,7 @@ scriptversion=2018-03-07.03; # UTC
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
if [ -z "$PYTHON" ]; then
if test -z "$PYTHON"; then
PYTHON=python
fi
@ -96,27 +96,46 @@ done
files=$*
if test -z "$files"; then
usage_error "no files given"
usage_error "no files given"
fi
# if basedir was given, then it should be prepended to filenames before
# byte compilation.
if [ -z "$basedir" ]; then
pathtrans="path = file"
if test -z "$basedir"; then
pathtrans="path = file"
else
pathtrans="path = os.path.join('$basedir', file)"
pathtrans="path = os.path.join('$basedir', file)"
fi
# if destdir was given, then it needs to be prepended to the filename to
# byte compile but not go into the compiled file.
if [ -z "$destdir" ]; then
filetrans="filepath = path"
if test -z "$destdir"; then
filetrans="filepath = path"
else
filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)"
filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)"
fi
python_major=`$PYTHON -V 2>&1 | sed -e 's/.* //;s/\..*$//;1q'`
if test -z "$python_major"; then
echo "$me: could not determine $PYTHON major version, guessing 3" >&2
python_major=3
fi
# The old way to import libraries was deprecated.
if test "$python_major" -le 2; then
import_lib=imp
import_test="hasattr(imp, 'get_tag')"
import_call=imp.cache_from_source
import_arg2=', False' # needed in one call and not the other
else
import_lib=importlib
import_test="hasattr(sys.implementation, 'cache_tag')"
import_call=importlib.util.cache_from_source
import_arg2=
fi
$PYTHON -c "
import sys, os, py_compile, imp
import sys, os, py_compile, $import_lib
files = '''$files'''
@ -129,15 +148,15 @@ for file in files.split():
continue
sys.stdout.write(file)
sys.stdout.flush()
if hasattr(imp, 'get_tag'):
py_compile.compile(filepath, imp.cache_from_source(filepath), path)
if $import_test:
py_compile.compile(filepath, $import_call(filepath), path)
else:
py_compile.compile(filepath, filepath + 'c', path)
sys.stdout.write('\n')" || exit $?
# this will fail for python < 1.5, but that doesn't matter ...
$PYTHON -O -c "
import sys, os, py_compile, imp
import sys, os, py_compile, $import_lib
# pypy does not use .pyo optimization
if hasattr(sys, 'pypy_translation_info'):
@ -153,11 +172,11 @@ for file in files.split():
continue
sys.stdout.write(file)
sys.stdout.flush()
if hasattr(imp, 'get_tag'):
py_compile.compile(filepath, imp.cache_from_source(filepath, False), path)
if $import_test:
py_compile.compile(filepath, $import_call(filepath$import_arg2), path)
else:
py_compile.compile(filepath, filepath + 'o', path)
sys.stdout.write('\n')" 2>/dev/null || :
sys.stdout.write('\n')" 2>/dev/null || exit $?
# Local Variables:
# mode: shell-script

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