Re: [systemd-devel] Minimal builds
Bryan Kadzban wrote: On Wed, Jun 20, 2012 at 06:22:49PM +0200, Lennart Poettering wrote: Heya, regarding the whole discussion on minimal builds and people wanting to pick specific parts of the systemd build leaving out others, beyond what the configure switches offer: Here are some guidelines how we recommend people to do this: http://freedesktop.org/wiki/Software/systemd/MinimalBuilds From our side this should be enough to settle the discussion. Would an extremely minimal patch (just to configure.ac, not touching any of the pkg-config dependencies, but only intltool, libcap, and gperf), allowing them to be made optional, be acceptable to systemd? Note that the patch would not need to create a new configure switch, either; it could just as easily trigger off some environment variable, if there's a worry that its presence in the ./configure --help output could cause people to use it without understanding what it does, and break their systemd build. (Same as DBUS_CFLAGS / DBUS_LIBS overriding pkg-config today, actually. Something like SYSTEMD_ONLY_DEPS_OPTIONAL, or whatever; the name isn't exactly critical I don't think.) I have sent a patch adding a libcap.pc file to the libcap installation, to morgan@ -- not sure what will happen there, but that will help a bit if it gets in. But thinking more along those lines, I should consider changing intltool's m4 script to allow it to be found via pkg-config, as well, and changing gperf to install a .pc file like the patch to libcap. Then nothing would need to be changed in systemd at all, except using PKG_CHECK_EXISTS for these deps instead of AC_CHECK_TOOL and an AC_MSG_ERROR. (And nothing should be required for intltool; the existing IT_PROG_INTLTOOL should keep working.) ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Minimal builds
On Wed, 20.06.12 15:56, William Hubbs (w.d.hu...@gmail.com) wrote: On Wed, Jun 20, 2012 at 06:22:49PM +0200, Lennart Poettering wrote: Heya, regarding the whole discussion on minimal builds and people wanting to pick specific parts of the systemd build leaving out others, beyond what the configure switches offer: Here are some guidelines how we recommend people to do this: http://freedesktop.org/wiki/Software/systemd/MinimalBuilds From our side this should be enough to settle the discussion. It isn't for us, because, for example, if I use option 1, I have to do the opposite of the second half of it. Our pm installs everything in the place pointed to by DESTDIR, then I have to manually remove the things I don't need. As was pointed out in a thread earlier, this is very error-prone and definitely could lead to issues. Hmm? This really appears to be a broken package manager. Sorry, but I am not going to work around the limitations of downstream package managers in upstream packages if everybody else gets this right. Another thing to think about from our side is, although the main components compile quickly on a pc, how long would it take to compile everything on an ARM-based machine for example? I have no idea, so it could end up being really annoying to users of that platform for us to compile all of the main components and turn around and remove most of them. We don't optimize for build time performance, we optimize for runtime performance. Source based distributions made the deliberate choice to rebuild everything all the time. They made that choice and they need to accept to pay the price for it: things are slower than when they just did rpm -i on a binary package... Lennart -- Lennart Poettering - Red Hat, Inc. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Minimal builds
Am Donnerstag, 21. Juni 2012, 11:48:29 schrieb Lennart Poettering: On Wed, 20.06.12 15:56, William Hubbs (w.d.hu...@gmail.com) wrote: It isn't for us, because, for example, if I use option 1, I have to do the opposite of the second half of it. Our pm installs everything in the place pointed to by DESTDIR, then I have to manually remove the things I don't need. As was pointed out in a thread earlier, this is very error-prone and definitely could lead to issues. Hmm? This really appears to be a broken package manager. Sorry, but I am not going to work around the limitations of downstream package managers in upstream packages if everybody else gets this right. Oh well, just because the cherry picking happens by negating the list of what you want and then deleting everything else doesn't really make this broken, does it? In fact it optimises for the usual case where you want to include everything you get from make install. I see how the needs of non-BLOB distros/users might not be your top priority and personally I'd definately rather push migration to systemd than investing too much in a split build. Still it seems totally broken that you have to order a five course meal then trash all but the soup just because the menu contains no standalone soup. Oh right, but you fully support eating just the soup. Well, maybe those who need a udev-only build could instead coordinate their efforts so there only needs to be one set of patches/*.pc hacks/cherry picking scripts. Maybe the systemd maintainers could accept such a thing for a contrib/ subdir? It's sad how this kind of debate drains so much time and energy from both up- and downstream, Malte ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Minimal builds
On Thu, Jun 21, 2012 at 09:49:37AM +0800, microcai wrote: If you don't want to use systemd, then don't use udev, use some thing else old too. That is no argumentation. most ARM-based machine actually don't use udev, they use busybox. Not true. rsc -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Minimal builds
On Thu, Jun 21, 2012 at 12:50:14PM +0200, Malte Starostik wrote: Am Donnerstag, 21. Juni 2012, 11:48:29 schrieb Lennart Poettering: On Wed, 20.06.12 15:56, William Hubbs (w.d.hu...@gmail.com) wrote: It isn't for us, because, for example, if I use option 1, I have to do the opposite of the second half of it. Our pm installs everything in the place pointed to by DESTDIR, then I have to manually remove the things I don't need. As was pointed out in a thread earlier, this is very error-prone and definitely could lead to issues. Hmm? This really appears to be a broken package manager. Sorry, but I am not going to work around the limitations of downstream package managers in upstream packages if everybody else gets this right. Oh well, just because the cherry picking happens by negating the list of what you want and then deleting everything else doesn't really make this broken, does it? In fact it optimises for the usual case where you want to include everything you get from make install. That's correct. Our pm isn't broken. Basically we do make DESTDIR=/some/staging/tree install Then we can process the image in /some/staging/tree before it is actually installed to the live fs. Everyone else gets this right because you don't normally have to go into the image and trash most of it to get what you need. I see how the needs of non-BLOB distros/users might not be your top priority and personally I'd definately rather push migration to systemd than investing too much in a split build. Still it seems totally broken that you have to order a five course meal then trash all but the soup just because the menu contains no standalone soup. Oh right, but you fully support eating just the soup. Great analogy. I understand that binary package maintainers can do this very easily, but it doesn't work that way on a source based distro. What we are being asked to do is very inefficient imo, and it isn't because of our package manager. WRT migrating to systemd: I am just a package maintainer. I am not in a position where I can tell our distro that we must do that, and knowing what I know about our distro, I'm pretty sure that migrating to systemd isn't going to happen at this point. Well, maybe those who need a udev-only build could instead coordinate their efforts so there only needs to be one set of patches/*.pc hacks/cherry picking scripts. Maybe the systemd maintainers could accept such a thing for a contrib/ subdir? Something needs to be done, because there are clearly people across multiple distros who need a udev only build for whatever reason. William pgpaf5tqticmG.pgp Description: PGP signature ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Minimal builds
'Twas brillig, and William Hubbs at 21/06/12 16:14 did gyre and gimble: Well, maybe those who need a udev-only build could instead coordinate their efforts so there only needs to be one set of patches/*.pc hacks/cherry picking scripts. Maybe the systemd maintainers could accept such a thing for a contrib/ subdir? Something needs to be done, because there are clearly people across multiple distros who need a udev only build for whatever reason. While I myself have no particular interesting a split build (other than general curiosity) I can see the arguments from both sides quite clearly. I think the above suggestion is the right one. Ultimately Lennart is being quite honest in saying they he will likely break the split build intentionally if the patches were merged simply because the upstream folks would not be testing this kind of thing regularly. I suspect people would be almost as annoyed at this occurring as they would be with no split build support at all and it wouldn't really be a positive reflection of the project as a whole either. So I very much understand this need. If no pkg-config based solution works (which I hope it will in the medium term) then as Lennart said in his original replies, I think it would be correct and sensible if someone stepped up to maintain a light fork of the systemd repo that contained the necessary build changes. This would not restrict upstream guys from making releases as and when they need and would act as a sensible central point for those that need the capabilities to get their alternative tarballs or patches from. I'm sure there would be no problem editing the wiki to point at this place. If you are regularly updating to the latest udev then it likely doesn't take too much time to update this repository and spin new patchsets/tarballs if you so wish. Perhaps, when a full pkg-config support solution is available, then these dummy pkg-config files can be shipped in a contrib folder in the upstream distro for convenience at which point this fork would no longer be necessary (and depending on timescales this might happen before any fork anyway!) So fingers crossed for a positive outcome :) Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited http://www.tribalogic.net/ Open Source: Mageia Contributor http://www.mageia.org/ PulseAudio Hacker http://www.pulseaudio.org/ Trac Hacker http://trac.edgewall.org/ ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Minimal builds
On Wed, Jun 20, 2012 at 06:22:49PM +0200, Lennart Poettering wrote: Heya, regarding the whole discussion on minimal builds and people wanting to pick specific parts of the systemd build leaving out others, beyond what the configure switches offer: Here are some guidelines how we recommend people to do this: http://freedesktop.org/wiki/Software/systemd/MinimalBuilds From our side this should be enough to settle the discussion. It isn't for us, because, for example, if I use option 1, I have to do the opposite of the second half of it. Our pm installs everything in the place pointed to by DESTDIR, then I have to manually remove the things I don't need. As was pointed out in a thread earlier, this is very error-prone and definitely could lead to issues. Another thing to think about from our side is, although the main components compile quickly on a pc, how long would it take to compile everything on an ARM-based machine for example? I have no idea, so it could end up being really annoying to users of that platform for us to compile all of the main components and turn around and remove most of them. Thanks for your consideration, William pgpiH93qgo8ee.pgp Description: PGP signature ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Minimal builds
On Thu, Jun 21, 2012 at 1:49 AM, microcai micro...@fedoraproject.org wrote: 2012/6/21 William Hubbs w.d.hu...@gmail.com On Wed, Jun 20, 2012 at 06:22:49PM +0200, Lennart Poettering wrote: regarding the whole discussion on minimal builds and people wanting to pick specific parts of the systemd build leaving out others, beyond what the configure switches offer: Here are some guidelines how we recommend people to do this: http://freedesktop.org/wiki/Software/systemd/MinimalBuilds From our side this should be enough to settle the discussion. It isn't for us, because, for example, if I use option 1, I have to do the opposite of the second half of it. Our pm installs everything in the place pointed to by DESTDIR, then I have to manually remove the things I don't need. As was pointed out in a thread earlier, this is very error-prone and definitely could lead to issues. Another thing to think about from our side is, although the main components compile quickly on a pc, how long would it take to compile everything on an ARM-based machine for example? I have no idea, so it could end up being really annoying to users of that platform for us to compile all of the main components and turn around and remove most of them. If you don't want to use systemd, then don't use udev, use some thing else old too. most ARM-based machine actually don't use udev, they use busybox. Or an old udev that don't require an recent kernel. If you are stupid enough to use udev, then you probably will use systemd. :) So, don't use the ARM use-case. I think the only reason is you want to support sysvinit. Oh, please, if you're still using sysvinit, then don't use recent udev. sysvinit is old, there is no reason to have a new udev with it. Use old udev too. I really don't think this is helping the discussion at all. There are far better considerations to make, and udev on embedded makes a lot of sense (there is nothing better out there anyway). There is definately good reason for folks to use the new udev (in the long run). Instead, you could have pointed out that one should probably cross-compile from a build-farm for ARM instead - compiling a source distro on an ARM system isn't the most pleasant thing out there. Cheers, Auke ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Minimal builds
]] William Hubbs Another thing to think about from our side is, although the main components compile quickly on a pc, how long would it take to compile everything on an ARM-based machine for example? I have no idea, so it could end up being really annoying to users of that platform for us to compile all of the main components and turn around and remove most of them. The v44-2 Debian package built in 31 minutes on armel and armhf, compared to 11 minutes for powerpc and 5 minutes for s390x or 14 minutes for ia64. udev by itself (v175-3.1) seems to be around half that. -- Tollef Fog Heen UNIX is user friendly, it's just picky about who its friends are ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel