Bug 2217996

Summary: foot-terminfo has file conflicts with ncurses-term
Product: [Fedora] Fedora Reporter: Debarshi Ray <debarshir>
Component: footAssignee: Aleksei Bavshin <alebastr89>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: alebastr89, jprokop
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: foot-1.14.0-3.fc39 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-06-29 07:15:09 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Debarshi Ray 2023-06-27 18:56:43 UTC
/usr/share/terminfo/f/foot and /usr/share/terminfo/f/foot-direct are already part of the ncurses-term package.  Other distributions rename these files:
https://codeberg.org/dnkl/foot/wiki#user-content-foot-s-terminfo-vs-ncurses-terminfo

Reproducible: Always

Steps to Reproduce:
1. dnf install ncurses-term
2. dnf install foot-terminfo

Actual Results:  
Error: Transaction test error:
  file /usr/share/terminfo/f/foot from install of foot-terminfo-1.14.0-2.fc38.x86_64 conflicts with file from package ncurses-term-6.4-3.20230114.fc38.noarch
  file /usr/share/terminfo/f/foot-direct from install of foot-terminfo-1.14.0-2.fc38.x86_64 conflicts with file from package ncurses-term-6.4-3.20230114.fc38.noarch


Expected Results:  
No errors

I would like to move the foot entries to ncurses-base:
https://bugzilla.redhat.com/show_bug.cgi?id=2217982

Comment 1 Aleksei Bavshin 2023-06-27 19:01:45 UTC
> I would like to move the foot entries to ncurses-base:
> https://bugzilla.redhat.com/show_bug.cgi?id=2217982

Please, don't do that.
foot terminfo entry in ncurses is incomplete and limited[1] due to ncurses maintainer's refusal to include capabilities not supported by ncurses. It would make more problems for me if it was available and used by default.

[1]: https://codeberg.org/dnkl/foot/wiki#user-content-foot-s-terminfo-vs-ncurses-terminfo

Comment 2 Debarshi Ray 2023-06-28 09:37:19 UTC
(In reply to Aleksei Bavshin from comment #1)
> > I would like to move the foot entries to ncurses-base:
> > https://bugzilla.redhat.com/show_bug.cgi?id=2217982
> 
> Please, don't do that.
> foot terminfo entry in ncurses is incomplete and limited[1] due to ncurses
> maintainer's refusal to include capabilities not supported by ncurses. It
> would make more problems for me if it was available and used by default.

There's no reason for the contents of foot-terminfo to conflict with ncurses-term.  Other distributions seem to handle that by renaming Foot's own copy of the terminfo(5) entries:
https://codeberg.org/dnkl/foot/wiki#user-content-foot-s-terminfo-vs-ncurses-terminfo

[Seems like we are sending the same reference back and forth. :) ]

You can also convince Fedora's ncurses packager to carry Foot's copy of the terminfo(5) entries, if you really want Foot to use it's own copy of the entries.

Either way, this is a problem that needs to be sorted out by Foot, and not pushed downstream on people building OCI images:
https://github.com/containers/toolbox/issues/1244
https://gitlab.com/fedora/sigs/sway/SIG/-/issues/19

You can't expect everybody building OCI images to include foot-terminfo on the off chance that someone might be using Foot.

Currently, it's not even a good idea to install foot-terminfo in OCI images because it will prevent ncurses-term from being installed which will cause an even bigger problem.

Comment 3 Jarek Prokop 2023-06-29 06:35:51 UTC
I'd like to add that this currently makes updating rawhide hard, as it fails on the transaction:
```
Error: Transaction test error:
  file /usr/share/terminfo/f/foot from install of ncurses-base-6.4-5.20230520.fc39.noarch conflicts with file from package foot-terminfo-1.14.0-2.fc39.x86_64
  file /usr/share/terminfo/f/foot-direct from install of ncurses-base-6.4-5.20230520.fc39.noarch conflicts with file from package foot-terminfo-1.14.0-2.fc39.x86_64
```

For me, the solution was to remove foot, as I use Kitty or Alacritty.

Not sure if others have this luxury.

Comment 4 Fedora Update System 2023-06-29 07:14:40 UTC
FEDORA-2023-749f40a448 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-749f40a448

Comment 5 Fedora Update System 2023-06-29 07:15:09 UTC
FEDORA-2023-749f40a448 has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 6 Debarshi Ray 2023-06-29 09:31:51 UTC
(In reply to Jarek Prokop from comment #3)
> I'd like to add that this currently makes updating rawhide hard, as it fails
> on the transaction:
> ```
> Error: Transaction test error:
>   file /usr/share/terminfo/f/foot from install of
> ncurses-base-6.4-5.20230520.fc39.noarch conflicts with file from package
> foot-terminfo-1.14.0-2.fc39.x86_64
>   file /usr/share/terminfo/f/foot-direct from install of
> ncurses-base-6.4-5.20230520.fc39.noarch conflicts with file from package
> foot-terminfo-1.14.0-2.fc39.x86_64
> ```

Sorry about that.  The conflicts became worse with:
https://src.fedoraproject.org/rpms/ncurses/pull-request/6
https://bugzilla.redhat.com/show_bug.cgi?id=2217982

I hadn't expected that pull request to get merged so soon.

Anyway, Aleksei sorted everything out: 
https://src.fedoraproject.org/rpms/foot/c/f8f1c9b946df09b8

Thanks, Aleksei!