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.60) (envelope-from ) id 1MhiHn-0008UJ-7U for garchives@archives.gentoo.org; Sun, 30 Aug 2009 11:09:27 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D2456E08D9; Sun, 30 Aug 2009 16:18:24 +0000 (UTC) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by pigeon.gentoo.org (Postfix) with ESMTP id BB6A6E08D9 for ; Sun, 30 Aug 2009 16:18:24 +0000 (UTC) Received: from compute1.internal (compute1.internal [10.202.2.41]) by gateway1.messagingengine.com (Postfix) with ESMTP id 62595577BC for ; Sun, 30 Aug 2009 12:18:24 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Sun, 30 Aug 2009 12:18:24 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=messagingengine.com; h=message-id:date:from:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; s=smtpout; bh=ZB0fKAWeiTOw1SFPTdnoJdxTwoQ=; b=bBG8MoyP2zkWhHADR55C30Zye5NUrOEVfYZlAoDkdBxjvObyLkRiw/vUt0OoRF/ZfOOa3fRPTzH7+wBdHU+VcAEC1OVq6D7I4ZQpQyTMv+bR8gKaF0ScZ782q3AA6nfNMfbC/dhy55twORFWSCia4jYbU0IbQIqWjzXArz34tN4= X-Sasl-enc: yoeCEtbUoanYp83+fVkTAdZ9v03e1to6IglYuXHDL9O5 1251649103 Received: from [192.168.188.1] (82-71-33-97.dsl.in-addr.zen.co.uk [82.71.33.97]) by mail.messagingengine.com (Postfix) with ESMTPSA id CAF9C6286C for ; Sun, 30 Aug 2009 12:18:23 -0400 (EDT) Message-ID: <4A9AA64E.6020401@gentoo.org> Date: Sun, 30 Aug 2009 17:18:22 +0100 From: Mike Auty User-Agent: Thunderbird 2.0.0.22 (X11/20090822) 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 To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] About udev-145: new features / extras and kernel requirements References: <200908301611.53087.zzam@gentoo.org> <8b4c83ad0908300746s345728ekdff7fd710bda566a@mail.gmail.com> <20090830154520.GA32569@linux1> In-Reply-To: <20090830154520.GA32569@linux1> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: ea82c0fe-54f3-432d-8dd2-8a32d23294ff X-Archives-Hash: f28f4fcd95472ecd8c49b466060c34d1 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 William Hubbs wrote: > I agree here. The eclass should check /proc/config.gz. > Also, another reason to use the eclass is it respects KBUILD_OUTPUT if > it is set. - From the indenting I can't tell if you wrote this or not, however, we need to differentiate between running and build time environments. Ebuilding is a build-time process. That means the running kernel isn't important, since we're not running udev, we're just building it. When the machine is next rebooted, we could be using a completely different kernel (or even one that hasn't been installed yet). We should only care about the build-time kernel when we're building, which the user has to specify (which they do implicitly by using /usr/src/linux, or explicitly by using KBUILD_OUTPUT or another environment variable). If you go by the running kernel, then you're requiring people to reboot their computers before they can build software for a kernel they're about to run. That simply ensures downtime on a potentially critical service, and moreover it's an unnecessary constraint. The existing udev can continue running until the machine is rebooted without a problem. When the machine restarts *any* kernel could be chosen, and build time checks won't help prevent a bad kernel from being booted. That's why the linux-info.eclass does the checks it currently does, and *doesn't* check /proc/config.gz and *doesn't* check /$(uname -r)/ directories... So in summary: * Check the running kernel if you're about to run. * Check the kernel the user's chosen to build against if you're about to build, using linux-info. If the ebuild restarts the service (causing a reread off disk, rather than just a reread of the rules) then fine, use the check to disable the restart, and/or warn the user, but don't stop the user from building the software. You can also put a check in the init.d, but it just creates the possibility that the check is wrong when udev could potentially still run. I'd simply try running udev and check if it exits or errors as expected. Only if it doesn't exit or error when it should would I add checks to the initscript, and even then I'd suggest fixing the code to error correctly, over adding our own checks in... Mike 5:) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkqapk4ACgkQu7rWomwgFXqDbACgtYdXtmlgo6JA49o9on111XPE Y/QAnROtzEhAUg0ML9J+nd6rTvKfZeFz =pbOj -----END PGP SIGNATURE-----