Re: [systemd-devel] Minimal builds

2012-06-21 Thread Bryan Kadzban
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

2012-06-21 Thread Lennart Poettering
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

2012-06-21 Thread Malte Starostik
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

2012-06-21 Thread Robert Schwebel
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

2012-06-21 Thread William Hubbs
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

2012-06-21 Thread Colin Guthrie
'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

2012-06-20 Thread William Hubbs
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

2012-06-20 Thread Kok, Auke-jan H
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

2012-06-20 Thread Tollef Fog Heen
]] 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