unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
       [not found] ` <20171024173457.C45BE2031F@vcs0.savannah.gnu.org>
@ 2017-10-25  7:27   ` Michael Albinus
  2017-10-25  8:37     ` Phillip Lord
                       ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Michael Albinus @ 2017-10-25  7:27 UTC (permalink / raw)
  To: emacs-devel; +Cc: Phillip Lord

phillip.lord@russet.org.uk (Phillip Lord) writes:

> diff --git a/admin/nt/dist-build/build-dep-zips.py b/admin/nt/dist-build/build-dep-zips.py
> new file mode 100755
> index 0000000..33bc4b5
> --- /dev/null
> +++ b/admin/nt/dist-build/build-dep-zips.py
> @@ -0,0 +1,223 @@
> +#!/usr/bin/python3

Likely I've missed the discussion, but do we want to distribute Python
scripts with Emacs?

Best regards, Michael.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25  7:27   ` emacs-26 3fc05cf: Scripts to automate windows binary distribution Michael Albinus
@ 2017-10-25  8:37     ` Phillip Lord
  2017-10-25 10:16       ` Michael Albinus
  2017-10-25 11:03       ` Noam Postavsky
  2017-10-25 12:11     ` Stefan Monnier
  2017-10-26  3:42     ` Richard Stallman
  2 siblings, 2 replies; 15+ messages in thread
From: Phillip Lord @ 2017-10-25  8:37 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel

Michael Albinus <michael.albinus@gmx.de> writes:

> phillip.lord@russet.org.uk (Phillip Lord) writes:
>
>> diff --git a/admin/nt/dist-build/build-dep-zips.py
>> b/admin/nt/dist-build/build-dep-zips.py
>> new file mode 100755
>> index 0000000..33bc4b5
>> --- /dev/null
>> +++ b/admin/nt/dist-build/build-dep-zips.py
>> @@ -0,0 +1,223 @@
>> +#!/usr/bin/python3
>
> Likely I've missed the discussion, but do we want to distribute Python
> scripts with Emacs?

modules/modhelp.py has been there since 2015, so we already do.

I started off writing this in bash, but it's such a pain that I ported
it to python which ended up much nicer. Given that this file has about a
15-20 minute run time, this seemed a useful thing to me. As it happens
it was also easy to make it go quicker which is important because it
means that I can do the build in the evening, rather than over two
evenings.

It only has to run in a single environment, and that environment has
python3. I'll probably port build-zips.sh at some point as well.

Phil



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25  8:37     ` Phillip Lord
@ 2017-10-25 10:16       ` Michael Albinus
  2017-10-25 10:53         ` Kaushal Modi
  2017-10-25 14:44         ` Eli Zaretskii
  2017-10-25 11:03       ` Noam Postavsky
  1 sibling, 2 replies; 15+ messages in thread
From: Michael Albinus @ 2017-10-25 10:16 UTC (permalink / raw)
  To: Phillip Lord; +Cc: emacs-devel

phillip.lord@russet.org.uk (Phillip Lord) writes:

Hi Phil,

>> Likely I've missed the discussion, but do we want to distribute Python
>> scripts with Emacs?
>
> modules/modhelp.py has been there since 2015, so we already do.

That's another level. It is a helper for writing external modules, and
it is not part of Emacs' infrastructure to make a distribution.

> I started off writing this in bash, but it's such a pain that I ported
> it to python which ended up much nicer. Given that this file has about a
> 15-20 minute run time, this seemed a useful thing to me. As it happens
> it was also easy to make it go quicker which is important because it
> means that I can do the build in the evening, rather than over two
> evenings.

If it were me, I would have taken Perl, I don't speak Python. Other
people would prefer Guile.

Before we continue with this, I would like to see a general
agreement. Or at least a go by the maintainers.

(Pls ignore this, if it was discussed and decided already)

The GNU Coding Standards claim:

