Bug 1596032

Summary: Why does sudo package depend on vim-minimal?
Product: Red Hat Enterprise Linux 7 Reporter: Matěj Cepl <mcepl>
Component: sudoAssignee: Daniel Kopeček <dkopecek>
Status: CLOSED ERRATA QA Contact: Martin Zelený <mzeleny>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.5CC: dapospis, mzeleny
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sudo-1.8.23-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-30 11:09:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Matěj Cepl 2018-06-28 06:03:06 UTC
Description of problem:
 ~$ sudo yum remove vim-minimal
Loaded plugins: auto-update-debuginfo, fastestmirror, langpacks, remove-with-leaves
Resolving Dependencies
--> Running transaction check
---> Package vim-minimal.x86_64 2:8.0.1813-1.0.97.el7.centos will be erased
--> Processing Dependency: vim-minimal for package: sudo-1.8.19p2-13.el7.x86_64
--> Processing Dependency: vim-minimal for package: cvs-1.11.23-35.el7.x86_64
--> Running transaction check
---> Package cvs.x86_64 0:1.11.23-35.el7 will be erased
--> Processing Dependency: cvs for package: git-cvs-2.18.0-1.el7.noarch
--> Processing Dependency: cvs for package: cvsps-2.2-0.14.b1.el7.x86_64
---> Package sudo.x86_64 0:1.8.19p2-13.el7 will be erased
--> Running transaction check
---> Package cvsps.x86_64 0:2.2-0.14.b1.el7 will be erased
---> Package git-cvs.noarch 0:2.18.0-1.el7 will be erased
--> Processing Dependency: /usr/bin/vi for package: 1:libguestfs-tools-c-1.36.10-6.el7_5.2.x86_64
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package libguestfs-tools-c.x86_64 1:1.36.10-6.el7_5.2 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================================================
 Package                                 Arch                        Version                                              Repository                                                Size
=========================================================================================================================================================================================
Removing:
 vim-minimal                             x86_64                      2:8.0.1813-1.0.97.el7.centos                         @mcepl-vim8                                              1.0 M
Removing for dependencies:
 cvs                                     x86_64                      1.11.23-35.el7                                       @rhel-nightly/7Workstation                               1.1 M
 cvsps                                   x86_64                      2.2-0.14.b1.el7                                      @rhel-nightly-optional/7Workstation                      116 k
 git-cvs                                 noarch                      2.18.0-1.el7                                         @group_git-maint-git                                     329 k
 libguestfs-tools-c                      x86_64                      1:1.36.10-6.el7_5.2                                  @updates                                                  17 M
 sudo                                    x86_64                      1.8.19p2-13.el7                                      @rhel-nightly/7Workstation                               3.9 M

Transaction Summary
=========================================================================================================================================================================================
Remove  1 Package (+5 Dependent packages)

Installed size: 23 M
Is this ok [y/N]: n
Exiting on user command
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx.2018-06-28.07-52.wc3pA5.yumtx
 ~$ 



Version-Release number of selected component (if applicable):
sudo-1.8.19p2-13.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. see above
2.
3.

Actual results:
see above

Expected results:
cvs should not depend on any particular implementation of $EDITOR. If I would like to replace vim on my system with neovim (or any other $EDITOR), why should sudo, stop me? If it requires some particular command (above $EDITOR), then it should require that file (e.g., /usr/bin/ex).

Comment 2 Daniel Kopeček 2018-06-28 09:49:51 UTC
(In reply to Matěj Cepl from comment #0)
> Description of problem:
>  ~$ sudo yum remove vim-minimal
> Loaded plugins: auto-update-debuginfo, fastestmirror, langpacks,
> remove-with-leaves
> Resolving Dependencies
> --> Running transaction check
> ---> Package vim-minimal.x86_64 2:8.0.1813-1.0.97.el7.centos will be erased
> --> Processing Dependency: vim-minimal for package:
> sudo-1.8.19p2-13.el7.x86_64
> --> Processing Dependency: vim-minimal for package: cvs-1.11.23-35.el7.x86_64
> --> Running transaction check
> ---> Package cvs.x86_64 0:1.11.23-35.el7 will be erased
> --> Processing Dependency: cvs for package: git-cvs-2.18.0-1.el7.noarch
> --> Processing Dependency: cvs for package: cvsps-2.2-0.14.b1.el7.x86_64
> ---> Package sudo.x86_64 0:1.8.19p2-13.el7 will be erased
> --> Running transaction check
> ---> Package cvsps.x86_64 0:2.2-0.14.b1.el7 will be erased
> ---> Package git-cvs.noarch 0:2.18.0-1.el7 will be erased
> --> Processing Dependency: /usr/bin/vi for package:
> 1:libguestfs-tools-c-1.36.10-6.el7_5.2.x86_64
> --> Restarting Dependency Resolution with new changes.
> --> Running transaction check
> ---> Package libguestfs-tools-c.x86_64 1:1.36.10-6.el7_5.2 will be erased
> --> Finished Dependency Resolution
> 
> Dependencies Resolved
> 
> =============================================================================
> =============================================================================
> ===============================
>  Package                                 Arch                        Version
> Repository                                                Size
> =============================================================================
> =============================================================================
> ===============================
> Removing:
>  vim-minimal                             x86_64                     
> 2:8.0.1813-1.0.97.el7.centos                         @mcepl-vim8            
> 1.0 M
> Removing for dependencies:
>  cvs                                     x86_64                     
> 1.11.23-35.el7                                      
> @rhel-nightly/7Workstation                               1.1 M
>  cvsps                                   x86_64                     
> 2.2-0.14.b1.el7                                     
> @rhel-nightly-optional/7Workstation                      116 k
>  git-cvs                                 noarch                     
> 2.18.0-1.el7                                         @group_git-maint-git   
> 329 k
>  libguestfs-tools-c                      x86_64                     
> 1:1.36.10-6.el7_5.2                                  @updates               
> 17 M
>  sudo                                    x86_64                     
> 1.8.19p2-13.el7                                     
> @rhel-nightly/7Workstation                               3.9 M
> 
> Transaction Summary
> =============================================================================
> =============================================================================
> ===============================
> Remove  1 Package (+5 Dependent packages)
> 
> Installed size: 23 M
> Is this ok [y/N]: n
> Exiting on user command
> Your transaction was saved, rerun it with:
>  yum load-transaction /tmp/yum_save_tx.2018-06-28.07-52.wc3pA5.yumtx
>  ~$ 
> 
> 
> 
> Version-Release number of selected component (if applicable):
> sudo-1.8.19p2-13.el7.x86_64
> 
> How reproducible:
> 100%
> 
> Steps to Reproduce:
> 1. see above
> 2.
> 3.
> 
> Actual results:
> see above
> 
> Expected results:
> cvs should not depend on any particular implementation of $EDITOR. If I
> would like to replace vim on my system with neovim (or any other $EDITOR),
> why should sudo, stop me? If it requires some particular command (above
> $EDITOR), then it should require that file (e.g., /usr/bin/ex).

sudo requires some editor (from a limited list of compatible editors) because of visudo.

I'm ok with changing the dependency from vim-minimal to /usr/bin/vi (this path is passed to sudo's ./configure at build-time).

In Fedora it was fixed such that the spec file contains "Recommends: vim-minimal" but the "Recommends:" feature is not available in RHEL 7.x.

@dalibor Are you ok with adding this BZ to the current (7.6) erratum?

Comment 8 errata-xmlrpc 2018-10-30 11:09:01 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:3199