Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-20 Thread Valentin Villenave
On 4/19/20, David Kastrup  wrote:
> However, there are a few
> other problems with that regtest that should likely show with Guile-2
> (sometimes?).

Could you elaborate as to what I need to watch out for? I’ve tested it
successfully with Guile 2.2 here (but history has teached us that
unforeseen stuff can happen on various setups…).

Meanwhile, I’ve posted a fix for rmdir here:
https://codereview.appspot.com/573730044
(git-cl created a new page as I had deleted the temporary git branch
I’d previously been working with).

Cheers,
  - V.



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-20 Thread Jonas Hahnfeld
Am Sonntag, den 19.04.2020, 23:24 +0200 schrieb David Kastrup:
> Jonas Hahnfeld  writes:
> > To avoid this from happening again, can we please have the rule that
> > whoever reverts a commit or backs it out of staging is to provide
> > guidance on what's actually wrong? My feeling is that we could have had
> > this analysis last week already.
> 
> At that day I was having one patchy run after the other and I did go
> through the log files to indicate the failed file and the error message.
> I also compiled and ran this by hand and gave the error messages clearly
> indicating a non-empty directory.  At some point of time, I dropped the
> shoe.  It did not help my focus at that time that Han-Wen was fighting a
> contribution of mine nail and tooth.
> 
> A "rule" would not have helped since I did not end up dropping the shoe
> out of malice.  I went back several times to the problem, just not often
> enough to get a final diagnosis.  At some point of time I had to sleep.
> 
> Once we determine that I am endangering the project with my wanton
> recklessness, we might try reining me in with rules.  And since
> basically no-one else bothers reverting commits or backing them out of
> staging, such rules would pretty much apply only to me.
> 
> It's not like we have an abundance of people to commandeer here.

That's certainly not what I wanted to imply.
My consideration is that this patch went through the countdown twice
(and then some). It passed all tests before pushing, yet got reverted.
The failure was apparently hard to reproduce (which makes the case
tricky), so maybe this is just beyond what usually happens with a
patch?
Please take my statements as thoughts about how to improve experience
for contributors. I think there are better ways to spend your time than
guessing which part of your patch broke on a particular system.

Jonas


signature.asc
Description: This is a digitally signed message part


Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-19 Thread David Kastrup
Valentin Villenave  writes:

> On 4/19/20, David Kastrup  wrote:
>> At that day I was having one patchy run after the other and I did go
>> through the log files to indicate the failed file and the error message.
>
> Yep, and I asked for additional info both on the tracker and on
> Rietveld; the only reply I did get was from James who confirmed that
> the patch was actually running fine on his system, but we agreed to
> put it through the reviewing process again. It went through
> `reviewing’, `countdown’ and `push’ stages (and languished in the
> latter for one more week), at which point I thought I could give it
> another go (and I didn’t want to nag you about that any longer, as I
> quite noticed that you were focusing on more pressing issues). But at
> least this finally allowed us to track down the exact problem, and I
> will indeed submit a workaround soon.
>
>> At some point of time, I dropped the
>> shoe.  It did not help my focus at that time that Han-Wen was fighting a
>> contribution of mine nail and tooth.
>
> Indeed (and your work is still in limbo in that regard, which I hope
> gets resolved soon btw, as all this work on the C++ consistency is
> much more fundamental and important than some hackish regtest anyway).
>
> I have no objection to this getting reverted (yet again), as long as
> I’m now able to understand exactly what went wrong and why, which you
> turned out to be the only one who could investigate! So this is
> certainly not a case of shoe-dropping as far as I’m concerned.

Ball-dropping.  I really need to get my idioms right.

-- 
David Kastrup



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-19 Thread Valentin Villenave
On 4/19/20, David Kastrup  wrote:
> At that day I was having one patchy run after the other and I did go
> through the log files to indicate the failed file and the error message.

Yep, and I asked for additional info both on the tracker and on
Rietveld; the only reply I did get was from James who confirmed that
the patch was actually running fine on his system, but we agreed to
put it through the reviewing process again. It went through
`reviewing’, `countdown’ and `push’ stages (and languished in the
latter for one more week), at which point I thought I could give it
another go (and I didn’t want to nag you about that any longer, as I
quite noticed that you were focusing on more pressing issues). But at
least this finally allowed us to track down the exact problem, and I
will indeed submit a workaround soon.

> At some point of time, I dropped the
> shoe.  It did not help my focus at that time that Han-Wen was fighting a
> contribution of mine nail and tooth.

