From mboxrd@z Thu Jan 1 00:00:00 1970 From: znavko@disroot.org Subject: Re: Is there a way to upgrade only packages with substitutes? Date: Sun, 04 Aug 2019 06:40:39 +0000 Message-ID: References: <87r261zssf.fsf@lprndn.info> <871ry38fl9.fsf@gmail.com> <30697aebc00280145b4769566fc9103d@disroot.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:470:142:3::10]:35267) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1huACE-0006I5-BX for guix-devel@gnu.org; Sun, 04 Aug 2019 02:40:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1huACD-0007cP-7r for guix-devel@gnu.org; Sun, 04 Aug 2019 02:40:46 -0400 Received: from knopi.disroot.org ([178.21.23.139]:52444) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1huACC-0007MJ-O6 for guix-devel@gnu.org; Sun, 04 Aug 2019 02:40:45 -0400 In-Reply-To: <87r261zssf.fsf@lprndn.info> 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: L p R n d n Cc: guix-devel@gnu.org Hello, LpRndn! Your offer places all the work at the shoulders of develop= ers.=0AIf we want to be more patient, we can please Ludovic Courtes to ad= d an option --fast:=0A=0Aguix package -u --fast=0A=0AThis option will upd= ate only packages with substitutes and very small packages without substi= tutes (if they compile quickly). And it will not update big packages with= out substitutes. Realization of it we cannot assume.=0A=0AThis approach i= s related to reproducible builds. This might be not only the same result = every time you compile, but the certain time it will compile.=0A=0A=0AAug= ust 3, 2019 10:19 PM, "L p R n d n" wrote:=0A=0A> Hell= o,=0A> =0A> znavko@disroot.org writes:=0A> =0A>> Hello, Katherine! I fuzz= ily remember this subject in maillists, maybe we=0A>> discussed this feat= ure. And there were instruction of how to define in `guix=0A>> package -u= ` those packages you won't update.=0A>> Also I know guix has feature to c= heck substitutes (`guix weather`, is it?).=0A>> =0A>> I think we need a s= cript that will do this:=0A>> 1) guix pull=0A>> 2) get a list of new pack= ages and dependencies that all will be updated=0A>> 3) check which of the= m haven't substitutes=0A>> 4) run `guix package -u` without those package= s that have not substitutes.=0A>> 4.1) or run `guix package -u` without o= nly those big packages you defined like=0A>> 'not to update if they have = no substitutes'=0A> =0A> I also do think a way of only updating with subs= titutes would be nice.=0A> However, I'm not really fond of that behaviour= . I'm pretty sure it=0A> has already been discussed somewhere and I proba= bly lack knowledge to=0A> give a proper answer but here are my two cents.= =0A> =0A> IMHO, I would rather go for a server side solution. Something a= 'simple'=0A> as a lagging - automated or curated - channel could do the = trick. (1=0A> day, 1 week with/out meaningfull commits)=0A> Obviously, th= at means, a minimal profile won't be able to get its=0A> substitutes as s= oon as possible but the difference shouldn't be that=0A> large anyway (wh= at is it? 24h? 48h?). Plus, it's a gain in term of computation,=0A> speed= of update, use of network etc.=0A> =0A> Also, any tool that would automa= tically resolve in a potential partially=0A> updated profile, even if adv= ertised, is probably a door to a lot of=0A> incomprehension and unwanted = behaviour. --do-not-upgrade and -u $package=0A> are ok because the user t= ake an active part in it.=0A> =0A>> I think this can be done with guix fe= atures but this is hard work, not for usual users.=0A>> And sure guix mus= t have this feature.=0A>> =0A>> August 2, 2019 8:42 PM, "Katherine Cox-Bu= day" wrote:=0A>> =0A>>> Hey Guix!=0A>>> =0A>>= > Very often I find myself updating systems only to get stuck on building= =0A>>> something large like LibreOffice or Un-Googled Chromium. Usually t= he=0A>>> substitutes for these are available a few days later.=0A>>> =0A>= >> It would be nice if I could pass a flag to `guix package -u` that woul= d=0A>>> disallow building in the event a substitute wasn't available. Is = that=0A>>> `--fallback=3Dfalse`? If so, that's a double-negative; is ther= e a clearer=0A>>> way to represent both without acreting options?=0A>>> = =0A>>> --=0A>>> Katherine=0A> =0A> Have a nice day,=0A> =0A> Lprndn