From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#29244: guix update -u always wants to update: python-wrapper & python-ipython Date: Mon, 20 Nov 2017 22:50:07 +0100 Message-ID: <87vai4zkkw.fsf@gnu.org> References: <87o9oafd6g.fsf@in-ulm.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42440) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eGty5-0006a8-TJ for bug-guix@gnu.org; Mon, 20 Nov 2017 16:51:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eGty2-0006HH-Qr for bug-guix@gnu.org; Mon, 20 Nov 2017 16:51:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:40863) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eGty2-0006Gc-N3 for bug-guix@gnu.org; Mon, 20 Nov 2017 16:51:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eGty2-00084n-7Z for bug-guix@gnu.org; Mon, 20 Nov 2017 16:51:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87o9oafd6g.fsf@in-ulm.de> (Benjamin Andresen's message of "Fri, 10 Nov 2017 14:58:31 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Benjamin Andresen Cc: 29244@debbugs.gnu.org Hello, Benjamin Andresen skribis: > this is with an empty user account that has no packages installed before = this: >> guixsd% guix package -u >> The following packages will be upgraded: >> python-wrapper 3.5.3 =E2=86=92 3.5.3 /gnu/store/xnb9bn2vgr3ch8zznsv23w65= bb5psshh-python-wrapper-3.5.3 >> python-ipython 5.3.0 =E2=86=92 5.3.0 /gnu/store/7lg8s2kc6k8fxbdx80ykz39k= z2lwj08g-python-ipython-5.3.0 >> >> nothing to be done > > The problem exists with both installed and with them individually. This is because =E2=80=98transaction-upgrade-entry=E2=80=99 in (guix profil= es) conservatively assumes that any package with propagated inputs, like =E2=80=98python-wrapper=E2=80=99, always has to be upgraded: (case (version-compare candidate-version version) ((>) (manifest-transaction-install-entry (package->manifest-entry pkg output) transaction)) ((<) transaction) ((=3D) (let ((candidate-path (derivation->output-path (package-derivation (%store) pkg)))) ;; XXX: When there are propagated inputs, assume we need to ;; upgrade the whole entry. (if (and (string=3D? path candidate-path) (null? (package-propagated-inputs pkg))) transaction (manifest-transaction-install-entry (package->manifest-entry pkg output) transaction))))) I think we can refine this code. Thanks for your report, Ludo=E2=80=99.