Bug#1040048: debian-installer-utils: FTBFS: "vt102-di", line 3, terminal 'vt102': /sbuild-nonexistent/.terminfo: permission denied (errno 2)
Control: tags -1 + patch
On 2023-07-01 20:32 +0200, Sven Joachim wrote:
> Source: debian-installer-utils
> Version: 1.146
> Severity: serious
> Tags: trixie sid ftbfs
>
> Unfortunately your package FTBFS after the recent ncurses upload. From
> my suild log:
>
> ,----
> | debian/rules override_dh_auto_install
> | make[1]: Entering directory '/<<PKGBUILDDIR>>'
> | for file in /usr/share/terminfo/a/ansi /usr/share/terminfo/d/dumb /usr/share/terminfo/s/screen /usr/share/terminfo/x/xterm /usr/share/terminfo/l/linux; do \
> | mkdir -p debian/di-utils-terminfo/`dirname $file`; \
> | cp -pL $file debian/di-utils-terminfo/$file; \
> | chmod 644 debian/di-utils-terminfo/$file; \
> | done
> | tic vt102-di -o debian/di-utils-terminfo/lib/terminfo
> | "vt102-di", line 3, terminal 'vt102': /sbuild-nonexistent/.terminfo: permission denied (errno 2)
> | make[1]: *** [debian/rules:43: override_dh_auto_install] Error 1
> `----
>
> There seem to be two problems here:
>
> 1. The terminfo files in ncurses-base have been relocated to
> /usr/share/terminfo, therefore debian/di-utils-terminfo/lib/terminfo
> and its parent directory do not exist yet.
>
> 2. tic with the -o option, or with TERMINFO set, is unable to create
> directories more than one level deep. It does, however, not complain
> about that, but silently writes to ${HOME}/.terminfo instead (or tries
> to - in this case it fails).
>
> I'll report the second issue upstream, but the first should be solved in
> debian-installer-utils.
See the attached patch for a fix which works with both old and new
ncurses-base versions.
I have reported the rather surprising tic behavior at
https://lists.gnu.org/archive/html/bug-ncurses/2023-07/msg00000.html.
Cheers,
Sven
From c86d381293037fc22ceb677e042acf2c9d59f2f8 Mon Sep 17 00:00:00 2001
From: Sven Joachim <svenjoac@gmx.de>
Date: Sat, 1 Jul 2023 21:14:04 +0200
Subject: [PATCH] Write the vt102-di terminfo entry to /usr/share/terminfo
This is the location where the all the other terminfo files are since
with ncurses-base 6.4+20230603. Also create the directory in advance,
because tic does not create multiple levels of directories and would
fail if an older ncurses-base version is installed at build time.
Closes: #1040048
---
debian/rules | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/debian/rules b/debian/rules
index 50ab30c..c7278c7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -44,7 +44,8 @@ override_dh_auto_install:
cp -pL $$file debian/di-utils-terminfo/$$file; \
chmod 644 debian/di-utils-terminfo/$$file; \
done
- tic vt102-di -o debian/di-utils-terminfo/lib/terminfo
+ mkdir -p debian/di-utils-terminfo/usr/share/terminfo
+ tic vt102-di -o debian/di-utils-terminfo/usr/share/terminfo
mkdir -p debian/di-utils/bin
cp -pL list-devices-$(DEB_HOST_ARCH_OS) debian/di-utils/bin/list-devices
--
2.40.1
Reply to: