From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1KxRLX-0004Wg-IJ for mharc-grub-devel@gnu.org; Tue, 04 Nov 2008 14:13:47 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KxRLV-0004WA-SO for grub-devel@gnu.org; Tue, 04 Nov 2008 14:13:45 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KxRLU-0004VW-B7 for grub-devel@gnu.org; Tue, 04 Nov 2008 14:13:45 -0500 Received: from [199.232.76.173] (port=51020 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KxRLU-0004VP-6G for grub-devel@gnu.org; Tue, 04 Nov 2008 14:13:44 -0500 Received: from mta-out.inet.fi ([195.156.147.13]:54171 helo=jenni1.inet.fi) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KxRLU-00087P-Aw for grub-devel@gnu.org; Tue, 04 Nov 2008 14:13:44 -0500 Received: from [127.0.0.1] (84.248.105.254) by jenni1.inet.fi (8.5.014) id 48FC59C700CD32FD for grub-devel@gnu.org; Tue, 4 Nov 2008 21:13:43 +0200 Message-ID: <49109EE7.6050406@nic.fi> Date: Tue, 04 Nov 2008 21:13:43 +0200 From: =?UTF-8?B?VmVzYSBKw6TDpHNrZWzDpGluZW4=?= User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: The development of GRUB 2 References: <20081101123229.GA14438@thorin> <20081101190204.GB4639@thorin> <49109AB8.4010509@nic.fi> <20081104190751.GA25519@thorin> In-Reply-To: <20081104190751.GA25519@thorin> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: Quoted-Printable X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Subject: Re: [PATCH] framework for building modules externally X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Nov 2008 19:13:46 -0000 Robert Millan wrote: > On Tue, Nov 04, 2008 at 08:55:52PM +0200, Vesa J=C3=A4=C3=A4skel=C3=A4i= nen wrote: >> Robert Millan wrote: >>> On Sat, Nov 01, 2008 at 01:32:29PM +0100, Robert Millan wrote: >>>> Hi, >>>> >>>> Attached patch makes it possible to build modules externally, by: >>>> >>>> - Installing headers in system include dir. >>>> >>>> - Exporting two ABI tags (a build-time macro and a run-time variab= le) >>>> for run-time comparison. >>>> >>>> - Exporting a makefile with COMMON_*FLAGS variables. >>> Looks like I missed some important details. The headers and some mac= ros are >>> not enough, as we need to reproduce part of the build system to build= a module >>> externally. This new patch provides the following: >> Interesting idea. However how do you define GRUB ABI :) ? What is it, >> kernel, certain set of modules, or how :) ? >=20 > Anything that can possibly break an external module. I.e. any interfac= e > exported by either the kernel or any of the modules. >=20 > (I expect we'd bump this number a lot) Did you have some plan how to automate this ABI versioning :) ? If it is not automated I can almost guarantee that we get it wrong at one point of time :) >> Versioning of the modules would be a good idea indeed to make sure >> mismatched modules are not tried together. >=20 > This should never happen if user always runs grub-install (which he sho= uld > do anyway unless he's looking for trouble). My idea for external modul= es is > that a separate package can put them in $pkglibdir and then grub-instal= l will > automaticaly include them the next time it's called. How do you treat differences in ABI ? Dis-allow loading of module with different value of ABI ? Or were you planning that module itself adapts to different versions of GRUB 2 ABI's?