From mboxrd@z Thu Jan 1 00:00:00 1970 From: sirgazil Subject: Re: Check whether package has substitution Date: Mon, 13 May 2019 13:17:15 -0500 Message-ID: <16ab269be72.101cb345311255.5411801321379070085@zoho.com> References: <0430840ba39308ca71d81905fa35725a@disroot.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([209.51.188.92]:33392) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hQGES-0000kH-6r for guix-devel@gnu.org; Mon, 13 May 2019 15:03:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hQGEQ-0005x2-UU for guix-devel@gnu.org; Mon, 13 May 2019 15:03:28 -0400 Received: from sender-pp-092.zoho.com ([135.84.80.237]:25470) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hQGEQ-0005wB-Jj for guix-devel@gnu.org; Mon, 13 May 2019 15:03:26 -0400 In-Reply-To: <0430840ba39308ca71d81905fa35725a@disroot.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: znavko Cc: guix-devel Hi znavko, ---- On Mon, 13 May 2019 11:22:01 -0500 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.