File the upstream defects with TurnKey #3

Open
opened 2026-09-27 06:05:33 -03:00 by marcos-mendez · 1 comment
marcos-mendez commented 2026-09-27 06:05:33 -03:00 (Migrated from github.com)

Eight defects found on a real 19.0 are written up with fix branches and tests
in the private notes, and none has been offered upstream. The most recent is
issue H: run exports INITHOOKS_CONF only when the file already exists, so
29preseed, whose job is to create it, fails with an ambiguous redirect on
every headless first boot.

Waiting on a reply from upstream about whether this direction interests them.
Closes when each defect is either filed or recorded as deliberately not filed.

Eight defects found on a real 19.0 are written up with fix branches and tests in the private notes, and none has been offered upstream. The most recent is issue H: `run` exports `INITHOOKS_CONF` only when the file already exists, so `29preseed`, whose job is to create it, fails with an ambiguous redirect on every headless first boot. Waiting on a reply from upstream about whether this direction interests them. Closes when each defect is either filed or recorded as deliberately not filed.
marcos-mendez commented 2026-09-27 21:14:11 -03:00 (Migrated from github.com)

Deferred by the maintainer on 2026-09-28, to be revisited around the end of
October, when the project is further along. Recorded so that a later reader
sees a decision rather than an oversight.

The cost of waiting, stated plainly so the decision can be reviewed against
it: every week of divergence makes these patches harder to apply upstream and
weakens the claim that our appliances are compatible with TurnKey's. The eight
are bug fixes with tests and none of them depends on our architecture, so
sending them reduces divergence rather than adding to it, which is the
argument for going earlier rather than later.

The list as it stands, all measured on a real 19.0 and each with a fix branch:

  • run exports INITHOOKS_CONF only when the file already exists, so
    29preseed, whose job is to create it, fails on every headless first boot.
  • core ships one machine-id for every appliance, which gave two of our nodes
    the same server_id in replication.
  • 01ipconfig in static mode overwrites /etc/network/interfaces.
  • turnkey-init-fence fails in a container when the host has not loaded
    ip6table_nat.
  • 29tagid fails when the fence is not active.
  • conf/turnkey.d/postfix-local aborts every build on a TKLDev whose own
    postfix is running, and its fatal() is broken.
  • turnkey-chroot cannot unmount proc inside LXC.
  • tklbam-profiles moodle names a data directory that moved in 2012.

Not for upstream, and not to be offered by accident: the unit mechanism, the
manifest fields, the package pool and the archive verification. Those are
direction rather than defect, and offering them early turns a bug report into
a design argument.

Deferred by the maintainer on 2026-09-28, to be revisited around the end of October, when the project is further along. Recorded so that a later reader sees a decision rather than an oversight. The cost of waiting, stated plainly so the decision can be reviewed against it: every week of divergence makes these patches harder to apply upstream and weakens the claim that our appliances are compatible with TurnKey's. The eight are bug fixes with tests and none of them depends on our architecture, so sending them reduces divergence rather than adding to it, which is the argument for going earlier rather than later. The list as it stands, all measured on a real 19.0 and each with a fix branch: - `run` exports `INITHOOKS_CONF` only when the file already exists, so `29preseed`, whose job is to create it, fails on every headless first boot. - `core` ships one machine-id for every appliance, which gave two of our nodes the same `server_id` in replication. - `01ipconfig` in static mode overwrites `/etc/network/interfaces`. - `turnkey-init-fence` fails in a container when the host has not loaded `ip6table_nat`. - `29tagid` fails when the fence is not active. - `conf/turnkey.d/postfix-local` aborts every build on a TKLDev whose own postfix is running, and its `fatal()` is broken. - `turnkey-chroot` cannot unmount proc inside LXC. - `tklbam-profiles` moodle names a data directory that moved in 2012. Not for upstream, and not to be offered by accident: the unit mechanism, the manifest fields, the package pool and the archive verification. Those are direction rather than defect, and offering them early turns a bug report into a design argument.
Sign in to join this conversation.
No description provided.