Hi fellow packagers,

I'm currently in the process of packaging vim-classic[1], for now just as a COPR (if anyone would be interested in co-maintaining in Fedora proper, please reach out).

My question is in regards to whether and (if so) how to make vim and vim-classic able to coexist on one machine. I managed to untangle the runtime components, but for the user-facing parts (list below) I'm not sure how to proceed:

* binaries (vim, ex, gvim, xxd, ...)
* manuals for said binaries
* /etc/vi{m,}rc

I personally would like to package vim-classic in a way that allows coexistance. This would make my job as packager easier and would allow users to migrate slowly. Most importantly, multi-user systems (e.g. servers maintained by a group of sysadmins) would each have the option to use their preferred flavour of editor.

I've read the Conflicts section of the Packager Guide[2], but I do not particularly like any of the options.

* Upstream by default builds the binaries with names that conflict with VIM proper but the build system can be coaxed into producing names with e.g. a "-classic" suffix. But a user would probably like to invoke vim-classic as vim (hence upstream's decision).

* the update-alternatives would require cooperation with the Fedora vim package, and editors (vi, even) is specifically mentioned as an example when not to use it

* environment modules are in my personal option a PITA and also target a different kind of program (that is less user-visible) as far as I can tell.

A solution inspired by the `{vim,nano}-default-editor` packages would make sense to me: The base package installs binaries/etc in a non-conflicting manner, and a subpackage `vim-classic-as-vim` would provide symlinks (and declares `Conflicts: vim`). This gets a bit more complicated, because vim-classic (inherited from vim) is split into multiple subpackages, each of which would need a corresponding `-as-vim` package, to only provide the symlinks for files actually on the system.

Can anyone provide some input on this?

My WIP spec file and patches live here: https://girst.fedorapeople.org/vim-classic/

Thanks,
        tobi


[1]: https://vim-classic.org
[2]: 
https://docs.fedoraproject.org/en-US/packaging-guidelines/Conflicts/#_binary_name_conflicts
--
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to