From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Lepiller Subject: Re: enchant hash, fail to upgrade Date: Sun, 22 Sep 2019 23:30:24 +0200 Message-ID: References: <87a7awm8ze.fsf@dc.uba.ar> 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]:60924) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iC9RQ-0002Wg-Eh for help-guix@gnu.org; Sun, 22 Sep 2019 17:30:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iC9RO-00065K-PU for help-guix@gnu.org; Sun, 22 Sep 2019 17:30:48 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:56176) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iC9RO-00062r-7E for help-guix@gnu.org; Sun, 22 Sep 2019 17:30:46 -0400 In-Reply-To: <87a7awm8ze.fsf@dc.uba.ar> 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, Catriel Le 22 septembre 2019 21:22:45 GMT+02:00, Catriel a = =C3=A9crit : > >Hi! > >after a minor nuisanse (*) with guix pull, I stumble upon an error: > >$guix upgrade --fallback >guix upgrade: aviso: paquete 'libstdc++' ya no existe >guix upgrade: el paquete 'sbcl-next' ha sido reemplazado por 'next' >substitute: updating substitutes from 'https://mirror=2Ehydra=2Egnu=2Eorg= '=2E=2E=2E >100=2E0% >substitute: updating substitutes from 'https://mirror=2Ehydra=2Egnu=2Eorg= '=2E=2E=2E >100=2E0% >construyendo >/gnu/store/g6srxnikawk7snkzxk6vxmms1aldidww-libgnomekbd-3=2E26=2E1=2Etar= =2Exz=2Edrv=2E=2E=2E >/gnu/store/g6srxnikawk7snkzxk6vxmms1aldidww-libgnomekbd-3=2E26=2E1=2Etar= =2Exz=2Edrv >construido satisfactoriamente >construyendo >/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2=2E2=2E5=2Etar=2Egz= =2Edrv=2E=2E=2E >la construcci=C3=B3n de >/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2=2E2=2E5=2Etar=2Egz= =2Edrv >fall=C3=B3 >Muestra el registro de construcci=C3=B3n en >'/var/log/guix/drvs/3d/fjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2=2E2=2E5= =2Etar=2Egz=2Edrv=2Ebz2'=2E >construyendo >/gnu/store/7gsxkb7qivmw6kw4aizfxnx5r6m6i2lh-gnupg-2=2E2=2E17=2Etar=2Ebz2= =2Edrv=2E=2E=2E >-guix upgrade: error: build of >`/gnu/store/9xsx8j5b5j3khlicg91nrv6v84c3nssa-arc-theme-20181022=2Edrv' >failed > >(sorry about the language) > >it's saying that >/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2=2E2=2E5=2Etar=2Egz= =2Edrv >failed=2E > >the log doesn't output anything usefull, it just shows that the file >was >downloaded=2E > >So I try to build it from the derivation for more info: > >guix build >/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2=2E2=2E5=2Etar=2Egz= =2Edrv=20 >Se construir=C3=A1 la siguiente derivaci=C3=B3n: > /gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2=2E2=2E5=2Etar=2E= gz=2Edrv >construyendo >/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2=2E2=2E5=2Etar=2Egz= =2Edrv=2E=2E=2E >=2E=2E=2E >sha256 hash mismatch for output path >`/gnu/store/wsyfm5avik0wvh82gyxw9acbixp0ygbp-enchant-2=2E2=2E5=2Etar=2Egz= ' > expected: 0iqwzs11i9fvqdxv5kn0svcn2mzymn657qf3j66lg8dx1nh4xkpz > actual: 0r41qjz3104h5raiwlw5ywwybafbxdjz12j1bnq3kq60jlr6d2pf > > >And there it goes, the sha256 it's wrong, either in the =2Escm definition >or upstream=2E > >I choose to trust upstream and try to define a package with the same >name and version but different sha256=2E > >After > >guix download --no-check-certificate >https://github=2Ecom/AbiWord/enchant/releases/download/v2=2E2=2E5/enchant= -2=2E2=2E5=2Etar=2Egz > >to get the hash (**) and file > >and defining enchant=2Escm with: > >(use-modules (guix packages) > (guix download) > (gnu packages enchant) > (gnu packages wm)) > >(package > (inherit enchant) > (name "enchant") > (version "2=2E2=2E5") > (source (origin > (method url-fetch) > (uri (string-append "https://github=2Ecom/AbiWord/enchant/releases" > "/download/v" version "/enchant-" > version "=2Etar=2Egz")) > (sha256 > (base32 > "0r41qjz3104h5raiwlw5ywwybafbxdjz12j1bnq3kq60jlr6d2pf"))))) > >and then > >guix package -f enchant=2Escm > >I succefully install enchant, with the same version and name=2E > >Then happily enjoying my wit to circumvent this issue until more proper >fixing takes place, I try to do a package upgrade again 'guix package >-u' > >but as a knowingly reader might predict, it just tries to build again >the enchant definition on guix repos=2E No matter that the package have >the same version and name, the package has another hash, another place >on the store, it's just a different input for the packages that use >enchant=2E So my hacky solution it's a no-solution that poped up in my >mind because habits from a non functional world die hard=2E=2E=2E but the= y >will=2E=2E=2E eventually=2E > >So the questions are: > >* How do I patch a package definition when I find a bug? > >* Do I have to use guixsd or guix from source? (I'm currently using a > guix binary installation on a foreign distro) > >* I know that I can define a package with modifications=2E Say, modify > emacs to display mario bros on background=2E=2E cuz=2E=2E=2E that would= be > really usefull=2E But how to modify a package definition that it's not > a leaf in the dependency graph? I never installed enchant, it's just a > dependency=2E Say I find a bug or want to mess around with some lib and > break things for fun=2E Just to break it, travel back in time with guix, > and break it again in just another way=2E Do I have to redefine all the > packages that use that dependency or there is an automatic way to do > it? > >(*) I was suffering from the same problem in this thread > https://www=2Email-archive=2Ecom/help-guix@gnu=2Eorg/msg04879=2Ehtml > and tried Ludovic suggestion=2E Maybe I remove more links that Ludovic > suggests, but after some manual tinkering it just works=2E > >(**) How does guix download calculates the hash? if I do a > $sha256sum tarball=2Etar=2Egz it outputs other hash=2E > >Thanks in advance! >COD=2E Sorry I'm too tired to answer properly=2E Their is a section about contrib= uting in the manual=2E Have you read that? As a workaround, you can try guix package -u --with-source=3Denchant=3D`gu= ix download =E2=80=A6` where =E2=80=A6 is the url of the sources you want t= o use=2E Iirc, it applies to dependencies recursively=2E Good night, and good luck :)