From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Bakke Subject: bug#24737: `guix lint` should not check patch-file-names on inherited sources Date: Sat, 22 Oct 2016 19:53:02 +0100 Message-ID: <87insk5i7l.fsf@duckhunt.i-did-not-set--mail-host-address--so-tickle-me> References: <87zim05tvp.fsf@duckhunt.i-did-not-set--mail-host-address--so-tickle-me> <87eg3c5d8b.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45954) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1by1Ql-00058Z-AO for bug-guix@gnu.org; Sat, 22 Oct 2016 14:54:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1by1Qg-000482-FO for bug-guix@gnu.org; Sat, 22 Oct 2016 14:54:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:59397) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1by1Qg-00047w-Bc for bug-guix@gnu.org; Sat, 22 Oct 2016 14:54:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1by1Qg-0005KB-4S for bug-guix@gnu.org; Sat, 22 Oct 2016 14:54:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87eg3c5d8b.fsf@gnu.org> 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 24737@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > Marius Bakke skribis: > >> After patching 'notmuch', `guix lint -c patch-file-names` does not pass >> for 'python-notmuch' which inherits the source from 'notmuch'. > > I agree but that=E2=80=99s not quite possible: the =E2=80=9Cinheritance= =E2=80=9D relation (which > is really just a copy of a record) is not known at run time. > > So we=E2=80=99d need another trick to guess whether a patch is coming from > elsewhere and should consequently be ignored by =E2=80=98lint=E2=80=99. Here is a "RFC" patch that thwarts the warning if the source file name is different from the package name. Not sure how to properly make it part of the procedure, so that the checks are actually skipped as well. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-lint-Skip-patch-file-names-on-inherited-sources.patch >From 160132bdc23b34c6331adf00af46af19dd8d737c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 22 Oct 2016 19:12:00 +0100 Subject: [PATCH] lint: Skip 'patch-file-names' on inherited sources. * guix/scripts/lint.scm (check-patch-file-names): Only report when the source file name matches the package name. --- guix/scripts/lint.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index d6281ea..ba1bbc3 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -497,10 +497,13 @@ patch could not be found." (_ #f)) ;must be an or something like that. (or (and=> (package-source package) origin-patches) '())) - (emit-warning - package - (_ "file names of patches should start with the package name") - 'patch-file-names)))) + ;; Skip report when the source file name differs (i.e. inherited). + (and (string-prefix? (package-name package) + (origin-actual-file-name (package-source package))) + (emit-warning + package + (_ "file names of patches should start with the package name") + 'patch-file-names))))) (define (escape-quotes str) "Replace any quote character in STR by an escaped quote character." -- 2.10.1 --=-=-=--