Indeed (and your work is still in limbo in that regard, which I hope
gets resolved soon btw, as all this work on the C++ consistency is
much more fundamental and important than some hackish regtest anyway).

I have no objection to this getting reverted (yet again), as long as
I’m now able to understand exactly what went wrong and why, which you
turned out to be the only one who could investigate! So this is
certainly not a case of shoe-dropping as far as I’m concerned.

Cheers,
  - V.



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-19 Thread David Kastrup
Jonas Hahnfeld  writes:

> Am Sonntag, den 19.04.2020, 22:16 +0200 schrieb David Kastrup:
>> pkx1...@posteo.net
>>  writes:
>> 
>> > Hello,
>> > 
>> > On 19/04/2020 17:53, David Kastrup wrote:
>> > > v.villen...@gmail.com
>> > >  writes:
>> > > 
>> > > > On 2020/04/11 09:44:26, Valentin Villenave wrote:
>> > > > > What could be the cause?
>> > > > 
>> > > > So, pushed as
>> > > > https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=0cfef7069e86f85ad392f5c4bc63f6c4801aa2c9
>> > > > 
>> > > > 
>> > > > V.
>> > > > 
>> > > > https://codereview.appspot.com/557640051/
>> > > > 
>> > > 
>> > > Breaks my patchy again.  Whose patchy was comfortable moving it from
>> > > staging to master?
>> > > 
>> > 
>> > Mine.
>> 
>> Ok, by now it has been determined that the breakage on my system likely
>> depends on a particular fontconfig version.  However, there are a few
>> other problems with that regtest that should likely show with Guile-2
>> (sometimes?).  I'll revert for now so that master builds for everyone
>> again.  That does not preclude a fixed variant to make it into master at
>> a later point of time.
>
> To avoid this from happening again, can we please have the rule that
> whoever reverts a commit or backs it out of staging is to provide
> guidance on what's actually wrong? My feeling is that we could have had
> this analysis last week already.

At that day I was having one patchy run after the other and I did go
through the log files to indicate the failed file and the error message.
I also compiled and ran this by hand and gave the error messages clearly
indicating a non-empty directory.  At some point of time, I dropped the
shoe.  It did not help my focus at that time that Han-Wen was fighting a
contribution of mine nail and tooth.

A "rule" would not have helped since I did not end up dropping the shoe
out of malice.  I went back several times to the problem, just not often
enough to get a final diagnosis.  At some point of time I had to sleep.

Once we determine that I am endangering the project with my wanton
recklessness, we might try reining me in with rules.  And since
basically no-one else bothers reverting commits or backing them out of
staging, such rules would pretty much apply only to me.

It's not like we have an abundance of people to commandeer here.

-- 
David Kastrup
My replies have a tendency to cause friction.  To help mitigating
damage, feel free to forward problematic posts to me adding a subject
like "timeout 1d" (for a suggested timeout of 1 day) or "offensive".



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-19 Thread Jonas Hahnfeld
Am Sonntag, den 19.04.2020, 22:16 +0200 schrieb David Kastrup:
> pkx1...@posteo.net
>  writes:
> 
> > Hello,
> > 
> > On 19/04/2020 17:53, David Kastrup wrote:
> > > v.villen...@gmail.com
> > >  writes:
> > > 
> > > > On 2020/04/11 09:44:26, Valentin Villenave wrote:
> > > > > What could be the cause?
> > > > 
> > > > So, pushed as
> > > > https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=0cfef7069e86f85ad392f5c4bc63f6c4801aa2c9
> > > > 
> > > > 
> > > > V.
> > > > 
> > > > https://codereview.appspot.com/557640051/
> > > > 
> > > 
> > > Breaks my patchy again.  Whose patchy was comfortable moving it from
> > > staging to master?
> > > 
> > 
> > Mine.
> 
> Ok, by now it has been determined that the breakage on my system likely
> depends on a particular fontconfig version.  However, there are a few
> other problems with that regtest that should likely show with Guile-2
> (sometimes?).  I'll revert for now so that master builds for everyone
> again.  That does not preclude a fixed variant to make it into master at
> a later point of time.

To avoid this from happening again, can we please have the rule that
whoever reverts a commit or backs it out of staging is to provide
guidance on what's actually wrong? My feeling is that we could have had
this analysis last week already.


