[Bug 1841654] Re: Replace mawk with gawk in main
amano
1841654 at bugs.launchpad.net
Sun Sep 1 11:01:13 UTC 2019
@Thomas Dickey:
Wow, you were fast to find that topic ;)
I didn't want to spread misleading information, so I guess that I
misread or misinterpreted my findings and mawk is still developed and
maintained by you? Which is great to know. I probably just couldn't find
your active development branch. Mind sharing some information about it?
I don't care if Debian/Ubuntu shipped with an updated mawk version (much
smaller and faster) but for shellscript compatibility between the likes
of say Fedora and Ubuntu a switch to gawk might still be worth
considering. Any input would be welcome.
The only thing which is certainly bad is the current situation with a
version from 2009 is shipped in main without being maintained by anyone
anymore.
** Summary changed:
- Replace mawk with gawk in main
+ Consider replacing mawk with gawk in main
** Description changed:
For POSIX compatibility reasons Ubuntu ships with mawk ("Mike's awk" =
mawk) in main. There is an awk-symlink to mawk, thus mawk is the
official awk implementation in Ubuntu.
== Reasons against keeping mawk ==
*The mawk package is synced from debian and it is heavily
undermaintained: Debian (and thus Ubuntu) still ships version 1.3.3-17,
the same version at least since oldoldstable:
https://packages.debian.org/search?searchon=names&keywords=mawk
*part-time maintainer Thomas E. Dickey (https://invisible-
island.net/mawk/) called officially out that Debian "neglected" mawk in
2014 ("As noted, mawk has been neglected by some packagers (see for
example this http://bugs.debian.org/cgi-
bin/pkgreport.cgi?package=mawk)". And Debian (and Ubuntu) still ship the
same version five years later
*Most other distributions ship mawk at least in its last official
incarnation 1.3.4 in their repositories. Dickey lists AIX, Fedora,
FinkPorts (Mac OS X), FreeBSD port, Gentoo, HPUX, MacPorts (Mac OS X),
- NetBSD pkgsrc/lang, OpenCSW (Solaris). But even that version is from
- 2014 and doesn't seem to be developed anymore:
- https://github.com/ThomasDickey/mawk-20140914/commits/master
+ NetBSD pkgsrc/lang, OpenCSW (Solaris). That version is from 2014 and at
+ first it looked like it wasn't developed anymore:
+ https://github.com/ThomasDickey/mawk-20140914/commits/master A recent
+ comment by Thomas Dickey below indicates that he is still maintaining
+ mawk.
*A planned rewrite mawk2 was planned by original author Mike Brennan in
2016 but obviously came to nothing:
https://github.com/ploxiln/mawk-2/commits/master
*Thus mawk sits in Ubuntu main in a version published upstream in 2009
and celebrates its 10th anniversary of negligence. In a state that
Debian was called out for 5 years ago.
*This year it is 10 years unmaintained and largely untouched. At the end
of the next LTS-support-cycle we can celebrate 15 years of not
supporting it.
*awk is included in Linux for POSIX standard compliance. Mawk is known
to be fast and small but it is the implementation that is farthest from
being POSIX compliant, missing things like named character classes like
[[:space:]] within its EREs.
== Reasons for gawk as a replacement ==
*It is the official GNU awk implementation and known to work well with
the rest of the GNU userland.
*It is actively maintained with the last version 5.01 shipping in June,
2019 (even if Ubuntu will obviously still ship 4.2 for Eoan).
*It is mostly compliant with the POSIX standard.
*Most other distributions ship it as the standard POSIX implementation,
with a awk symlink. So it had security reviews already by Red Hat and
others.
== Possible problems with switching to gawk in time for Ubuntu 20.4 ==
- It might need to be MIRed by the Ubuntu security team and a review
might take some time. So I filed this bug early with Eoan not yet out of
the door.
- It is much larger than mawk, the Ubuntu package is 1600 kB in size,
while mawk is only about 190KB. Thus some might want to split out some
basic functionality to save size. Like what is vim-tiny to vim. To start
gawk in --traditional or --posix mode and disable the extensions at
compile time might be a good start to reduce the size. See:
https://www.gnu.org/software/gawk/manual/html_node/Additional-
Configuration-Options.html#Additional-Configuration-Options
=============================================================================
ProblemType: Bug
DistroRelease: Ubuntu 19.04
Package: mawk 1.3.3-17ubuntu3
ProcVersionSignature: Ubuntu 5.0.0-27.28-generic 5.0.21
Uname: Linux 5.0.0-27-generic x86_64
ApportVersion: 2.20.10-0ubuntu27.1
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Tue Aug 27 20:12:11 2019
Dependencies:
gcc-9-base 9.1.0-2ubuntu2~19.04
libc6 2.29-0ubuntu2
libgcc1 1:9.1.0-2ubuntu2~19.04
libidn2-0 2.0.5-1
libunistring2 0.9.10-1ubuntu2
InstallationDate: Installed on 2018-02-23 (550 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180214)
ProcEnviron:
LANGUAGE=de_AT:de
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=de_AT.UTF-8
SHELL=/bin/bash
SourcePackage: mawk
UpgradeStatus: No upgrade log present (probably fresh install)
** Description changed:
For POSIX compatibility reasons Ubuntu ships with mawk ("Mike's awk" =
mawk) in main. There is an awk-symlink to mawk, thus mawk is the
official awk implementation in Ubuntu.
== Reasons against keeping mawk ==
*The mawk package is synced from debian and it is heavily
undermaintained: Debian (and thus Ubuntu) still ships version 1.3.3-17,
the same version at least since oldoldstable:
https://packages.debian.org/search?searchon=names&keywords=mawk
- *part-time maintainer Thomas E. Dickey (https://invisible-
- island.net/mawk/) called officially out that Debian "neglected" mawk in
- 2014 ("As noted, mawk has been neglected by some packagers (see for
- example this http://bugs.debian.org/cgi-
- bin/pkgreport.cgi?package=mawk)". And Debian (and Ubuntu) still ship the
- same version five years later
+ *maintainer Thomas E. Dickey (https://invisible-island.net/mawk/) called
+ officially out that Debian "neglected" mawk in 2014 ("As noted, mawk has
+ been neglected by some packagers (see for example this
+ http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=mawk)". And Debian
+ (and Ubuntu) still ship the same version five years later
*Most other distributions ship mawk at least in its last official
incarnation 1.3.4 in their repositories. Dickey lists AIX, Fedora,
FinkPorts (Mac OS X), FreeBSD port, Gentoo, HPUX, MacPorts (Mac OS X),
NetBSD pkgsrc/lang, OpenCSW (Solaris). That version is from 2014 and at
first it looked like it wasn't developed anymore:
https://github.com/ThomasDickey/mawk-20140914/commits/master A recent
comment by Thomas Dickey below indicates that he is still maintaining
mawk.
*A planned rewrite mawk2 was planned by original author Mike Brennan in
2016 but obviously came to nothing:
https://github.com/ploxiln/mawk-2/commits/master
*Thus mawk sits in Ubuntu main in a version published upstream in 2009
and celebrates its 10th anniversary of negligence. In a state that
Debian was called out for 5 years ago.
*This year it is 10 years unmaintained and largely untouched. At the end
of the next LTS-support-cycle we can celebrate 15 years of not
supporting it.
*awk is included in Linux for POSIX standard compliance. Mawk is known
to be fast and small but it is the implementation that is farthest from
being POSIX compliant, missing things like named character classes like
[[:space:]] within its EREs.
== Reasons for gawk as a replacement ==
*It is the official GNU awk implementation and known to work well with
the rest of the GNU userland.
*It is actively maintained with the last version 5.01 shipping in June,
2019 (even if Ubuntu will obviously still ship 4.2 for Eoan).
*It is mostly compliant with the POSIX standard.
*Most other distributions ship it as the standard POSIX implementation,
with a awk symlink. So it had security reviews already by Red Hat and
others.
== Possible problems with switching to gawk in time for Ubuntu 20.4 ==
- It might need to be MIRed by the Ubuntu security team and a review
might take some time. So I filed this bug early with Eoan not yet out of
the door.
- It is much larger than mawk, the Ubuntu package is 1600 kB in size,
while mawk is only about 190KB. Thus some might want to split out some
basic functionality to save size. Like what is vim-tiny to vim. To start
gawk in --traditional or --posix mode and disable the extensions at
compile time might be a good start to reduce the size. See:
https://www.gnu.org/software/gawk/manual/html_node/Additional-
Configuration-Options.html#Additional-Configuration-Options
=============================================================================
ProblemType: Bug
DistroRelease: Ubuntu 19.04
Package: mawk 1.3.3-17ubuntu3
ProcVersionSignature: Ubuntu 5.0.0-27.28-generic 5.0.21
Uname: Linux 5.0.0-27-generic x86_64
ApportVersion: 2.20.10-0ubuntu27.1
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Tue Aug 27 20:12:11 2019
Dependencies:
gcc-9-base 9.1.0-2ubuntu2~19.04
libc6 2.29-0ubuntu2
libgcc1 1:9.1.0-2ubuntu2~19.04
libidn2-0 2.0.5-1
libunistring2 0.9.10-1ubuntu2
InstallationDate: Installed on 2018-02-23 (550 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180214)
ProcEnviron:
LANGUAGE=de_AT:de
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=de_AT.UTF-8
SHELL=/bin/bash
SourcePackage: mawk
UpgradeStatus: No upgrade log present (probably fresh install)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mawk in Ubuntu.
https://bugs.launchpad.net/bugs/1841654
Title:
Consider replacing mawk with gawk in main
Status in mawk package in Ubuntu:
New
Bug description:
For POSIX compatibility reasons Ubuntu ships with mawk ("Mike's awk" =
mawk) in main. There is an awk-symlink to mawk, thus mawk is the
official awk implementation in Ubuntu.
== Reasons against keeping mawk ==
*The mawk package is synced from debian and it is heavily
undermaintained: Debian (and thus Ubuntu) still ships version
1.3.3-17, the same version at least since oldoldstable:
https://packages.debian.org/search?searchon=names&keywords=mawk
*maintainer Thomas E. Dickey (https://invisible-island.net/mawk/)
called officially out that Debian "neglected" mawk in 2014 ("As noted,
mawk has been neglected by some packagers (see for example this
http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=mawk)". And
Debian (and Ubuntu) still ship the same version five years later
*Most other distributions ship mawk at least in its last official
incarnation 1.3.4 in their repositories. Dickey lists AIX, Fedora,
FinkPorts (Mac OS X), FreeBSD port, Gentoo, HPUX, MacPorts (Mac OS X),
NetBSD pkgsrc/lang, OpenCSW (Solaris). That version is from 2014 and
at first it looked like it wasn't developed anymore:
https://github.com/ThomasDickey/mawk-20140914/commits/master A recent
comment by Thomas Dickey below indicates that he is still maintaining
mawk.
*A planned rewrite mawk2 was planned by original author Mike Brennan
in 2016 but obviously came to nothing:
https://github.com/ploxiln/mawk-2/commits/master
*Thus mawk sits in Ubuntu main in a version published upstream in 2009
and celebrates its 10th anniversary of negligence. In a state that
Debian was called out for 5 years ago.
*This year it is 10 years unmaintained and largely untouched. At the
end of the next LTS-support-cycle we can celebrate 15 years of not
supporting it.
*awk is included in Linux for POSIX standard compliance. Mawk is known
to be fast and small but it is the implementation that is farthest
from being POSIX compliant, missing things like named character
classes like [[:space:]] within its EREs.
== Reasons for gawk as a replacement ==
*It is the official GNU awk implementation and known to work well with
the rest of the GNU userland.
*It is actively maintained with the last version 5.01 shipping in
June, 2019 (even if Ubuntu will obviously still ship 4.2 for Eoan).
*It is mostly compliant with the POSIX standard.
*Most other distributions ship it as the standard POSIX
implementation, with a awk symlink. So it had security reviews already
by Red Hat and others.
== Possible problems with switching to gawk in time for Ubuntu 20.4 ==
- It might need to be MIRed by the Ubuntu security team and a review
might take some time. So I filed this bug early with Eoan not yet out
of the door.
- It is much larger than mawk, the Ubuntu package is 1600 kB in size,
while mawk is only about 190KB. Thus some might want to split out some
basic functionality to save size. Like what is vim-tiny to vim. To
start gawk in --traditional or --posix mode and disable the extensions
at compile time might be a good start to reduce the size. See:
https://www.gnu.org/software/gawk/manual/html_node/Additional-
Configuration-Options.html#Additional-Configuration-Options
=============================================================================
ProblemType: Bug
DistroRelease: Ubuntu 19.04
Package: mawk 1.3.3-17ubuntu3
ProcVersionSignature: Ubuntu 5.0.0-27.28-generic 5.0.21
Uname: Linux 5.0.0-27-generic x86_64
ApportVersion: 2.20.10-0ubuntu27.1
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Tue Aug 27 20:12:11 2019
Dependencies:
gcc-9-base 9.1.0-2ubuntu2~19.04
libc6 2.29-0ubuntu2
libgcc1 1:9.1.0-2ubuntu2~19.04
libidn2-0 2.0.5-1
libunistring2 0.9.10-1ubuntu2
InstallationDate: Installed on 2018-02-23 (550 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180214)
ProcEnviron:
LANGUAGE=de_AT:de
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=de_AT.UTF-8
SHELL=/bin/bash
SourcePackage: mawk
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mawk/+bug/1841654/+subscriptions
More information about the foundations-bugs
mailing list