From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.77) (envelope-from ) id 1Sp2aZ-0000a2-PS for garchives@archives.gentoo.org; Wed, 11 Jul 2012 19:28:44 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CC457E077A; Wed, 11 Jul 2012 19:28:28 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 2363FE0466 for ; Wed, 11 Jul 2012 19:27:45 +0000 (UTC) Received: from mail-we0-f181.google.com (mail-we0-f181.google.com [74.125.82.181]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: floppym) by smtp.gentoo.org (Postfix) with ESMTPSA id 59C561B402F for ; Wed, 11 Jul 2012 19:27:44 +0000 (UTC) Received: by weyt57 with SMTP id t57so1105307wey.40 for ; Wed, 11 Jul 2012 12:27:41 -0700 (PDT) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Received: by 10.180.94.234 with SMTP id df10mr6387837wib.16.1342034861974; Wed, 11 Jul 2012 12:27:41 -0700 (PDT) Received: by 10.223.3.142 with HTTP; Wed, 11 Jul 2012 12:27:41 -0700 (PDT) In-Reply-To: <4FFDC54A.7010505@gentoo.org> References: <20120710171800.493a7c4c@pomiocik.lan> <4FFC813B.7090501@gentoo.org> <20120711160946.2cb6fe64@pomiocik.lan> <4FFDC54A.7010505@gentoo.org> Date: Wed, 11 Jul 2012 15:27:41 -0400 Message-ID: Subject: Re: [gentoo-dev] RFC: virtual/libudev From: Mike Gilbert To: gentoo-dev@lists.gentoo.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 561e479c-19d2-42b6-9b2a-36e013ca622e X-Archives-Hash: c9fc4dd0ce781ef17870f4bb647d65fb On Wed, Jul 11, 2012 at 2:26 PM, Thomas Sachau wrote: > Micha=C5=82 G=C3=B3rny schrieb: >> On Tue, 10 Jul 2012 21:23:39 +0200 >> Thomas Sachau wrote: >> >>> Micha=C5=82 G=C3=B3rny schrieb: >>>> Hello, all. >>>> >>>> Since nowadays udev is bundled within systemd, we start having two >>>> libudev providers: >=3Dsys-apps/systemd-185 and sys-fs/udev. Making >>>> the long story short, I would like to introduce a virtual for >>>> libudev which would pull in either of those two. >>>> >>>> There are three USE flags used in conditionals when depending on >>>> udev: >>>> - gudev - for glib wrapper on udev, >>>> - hwdb - to pull in hwids, >>>> - static-libs. >>>> >>>> The former two were previously provided by 'extras' USE flag, >>>> and the third was unconditional. >>>> >>>> I'm attaching an example virtual/libudev which does the job. Sadly, >>>> because of the 'extras' compatibility it's a big ugly conditional. >>>> >>>> An alternative would be to provide separate virtual/libudev >>>> and virtual/libgudev; and maybe changing ebuilds not to depend on >>>> [hwids] but rather pull in sys-apps/hwids directly (since that's >>>> what the flag does). >>>> >>>> What are you thoughts? >>> >>> As discussed on IRC, there is still no consensus for installing the >>> udev files with systemd, which is the beginning for the block and the >>> virtual. So we should first sort that point out, before we even start >>> to think about an ebuild for an udev virtual. >> >> Do you have a technical or policy reason prohibiting me from maintaining >> a systemd ebuild following the upstream policies? > > How about this simple one: The udev ebuild does already install udev, so > why should we have another package also installing the same thing, > resulting in a blocker, the need to switch from one package to another > and the need for package maintainers to switch their dependencies? Just to put a number to this, there are currently 126 packages in the tree with a dependency on sys-fs/udev. > Since William already said, that he will move the udev installation to > /usr/lib, i dont see any technical reason left to not simply depend on > the udev ebuild. > And if you fear issues about not knowing which parts to install, then > just check the files installed by the udev ebuild, remove them from your > systemd ebuild and you are done. This means that systemd users end up building the udev components twice, and throwing away the second copy. You don't seem to care about this, but I think it is a valid concern. I am guessing that systemd is or will become very sensitive to any change in udev's API, so each systemd version would have to depend exactly on the corresponding udev version. This means that a systemd version bump could be stuck waiting on the corresponding udev version. I also wonder if incompatibilities may be introduced by passing different build options in the udev and systemd ebuilds due to having different use flags enabled, for example. This can be worked around with use-deps of course, but it is yet another pain point for the systemd maintainer. If there were a way to tell the systemd build system to build against the "system udev", that might avoid the issue, but I doubt systemd upstream would implement such a thing. Personally, I think a consolidated systemd/udev package is the best way to go here. Short of that, the virtual + blockers seems like an acceptable solution.