signature.asc
Description: This is a digitally signed message part


Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-19 Thread David Kastrup
pkx1...@posteo.net writes:

> Hello,
>
> On 19/04/2020 17:53, David Kastrup wrote:
>> v.villen...@gmail.com writes:
>>
>>> On 2020/04/11 09:44:26, Valentin Villenave wrote:
 What could be the cause?
>>> So, pushed as
>>> https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=0cfef7069e86f85ad392f5c4bc63f6c4801aa2c9
>>>
>>> V.
>>>
>>> https://codereview.appspot.com/557640051/
>> Breaks my patchy again.  Whose patchy was comfortable moving it from
>> staging to master?
>>
> Mine.

Ok, by now it has been determined that the breakage on my system likely
depends on a particular fontconfig version.  However, there are a few
other problems with that regtest that should likely show with Guile-2
(sometimes?).  I'll revert for now so that master builds for everyone
again.  That does not preclude a fixed variant to make it into master at
a later point of time.

-- 
David Kastrup



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-19 Thread pkx166h

Hello,

On 19/04/2020 17:53, David Kastrup wrote:

v.villen...@gmail.com writes:


On 2020/04/11 09:44:26, Valentin Villenave wrote:

What could be the cause?

So, pushed as
https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=0cfef7069e86f85ad392f5c4bc63f6c4801aa2c9

V.

https://codereview.appspot.com/557640051/

Breaks my patchy again.  Whose patchy was comfortable moving it from
staging to master?


Mine.

James




Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-19 Thread Valentin Villenave
On 4/19/20, David Kastrup  wrote:
> v.villen...@gmail.com writes:
> Breaks my patchy again.  Whose patchy was comfortable moving it from
> staging to master?

Well, at any rate James’ patchy what fine with it. (As it went through
the review/countdown process not just once but twice.)

The regtest actually produces an additional PDF file that should allow
you to check manually that all temporary files have been removed.

Evidently in your case something else (but what?) gets created inside
the temporary directory, which it then can’t remove because it doesn’t
know about it. (I could issue a system call for `rm -rf`, but that
would miss the point.

I already caught one unintended side-effect which was that during make
doc, 'font-export-dir gets enabled and thus my temporary font file
gets referenced which broke make check. There may very well be another
side effect specific to either your system or your build process, but
I’d need help identifying it as I can’t seem to reproduce it myself
(obviously do feel free to revert in the meantime).

Cheers,
V.



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-19 Thread David Kastrup
v.villen...@gmail.com writes:

> On 2020/04/11 09:44:26, Valentin Villenave wrote:
>> What could be the cause?
>
> So, pushed as
> https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=0cfef7069e86f85ad392f5c4bc63f6c4801aa2c9
>
> V.
>
> https://codereview.appspot.com/557640051/

Breaks my patchy again.  Whose patchy was comfortable moving it from
staging to master?

-- 
David Kastrup



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-19 Thread v . villenave
On 2020/04/11 09:44:26, Valentin Villenave wrote:
> What could be the cause?

So, pushed as
https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=0cfef7069e86f85ad392f5c4bc63f6c4801aa2c9

V.

https://codereview.appspot.com/557640051/



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-04-11 Thread v . villenave


https://codereview.appspot.com/557640051/diff/565870043/input/regression/font-name-add-files.ly
File input/regression/font-name-add-files.ly (right):

https://codereview.appspot.com/557640051/diff/565870043/input/regression/font-name-add-files.ly#newcode244
input/regression/font-name-add-files.ly:244: #(rmdir dummyfontdir)

So, David ran into a "Directory not empty" error with this regtest, but
I
haven’t been able to reproduce it.
https://sourceforge.net/p/testlilyissues/issues/1204/?page=1#998e/7f0d

What could be the cause?

V.

https://codereview.appspot.com/557640051/



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-03-30 Thread v . villenave
On 2020/03/30 18:56:27, thomasmorley651 wrote:
> tmpnam is deprecated in guile-3.0.2

(sigh) Nice catch!

> Why introducing it, we would need to move away from it later anyway?

Well, I *would* have used mkstemp, but I need to create a directory
(rather than a file), and there’s no mkdtemp in Guile.  Plus, I wanted
the code to be supported by both Guile 1.8 and 2.  Plus, we’re already
using tmpnam somewhere else in the codebase.  Plus…

> Also, the link you provided speaks about security risks...

Yes, so I’ve seen.  I certainly *can* imagine how that could be
exploited in a critical case.  (And by letting users have access to a
Turing-complete language within LilyPond files, our exposure to security
faults is already quite wide.)  Then again, that’s a regtest we’re
talking about, not a snippet or a doc example, not something we’re
actively encouraging people to do at home.

Frankly, if anyone can think of a solution to do the exact same thing
with mkstemp (and to remove the temporary files after compilation), I’m
all ears.  As of right now, I know I can’t :-)

