#1151264 tin: upgrade fails: missing exit status 0 after return in tin.postinst

Package:
tin
Source:
tin
Description:
Full-screen easy to use Usenet newsreader
Submitter:
Vincent Lefevre
Date:
2026-10-20 22:43:02 UTC
Severity:
normal
#1151264#5
Date:
2026-10-19 10:24:33 UTC
From:
To:
Upgrading tin fails:

[...]
Preparing to unpack .../tin_1%3a2.6.7~20260927-1_amd64.deb ...
Unpacking tin (1:2.6.7~20260927-1) over (1:2.6.6-1) ...
Setting up tin (1:2.6.7~20260927-1) ...
Installing new version of config file /etc/tin/tin.defaults ...
dpkg: error processing package tin (--configure):
 old tin package postinst maintainer script subprocess failed with exit status 1
[...]
E: Sub-process /usr/bin/dpkg returned an error code (1)
Setting up tin (1:2.6.7~20260927-1) ...
dpkg: error processing package tin (--configure):
 old tin package postinst maintainer script subprocess failed with exit status 1
Errors were encountered while processing:
 tin

#1151264#10
Date:
2026-10-19 10:55:55 UTC
From:
To:
BTW, why "old"?

Even if I uninstall the tin package and install tin/1:2.6.7~20260927-1
again, I get the same error.

"apt install -f" also fails with the same error.

#1151264#15
Date:
2026-10-19 11:29:47 UTC
From:
To:
root@disset:~# DEBCONF_DEBUG=developer dpkg --configure tin
Setting up tin (1:2.6.7~20260927-1) ...
debconf (developer): frontend started
debconf (developer): frontend running, package name is tin
debconf (developer): starting /var/lib/dpkg/info/tin.config configure 1:2.6.6-1
debconf (developer): <-- VERSION 2.0
debconf (developer): --> 0 2.0
debconf (developer): <-- BEGINBLOCK
debconf (developer): --> 0
debconf (developer): <-- SET shared/news/server news.lip.ens-lyon.fr
debconf (developer): --> 0 value set
debconf (developer): <-- INPUT medium shared/news/server
debconf (developer): --> 30 question skipped
debconf (developer): <-- ENDBLOCK
debconf (developer): --> 0
debconf (developer): <-- GO
debconf (developer): --> 0 ok
debconf (developer): starting /var/lib/dpkg/info/tin.postinst configure 1:2.6.6-1
debconf (developer): <-- GET shared/news/server
debconf (developer): --> 0 news.lip.ens-lyon.fr
dpkg: error processing package tin (--configure):
 old tin package postinst maintainer script subprocess failed with exit status 1

In tin.postinst:

  local current_name="$(cat /etc/news/server)"
  [ "$RET" != "$current_name" ] || return

which should give

  [ "news.lip.ens-lyon.fr" != "news.lip.ens-lyon.fr" ] || return

but

$ f() { [ "news.lip.ens-lyon.fr" != "news.lip.ens-lyon.fr" ] || return; }
$ f
$ echo $?
1

while

$ f() { [ "news.lip.ens-lyon.fr" != "news.lip.ens-lyon.fr" ] || return 0; }
$ f
$ echo $?
0

https://chat.mistral.ai/work/c088fabe-6e87-4cd0-83f3-e8a95fcd9f8d
confirms that this is the cause of the failure.

Note also that

  [ "$RET" ] || return

has the same issue.

#1151264#22
Date:
2026-10-19 11:37:37 UTC
From:
To:
Control: clone -1 -2
Control: retitle -2 dpkg: an error message mentions the old maintainer script instead of the new one
Control: reassign -2 dpkg
me ignore the CI failure. :-(

How to reproduce: update a package to a new version with a failing
maintainer script.

#1151264#29
Date:
2026-10-20 19:40:46 UTC
From:
To:
I can see that this bug is fixed in 1:2.6.7~20260927-2,
but the changelog

https://tracker.debian.org/news/1812921/accepted-tin-126720260927-2-source-into-unstable/

says

   * Fix a postinst failure at install time. (Closes: #1528577)

while this is bug 1151264.