unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Check whether package has substitution
@ 2019-05-13 16:22 znavko
  2019-05-13 16:30 ` Tobias Geerinckx-Rice
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: znavko @ 2019-05-13 16:22 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1662 bytes --]

Hello! Users that have experience to install packages from binaries may have troubles waiting compilation process.
I want to propose some things that can appreciably improve Guix users experience.

Users do not want to wait the compilation process. This may happen on installation and update.
Guix may solve this problem giving to the user next possibilities:

1) check if there is substitution of some package you want to install for your system state (and environment)
2) check what packages will have to compile if you will update your system

I think this is not that academic way Guix is intended for. But such a feature will improve user experience riding him from long time compilation.

Guix also may solve the problem of absent substitutions the next way.
Guix developers can create user interface for sending requests to default substitution server to compile those packages users want right now.
As I know, hydra compiles all the packages for all the systems without priorities.
So users can address to hydra their requests to compile some packages for their system type (and environment). So hydra will stop its usual way of things (that actually has the lowest priority) and start to compile packages on user's behalf.
This way user can send a request, wait for 30-120 minutes and install it or update to having substitution built on hydra.

Reading some discussions about OS, I can say this is the first user want to have, saying: 'Computing freedom is imposed by Guix, but that ugly compilation process is what does not give me to start using it'.

Please, could you try to satisfy new users by speed up packages installation?

[-- Attachment #2: Type: text/html, Size: 1968 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Check whether package has substitution
  2019-05-13 16:22 Check whether package has substitution znavko
@ 2019-05-13 16:30 ` Tobias Geerinckx-Rice
  2019-05-13 16:38 ` Gábor Boskovits
  2019-05-13 18:17 ` sirgazil
  2 siblings, 0 replies; 5+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-05-13 16:30 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 339 bytes --]

Znavko,

This doesn't address all points in your e-mail, but some days ago 
I too was suprised by the fact that ‘guix weather PACKAGE-SPEC’ 
didn't just do what I expected.

