* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
[not found] ` <20220101215824.BB13CC0DEC3@vcs2.savannah.gnu.org>
@ 2022-01-01 23:03 ` Stefan Monnier
2022-01-01 23:47 ` Stefan Kangas
0 siblings, 1 reply; 18+ messages in thread
From: Stefan Monnier @ 2022-01-01 23:03 UTC (permalink / raw
To: emacs-devel; +Cc: Stefan Kangas
> Add license file with GPLv3
Why? It just bloats the tarball with yet another copy of the file every
Emacs user already has.
Please make sure those redundant files aren't included in the tarballs
(with `:ignore` or `.elpaignore`).
Stefan
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-01 23:03 ` [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3 Stefan Monnier
@ 2022-01-01 23:47 ` Stefan Kangas
2022-01-02 0:02 ` Stefan Kangas
2022-01-02 0:16 ` Stefan Monnier
0 siblings, 2 replies; 18+ messages in thread
From: Stefan Kangas @ 2022-01-01 23:47 UTC (permalink / raw
To: Stefan Monnier, emacs-devel
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> Why? It just bloats the tarball with yet another copy of the file every
> Emacs user already has.
It seems like a good idea that the packages themselves have that file in
their repository, but I don't feel strongly about it either way. I'm
happy to stop suggesting to add that if you prefer; it will save me five
minutes per package or so.
> Please make sure those redundant files aren't included in the tarballs
> (with `:ignore` or `.elpaignore`).
How about adding the files "LICENSE", "LICENSE.md" and "COPYING" to a
global ignore list instead? (Those three being the variations I have
seen so far.)
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-01 23:47 ` Stefan Kangas
@ 2022-01-02 0:02 ` Stefan Kangas
2022-01-02 11:52 ` Philip Kaludercic
2022-01-02 20:02 ` Stefan Monnier
2022-01-02 0:16 ` Stefan Monnier
1 sibling, 2 replies; 18+ messages in thread
From: Stefan Kangas @ 2022-01-02 0:02 UTC (permalink / raw
To: Stefan Monnier, emacs-devel
Stefan Kangas <stefan@marxist.se> writes:
> How about adding the files "LICENSE", "LICENSE.md" and "COPYING" to a
> global ignore list instead? (Those three being the variations I have
> seen so far.)
IOW, how about something like this (untested)? I think there are some
other files that we could always exclude as well, like ".dir-locals.el",
".github", "*-tests.el", and ".travis.yml".
diff --git a/elpa-admin.el b/elpa-admin.el
index b4ad318ef..37b3112dd 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -562,6 +562,10 @@ auxillary files unless TARBALL-ONLY is non-nil ."
"######## Build of package %s FAILED!!")
tarball)))))
+(defvar elpaa--make-tarball-global-ignore
+ '("COPYING" "LICENSE" "LICENSE.md")
+ "List of files that will not be included in the tarball.")
+
(defun elpaa--make-one-tarball-1 ( tarball dir pkg-spec metadata
&optional revision-function tarball-only)
(elpaa--with-temp-files
@@ -572,7 +576,8 @@ auxillary files unless TARBALL-ONLY is non-nil ."
(make-directory destdir)))
(vers (nth 1 metadata))
(elpaignore (expand-file-name ".elpaignore" dir))
- (ignores (elpaa--spec-get pkg-spec :ignored-files))
+ (ignores (append (elpaa--spec-get pkg-spec :ignored-files)
+ elpaa--make-tarball-global-ignore))
(renames (elpaa--spec-get pkg-spec :renames))
(ldir (elpaa--spec-get pkg-spec :lisp-dir))
(re (concat "\\`" (regexp-quote pkgname)
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-01 23:47 ` Stefan Kangas
2022-01-02 0:02 ` Stefan Kangas
@ 2022-01-02 0:16 ` Stefan Monnier
2022-01-02 1:34 ` Stefan Kangas
1 sibling, 1 reply; 18+ messages in thread
From: Stefan Monnier @ 2022-01-02 0:16 UTC (permalink / raw
To: Stefan Kangas; +Cc: emacs-devel
> How about adding the files "LICENSE", "LICENSE.md" and "COPYING" to a
> global ignore list instead? (Those three being the variations I have
> seen so far.)
I'd rather not, especially since some packages may be using some
other license, in which case we shouldn't just skip them.
Stefan
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 0:16 ` Stefan Monnier
@ 2022-01-02 1:34 ` Stefan Kangas
0 siblings, 0 replies; 18+ messages in thread
From: Stefan Kangas @ 2022-01-02 1:34 UTC (permalink / raw
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> I'd rather not, especially since some packages may be using some
> other license, in which case we shouldn't just skip them.
OK, makes sense. I will add the license file to :ignored-files for the
packages where I sent pull requests. (I won't go around closing the
ones that remain open, but I'll update the recipes.)
What do you think about ignoring globally some of the other files I
mentioned? We already ignore e.g. ".git" and ".gitignore", so I would
say those would be analogous. I could write up a patch.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 0:02 ` Stefan Kangas
@ 2022-01-02 11:52 ` Philip Kaludercic
2022-01-02 16:00 ` Stefan Kangas
` (2 more replies)
2022-01-02 20:02 ` Stefan Monnier
1 sibling, 3 replies; 18+ messages in thread
From: Philip Kaludercic @ 2022-01-02 11:52 UTC (permalink / raw
To: Stefan Kangas; +Cc: Stefan Monnier, emacs-devel
Stefan Kangas <stefan@marxist.se> writes:
> Stefan Kangas <stefan@marxist.se> writes:
>
>> How about adding the files "LICENSE", "LICENSE.md" and "COPYING" to a
>> global ignore list instead? (Those three being the variations I have
>> seen so far.)
>
> IOW, how about something like this (untested)? I think there are some
> other files that we could always exclude as well, like ".dir-locals.el",
> ".github", "*-tests.el", and ".travis.yml".
Not sure about .dir-locals.el (the developers might be using the special
kind of indentation set via .dir-locals.el), but next to these I'd also
suggest removing "Cask" and "Makefile".
And while we are at it, is there a reason not to add a MELPA-like
keyword to manually specify what files are part of a package? Whenever
a single repository is used to maintain multiple packages (like Magit or
Embark) there is always a long list of :ignored-files that have to be
duplicated for every package. Perhaps a more general version of
.elpaignore could be used to declare packages externally.
> diff --git a/elpa-admin.el b/elpa-admin.el
> index b4ad318ef..37b3112dd 100644
> --- a/elpa-admin.el
> +++ b/elpa-admin.el
> @@ -562,6 +562,10 @@ auxillary files unless TARBALL-ONLY is non-nil ."
> "######## Build of package %s FAILED!!")
> tarball)))))
>
> +(defvar elpaa--make-tarball-global-ignore
> + '("COPYING" "LICENSE" "LICENSE.md")
> + "List of files that will not be included in the tarball.")
> +
> (defun elpaa--make-one-tarball-1 ( tarball dir pkg-spec metadata
> &optional revision-function tarball-only)
> (elpaa--with-temp-files
> @@ -572,7 +576,8 @@ auxillary files unless TARBALL-ONLY is non-nil ."
> (make-directory destdir)))
> (vers (nth 1 metadata))
> (elpaignore (expand-file-name ".elpaignore" dir))
> - (ignores (elpaa--spec-get pkg-spec :ignored-files))
> + (ignores (append (elpaa--spec-get pkg-spec :ignored-files)
> + elpaa--make-tarball-global-ignore))
> (renames (elpaa--spec-get pkg-spec :renames))
> (ldir (elpaa--spec-get pkg-spec :lisp-dir))
> (re (concat "\\`" (regexp-quote pkgname)
>
>
--
Philip Kaludercic
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 11:52 ` Philip Kaludercic
@ 2022-01-02 16:00 ` Stefan Kangas
2022-01-02 20:12 ` Stefan Monnier
2022-01-03 4:37 ` Richard Stallman
2 siblings, 0 replies; 18+ messages in thread
From: Stefan Kangas @ 2022-01-02 16:00 UTC (permalink / raw
To: Philip Kaludercic; +Cc: Stefan Monnier, emacs-devel
Philip Kaludercic <philipk@posteo.net> writes:
> And while we are at it, is there a reason not to add a MELPA-like
> keyword to manually specify what files are part of a package? Whenever
> a single repository is used to maintain multiple packages (like Magit or
> Embark) there is always a long list of :ignored-files that have to be
> duplicated for every package. Perhaps a more general version of
> .elpaignore could be used to declare packages externally.
Both of these ideas sounds good to me.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 0:02 ` Stefan Kangas
2022-01-02 11:52 ` Philip Kaludercic
@ 2022-01-02 20:02 ` Stefan Monnier
2022-01-02 20:24 ` Stefan Kangas
1 sibling, 1 reply; 18+ messages in thread
From: Stefan Monnier @ 2022-01-02 20:02 UTC (permalink / raw
To: Stefan Kangas; +Cc: emacs-devel
> IOW, how about something like this (untested)? I think there are some
> other files that we could always exclude as well, like ".dir-locals.el",
> ".github", "*-tests.el", and ".travis.yml".
`.dir-locals.el`, `.github`, and `.travis.yml` are usually very small,
so I don't see much benefit in skipping them (and for `.dir-locals.el`
I can see a clear harm since users might still look at (or even edit)
the installed files and the local vars might be useful).
Same for the Makefiles.
I think rather than "are they useful" the criteria should be "are they
harmful". E.g. I objected to the addition of a copy of the GPLv3 text
because in those packages it takes more space than the rest of the
package, which I consider harmful.
Stefan
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 11:52 ` Philip Kaludercic
2022-01-02 16:00 ` Stefan Kangas
@ 2022-01-02 20:12 ` Stefan Monnier
2022-01-03 8:41 ` Stefan Kangas
2022-01-03 4:37 ` Richard Stallman
2 siblings, 1 reply; 18+ messages in thread
From: Stefan Monnier @ 2022-01-02 20:12 UTC (permalink / raw
To: Philip Kaludercic; +Cc: Stefan Kangas, emacs-devel
> And while we are at it, is there a reason not to add a MELPA-like
> keyword to manually specify what files are part of a package? Whenever
> a single repository is used to maintain multiple packages (like Magit or
> Embark) there is always a long list of :ignored-files that have to be
> duplicated for every package. Perhaps a more general version of
> .elpaignore could be used to declare packages externally.
I'm not very much in favor:
- We currently don't support such packages well anyway.
There are various more-or-less minor annoyances that could be fixed
without too much effort, e.g. the various Magit-derived packages get
redundantly auto-sync'd, and they result in duplicate worktrees
(unless you manually replace them with symlinks, admittedly).
- It gets worse when you consider installation via Git (rather
than via ELPA), in which case you get all the sub-packages in your
`load-path` even if you only activate one of them; and it's not
clear how to fix that.
This second point (to me) means that we want to discourage these kinds of
multi-packages that are bundled in a single branch.
Stefan
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 20:02 ` Stefan Monnier
@ 2022-01-02 20:24 ` Stefan Kangas
2022-01-02 20:31 ` Stefan Monnier
0 siblings, 1 reply; 18+ messages in thread
From: Stefan Kangas @ 2022-01-02 20:24 UTC (permalink / raw
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> `.dir-locals.el`, `.github`, and `.travis.yml` are usually very small,
> so I don't see much benefit in skipping them (and for `.dir-locals.el`
> I can see a clear harm since users might still look at (or even edit)
> the installed files and the local vars might be useful).
> Same for the Makefiles.
>
> I think rather than "are they useful" the criteria should be "are they
> harmful". E.g. I objected to the addition of a copy of the GPLv3 text
> because in those packages it takes more space than the rest of the
> package, which I consider harmful.
I can see the sense in including ".dir-locals.el" but e.g. ".github"
and ".travis.yml" only makes sense in relation to proprietary software,
so I think arguably they are harmful.
I think other than that, I have no objection to what you write but we
should probably document that criteria somewhere.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 20:24 ` Stefan Kangas
@ 2022-01-02 20:31 ` Stefan Monnier
2022-01-04 4:04 ` Stefan Kangas
0 siblings, 1 reply; 18+ messages in thread
From: Stefan Monnier @ 2022-01-02 20:31 UTC (permalink / raw
To: Stefan Kangas; +Cc: emacs-devel
> ".github" and ".travis.yml" only makes sense in relation to
> proprietary software, so I think arguably they are harmful.
Fair enough.
> I think other than that, I have no objection to what you write but we
> should probably document that criteria somewhere.
Someone™ could document it Somewhere™, indeed.
Probably in the part of the README that discusses the `:ignored-files`.
Stefan
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 11:52 ` Philip Kaludercic
2022-01-02 16:00 ` Stefan Kangas
2022-01-02 20:12 ` Stefan Monnier
@ 2022-01-03 4:37 ` Richard Stallman
2022-01-03 8:20 ` Philip Kaludercic
2 siblings, 1 reply; 18+ messages in thread
From: Richard Stallman @ 2022-01-03 4:37 UTC (permalink / raw
To: Philip Kaludercic; +Cc: stefan, monnier, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> And while we are at it, is there a reason not to add a MELPA-like
> keyword to manually specify what files are part of a package? Whenever
> a single repository is used to maintain multiple packages (like Magit or
> Embark) there is always a long list of :ignored-files that have to be
> duplicated for every package. Perhaps a more general version of
> .elpaignore could be used to declare packages externally.
Would you please post a self-contained description of what you propose
we do? One that doesn't assume any knowledge of MELPA?
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-03 4:37 ` Richard Stallman
@ 2022-01-03 8:20 ` Philip Kaludercic
2022-01-04 3:09 ` Richard Stallman
0 siblings, 1 reply; 18+ messages in thread
From: Philip Kaludercic @ 2022-01-03 8:20 UTC (permalink / raw
To: Richard Stallman; +Cc: stefan, monnier, emacs-devel
Richard Stallman <rms@gnu.org> writes:
> [[[ To any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> > And while we are at it, is there a reason not to add a MELPA-like
> > keyword to manually specify what files are part of a package? Whenever
> > a single repository is used to maintain multiple packages (like Magit or
> > Embark) there is always a long list of :ignored-files that have to be
> > duplicated for every package. Perhaps a more general version of
> > .elpaignore could be used to declare packages externally.
>
> Would you please post a self-contained description of what you propose
> we do? One that doesn't assume any knowledge of MELPA?
Currently, each package specification may have the form
("foo" :url "https://git.host/path/to/repo"
:ignored-files ("Makefile" "baz.el"))
("baz" :url "https://git.host/path/to/repo"
:ignored-files ("Makefile" "foo.el"))
where I assume that the repository consists of the files foo.el, baz.el
and Makefile, and you would want to distribute two separate packages.
What I was thinking of was to add a keyword like :files to explicitly
list what files are added to a package:
("foo" :url "https://git.host/path/to/repo"
:files ("foo.el"))
("baz" :url "https://git.host/path/to/repo"
:files ("baz.el"))
--
Philip Kaludercic
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 20:12 ` Stefan Monnier
@ 2022-01-03 8:41 ` Stefan Kangas
2022-01-03 15:46 ` Stefan Monnier
0 siblings, 1 reply; 18+ messages in thread
From: Stefan Kangas @ 2022-01-03 8:41 UTC (permalink / raw
To: Stefan Monnier, Philip Kaludercic; +Cc: emacs-devel
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> This second point (to me) means that we want to discourage these kinds of
> multi-packages that are bundled in a single branch.
But how does making our own work more tedious discourage package authors
from doing that?
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-03 8:41 ` Stefan Kangas
@ 2022-01-03 15:46 ` Stefan Monnier
0 siblings, 0 replies; 18+ messages in thread
From: Stefan Monnier @ 2022-01-03 15:46 UTC (permalink / raw
To: Stefan Kangas; +Cc: Philip Kaludercic, emacs-devel
Stefan Kangas [2022-01-03 03:41:11] wrote:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> This second point (to me) means that we want to discourage these kinds of
>> multi-packages that are bundled in a single branch.
> But how does making our own work more tedious discourage package authors
> from doing that?
By magical thinking.
Stefan
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-03 8:20 ` Philip Kaludercic
@ 2022-01-04 3:09 ` Richard Stallman
0 siblings, 0 replies; 18+ messages in thread
From: Richard Stallman @ 2022-01-04 3:09 UTC (permalink / raw
To: Philip Kaludercic; +Cc: stefan, monnier, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
Thanks for the explanation.
Would it make sense to ask the developers to record in their repo
which files belong to which package, in some way that is convenient
for them? If the developers are willing to do that (or have already
done that), maybe we could arrange to follow what they specify; then
we would not need to have to specify anything manually about how to
split up the repo into its various packages.
If the method we recommend is simple, and convenient for them, I think
most of them will agree to do it.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-02 20:31 ` Stefan Monnier
@ 2022-01-04 4:04 ` Stefan Kangas
2022-01-04 6:04 ` Stefan Monnier
0 siblings, 1 reply; 18+ messages in thread
From: Stefan Kangas @ 2022-01-04 4:04 UTC (permalink / raw
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> ".github" and ".travis.yml" only makes sense in relation to
>> proprietary software, so I think arguably they are harmful.
>
> Fair enough.
BTW, I don't think you commented on test files, or did I miss it?
I think we should skip test files for the same reason as for the license
file.
> Someone™ could document it Somewhere™, indeed.
> Probably in the part of the README that discusses the `:ignored-files`.
I happen to know that Someone™ is writing up a patch and will commit it
Somewhere™ later.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3
2022-01-04 4:04 ` Stefan Kangas
@ 2022-01-04 6:04 ` Stefan Monnier
0 siblings, 0 replies; 18+ messages in thread
From: Stefan Monnier @ 2022-01-04 6:04 UTC (permalink / raw
To: Stefan Kangas; +Cc: emacs-devel
Stefan Kangas [2022-01-03 23:04:15] wrote:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>> ".github" and ".travis.yml" only makes sense in relation to
>>> proprietary software, so I think arguably they are harmful.
>> Fair enough.
> BTW, I don't think you commented on test files, or did I miss it?
> I think we should skip test files for the same reason as for the license
> file.
I think, just as for the license file, it depends on the case.
If the tests are small enough, I see no need to skip them.
Stefan
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2022-01-04 6:04 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <164107430330.17202.17260845381664886032@vcs2.savannah.gnu.org>
[not found] ` <20220101215824.BB13CC0DEC3@vcs2.savannah.gnu.org>
2022-01-01 23:03 ` [nongnu] elpa/rainbow-delimiters a32b39bdfe: Add license file with GPLv3 Stefan Monnier
2022-01-01 23:47 ` Stefan Kangas
2022-01-02 0:02 ` Stefan Kangas
2022-01-02 11:52 ` Philip Kaludercic
2022-01-02 16:00 ` Stefan Kangas
2022-01-02 20:12 ` Stefan Monnier
2022-01-03 8:41 ` Stefan Kangas
2022-01-03 15:46 ` Stefan Monnier
2022-01-03 4:37 ` Richard Stallman
2022-01-03 8:20 ` Philip Kaludercic
2022-01-04 3:09 ` Richard Stallman
2022-01-02 20:02 ` Stefan Monnier
2022-01-02 20:24 ` Stefan Kangas
2022-01-02 20:31 ` Stefan Monnier
2022-01-04 4:04 ` Stefan Kangas
2022-01-04 6:04 ` Stefan Monnier
2022-01-02 0:16 ` Stefan Monnier
2022-01-02 1:34 ` Stefan Kangas
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).