From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: bug#32661: modify-phases: detect invalid phase addition Date: Fri, 07 Sep 2018 23:50:02 +0200 Message-ID: <877ejxm0z9.fsf@elephly.net> 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]:60635) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fyOef-0008Sd-Is for bug-guix@gnu.org; Fri, 07 Sep 2018 17:51:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fyOec-0005Lu-NS for bug-guix@gnu.org; Fri, 07 Sep 2018 17:51:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:44884) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fyOec-0005LV-IV for bug-guix@gnu.org; Fri, 07 Sep 2018 17:51:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fyOec-0002CV-DC for bug-guix@gnu.org; Fri, 07 Sep 2018 17:51:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60447) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fyOe4-0008DU-Lf for bug-guix@gnu.org; Fri, 07 Sep 2018 17:50:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fyOe1-0004Oj-K0 for bug-guix@gnu.org; Fri, 07 Sep 2018 17:50:28 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21061) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fyOe1-0004LA-93 for bug-guix@gnu.org; Fri, 07 Sep 2018 17:50:25 -0400 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: 32661@debbugs.gnu.org It is possible to add a build phase to a non-existing phase without an error. The new build phase will simply not be executed. This is problematic when an inherited package augments the original package=E2=80=99s phases and the original package is changed. Imagine that= the parent package=E2=80=99s =E2=80=9Cpre-configure=E2=80=9D phase is removed: ((#:phases original-phases) `(modify-phases ,original-phases (add-after 'pre-configure 'patch-this (lambda _ =E2=80=A6)))) This would cause the =E2=80=9Cpatch-this=E2=80=9D phase in the child packag= e to be skipped without warning. This kind of thing can be especially confusing in the bootstrap, which makes heavy use of inheritance. -- Ricardo