GNU bug report logs -
#31669
Allowing system-wide package replacements with 'guix system'
Previous Next
To reply to this bug, email your comments to 31669 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#31669
; Package
guix
.
(Thu, 31 May 2018 14:46:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Rutger Helling <rhelling <at> mykolab.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Thu, 31 May 2018 14:46:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Guix,
This isn't really a bug, but I noticed that 'guix system' right now cannot use certain common build
options like 'with-input'. I don't know how hard it would be to add
that, because I think it could be pretty useful for something like the
following for example:
guix system reconfigure --with-input=openssl=libressl system.scm
WDYT?
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#31669
; Package
guix
.
(Fri, 01 Jun 2018 12:59:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 31669 <at> debbugs.gnu.org (full text, mbox):
Hello,
Rutger Helling <rhelling <at> mykolab.com> skribis:
> This isn't really a bug, but I noticed that 'guix system' right now cannot use certain common build
> options like 'with-input'. I don't know how hard it would be to add
> that, because I think it could be pretty useful for something like the
> following for example:
>
> guix system reconfigure --with-input=openssl=libressl system.scm
Note that ‘--with-input’ & co. are *package* transformation options, so
the question is which packages we’d apply them to.
We could take those options as applying to all the packages in the
global profile, but it may not be exactly what people would expect
because it would not apply to packages used by Shepherd services.
WDYT?
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#31669
; Package
guix
.
(Fri, 01 Jun 2018 14:42:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 31669 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Ludo,
That might cause confusion like you said, so I'm not sure if that would
be an improvement.
I guess I was wondering whether there was an easy way to do something
like build your entire system with a newer Mesa, or use LibreSSL
instead of OpenSSL as mentioned. Of course you could change your own
git checkout, but that's not as elegant as '--with-input/--with-graft'
etc.
Another option would be to make your own transformed packages and add
those as services instead of the regular versions. Unfortunately a lot
of services right now don't have that option (OpenSSH for example).
Plus you're pretty liable to make a mistake that way.
On Fri, 01 Jun 2018 14:58:03 +0200
ludo <at> gnu.org (Ludovic Courtès) wrote:
> Hello,
>
> Rutger Helling <rhelling <at> mykolab.com> skribis:
>
> > This isn't really a bug, but I noticed that 'guix system' right now
> > cannot use certain common build options like 'with-input'. I don't
> > know how hard it would be to add that, because I think it could be
> > pretty useful for something like the following for example:
> >
> > guix system reconfigure --with-input=openssl=libressl system.scm
>
> Note that ‘--with-input’ & co. are *package* transformation options,
> so the question is which packages we’d apply them to.
>
> We could take those options as applying to all the packages in the
> global profile, but it may not be exactly what people would expect
> because it would not apply to packages used by Shepherd services.
>
> WDYT?
>
> Ludo’.
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#31669
; Package
guix
.
(Fri, 01 Jun 2018 20:36:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 31669 <at> debbugs.gnu.org (full text, mbox):
Hello,
Rutger Helling <rhelling <at> mykolab.com> skribis:
> That might cause confusion like you said, so I'm not sure if that would
> be an improvement.
>
> I guess I was wondering whether there was an easy way to do something
> like build your entire system with a newer Mesa, or use LibreSSL
> instead of OpenSSL as mentioned. Of course you could change your own
> git checkout, but that's not as elegant as '--with-input/--with-graft'
> etc.
Another option would be to operate at the derivation level rather than
at the package level. There’s a currently unused procedure called
‘map-derivation’ which is similar to what ‘--with-input’ does, except
that it’s at the derivation level. Example:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,use(guix)
scheme@(guile-user)> ,use(gnu)
scheme@(guile-user)> (getcwd)
$2 = "/home/ludo/src/guix/guix"
scheme@(guile-user)> (define os (load "../gnu/system/examples/bare-bones.tmpl"))
scheme@(guile-user)> ,run-in-store (operating-system-derivation os)
$4 = #<derivation /gnu/store/x0ixll4myzk2s2g0lvq29qr5fx1hsgqi-system.drv => /gnu/store/4igvd1ynxjv3hk8qpf0l9bpb2v157hjf-system 4c209b0>
scheme@(guile-user)> ,use(gnu packages tls)
scheme@(guile-user)> ,run-in-store (package->derivation openssl)
$5 = #<derivation /gnu/store/8d4dim068nky5y8dls3p2nijc79jhhv1-openssl-1.0.2o.drv => /gnu/store/yvy6pj9b3rpb3wr98x0sjlxv5g9p5x5l-openssl-1.0.2o-doc /gnu/store/ggrpw6gh2rnqjwyjf99z8cdw5digc4hb-openssl-1.0.2o /gnu/store/9cdb2xydmm012v81l78jliird4f7dy25-openssl-1.0.2o-static 5594370>
scheme@(guile-user)> ,run-in-store (package->derivation libressl)
substitute: updating list of substitutes from 'https://berlin.guixsd.org'... 100.0%
$6 = #<derivation /gnu/store/2wds8bdyl25iqx63p2vv7fy05rbmq4s5-libressl-2.7.3.drv => /gnu/store/d9askfqx719bv3610kd6s3jqjh5rnfsh-libressl-2.7.3 538b1e0>
scheme@(guile-user)> (define s (open-connection))
scheme@(guile-user)> (map-derivation s $4 `((,$5 . ,$6)))
$7 = #<derivation /gnu/store/g9xxa9fkiaij5i9g8s71b04yswi69cig-system.drv => /gnu/store/x5gyjvmq663jhd1pc1pc5w46hpcghvwd-system 618bf00>
--8<---------------cut here---------------end--------------->8---
It’s a bit of a sledgehammer and ‘map-derivation’ may be buggy on the
edges, but worth exploring. :-)
HTH,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#31669
; Package
guix
.
(Sat, 02 Jun 2018 12:30:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 31669 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
That's neat! I'll play around with it later, thanks for the tip.
On Fri, 01 Jun 2018 22:35:26 +0200
ludo <at> gnu.org (Ludovic Courtès) wrote:
> Hello,
>
> Rutger Helling <rhelling <at> mykolab.com> skribis:
>
> > That might cause confusion like you said, so I'm not sure if that
> > would be an improvement.
> >
> > I guess I was wondering whether there was an easy way to do
> > something like build your entire system with a newer Mesa, or use
> > LibreSSL instead of OpenSSL as mentioned. Of course you could
> > change your own git checkout, but that's not as elegant as
> > '--with-input/--with-graft' etc.
>
> Another option would be to operate at the derivation level rather than
> at the package level. There’s a currently unused procedure called
> ‘map-derivation’ which is similar to what ‘--with-input’ does, except
> that it’s at the derivation level. Example:
>
> --8<---------------cut here---------------start------------->8---
> scheme@(guile-user)> ,use(guix)
> scheme@(guile-user)> ,use(gnu)
> scheme@(guile-user)> (getcwd)
> $2 = "/home/ludo/src/guix/guix"
> scheme@(guile-user)> (define os (load
> "../gnu/system/examples/bare-bones.tmpl"))
> scheme@(guile-user)> ,run-in-store (operating-system-derivation os)
> $4 =
> #<derivation /gnu/store/x0ixll4myzk2s2g0lvq29qr5fx1hsgqi-system.drv
> => /gnu/store/4igvd1ynxjv3hk8qpf0l9bpb2v157hjf-system 4c209b0>
> scheme@(guile-user)> ,use(gnu packages tls)
> scheme@(guile-user)> ,run-in-store (package->derivation openssl) $5 =
> #<derivation /gnu/store/8d4dim068nky5y8dls3p2nijc79jhhv1-openssl-1.0.2o.drv
> => /gnu/store/yvy6pj9b3rpb3wr98x0sjlxv5g9p5x5l-openssl-1.0.2o-doc /gnu/store/ggrpw6gh2rnqjwyjf99z8cdw5digc4hb-openssl-1.0.2o /gnu/store/9cdb2xydmm012v81l78jliird4f7dy25-openssl-1.0.2o-static
> 5594370> scheme@(guile-user)> ,run-in-store (package->derivation
> 5594370> libressl) substitute: updating list of substitutes from
> 5594370> 'https://berlin.guixsd.org'... 100.0% $6 =
> 5594370> #<derivation /gnu/store/2wds8bdyl25iqx63p2vv7fy05rbmq4s5-libressl-2.7.3.drv
> 5594370> => /gnu/store/d9askfqx719bv3610kd6s3jqjh5rnfsh-libressl-2.7.3
> 5594370> 538b1e0> scheme@(guile-user)> (define s (open-connection))
> 5594370> 538b1e0> scheme@(guile-user)> (map-derivation s $4
> 5594370> 538b1e0> `((,$5 . ,$6)))
> $7 =
> #<derivation /gnu/store/g9xxa9fkiaij5i9g8s71b04yswi69cig-system.drv
> => /gnu/store/x5gyjvmq663jhd1pc1pc5w46hpcghvwd-system 618bf00>
> --8<---------------cut here---------------end--------------->8---
>
> It’s a bit of a sledgehammer and ‘map-derivation’ may be buggy on the
> edges, but worth exploring. :-)
>
> HTH,
> Ludo’.
[Message part 2 (application/pgp-signature, inline)]
Changed bug title to 'Allowing system-wide package replacements with 'guix system'' from ''guix system' enhancements'
Request was from
ludo <at> gnu.org (Ludovic Courtès)
to
control <at> debbugs.gnu.org
.
(Fri, 15 Jun 2018 15:31:02 GMT)
Full text and
rfc822 format available.
This bug report was last modified 6 years and 362 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.