Bug 1123814

Summary: Reduce dependencies
Product: [Fedora] Fedora Reporter: Vít Ondruch <vondruch>
Component: nssAssignee: Elio Maldonado Batiz <emaldona>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: chrisw, emaldona, extras-qa, jbowes, kdudka, kengert, ooprala, paul, pstodulk, tmz, vonsch
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1121646 Environment:
Last Closed: 2014-07-28 12:21:39 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:
Bug Depends On: 1121646    
Bug Blocks:    

Description Vít Ondruch 2014-07-28 10:24:07 UTC
+++ This bug was initially created as a clone of Bug #1121646 +++

Description of problem:
Installing git pulls in several packages, including systemd for example:

Nainstalováno:
  git.x86_64 0:2.0.1-1.fc22                                                     

Nainstalované závislosti:
  acl.x86_64 0:2.2.52-6.fc22                                                    
  cryptsetup-libs.x86_64 0:1.6.5-2.fc22                                         
  dbus.x86_64 1:1.8.6-2.fc22                                                    
  dbus-libs.x86_64 1:1.8.6-2.fc22                                               
  device-mapper.x86_64 0:1.02.86-2.fc22                                         
  device-mapper-libs.x86_64 0:1.02.86-2.fc22                                    
  fipscheck.x86_64 0:1.4.1-6.fc22                                               
  fipscheck-lib.x86_64 0:1.4.1-6.fc22                                           
  kmod.x86_64 0:18-2.fc22                                                       
  kmod-libs.x86_64 0:18-2.fc22                                                  
  less.x86_64 0:458-12.fc22                                                     
  libedit.x86_64 0:3.1-7.20140213cvs.fc22                                       
  libgnome-keyring.x86_64 0:3.12.0-2.fc21                                       
  libseccomp.x86_64 0:2.1.1-2.fc21                                              
  openssh.x86_64 0:6.6.1p1-4.fc22                                               
  openssh-clients.x86_64 0:6.6.1p1-4.fc22                                       
  perl-Error.noarch 1:0.17022-2.fc21                                            
  perl-Git.noarch 0:2.0.1-1.fc22                                                
  perl-TermReadKey.x86_64 0:2.32-2.fc21                                         
  qrencode-libs.x86_64 0:3.4.2-2.fc21                                           
  rsync.x86_64 0:3.1.1-1.fc21                                                   
  systemd.x86_64 0:215-4.fc22                                                   

Aktualizované závislosti:
  systemd-libs.x86_64 0:215-4.fc22                 

Why would git need systemd is not obvious for me. Please reduce the dependencies.

Version-Release number of selected component (if applicable):
# rpm -q git
git-2.0.1-1.fc22.x86_64


How reproducible:
Always

Steps to Reproduce:
1. $ mock -r fedora-rawhide-x86_64 --install git
2.
3.

Actual results:
Myriad of dependencies is installed.

Expected results:
Only relevant dependencies are installed (and systemd should not be amongst them IMO)

Additional info:

--- Additional comment from Ondrej Oprala on 2014-07-21 15:39:43 CEST ---

Git requires rsync, which seems to pull in systemd as well :/

--- Additional comment from Vít Ondruch on 2014-07-21 16:00:15 CEST ---

Come on, if this is problem or RSync, then it should be reassigned to RSync. If it is problem of git as well as RSync, then please fix the issue on your side and pursue the same fix for RSync.

I don't mind opening bug for RSync, but it seems you know better about this dependency.

Thank you.

--- Additional comment from Ondrej Oprala on 2014-07-22 14:28:19 CEST ---

Unfortunately Rsync is not the only dependency that pulls in systemd. There's libcurl -> nss -> nss-sysinit -> coreutils -> util-linux -> systemd as well (and I absolutely cannot kick out libcurl :) ).

Now, rsync requires systemd-units because of rsyncd.{socket,service} files it installs.

Removing systemd as a dependency of util-linux however, would be a bit more difficult.

The default installation of git along with it's necessary subpackages doesn't require systemd directly, only the "standalone" git-daemon package does that.

Comment 1 Paul Howarth 2014-07-28 10:44:02 UTC
curl isn't going to stop depending on nss, so if you want it to stop pulling in systemd as a dependency, that link needs to be broken further down the chain, maybe at nss-sysinit -> coreutils or util-linux -> systemd.

Not curl's issue anyway. Please reassign.

Comment 2 Kamil Dudka 2014-07-28 11:11:51 UTC
From the yum output you posted above, it is clear that libcurl had been already installed before you tried to install git.  libcurl is actually required for yum to run ;-)  So libcurl could hardly be the reason for systemd being pulled in the list of dependencies.

Please consider using English locales next time if you intend to use the output in a bug report (unless the bug in question is locale-specific).

Comment 3 Vít Ondruch 2014-07-28 11:49:06 UTC
This is of course output of mock, you can achieve the same if you use yum with --installroot parameter. In such case, you don't have yum installed, while you want to install libcurl.

Comment 4 Vít Ondruch 2014-07-28 11:52:59 UTC
(In reply to Paul Howarth from comment #1)
> curl isn't going to stop depending on nss, so if you want it to stop pulling
> in systemd as a dependency, that link needs to be broken further down the
> chain, maybe at nss-sysinit -> coreutils or util-linux -> systemd.
> 
> Not curl's issue anyway. Please reassign.

Thanks. Re-assigning to nss then. Will see what they can do about.

Comment 5 Vít Ondruch 2014-07-28 12:19:44 UTC
Actually, I am closing this branch, since util-linux depends on systemd-libs, which is already in minimal build root. I'll focus on the rsync branch and the systemd package. Sorry for the noise.

Comment 6 Kamil Dudka 2014-07-28 12:38:31 UTC
mock --init already installs libcurl.