V.

https://codereview.appspot.com/557640051/



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-03-30 Thread thomasmorley65
On 2020/03/30 18:29:37, Valentin Villenave wrote:
> On 2020/03/30 16:06:08, lemzwerg wrote:
> > Is it guaranteed that we can create this directory?  What about
srcdir !=
> > builddir?
> 
> Yes.  It’s a (tmpnam) name, located in /tmp or $TMPDIR or whatever:
>
https://www.gnu.org/software/guile/manual/html_node/File-System.html#index-tmpnam
> That’s the mechanism we already use for intermediate-files.

Well, see 
https://lists.gnu.org/archive/html/guile-devel/2020-03/msg00046.html
tmpnam is deprecated in guile-3.0.2
Why introducing it, we would need to move away from it later anyway?
Also, the link you provided speaks about security risks...


https://codereview.appspot.com/557640051/



Re: Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-03-30 Thread v . villenave
Reviewers: lemzwerg,

Message:
On 2020/03/30 16:06:08, lemzwerg wrote:
> Is it guaranteed that we can create this directory?  What about srcdir
!=
> builddir?

Yes.  It’s a (tmpnam) name, located in /tmp or $TMPDIR or whatever:
https://www.gnu.org/software/guile/manual/html_node/File-System.html#index-tmpnam
That’s the mechanism we already use for intermediate-files.

The alternative would be to create the font files in the cwd, like what
markup-eps.ly does.  I decided against it because creating a file is
already intrusive, creating a subdir is somehow worse.

Now, ideally these should be removed after the PDF is generated.  The
problem is that (like intermediate-files, precisely) they need to be
deleted only after GhostScript’s done with them… and I’m not sure we’re
able to overwrite, for example, postprocess-output or output-framework
on-the-fly.  I don’t think the codebase needs additional hooks only for
one regtest to clean after itself, but it *could* be a problem for
systems that run the regtests continuously.

Thanks for the other nits, I’ve addressed them.

V.

Description:
Issue #1204: Document, and add regtest for, external fonts.

Add a few details in NR 1.8.3.1 "Fonts explained", and
a regtest with base64-embedded minimal OpenType fonts.
(I didn’t want to use musical symbols since the whole
point is that these glyphs are not to be confused with
whatever’s installed on the OS.)
The regtest has been tested with all major versions
since 2.12, and current master with and without Guile2.

Please review this at https://codereview.appspot.com/557640051/

Affected files (+256, -2 lines):
  M Documentation/notation/text.itely
  A input/regression/font-name-add-files.ly





Issue #1204: Document, and add regtest for, external fonts. (issue 557640051 by v.villen...@gmail.com)

2020-03-30 Thread lemzwerg--- via Discussions on LilyPond development
Nice idea, thanks.  Some nits and questions.


https://codereview.appspot.com/557640051/diff/571940043/Documentation/notation/text.itely
File Documentation/notation/text.itely (right):

https://codereview.appspot.com/557640051/diff/571940043/Documentation/notation/text.itely#newcode1552
Documentation/notation/text.itely:1552: (and thus available in LilyPond
scores), through the following commands:
no comma

https://codereview.appspot.com/557640051/diff/571940043/Documentation/notation/text.itely#newcode1558
Documentation/notation/text.itely:1558: 
I would remove this empty line in the @example environment.

https://codereview.appspot.com/557640051/diff/571940043/input/regression/font-name-add-files.ly
File input/regression/font-name-add-files.ly (right):

https://codereview.appspot.com/557640051/diff/571940043/input/regression/font-name-add-files.ly#newcode14
input/regression/font-name-add-files.ly:14: dummyfontfile = 
#(string-append (tmpnam) "-dummyfont.otf")
s/  / /

https://codereview.appspot.com/557640051/diff/571940043/input/regression/font-name-add-files.ly#newcode210
input/regression/font-name-add-files.ly:210: #(mkdir dummyfontdir)
Is it guaranteed that we can create this directory?  What about srcdir
!= builddir?

https://codereview.appspot.com/557640051/