fabiangreffrath / crispy-doom

Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.
https://fabiangreffrath.github.io/crispy-homepage
GNU General Public License v2.0
808 stars 132 forks source link

Manpage File Conflicts #1190

Closed kinker31 closed 8 months ago

kinker31 commented 8 months ago

Background

Operating System: Arch Linux, Linux-Zen 6.8.1-x86_64

Bug description

Description: When trying to install both Chocolate Doom and Crispy Doom from the AUR, using either the git version or the stable versions, a file conflict in the manual pages for both programs prevent the coexistience of both pograms.

Error Log:


crispy-doom-git: /usr/share/man/man5/strife.cfg.5.gz exists in filesystem (owned by chocolate-doom-git)
Errors occurred, no packages were upgraded.
 -> error installing: [/home/kinker31/.cache/yay/crispy-doom-git/crispy-doom-git-6.0.r277.g860f9504-1-x86_64.pkg.tar.zst /home/kinker31/.cache/yay/crispy-doom-git/crispy-doom-git-debug-6.0.r277.g860f9504-1-x86_64.pkg.tar.zst] - exit status 1
kinker31 commented 8 months ago

This also applies the other way around too, being unable to install Chocolate Doom if Crispy Doom was installed first.

fabiangreffrath commented 8 months ago

This issue has been brought up about once per year, c.f. #936 and #1036. I have just fixed it for good by not installing the manpages for generic config files anymore.

g-branden-robinson commented 2 months ago

This could be solved by applying a suffix to the "man section", that is, changing the "5" in strife.cfg.5 et al. to "5crispy".

This practice has a long provenance; we still see it today sometimes with 3perl and 3posix sections, but, with single-letter suffixes, it goes all the way back to Seventh Edition Unix (1979).

INTRO(1)                 General Commands Manual                INTRO(1)

NAME
     intro - introduction to commands

DESCRIPTION
     This section describes publicly accessible commands in alphabetic
     order.  Certain distinctions of purpose are made in the headings:

     (1)    Commands of general utility.

     (1C)   Commands for communication with other systems.

     (1G)   Commands used primarily for graphics and computer‐aided
            design.

     (1M)   Commands used primarily for system maintenance.

These specifics decayed away (slowly, in some cases, as with AT&T Unix System V), but the principle and supporting infrastructure remain.