Control: tags 1142216 + patch

On 2026-07-16 17:50 +0200, Sven Joachim wrote:

> Control: clone -1 -2
> Control: reassign -2 kmscon 10.0.1-1~bpo13+1
> Control: affects -2 =
> Control: block -1 by -2
>
> Am 16.07.2026 um 12:39 schrieb Helmut Grohne:
>
>> Package: ncurses-term
>> Version: 6.6+20260608-2
>> Severity: serious
>> User: [email protected]
>> Usertags: fileconflict
>> Control: affects -1 + kmscon
>>
>> ncurses-term has an undeclared file conflict.  This may result in an
>> unpack error from dpkg.
>>
>> The file /usr/share/terminfo/k/kmscon is contained in the packages
>>  * kmscon/10.0.1-1~bpo13+1 as present in trixie-backports
>>  * ncurses-term/6.6+20260608-2 as present in forky|unstable
>>
>> These packages can be unpacked concurrently, because there is no
>> relevant Replaces or Conflicts relation.  Attempting to unpack these
>> packages concurrently results in an unpack error from dpkg, because none
>> of the packages installs a diversion for the affected file.
>
> The kmscon package in trixie-backports explicitly depends on
> ncurses-term (<< 6.6+20260608~) in an attempt to avoid the problem, but
> you are right that this is not sufficient because the unpack order on
> upgrades to forky is not defined, so there is a 50% chance to run into
> the file conflict depending on whether kmscon or ncurses-term is
> unpacked first.
>
> Prior art suggests that moving the file in kmscon/trixie-backports to
> /usr/lib/terminfo is a good way to avoid the file clash.  I will look
> into this later today if nobody beats me to it.

The attached patch should do the trick.  I have also opened a merge
request[1] on Salsa.

Cheers,
       Sven


1. https://salsa.debian.org/debian/kmscon/-/merge_requests/3

From f82d47700f72eec9cbe7303c582df0f7d9b6690b Mon Sep 17 00:00:00 2001
From: Sven Joachim <[email protected]>
Date: Thu, 16 Jul 2026 18:59:53 +0200
Subject: [PATCH] Install the kmscon terminfo entry into /usr/lib/terminfo

This avoids a possible file conflict with ncurses-term when upgrading
from trixie-backports to forky.  Although the dependencies ensure that
kmscon and ncurses-term are upgraded together, the unpack order is not
deterministic, and if forky's ncurses-term is unpacked before kmscon
dpkg will complain.

The terminfo library looks into both /usr/share/terminfo and
/lib/terminfo, so install the kmscon terminfo file into the latter and
drop the dependency on ncurses-term.
---
 debian/control        | 1 -
 debian/kmscon.install | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/debian/control b/debian/control
index 4a566c1..1cfca68 100644
--- a/debian/control
+++ b/debian/control
@@ -50,7 +50,6 @@ Package: kmscon
 Architecture: any
 Multi-Arch: foreign
 Depends:
- ncurses-term (<< 6.6+20260608~),
  init-system-helpers (>> 1.65~),
  login,
  ${misc:Depends},
diff --git a/debian/kmscon.install b/debian/kmscon.install
index 4be2131..e218d7d 100755
--- a/debian/kmscon.install
+++ b/debian/kmscon.install
@@ -6,4 +6,4 @@ usr/bin/kmscon
 usr/bin/kmscon-launch-gui
 usr/lib/${DEB_HOST_MULTIARCH}/kmscon/mod-*.so
 usr/share/man/man5/kmscon.conf.5
-usr/share/terminfo/k/kmscon
+usr/share/terminfo/k/kmscon usr/lib/terminfo/k
-- 
2.53.0

Reply via email to