Bug 1121646

Summary: Reduce dependencies
Product: [Fedora] Fedora Reporter: Vít Ondruch <vondruch>
Component: gitAssignee: Chris Wright <chrisw>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: chrisw, jbowes, ooprala, 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:
: 1123813 1123814 (view as bug list) Environment:
Last Closed: 2014-08-13 13:50:56 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:    
Bug Blocks: 1123813, 1123814    

Description Vít Ondruch 2014-07-21 13:14:10 UTC
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:

Comment 1 Ondrej Oprala 2014-07-21 13:39:43 UTC
Git requires rsync, which seems to pull in systemd as well :/

Comment 2 Vít Ondruch 2014-07-21 14:00:15 UTC
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.

Comment 3 Ondrej Oprala 2014-07-22 12:28:19 UTC
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 4 Vít Ondruch 2014-07-28 10:25:23 UTC
I cloned the bug for both rsync as well as curl. Lets see what their maintainers will do about it.

Comment 5 Vít Ondruch 2014-07-28 12:21:10 UTC
Ok, so the curl branch is dead end, since it depends just on systemd-libs, which is already in minimal buildroot. I was more concerned about the additional systemd package which gets pulled in.

Comment 6 Vít Ondruch 2014-07-28 12:32:20 UTC
(In reply to Ondrej Oprala from comment #3)
> 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.

May be. They might be extracted into subpacakge, installed just by people who needs them. Not sure if systemd-libs should not be enough anyway ...

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

Actually, this path would pull in just systemd-libs, which is already available in minimal BR. So this was misleading trace.

Comment 7 Ondrej Oprala 2014-07-28 12:35:04 UTC
(In reply to Vít Ondruch from comment #6)
> (In reply to Ondrej Oprala from comment #3)
> > Removing systemd as a dependency of util-linux however, would be a bit more
> > difficult.
> 
> Actually, this path would pull in just systemd-libs, which is already
> available in minimal BR. So this was misleading trace.

Yep, that's my fault. Sorry about that.

I'm quite interested in the rsync BZ, since the only way I see where they could drop systemd is by splitting rsync into rsync and rsync-daemon. But still, I might be mistaken.

Comment 8 Vít Ondruch 2014-08-13 13:50:56 UTC
This seems to be resolved by bug 1123813. Thanks for your time and investigation.

Comment 9 Vít Ondruch 2014-08-13 13:51:51 UTC
Just for the record, this is the current state:


Installed:
  git.x86_64 0:2.0.4-1.fc22                                                     

Dependency Installed:
  dbus-libs.x86_64 1:1.8.6-2.fc22                                               
  fipscheck.x86_64 0:1.4.1-6.fc22                                               
  fipscheck-lib.x86_64 0:1.4.1-6.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-3.fc22                                       
  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.4-1.fc22                                                
  perl-TermReadKey.x86_64 0:2.32-2.fc21                                         
  rsync.x86_64 0:3.1.1-3.fc22