Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 990444 - RFE: please add "mergetool" virtual provides
Summary: RFE: please add "mergetool" virtual provides
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: distribution
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Radek Vokál
QA Contact: Radek Vokál
URL:
Whiteboard:
Depends On: vim-mergetool diffuse-mergetool kdiff3-mergetool meld-mergetool tkcvs-mergetool 990452 kompare
Blocks: 990467
TreeView+ depends on / blocked
 
Reported: 2013-07-31 08:46 UTC by Karel Volný
Modified: 2015-08-31 12:59 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: vim-mergetool diffuse-mergetool kdiff3-mergetool meld-mergetool tkcvs-mergetool 990452 (view as bug list)
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karel Volný 2013-07-31 08:46:37 UTC
There are some utilities that may require a tool to resolve merge conflicts. I refer to bug #982627 for example.

However, Fedora does not provide any common name which would satisfy the dependency, so the package has to require some exact package that provides appropriate tool.

This is less than optimal, because 1) the user preference for the tool used may be completely different than what the dependency pulls in, 2) the author/packager of the utility must keep track about the tool availability and possible conflicts.

The solution would be to create virtual Provides for each package providing the tool, so that the utility that needs it would require this virtual and not concrete package.

Let me propose "mergetool" as a name of this virtual.

- it is selfexplaining and, in addition, users of git are used to it, as there is "git mergetool" command which calls one of the available tools

- it doesn't seem to conflict with anything existing; the two important occurences are as a part of "PDF Merge Tool" name, which is clearly distinguished by the "pdf" prefix, and "Mergetool.com" as a company which provides its own "Mergetool" software that is strongly unlikely to appear in Fedora, if it deals with Microsoft NAV

Comment 3 markusN 2015-08-29 13:57:42 UTC
I just (almost) finished updating F21 -> F22 using fedup. All fine except for a missing merge tool in "rpmconf":

[root@desktop ~]# rpmconf -a
Configuration file '/etc/systemd/journald.conf'
-rw-r--r--. 1 root root 969  4. Aug 08:23 /etc/systemd/journald.conf.rpmnew
-rw-r--r--. 1 root root 808 29. Aug 11:41 /etc/systemd/journald.conf

 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      M     : merge configuration files
      Z     : background this process to examine the situation
      S     : skip this file
 The default action is to keep your current version.
*** aliases (Y/I/N/O/D/M/Z/S) [default=N] ? 
Your choice: D
Configuration file '/etc/systemd/journald.conf'
-rw-r--r--. 1 root root 969  4. Aug 08:23 /etc/systemd/journald.conf.rpmnew
-rw-r--r--. 1 root root 808 29. Aug 11:41 /etc/systemd/journald.conf

 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      M     : merge configuration files
      Z     : background this process to examine the situation
      S     : skip this file
 The default action is to keep your current version.
*** aliases (Y/I/N/O/D/M/Z/S) [default=N] ? 
Your choice: M
ERROR:rpmconf:You did not selected any frontend for merge

[root@desktop ~]# cat /etc/issue
Fedora release 22 (Twenty Two)
Kernel \r on an \m (\l)

Using
rpmconf-1.0.12-1.fc22.noarch

Now what do install?

Comment 4 markusN 2015-08-29 14:42:11 UTC
(for the record: I reached this report thru bug #982627)

Comment 5 Karel Volný 2015-08-31 12:40:30 UTC
(In reply to markusN from comment #3)
> Now what do install?

rpmconf can use one of vimdiff, gvimdiff, meld, diffuse, kdiff3 or anything you set using environment variable 'MERGE' so you're free to choose ... please see the list of bugs this depends on (also 'kompare' provides this functionality)

(In reply to markusN from comment #4)
> (for the record: I reached this report thru bug #982627)

there's a difference between rpmconf and fedora-upgrade - interrupting the latter will leave a messed up system, so it has to require some mergetool to prevent rpmconf bailing out

OTOH, if you run rpmconf manually and it quits unexpectedly, you can install the missing dependency and re-run it without breaking any process

therefore there's no such bug for rpmconf as #982627 for fedora-upgrade

Comment 6 markusN 2015-08-31 12:50:15 UTC
Thanks for your comments, I agree.

Will report an enhancement request against "rpmconf" to provide a better error message (essentially, suggesting at least tell the user to make use of the environment variable 'MERGE'):

Instead of

ERROR:rpmconf:You did not selected any frontend for merge

may it be

ERROR:rpmconf:You did not selected any frontend for merge (define it with environment variable 'MERGE' or flag -f)

Comment 7 markusN 2015-08-31 12:59:03 UTC
(In reply to markusN from comment #6)
> Will report an enhancement request against "rpmconf" to provide a better
> error message

For the record: done, bug #1258464


Note You need to log in before you can comment on or make changes to this bug.