Dne 26.8.2014 14:23, Lennart Poettering napsal(a):
> On Tue, 26.08.14 14:18, Vít Ondruch (vondruch(a)redhat.com) wrote:
>
>>>> Recently I have noticed that systemd package dependency is creeping into
>>>> some packages where it is not necessary. subversion [1] or rsync [2] are
>>>> good examples. Please consider moving daemon parts into independent
>>>> subpackages. When I install rsync/subversion, I am typically interested
>>>> just in client side.
>>>>
>>>> Just to be clear, systemd-libs is in minimal build root already, so I am
>>>> not complaining about systemd-libs package, but about systemd package.
>>> What's the rationale here? I mean, we have so many dependencies, if you
>>> want to minimize them, you have a loooong way to go...
>> Someone has to start somewhere. It is annoying to install several
>> packages, when you expect that only one should be installed. And by
>> coincidence, I met several of systemd dependencies during short period
>> of time.
> What I am not getting: what's the point? I mean, systemd is not exactly
> an optional package in Fedora.
>
> You are asking people to split their packages in two, but what's the
> real reason for that? If the systemd package isn't optional anyway, why
> is this the dep you start with and asking people to complicate things
> for?
>
> Lennart
>
Isn't it optional? I am using mock and can build probably every ruby
package without *systemd* package installed into the build root (I am
not speaking about *systemd-libs*). But once I install one of man,
subversion or rsync packages, systemd is suddenly pulled in, why? Why it
should be?
You can try session like this yourself:
$ mock -r fedora-rawhide-i386 --init
INFO: mock.py version 1.1.41 starting...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: lock buildroot
Start: clean chroot
INFO: chroot (/var/lib/mock/fedora-rawhide-i386) unlocked and deleted
Finish: clean chroot
Finish: lock buildroot
Start: chroot init
Start: lock buildroot
Mock Version: 1.1.41
INFO: Mock Version: 1.1.41
INFO: calling preinit hooks
INFO: enabled root cache
Start: unpacking root cache
Finish: unpacking root cache
INFO: enabled yum cache
Start: cleaning yum metadata
Finish: cleaning yum metadata
INFO: enabled ccache
Start: device setup
Finish: device setup
Start: yum update
Finish: yum update
Finish: lock buildroot
Finish: chroot init
INFO: Installed packages:
Finish: run
$ mock -r fedora-rawhide-i386 shell
INFO: mock.py version 1.1.41 starting...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: lock buildroot
Start: device setup
Finish: device setup
Start: shell
<mock-chroot>[root@unused-4-226 /]# svn --help
bash: svn: command not found
<mock-chroot>[root@unused-4-226 /]# # Ah, no subversion
<mock-chroot>[root@unused-4-226 /]# logout
Finish: shell
Finish: lock buildroot
$ mock -r fedora-rawhide-i386 --install subversion
INFO: mock.py version 1.1.41 starting...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Mock Version: 1.1.41
INFO: Mock Version: 1.1.41
Start: lock buildroot
INFO: installing package(s): subversion
INFO:
================================================================================
Package Arch Version
Repository Size
================================================================================
Installing:
subversion i686 1.8.10-2.fc22
fedora 1.2 M
Installing for dependencies:
acl i686 2.2.52-7.fc22
fedora 76 k
apr i686 1.5.1-3.fc22
fedora 118 k
apr-util i686 1.5.3-3.fc22
fedora 98 k
cryptsetup-libs i686 1.6.6-1.fc22
fedora 188 k
dbus i686 1:1.8.6-3.fc22
fedora 332 k
dbus-libs i686 1:1.8.6-3.fc22
fedora 169 k
device-mapper i686 1.02.88-2.fc22
fedora 221 k
device-mapper-libs i686 1.02.88-2.fc22
fedora 276 k
fipscheck i686 1.4.1-7.fc22
fedora 25 k
fipscheck-lib i686 1.4.1-7.fc22
fedora 15 k
kmod i686 18-3.fc22
fedora 112 k
kmod-libs i686 18-3.fc22
fedora 62 k
libseccomp i686 2.1.1-5.fc22
fedora 44 k
libserf i686 1.3.7-2.fc22
fedora 58 k
python i686 2.7.8-6.fc22
fedora 91 k
qrencode-libs i686 3.4.2-4.fc22
fedora 56 k
subversion-libs i686 1.8.10-2.fc22
fedora 1.1 M
systemd i686 216-2.fc22
fedora 4.9 M
Transaction Summary
================================================================================
Install 1 Package (+18 Dependent packages)
Total size: 9.1 M
Total download size: 2.6 M
Installed size: 33 M
http://less.cogeco.net/fedora/linux/development/rawhide/i386/os/Packages/...:
[Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
http://less.cogeco.net/fedora/linux/development/rawhide/i386/os/Packages/...:
[Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
Installed:
subversion.i686
0:1.8.10-2.fc22
Dependency Installed:
acl.i686 0:2.2.52-7.fc22 apr.i686
0:1.5.1-3.fc22
apr-util.i686 0:1.5.3-3.fc22 cryptsetup-libs.i686
0:1.6.6-1.fc22
dbus.i686 1:1.8.6-3.fc22 dbus-libs.i686
1:1.8.6-3.fc22
device-mapper.i686 0:1.02.88-2.fc22 device-mapper-libs.i686
0:1.02.88-2.fc22
fipscheck.i686 0:1.4.1-7.fc22 fipscheck-lib.i686
0:1.4.1-7.fc22
kmod.i686 0:18-3.fc22 kmod-libs.i686
0:18-3.fc22
libseccomp.i686 0:2.1.1-5.fc22 libserf.i686
0:1.3.7-2.fc22
python.i686 0:2.7.8-6.fc22 qrencode-libs.i686
0:3.4.2-4.fc22
subversion-libs.i686 0:1.8.10-2.fc22 systemd.i686
0:216-2.fc22
Finish: lock buildroot
Finish: run
I would expect that I'll install subversion, may be some other small
library, but I don't expect to install 33 MB of stuff in 18 packages.
Vít
This is what could be probably saved, if systemd is not installed:
$ mock -r fedora-rawhide-i386 --install systemd
INFO: mock.py version 1.1.41 starting...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Mock Version: 1.1.41
INFO: Mock Version: 1.1.41
Start: lock buildroot
INFO: installing package(s): systemd
INFO:
================================================================================
Package Arch Version
Repository Size
================================================================================
Installing:
systemd i686 216-2.fc22
fedora 4.9 M
Installing for dependencies:
acl i686 2.2.52-7.fc22
fedora 76 k
cryptsetup-libs i686 1.6.6-1.fc22
fedora 188 k
dbus i686 1:1.8.6-3.fc22
fedora 332 k
dbus-libs i686 1:1.8.6-3.fc22
fedora 169 k
device-mapper i686 1.02.88-2.fc22
fedora 221 k
device-mapper-libs i686 1.02.88-2.fc22
fedora 276 k
fipscheck i686 1.4.1-7.fc22
fedora 25 k
fipscheck-lib i686 1.4.1-7.fc22
fedora 15 k
kmod i686 18-3.fc22
fedora 112 k
kmod-libs i686 18-3.fc22
fedora 62 k
libseccomp i686 2.1.1-5.fc22
fedora 44 k
qrencode-libs i686 3.4.2-4.fc22
fedora 56 k
Transaction Summary
================================================================================
Install 1 Package (+12 Dependent packages)
Total size: 6.5 M
Installed size: 24 M
Installed:
systemd.i686
0:216-2.fc22
Dependency Installed:
acl.i686 0:2.2.52-7.fc22 cryptsetup-libs.i686
0:1.6.6-1.fc22
dbus.i686 1:1.8.6-3.fc22 dbus-libs.i686
1:1.8.6-3.fc22
device-mapper.i686 0:1.02.88-2.fc22 device-mapper-libs.i686
0:1.02.88-2.fc22
fipscheck.i686 0:1.4.1-7.fc22 fipscheck-lib.i686
0:1.4.1-7.fc22
kmod.i686 0:18-3.fc22 kmod-libs.i686
0:18-3.fc22
libseccomp.i686 0:2.1.1-5.fc22 qrencode-libs.i686
0:3.4.2-4.fc22
Finish: lock buildroot
Finish: run
I hope you can do the diff yourself.
Vít