I'll clean up my patch to do so (mainly testing that it actually 
works for other use cases than my… two :-) and send it in.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Check whether package has substitution
  2019-05-13 16:22 Check whether package has substitution znavko
  2019-05-13 16:30 ` Tobias Geerinckx-Rice
@ 2019-05-13 16:38 ` Gábor Boskovits
  2019-05-13 18:17 ` sirgazil
  2 siblings, 0 replies; 5+ messages in thread
From: Gábor Boskovits @ 2019-05-13 16:38 UTC (permalink / raw)
  To: znavko; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2054 bytes --]

Hello!

<znavko@disroot.org> ezt írta (időpont: 2019. máj. 13., H, 18:22):

> Hello! Users that have experience to install packages from binaries may
> have troubles waiting compilation process.
> I want to propose some things that can appreciably *improve Guix users
> experience*.
>
> Users do not want to wait the compilation process. This may happen on
> installation and update.
> Guix may solve this problem giving to the user next possibilities:
>
> 1) check if there is substitution of some package you want to install for
> your system state (and environment)
> 2) check what packages will have to compile if you will update your system
>
>
For profiles which have a manifest, you can guix weather the manifest. I
believe someone more knowledgable than me can
answer if that could be extended easily for the 'system reconfigure' case.


> I think this is not that academic way Guix is intended for. But such a
> feature will improve user experience riding him from long time compilation.
>
> Guix also may solve the problem of absent substitutions the next way.
> Guix developers can create user interface for sending requests to default
> substitution server to compile those packages users want right now.
> As I know, hydra compiles all the packages for all the systems without
> priorities.
> So users can address to hydra their requests to compile some packages for
> their system type (and environment). So hydra will stop its usual way of
> things (that actually has the lowest priority) and start to compile
> packages on user's behalf.
> This way user can send a request, wait for 30-120 minutes and install it
> or update to having substitution built on hydra.
>
> Reading some discussions about OS, I can say this is the first user want
> to have, saying: 'Computing freedom is imposed by Guix, but that ugly
> compilation process is what does not give me to start using it'.
>
> Please, could you try to satisfy new users by speed up packages
> installation?
>

Best regards,
g_bor

[-- Attachment #2: Type: text/html, Size: 2726 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Check whether package has substitution
  2019-05-13 16:22 Check whether package has substitution znavko
  2019-05-13 16:30 ` Tobias Geerinckx-Rice
  2019-05-13 16:38 ` Gábor Boskovits
@ 2019-05-13 18:17 ` sirgazil
  2019-05-14  7:53   ` Ludovic Courtès
  2 siblings, 1 reply; 5+ messages in thread
From: sirgazil @ 2019-05-13 18:17 UTC (permalink / raw)
  To: znavko; +Cc: guix-devel

Hi znavko,

---- On Mon, 13 May 2019 11:22:01 -0500  <znavko@disroot.org> wrote ----

 > Hello! Users that have experience to install packages from binaries may have troubles waiting compilation process.
 > I want to propose some things that can appreciably improve Guix users experience.
 > 
 > Users do not want to wait the compilation process. This may happen on installation and update.
 > Guix may solve this problem giving to the user next possibilities:
 > 
 > 1) check if there is substitution of some package you want to install for your system state (and environment)
 > 2) check what packages will have to compile if you will update your system
 > 
 > I think this is not that academic way Guix is intended for. But such a feature will improve user experience riding him from long time compilation.
 > 
 > Guix also may solve the problem of absent substitutions the next way.
 > Guix developers can create user interface for sending requests to default substitution server to compile those packages users want right now.
 > As I know, hydra compiles all the packages for all the systems without priorities.
 > So users can address to hydra their requests to compile some packages for their system type (and environment). So hydra will stop its usual way of things (that actually has the lowest priority) and start to compile packages on user's behalf.
 > This way user can send a request, wait for 30-120 minutes and install it or update to having substitution built on hydra.
 > 
 > Reading some discussions about OS, I can say this is the first user want to have, saying: 'Computing freedom is imposed by Guix, but that ugly compilation process is what does not give me to start using it'.
 > 
 > Please, could you try to satisfy new users by speed up packages installation?


I've had similar thoughts. I usually run commands with the "--dry-run" option to avoid starting to build expensive packages (I have one computer; I depend on substitute servers to build those expensive packages for me).

I was thinking that maybe the request to the substitute servers to build a given package should be done implicitly, instead of requiring the user to run some Guix command specific to that purpose. For example, and taking into account what znavko says, I'd like something like this:

##########
$ guix package -m manifest.scm 
would install new manifest from 'aggregate-manifest.scm' with 45 entries
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations would be built:
   /gnu/store/...-abc.drv
   /gnu/store/...-dfg.drv
149.1 MB would be downloaded:
   /gnu/store/...-mno-3.1.0
   /gnu/store/...-xyz-0.14.2
The following profile hooks would be built:
   /gnu/store/...-manual-database.drv
   /gnu/store/...-xdg-mime-database.drv

Do you want to proceed? If "Yes", your machine will have to build some derivations
locally. Depending on your machine, this process can take a lot of time. If "No", a 
request will be sent to https://ci.guix.gnu.org to build the derivations for you; then,
you can try again later to see if the substitutes are available for download. (Yes/No)
##########

And the list of derivations that need to be built could be yellow or something.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Check whether package has substitution
  2019-05-13 18:17 ` sirgazil
@ 2019-05-14  7:53   ` Ludovic Courtès
  0 siblings, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2019-05-14  7:53 UTC (permalink / raw)
  To: sirgazil; +Cc: guix-devel

Hi,

sirgazil <sirgazil@zoho.com> skribis:

> $ guix package -m manifest.scm 
> would install new manifest from 'aggregate-manifest.scm' with 45 entries
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> The following derivations would be built:
>    /gnu/store/...-abc.drv
>    /gnu/store/...-dfg.drv
> 149.1 MB would be downloaded:
>    /gnu/store/...-mno-3.1.0
>    /gnu/store/...-xyz-0.14.2
> The following profile hooks would be built:
>    /gnu/store/...-manual-database.drv
>    /gnu/store/...-xdg-mime-database.drv
>
> Do you want to proceed? If "Yes", your machine will have to build some derivations
> locally. Depending on your machine, this process can take a lot of time. If "No", a 
> request will be sent to https://ci.guix.gnu.org to build the derivations for you; then,
> you can try again later to see if the substitutes are available for download. (Yes/No)

I think ‘guix package’ should remain non-interactive, at least by
default.

Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-05-14  7:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-13 16:22 Check whether package has substitution znavko
2019-05-13 16:30 ` Tobias Geerinckx-Rice
2019-05-13 16:38 ` Gábor Boskovits
2019-05-13 18:17 ` sirgazil
2019-05-14  7:53   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).