"The standard extensibility interpreter for GNU software is Guile
(<http://www.gnu.org/software/guile/>), which implements the language
Scheme (an especially clean and simple dialect of Lisp).  [...]  We
don't reject programs written in other "scripting languages" such as
Perl and Python, but using Guile is the path that will lead to overall
consistency of the GNU system."

<https://www.gnu.org/prep/standards/standards.txt>

> Phil

Best regards, Michael.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25 10:16       ` Michael Albinus
@ 2017-10-25 10:53         ` Kaushal Modi
  2017-10-25 11:06           ` Michael Albinus
  2017-10-25 14:44         ` Eli Zaretskii
  1 sibling, 1 reply; 15+ messages in thread
From: Kaushal Modi @ 2017-10-25 10:53 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel, Phillip Lord

[-- Attachment #1: Type: text/plain, Size: 1845 bytes --]

On Wed, Oct 25, 2017, 6:17 AM Michael Albinus <michael.albinus@gmx.de>
wrote:

>
> If it were me, I would have taken Perl, I don't speak Python. Other
> people would prefer Guile.
>
> Before we continue with this, I would like to see a general
> agreement. Or at least a go by the maintainers.
>
> (Pls ignore this, if it was discussed and decided already)
>
> The GNU Coding Standards claim:
>
> "The standard extensibility interpreter for GNU software is Guile
> (<http://www.gnu.org/software/guile/>), which implements the language
> Scheme (an especially clean and simple dialect of Lisp).  [...]  We
> don't reject programs written in other "scripting languages" such as
> Perl and Python, but using Guile is the path that will lead to overall
> consistency of the GNU system."
>
> <https://www.gnu.org/prep/standards/standards.txt>
>

Just a bystander's observation:

It would be bad if this contribution is reverted *just because* the script
is written in Python. I have gone through pain in real world where just
because the upper management doesn't like one language, stuff written in
that language has to be rewritten in another. In my experience, it's simply
a waste of time, demoralizing, and a source for introduction of new bugs.

While the "introduction of bugs" might not apply to this 1 standalone
script, it would be nice if the same bike shedding doesn't happen in the
Emacs world too.

I code in Perl, Python, Bash and other scripts. While I might have a
preference to work with one over others, it's best to keep on maintaining
the scripts written in their original languages.

If Phil is actually proficient in Guile too, then may be rewriting that
script in Guile makes some sense to support the Gnu Coding standards. But
if he is not, then I believe it will be a waste of time and loss of
motivation.

> --

Kaushal Modi

[-- Attachment #2: Type: text/html, Size: 2756 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25  8:37     ` Phillip Lord
  2017-10-25 10:16       ` Michael Albinus
@ 2017-10-25 11:03       ` Noam Postavsky
  2017-10-25 15:42         ` Phillip Lord
  1 sibling, 1 reply; 15+ messages in thread
From: Noam Postavsky @ 2017-10-25 11:03 UTC (permalink / raw)
  To: Phillip Lord; +Cc: Michael Albinus, Emacs developers

On Wed, Oct 25, 2017 at 4:37 AM, Phillip Lord
<phillip.lord@russet.org.uk> wrote:

> I started off writing this in bash, but it's such a pain that I ported
> it to python which ended up much nicer. Given that this file has about a
> 15-20 minute run time, this seemed a useful thing to me. As it happens
> it was also easy to make it go quicker which is important because it
> means that I can do the build in the evening, rather than over two
> evenings.

Hmm, looking at the python, I don't see anything that couldn't be
easily done in bash, and if it was me, I would probably use bash for
this; but if you prefer python I don't see a problem with that.

> I'll probably port build-zips.sh at some point as well.

Python seems even less advantageous there, since it's mostly calling
external commands, no?

PS: With regards to making things run quicker, you might want to
consider passing --cache-file=../../config.cache.$ARCH to configure.
It would probably save a minute or two per build.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25 10:53         ` Kaushal Modi
@ 2017-10-25 11:06           ` Michael Albinus
  0 siblings, 0 replies; 15+ messages in thread
From: Michael Albinus @ 2017-10-25 11:06 UTC (permalink / raw)
  To: Kaushal Modi; +Cc: emacs-devel, Phillip Lord

Kaushal Modi <kaushal.modi@gmail.com> writes:

Hi kaushal,

> It would be bad if this contribution is reverted *just because* the
> script is written in Python. I have gone through pain in real world
> where just because the upper management doesn't like one language,
> stuff written in that language has to be rewritten in another. In my
> experience, it's simply a waste of time, demoralizing, and a source
> for introduction of new bugs. 

Of course, I appreciate heavily what Phil has done.

I'm not against Python scripts per se in Emacs. I just would like to see
a decision that they are acceptable. And it shall be documented
somewhere, which kind of interpreters are accepted for Emacs scripts at all.

> While the "introduction of bugs" might not apply to this 1 standalone
> script, it would be nice if the same bike shedding doesn't happen in
> the Emacs world too. 

It's not bike shedding. It's about future maintainability of Emacs. If
everybody contributes scripts in her pet language, we will have a
situation that those scripts cannot be maintained any longer in the
future.

Best regards, Michael.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25  7:27   ` emacs-26 3fc05cf: Scripts to automate windows binary distribution Michael Albinus
  2017-10-25  8:37     ` Phillip Lord
@ 2017-10-25 12:11     ` Stefan Monnier
  2017-10-25 15:45       ` Phillip Lord
  2017-10-26  3:42     ` Richard Stallman
  2 siblings, 1 reply; 15+ messages in thread
From: Stefan Monnier @ 2017-10-25 12:11 UTC (permalink / raw)
  To: emacs-devel

> Likely I've missed the discussion, but do we want to distribute Python
> scripts with Emacs?

FWIW, I don't see anything wrong with that in general.

I'd rather avoid the use of Python as a requirement for building Emacs
(not because of Python itself, but so as to avoid adding
yet-another-build-dependency), but IIUC the above script is not needed to
build Emacs, so it's OK.

> It's not bike shedding.  It's about future maintainability of Emacs.
> If everybody contributes scripts in her pet language, we will have a
> situation that those scripts cannot be maintained any longer in the
> future.

True to some extent (languages like Perl, Python, Ruby, JS, ... are
sufficiently similar to other languages that it's pretty easy to pick up
such a new language when needed, so "cannot be maintained" is a bit
pessimistic).

Tho here as well, Python is not some random pet language, so I think we
can decide that it's OK.


        Stefan




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25 10:16       ` Michael Albinus
  2017-10-25 10:53         ` Kaushal Modi
@ 2017-10-25 14:44         ` Eli Zaretskii
  2017-10-25 14:59           ` Michael Albinus
  1 sibling, 1 reply; 15+ messages in thread
From: Eli Zaretskii @ 2017-10-25 14:44 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel, phillip.lord

> From: Michael Albinus <michael.albinus@gmx.de>
> Date: Wed, 25 Oct 2017 12:16:59 +0200
> Cc: emacs-devel@gnu.org
> 
> > I started off writing this in bash, but it's such a pain that I ported
> > it to python which ended up much nicer. Given that this file has about a
> > 15-20 minute run time, this seemed a useful thing to me. As it happens
> > it was also easy to make it go quicker which is important because it
> > means that I can do the build in the evening, rather than over two
> > evenings.
> 
> If it were me, I would have taken Perl, I don't speak Python. Other
> people would prefer Guile.
> 
> Before we continue with this, I would like to see a general
> agreement. Or at least a go by the maintainers.

FWIW, I think the preferred scripting tool in the Emacs project should
be Emacs itself.  But that's me.

I don't see a problem to have scripts in Python under admin/.  That
stuff is not for the users, it's mainly for Emacs maintainers, so the
tools it requires are less important.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25 14:44         ` Eli Zaretskii
@ 2017-10-25 14:59           ` Michael Albinus
  2017-10-25 15:08             ` Óscar Fuentes
  2017-10-25 15:19             ` Eli Zaretskii
  0 siblings, 2 replies; 15+ messages in thread
From: Michael Albinus @ 2017-10-25 14:59 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel, phillip.lord

Eli Zaretskii <eliz@gnu.org> writes:

> I don't see a problem to have scripts in Python under admin/.  That
> stuff is not for the users, it's mainly for Emacs maintainers, so the
> tools it requires are less important.

Could we document, which languages are accepted there? Let's start with
Bash (or any POSIX shell), Guile, Perl, Python. Otherwise, somebody
might contribute Lua scripts, or whatever.

Best regards, Michael.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25 14:59           ` Michael Albinus
@ 2017-10-25 15:08             ` Óscar Fuentes
  2017-10-25 15:19             ` Eli Zaretskii
  1 sibling, 0 replies; 15+ messages in thread
From: Óscar Fuentes @ 2017-10-25 15:08 UTC (permalink / raw)
  To: emacs-devel

Michael Albinus <michael.albinus@gmx.de> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>> I don't see a problem to have scripts in Python under admin/.  That
>> stuff is not for the users, it's mainly for Emacs maintainers, so the
>> tools it requires are less important.
>
> Could we document, which languages are accepted there? Let's start with
> Bash (or any POSIX shell), Guile, Perl, Python. Otherwise, somebody
> might contribute Lua scripts, or whatever.

What's wrong with Lua? :-)

IMHO, on this case, where a maintainer just puts on the repo the scripts
he wrote for his tasks, it is ok to accept the language that the
contributor decides. If those scripts where meant for users, then indeed
we should decide what's more convenient.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25 14:59           ` Michael Albinus
  2017-10-25 15:08             ` Óscar Fuentes
@ 2017-10-25 15:19             ` Eli Zaretskii
  2017-10-25 15:27               ` Michael Albinus
  1 sibling, 1 reply; 15+ messages in thread
From: Eli Zaretskii @ 2017-10-25 15:19 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel, phillip.lord

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: phillip.lord@russet.org.uk,  emacs-devel@gnu.org
> Date: Wed, 25 Oct 2017 16:59:53 +0200
> 
> Could we document, which languages are accepted there?

Do we have to do that in advance?

> Let's start with Bash (or any POSIX shell), Guile, Perl,
> Python. Otherwise, somebody might contribute Lua scripts, or
> whatever.

If you ask me, it's the system shell and Python.  Guile is too similar
to Emacs Lisp to justify yet another scripting tool, and I don't see
why we would need Perl.

But again, I'd prefer not to start solving a problem which doesn't
seem to exist yet.  No one submitted a Lua script or even a Perl
script to us.  Let's defer debating this until it actually happens.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25 15:19             ` Eli Zaretskii
@ 2017-10-25 15:27               ` Michael Albinus
  0 siblings, 0 replies; 15+ messages in thread
From: Michael Albinus @ 2017-10-25 15:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel, phillip.lord

Eli Zaretskii <eliz@gnu.org> writes:

> But again, I'd prefer not to start solving a problem which doesn't
> seem to exist yet.  No one submitted a Lua script or even a Perl
> script to us.  Let's defer debating this until it actually happens.

Understood, I'll shut up :-)

Best regards, Michael.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25 11:03       ` Noam Postavsky
@ 2017-10-25 15:42         ` Phillip Lord
  0 siblings, 0 replies; 15+ messages in thread
From: Phillip Lord @ 2017-10-25 15:42 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: Michael Albinus, Emacs developers

Noam Postavsky <npostavs@users.sourceforge.net> writes:

> On Wed, Oct 25, 2017 at 4:37 AM, Phillip Lord
> <phillip.lord@russet.org.uk> wrote:
>
>> I started off writing this in bash, but it's such a pain that I ported
>> it to python which ended up much nicer. Given that this file has about a
>> 15-20 minute run time, this seemed a useful thing to me. As it happens
>> it was also easy to make it go quicker which is important because it
>> means that I can do the build in the evening, rather than over two
>> evenings.
>
> Hmm, looking at the python, I don't see anything that couldn't be
> easily done in bash, and if it was me, I would probably use bash for
> this; but if you prefer python I don't see a problem with that.

Oh, it was just the parallellisation step for the source download. It
wasn't a big deal one way or the other, and I am entirely happy to
accept that my ignorance about bash scripting is a major factor.

>> I'll probably port build-zips.sh at some point as well.
>
> Python seems even less advantageous there, since it's mostly calling
> external commands, no?

Yes, that's why I didn't port it.

> PS: With regards to making things run quicker, you might want to
> consider passing --cache-file=../../config.cache.$ARCH to configure.
> It would probably save a minute or two per build.

Good idea; for the pre-test and release builds, I do them clean anyway,
but for snapshots (assuming I start doing these), it would be a
significant win.

Phil



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25 12:11     ` Stefan Monnier
@ 2017-10-25 15:45       ` Phillip Lord
  0 siblings, 0 replies; 15+ messages in thread
From: Phillip Lord @ 2017-10-25 15:45 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Likely I've missed the discussion, but do we want to distribute Python
>> scripts with Emacs?
>
> FWIW, I don't see anything wrong with that in general.
>
> I'd rather avoid the use of Python as a requirement for building Emacs
> (not because of Python itself, but so as to avoid adding
> yet-another-build-dependency), but IIUC the above script is not needed to
> build Emacs, so it's OK.

This is entirely correct. It's doing the equivalent of "make-dist".

Phil



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: emacs-26 3fc05cf: Scripts to automate windows binary distribution
  2017-10-25  7:27   ` emacs-26 3fc05cf: Scripts to automate windows binary distribution Michael Albinus
  2017-10-25  8:37     ` Phillip Lord
  2017-10-25 12:11     ` Stefan Monnier
@ 2017-10-26  3:42     ` Richard Stallman
  2 siblings, 0 replies; 15+ messages in thread
From: Richard Stallman @ 2017-10-26  3:42 UTC (permalink / raw)
  To: Michael Albinus; +Cc: phillip.lord, 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. ]]]

  > Likely I've missed the discussion, but do we want to distribute Python
  > scripts with Emacs?

I see no reason to stubbornly reject them.

All else being equal, it would be better to stick to the languages we
use now.  (Using more languages would mean more than people need to learn.)
But if there is a substantial benefit from using Python, we can.

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-10-26  3:42 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20171024173456.23065.52677@vcs0.savannah.gnu.org>
     [not found] ` <20171024173457.C45BE2031F@vcs0.savannah.gnu.org>
2017-10-25  7:27   ` emacs-26 3fc05cf: Scripts to automate windows binary distribution Michael Albinus
2017-10-25  8:37     ` Phillip Lord
2017-10-25 10:16       ` Michael Albinus
2017-10-25 10:53         ` Kaushal Modi
2017-10-25 11:06           ` Michael Albinus
2017-10-25 14:44         ` Eli Zaretskii
2017-10-25 14:59           ` Michael Albinus
2017-10-25 15:08             ` Óscar Fuentes
2017-10-25 15:19             ` Eli Zaretskii
2017-10-25 15:27               ` Michael Albinus
2017-10-25 11:03       ` Noam Postavsky
2017-10-25 15:42         ` Phillip Lord
2017-10-25 12:11     ` Stefan Monnier
2017-10-25 15:45       ` Phillip Lord
2017-10-26  3:42     ` Richard Stallman

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).