all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: Re: ELPA Archive Build Fails
Date: Mon, 11 Dec 2017 10:41:18 -0500	[thread overview]
Message-ID: <jwvtvwxnuud.fsf-monnier+gmane.emacs.devel@gnu.org> (raw)
In-Reply-To: 87r2s170oj.fsf@lifelogs.com

> Looking at that Make target:

> check_copyrights:
>         @echo "Compute exceptions >$(CR_EXCEPTIONS)~"
>         @export LC_ALL=C;                                           \
>         (cd packages &&                                             \
>         find . -name '.git' -prune -o                               \
>                -name 'test' -prune -o                               \
>                -name '*.el' -print0 |                               \
>             xargs -0 grep -L 'Free Software Foundation, Inc' |      \
>             grep -v '\(\.dir-locals\|.-\(pkg\|autoloads\)\)\.el$$'; \
>         find . -name '.git' -prune -o -name '*.el' -type f -print | \
>             while read f; do                                        \
>                 fquoted="$$(echo $$f|tr '|' '_')";                  \
>                 sed -n -e '/[Cc]opyright.*, *[1-9][-0-9]*,\?$$/N'   \
>                     -e '/Free Software Foundation/d'                \
>                     -e "s|^\\(.*[Cc]opyright\\)|$$fquoted:\\1|p"    \
>                    "$$f";                                           \
>             done) | sort >$(CR_EXCEPTIONS)~
>         diff -u "$(CR_EXCEPTIONS)" "$(CR_EXCEPTIONS)~"
>
> I can sort of understand the shell logic, but not why it's there.

> Could someone (Stefan?) please either add comments to the GNUMakefile
> explaining what it does and why, or explain here and I'll add the
> comments?

It does a very crude check to try and catch the files which lack the
"copyright FSF" line (that's the role of the first `find`), and to catch
the files which still have a "copyright <not-the-fsf>" somewhere.

I think in the present case the "right fix" is to update the
$(CR_EXCEPTIONS) file.

> Ideally the output of the check would also be improved to explain what's
> wrong.  I can try to do that as well.

Yes.  I think it's OK that the test is crude: the purpose is not to
perform a thorough check but to catch the obvious mistakes which are
very frequent (i.e. the rule rather than the exception) in new
packages/files).  But the output would benefit from being more
user-friendly.


        Stefan




  reply	other threads:[~2017-12-11 15:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-10 22:15 ELPA Archive Build Fails Ian Dunn
2017-12-11 15:18 ` Ted Zlatanov
2017-12-11 15:41   ` Stefan Monnier [this message]
2017-12-14  5:28     ` Ted Zlatanov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvtvwxnuud.fsf-monnier+gmane.emacs.devel@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.