From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dmitri Anikin" Subject: Custom kernel Date: Thu, 01 Dec 2016 12:34:32 +0000 Message-ID: <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="--=_RainLoop_356_196734619.1480595672" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35770) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cCRWR-0001jN-Dd for help-guix@gnu.org; Thu, 01 Dec 2016 08:35:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cCRWL-0000r3-Ow for help-guix@gnu.org; Thu, 01 Dec 2016 08:35:35 -0500 Received: from mail.teknik.io ([50.247.95.113]:55567) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cCRWL-0000pP-Dh for help-guix@gnu.org; Thu, 01 Dec 2016 08:35:29 -0500 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org ----=_RainLoop_356_196734619.1480595672 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello,=0A=0AIs it possible to pass custom patches and kernel config file = to be used for linux-libre package? ----=_RainLoop_356_196734619.1480595672 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable
Hello,

Is it possible to pass custom patches and k= ernel config file to be used for linux-libre package?

<= /signature>
----=_RainLoop_356_196734619.1480595672-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Custom kernel Date: Fri, 02 Dec 2016 15:50:20 +0100 Message-ID: <87d1hafkr7.fsf@gnu.org> References: <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37362) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cCpAT-0001AL-AB for help-guix@gnu.org; Fri, 02 Dec 2016 09:50:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cCpAS-0000j4-Fy for help-guix@gnu.org; Fri, 02 Dec 2016 09:50:29 -0500 In-Reply-To: <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> (Dmitri Anikin's message of "Thu, 01 Dec 2016 12:34:32 +0000") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Dmitri Anikin Cc: help-guix@gnu.org Hello Dmitri, "Dmitri Anikin" skribis: > Is it possible to pass custom patches and kernel config file to be used f= or linux-libre package? It is possible, yes. If you look at (gnu packages linux), you=E2=80=99ll find this: (define* (kernel-config arch #:key variant) "Return the absolute file name of the Linux-Libre build configuration f= ile for ARCH and optionally VARIANT, or #f if there is no such configuration." =E2=80=A6) (define* (make-linux-libre version hash supported-systems #:key ;; A function that takes an arch and a variant. ;; See kernel-config for an example. (extra-version #f) (configuration-file #f) (defconfig "defconfig") (extra-options %default-extra-linux-options) (patches (list %boot-logo-patch))) (package =E2=80=A6)) and later: (define-public linux-libre (make-linux-libre "4.8.11" "04h3n3lw563i4yhxfkxrrwjvafd3af730l1ih9kqv7qwkm0psy7r" %intel-compatible-systems #:configuration-file kernel-config)) Currently =E2=80=98make-linux-libre=E2=80=99 is not public, but we could pr= obably make it public (David, WDYT?). In the meantime, in your own module, you can do: (define make-linux-libre ;; It=E2=80=99s private but I wanna use it anyway! (@@ (gnu packages linux) make-linux-libre)) HTH! Ludo=E2=80=99. From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dmitri Anikin" Subject: Re: Custom kernel Date: Mon, 05 Dec 2016 08:58:07 +0000 Message-ID: <34aa4e4eb2824f0087fa15320b5d81e2@mail.teknik.io> References: <87d1hafkr7.fsf@gnu.org> <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52844) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cDp6F-000428-P3 for help-guix@gnu.org; Mon, 05 Dec 2016 03:58:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cDp6C-00061r-Mu for help-guix@gnu.org; Mon, 05 Dec 2016 03:58:15 -0500 Received: from mail.teknik.io ([50.247.95.113]:57806) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cDp6C-00061L-DQ for help-guix@gnu.org; Mon, 05 Dec 2016 03:58:12 -0500 In-Reply-To: <87d1hafkr7.fsf@gnu.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org December 2, 2016 2:50 PM, ludo@gnu.org wrote:=0A> Hello Dmitri,=0A> =0A> = "Dmitri Anikin" skribis:=0A> =0A>> Is it possible to p= ass custom patches and kernel config file to be used for linux-libre pack= age?=0A> =0A> It is possible, yes.=0A> =0A> If you look at (gnu packages = linux), you=E2=80=99ll find this:=0A> =0A> (define* (kernel-config arch #= :key variant)=0A> "Return the absolute file name of the Linux-Libre build= configuration file=0A> for ARCH and optionally VARIANT, or #f if there i= s no such configuration."=0A> =E2=80=A6)=0A> =0A> (define* (make-linux-li= bre version hash supported-systems=0A> #:key=0A> ;; A function that takes= an arch and a variant.=0A> ;; See kernel-config for an example.=0A> (ext= ra-version #f)=0A> (configuration-file #f)=0A> (defconfig "defconfig")=0A= > (extra-options %default-extra-linux-options)=0A> (patches (list %boot-l= ogo-patch)))=0A> (package=0A> =E2=80=A6))=0A> =0A> and later:=0A> =0A> (d= efine-public linux-libre=0A> (make-linux-libre "4.8.11"=0A> "04h3n3lw563i= 4yhxfkxrrwjvafd3af730l1ih9kqv7qwkm0psy7r"=0A> %intel-compatible-systems= =0A> #:configuration-file kernel-config))=0A> =0A> Currently =E2=80=98mak= e-linux-libre=E2=80=99 is not public, but we could probably make=0A> it p= ublic (David, WDYT?). In the meantime, in your own module, you can=0A> do= :=0A> =0A> (define make-linux-libre=0A> ;; It=E2=80=99s private but I wan= na use it anyway!=0A> (@@ (gnu packages linux) make-linux-libre))=0A> =0A= > HTH!=0A> =0A> Ludo=E2=80=99.=0A=0AWhen I try guix build -f linux.scm --= no-build-hook I get this error=0A>source is under 'linux-4.8'=0A>applying= '/gnu/store/yp9xzrpkcsy7x9qrnhna5zycb4h1qvl8-reiser4-for-linux-4.8.0.pat= ch'...=0A>applying '/gnu/store/dhq2gd73qaqirc6a4pj5yr537s76sj36-patch-4.8= -pf8.patch'...=0A>builder for `/gnu/store/r6lja7k5y2984kbzzkz94fzsmbhfbs9= g-linux-libre-4.8-gnu.tar.xz.drv' failed to produce output path `/gnu/sto= re/x7bpi24wn99xf79vsf28mblnihxxdfid-linux-libre-4.8-gnu.tar.xz'=0A>@ buil= d-failed /gnu/store/r6lja7k5y2984kbzzkz94fzsmbhfbs9g-linux-libre-4.8-gnu.= tar.xz.drv - 1 builder for `/gnu/store/r6lja7k5y2984kbzzkz94fzsmbhfbs9g-l= inux-libre-4.8-gnu.tar.xz.drv' failed to produce output path `/gnu/store/= x7bpi24wn99xf79vsf28mblnihxxdfid-linux-libre-4.8-gnu.tar.xz'=0A>cannot bu= ild derivation `/gnu/store/zganmnxjjxs1w1wc19r4nd03xw7fbs24-linux-libre-a= narki-4.8.drv': 1 dependencies couldn't be built=0A>guix build: error: bu= ild failed: build of `/gnu/store/zganmnxjjxs1w1wc19r4nd03xw7fbs24-linux-l= ibre-anarki-4.8.drv' failed From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Custom kernel Date: Mon, 05 Dec 2016 10:33:15 +0100 Message-ID: <87bmwqlnz8.fsf@gnu.org> References: <87d1hafkr7.fsf@gnu.org> <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> <34aa4e4eb2824f0087fa15320b5d81e2@mail.teknik.io> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59813) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cDpeE-0000KQ-9r for help-guix@gnu.org; Mon, 05 Dec 2016 04:33:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cDpe9-0000mP-Qk for help-guix@gnu.org; Mon, 05 Dec 2016 04:33:22 -0500 In-Reply-To: <34aa4e4eb2824f0087fa15320b5d81e2@mail.teknik.io> (Dmitri Anikin's message of "Mon, 05 Dec 2016 08:58:07 +0000") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Dmitri Anikin Cc: help-guix@gnu.org "Dmitri Anikin" skribis: > December 2, 2016 2:50 PM, ludo@gnu.org wrote: >> Hello Dmitri, >>=20 >> "Dmitri Anikin" skribis: >>=20 >>> Is it possible to pass custom patches and kernel config file to be used= for linux-libre package? >>=20 >> It is possible, yes. >>=20 >> If you look at (gnu packages linux), you=E2=80=99ll find this: >>=20 >> (define* (kernel-config arch #:key variant) >> "Return the absolute file name of the Linux-Libre build configuration fi= le >> for ARCH and optionally VARIANT, or #f if there is no such configuration= ." >> =E2=80=A6) >>=20 >> (define* (make-linux-libre version hash supported-systems >> #:key >> ;; A function that takes an arch and a variant. >> ;; See kernel-config for an example. >> (extra-version #f) >> (configuration-file #f) >> (defconfig "defconfig") >> (extra-options %default-extra-linux-options) >> (patches (list %boot-logo-patch))) >> (package >> =E2=80=A6)) >>=20 >> and later: >>=20 >> (define-public linux-libre >> (make-linux-libre "4.8.11" >> "04h3n3lw563i4yhxfkxrrwjvafd3af730l1ih9kqv7qwkm0psy7r" >> %intel-compatible-systems >> #:configuration-file kernel-config)) >>=20 >> Currently =E2=80=98make-linux-libre=E2=80=99 is not public, but we could= probably make >> it public (David, WDYT?). In the meantime, in your own module, you can >> do: >>=20 >> (define make-linux-libre >> ;; It=E2=80=99s private but I wanna use it anyway! >> (@@ (gnu packages linux) make-linux-libre)) >>=20 >> HTH! >>=20 >> Ludo=E2=80=99. > > When I try guix build -f linux.scm --no-build-hook I get this error >>source is under 'linux-4.8' >>applying '/gnu/store/yp9xzrpkcsy7x9qrnhna5zycb4h1qvl8-reiser4-for-linux-4= .8.0.patch'... >>applying '/gnu/store/dhq2gd73qaqirc6a4pj5yr537s76sj36-patch-4.8-pf8.patch= '... >>builder for `/gnu/store/r6lja7k5y2984kbzzkz94fzsmbhfbs9g-linux-libre-4.8-= gnu.tar.xz.drv' failed to produce output path `/gnu/store/x7bpi24wn99xf79vs= f28mblnihxxdfid-linux-libre-4.8-gnu.tar.xz' If you look higher in the build log, there=E2=80=99s probably an error mess= age from =E2=80=98patch=E2=80=99 indicating that it failed to apply one of the = patches. Could you check that? You can access the full log by opening the file returned by: guix build --log-file /gnu/store/r6lja7k5y2984kbzzkz94fzsmbhfbs9g-linux-l= ibre-4.8-gnu.tar.xz.drv HTH! Ludo=E2=80=99. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: Custom kernel Date: Sun, 11 Dec 2016 09:11:49 -0500 Message-ID: <87y3zma72y.fsf@netris.org> References: <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> <87d1hafkr7.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46995) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cG4rI-0006k3-6Q for help-guix@gnu.org; Sun, 11 Dec 2016 09:12:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cG4rD-0007kH-V9 for help-guix@gnu.org; Sun, 11 Dec 2016 09:12:08 -0500 In-Reply-To: <87d1hafkr7.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 02 Dec 2016 15:50:20 +0100") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: help-guix@gnu.org, Dmitri Anikin ludo@gnu.org (Ludovic Court=C3=A8s) writes: > "Dmitri Anikin" skribis: > >> Is it possible to pass custom patches and kernel config file to be used = for linux-libre package? > > It is possible, yes. > > If you look at (gnu packages linux), you=E2=80=99ll find this: > > (define* (kernel-config arch #:key variant) > "Return the absolute file name of the Linux-Libre build configuration= file > for ARCH and optionally VARIANT, or #f if there is no such configuratio= n." > =E2=80=A6) > > (define* (make-linux-libre version hash supported-systems > #:key > ;; A function that takes an arch and a varia= nt. > ;; See kernel-config for an example. > (extra-version #f) > (configuration-file #f) > (defconfig "defconfig") > (extra-options %default-extra-linux-options) > (patches (list %boot-logo-patch))) > (package > =E2=80=A6)) > > and later: > > (define-public linux-libre > (make-linux-libre "4.8.11" > "04h3n3lw563i4yhxfkxrrwjvafd3af730l1ih9kqv7qwkm0psy= 7r" > %intel-compatible-systems > #:configuration-file kernel-config)) > > Currently =E2=80=98make-linux-libre=E2=80=99 is not public, but we could = probably make > it public (David, WDYT?). In the meantime, in your own module, you can > do: > > (define make-linux-libre > ;; It=E2=80=99s private but I wanna use it anyway! > (@@ (gnu packages linux) make-linux-libre)) I think we should avoid exporting 'make-linux-libre' in its current form. Although it was an improvement in some ways over what we had previously, I've found it to be an inadequate interface in many respects, and in my opinion it needs to be redesigned. I don't have time to make a case now, but in practice it leads to redundancy. For example, when I recently added security fixes to linux-libre, I needed to add the patches in two separate places, and every time I update the version, I need to update two places as well. Thanks, Mark From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Craven Subject: Re: Custom kernel Date: Sun, 11 Dec 2016 15:59:52 +0100 Message-ID: References: <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> <87d1hafkr7.fsf@gnu.org> <87y3zma72y.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52634) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cG5cs-0005Tn-Mt for help-guix@gnu.org; Sun, 11 Dec 2016 10:01:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cG5co-0003Fo-R3 for help-guix@gnu.org; Sun, 11 Dec 2016 10:01:18 -0500 Received: from mail-qk0-f177.google.com ([209.85.220.177]:34585) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cG5co-00033k-MW for help-guix@gnu.org; Sun, 11 Dec 2016 10:01:14 -0500 Received: by mail-qk0-f177.google.com with SMTP id q130so61485072qke.1 for ; Sun, 11 Dec 2016 07:00:53 -0800 (PST) In-Reply-To: <87y3zma72y.fsf@netris.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Mark H Weaver Cc: Dmitri Anikin , help-guix@gnu.org >> Currently =E2=80=98make-linux-libre=E2=80=99 is not public, but we could= probably make >> it public (David, WDYT?). In the meantime, in your own module, you can >> do. > I think we should avoid exporting 'make-linux-libre' in its current > form. Although it was an improvement in some ways over what we had > previously, I've found it to be an inadequate interface in many > respects, and in my opinion it needs to be redesigned. I don't have > time to make a case now, but in practice it leads to redundancy. I agree that there is room for improvement. But I don't think it's as easy as it may seem... > For example, when I recently added security fixes to linux-libre, I neede= d > to add the patches in two separate places, and every time I update the > version, I need to update two places as well. I believe this was on purpose to avoid having to rebuild two kernels every = time. I was impatient to get this stuff into master because my linux libre arm kernel wasn't building on the beagle bone black (not enough RAM). I think some more patience could have made things better =3DP From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: Custom kernel Date: Sun, 11 Dec 2016 14:58:31 -0500 Message-ID: <877f769r14.fsf@netris.org> References: <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> <87d1hafkr7.fsf@gnu.org> <87y3zma72y.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54771) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGAGb-0004wq-4v for help-guix@gnu.org; Sun, 11 Dec 2016 14:58:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGAGY-0008RW-49 for help-guix@gnu.org; Sun, 11 Dec 2016 14:58:37 -0500 Received: from world.peace.net ([50.252.239.5]:44289) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cGAGY-0008RP-17 for help-guix@gnu.org; Sun, 11 Dec 2016 14:58:34 -0500 In-Reply-To: (David Craven's message of "Sun, 11 Dec 2016 15:59:52 +0100") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: David Craven Cc: help-guix@gnu.org, Dmitri Anikin I wrote: >> For example, when I recently added security fixes to linux-libre, I needed >> to add the patches in two separate places, and every time I update the >> version, I need to update two places as well. David Craven responded: > I believe this was on purpose to avoid having to rebuild two kernels > every time. My understanding is that most stable kernel updates contain security fixes. In any case, upstream has a deliberate policy of refusing to specify which updates are security-critical, so we must assume that they all are. I'm not comfortable leaving non-Intel kernels with unpatched security flaws. > I was impatient to get this stuff into master because my linux libre > arm kernel wasn't building on the beagle bone black (not enough RAM). > I think some more patience could have made things better =P Yes, of course, that makes sense. I very much appreciate your work on this. Thanks, Mark From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Custom kernel Date: Sun, 11 Dec 2016 23:10:06 +0100 Message-ID: <87r35eyv5t.fsf@gnu.org> References: <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> <87d1hafkr7.fsf@gnu.org> <87y3zma72y.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45625) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGCJx-0007R8-6F for help-guix@gnu.org; Sun, 11 Dec 2016 17:10:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGCJt-0001yA-6X for help-guix@gnu.org; Sun, 11 Dec 2016 17:10:13 -0500 In-Reply-To: <87y3zma72y.fsf@netris.org> (Mark H. Weaver's message of "Sun, 11 Dec 2016 09:11:49 -0500") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Mark H Weaver Cc: help-guix@gnu.org, Dmitri Anikin Hello! Mark H Weaver skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> "Dmitri Anikin" skribis: >> >>> Is it possible to pass custom patches and kernel config file to be used= for linux-libre package? >> >> It is possible, yes. >> >> If you look at (gnu packages linux), you=E2=80=99ll find this: >> >> (define* (kernel-config arch #:key variant) >> "Return the absolute file name of the Linux-Libre build configuratio= n file >> for ARCH and optionally VARIANT, or #f if there is no such configurati= on." >> =E2=80=A6) >> >> (define* (make-linux-libre version hash supported-systems >> #:key >> ;; A function that takes an arch and a vari= ant. >> ;; See kernel-config for an example. >> (extra-version #f) >> (configuration-file #f) >> (defconfig "defconfig") >> (extra-options %default-extra-linux-options) >> (patches (list %boot-logo-patch))) >> (package >> =E2=80=A6)) >> >> and later: >> >> (define-public linux-libre >> (make-linux-libre "4.8.11" >> "04h3n3lw563i4yhxfkxrrwjvafd3af730l1ih9kqv7qwkm0ps= y7r" >> %intel-compatible-systems >> #:configuration-file kernel-config)) >> >> Currently =E2=80=98make-linux-libre=E2=80=99 is not public, but we could= probably make >> it public (David, WDYT?). In the meantime, in your own module, you can >> do: >> >> (define make-linux-libre >> ;; It=E2=80=99s private but I wanna use it anyway! >> (@@ (gnu packages linux) make-linux-libre)) > > I think we should avoid exporting 'make-linux-libre' in its current > form. Makes sense. > Although it was an improvement in some ways over what we had > previously, I've found it to be an inadequate interface in many > respects, and in my opinion it needs to be redesigned. I don't have > time to make a case now, but in practice it leads to redundancy. For > example, when I recently added security fixes to linux-libre, I needed > to add the patches in two separate places, and every time I update the > version, I need to update two places as well. Looking at 6b2921c3acf2cc808128af97784929365f8582af, it seems that patches lead to modifications in only one place (the =E2=80=98make-linux-li= bre=E2=80=99 call site), no? There seems to be redundancy here though: --8<---------------cut here---------------start------------->8--- ;; Avoid rebuilding kernel variants when there is a minor version bump. (define %linux-libre-version "4.8.13") (define %linux-libre-hash "1n1bhasqih8acag2glwaqsh76avpinvchvwg6g4q1pfm2vs1= 499x") --8<---------------cut here---------------end--------------->8--- But it=E2=80=99s a defect that not really due to =E2=80=98make-linux-libre= =E2=80=99 per se. Thanks, Ludo=E2=80=99. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: Custom kernel Date: Mon, 12 Dec 2016 15:13:07 -0500 Message-ID: <87shps29f0.fsf@netris.org> References: <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> <87d1hafkr7.fsf@gnu.org> <87y3zma72y.fsf@netris.org> <87r35eyv5t.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42259) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGWyd-0000Fr-Oi for help-guix@gnu.org; Mon, 12 Dec 2016 15:13:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGWyY-0003uK-M0 for help-guix@gnu.org; Mon, 12 Dec 2016 15:13:35 -0500 In-Reply-To: <87r35eyv5t.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sun, 11 Dec 2016 23:10:06 +0100") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: Dmitri Anikin , help-guix@gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Hello! > > Mark H Weaver skribis: > >> ludo@gnu.org (Ludovic Court=C3=A8s) writes: >> >>> Currently =E2=80=98make-linux-libre=E2=80=99 is not public, but we coul= d probably make >>> it public (David, WDYT?). In the meantime, in your own module, you can >>> do: >>> >>> (define make-linux-libre >>> ;; It=E2=80=99s private but I wanna use it anyway! >>> (@@ (gnu packages linux) make-linux-libre)) >> >> I think we should avoid exporting 'make-linux-libre' in its current >> form. > > Makes sense. > >> Although it was an improvement in some ways over what we had >> previously, I've found it to be an inadequate interface in many >> respects, and in my opinion it needs to be redesigned. I don't have >> time to make a case now, but in practice it leads to redundancy. For >> example, when I recently added security fixes to linux-libre, I needed >> to add the patches in two separate places, and every time I update the >> version, I need to update two places as well. > > Looking at 6b2921c3acf2cc808128af97784929365f8582af, it seems that > patches lead to modifications in only one place (the =E2=80=98make-linux-= libre=E2=80=99 > call site), no? If you look more carefully at 6b2921c3acf2cc808128af97784929365f8582af, you'll see that I had to apply the patches in two places, and if we had more kernel variants for other machines, it would have been more than two places. The problem is that there are multiple 'make-linux-libre' call sites for the same kernel version, and each of them needs to be passed various subfields of the 'source'. There's no straightforward way to 'inherit' from a master 'linux-libre' package and then override some of those parameters that are passed to 'make-linux-libre'. Mark From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Custom kernel Date: Mon, 12 Dec 2016 23:44:34 +0100 Message-ID: <87r35cwywd.fsf@gnu.org> References: <60c00abf5ceeeb6cfe571991f4969c87@mail.teknik.io> <87d1hafkr7.fsf@gnu.org> <87y3zma72y.fsf@netris.org> <87r35eyv5t.fsf@gnu.org> <87shps29f0.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43092) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGZKu-0003xi-Pk for help-guix@gnu.org; Mon, 12 Dec 2016 17:44:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGZKt-0003hF-Od for help-guix@gnu.org; Mon, 12 Dec 2016 17:44:44 -0500 In-Reply-To: <87shps29f0.fsf@netris.org> (Mark H. Weaver's message of "Mon, 12 Dec 2016 15:13:07 -0500") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Mark H Weaver Cc: Dmitri Anikin , help-guix@gnu.org Mark H Weaver skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Hello! >> >> Mark H Weaver skribis: >> >>> ludo@gnu.org (Ludovic Court=C3=A8s) writes: >>> >>>> Currently =E2=80=98make-linux-libre=E2=80=99 is not public, but we cou= ld probably make >>>> it public (David, WDYT?). In the meantime, in your own module, you can >>>> do: >>>> >>>> (define make-linux-libre >>>> ;; It=E2=80=99s private but I wanna use it anyway! >>>> (@@ (gnu packages linux) make-linux-libre)) >>> >>> I think we should avoid exporting 'make-linux-libre' in its current >>> form. >> >> Makes sense. >> >>> Although it was an improvement in some ways over what we had >>> previously, I've found it to be an inadequate interface in many >>> respects, and in my opinion it needs to be redesigned. I don't have >>> time to make a case now, but in practice it leads to redundancy. For >>> example, when I recently added security fixes to linux-libre, I needed >>> to add the patches in two separate places, and every time I update the >>> version, I need to update two places as well. >> >> Looking at 6b2921c3acf2cc808128af97784929365f8582af, it seems that >> patches lead to modifications in only one place (the =E2=80=98make-linux= -libre=E2=80=99 >> call site), no? > > If you look more carefully at 6b2921c3acf2cc808128af97784929365f8582af, > you'll see that I had to apply the patches in two places, and if we had > more kernel variants for other machines, it would have been more than > two places. I did see that :-), but there could have been a variable holding the list of patches for 4.8; that would have significantly reduced duplication. > The problem is that there are multiple 'make-linux-libre' call sites for > the same kernel version, and each of them needs to be passed various > subfields of the 'source'. > > There's no straightforward way to 'inherit' from a master 'linux-libre' > package and then override some of those parameters that are passed to > 'make-linux-libre'. Yeah, I agree this is not ideal=E2=80=A6 just not *that* bad either. ;-) Ludo=E2=80=99.