Bug 1121646 - Reduce dependencies
Summary: Reduce dependencies
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: git
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Chris Wright
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1123813 1123814
TreeView+ depends on / blocked
 
Reported: 2014-07-21 13:14 UTC by Vít Ondruch
Modified: 2014-08-13 13:51 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1123813 1123814 (view as bug list)
Environment:
Last Closed: 2014-08-13 13:50:56 UTC


Attachments (Terms of Use)

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


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