msgmerge(1) on Solnix vs Linux and the BSDs
msgmerge is GNU gettext's tool for merging a .po file with a .pot template. It is not in the base Solnix system: install pkgs.solnix.gettext. The Solnix page is GNU gettext-tools 0.22.5, so it sits between the NetBSD page (0.16.1) and Linux (1.0), and its option set is close to Linux.
The manual pages
- Solnix: msgmerge(1) from
pkgs.solnix.gettext - Linux: msgmerge(1) gettext-1.0
- NetBSD: msgmerge(1) 11.0
What Solnix runs
Not installed by default: add pkgs.solnix.gettext. The bundle shows no illumos msgmerge and no other variants shipped, so there is nothing on the default PATH to compare against.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| NetBSD | --color and --style | The Solnix page documents --color[=WHEN] (always, never, auto, html) and --style=STYLEFILE for coloured output. The NetBSD page (gettext-tools 0.16.1) has neither option.Source: Solnix msgmerge(1) Output details (--color, --style); NetBSD msgmerge(1) Output details |
| NetBSD | --lang | Solnix msgmerge has --lang=CATALOGNAME to set the 'Language' field in the header entry. The NetBSD page does not list it.Source: Solnix msgmerge(1) --lang; NetBSD msgmerge(1) Output details |
| NetBSD | --for-msgfmt | Solnix msgmerge has --for-msgfmt, which produces output for msgfmt rather than for a translator. The NetBSD page does not list it.Source: Solnix msgmerge(1) Operation modifiers (--for-msgfmt); NetBSD msgmerge(1) Operation modifiers |
| NetBSD | -n short option | On Solnix, -n is the short form of --add-location, which is the default. On NetBSD the page lists --add-location with no short form, so a script using -n works on Solnix but the NetBSD page does not document it.Source: Solnix msgmerge(1) -n, --add-location; NetBSD msgmerge(1) --add-location |
| Linux | -s / --sort-output | The Linux page marks -s, --sort-output as deprecated. The Solnix page describes it as 'generate sorted output' with no deprecation note. Prefer -F or no sorting in new scripts.Source: Linux msgmerge(1) -s, --sort-output (deprecated); Solnix msgmerge(1) -s, --sort-output |
| Linux | same program, older release | Solnix and Linux document the same GNU msgmerge with an identical option list. Solnix is gettext-tools 0.22.5 (February 2024) and the Linux page is gettext-tools 1.0 (January 2026). The only difference in the bundle is the deprecation note on -s.Source: Solnix msgmerge(1) footer (0.22.5); Linux msgmerge(1) footer (1.0) |
| all four | backup control | On Solnix, Linux and NetBSD, -U with --backup=CONTROL reads VERSION_CONTROL, and the suffix defaults to '~' unless --suffix or SIMPLE_BACKUP_SUFFIX is set. The bundle has no FreeBSD or OpenBSD page for msgmerge.Source: Solnix msgmerge(1) --backup, --suffix; Linux msgmerge(1) --backup; NetBSD msgmerge(1) --backup |
| FreeBSD, OpenBSD | FreeBSD and OpenBSD | The bundle contains no FreeBSD or OpenBSD msgmerge page. The manual does not say whether msgmerge is in their base systems. Source: Bundle header: counterparts are only linux and netbsd |
Standards
- POSIX: msgmerge is not a POSIX.1-2024 utility.
Writing portable scripts
- Use only the long options present in all three pages (such as
--update,--backup,--no-fuzzy-matching,--width,--add-location). Avoid--color,--lang,--for-msgfmtand-nif the script must also run against the older NetBSD gettext 0.16.1. - Do not rely on
-s/--sort-outputin new scripts: the Linux page marks it deprecated.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.