Dne 26.8.2014 14:55, Vít Ondruch napsal(a): > Dne 26.8.2014 14:23, Lennart Poettering napsal(a): >> On Tue, 26.08.14 14:18, Vít Ondruch (vondruch@xxxxxxxxxx) 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/a/apr-1.5.1-3.fc22.i686.rpm: > [Errno 14] HTTP Error 404 - Not Found > Trying other mirror. > http://less.cogeco.net/fedora/linux/development/rawhide/i386/os/Packages/s/subversion-libs-1.8.10-2.fc22.i686.rpm: > [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 -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct