From: phillip.lord@russet.org.uk
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Emacs 27.1 Windows Binaries -- testing wanted
Date: Sat, 22 Aug 2020 16:13:52 +0100 [thread overview]
Message-ID: <a5d45e9c8bad87469c43b147d678c02f@russet.org.uk> (raw)
In-Reply-To: <83a6ymagux.fsf@gnu.org>
On 2020-08-22 15:35, Eli Zaretskii wrote:
>> Date: Sat, 22 Aug 2020 14:53:15 +0100
>> From: phillip.lord@russet.org.uk
>> Cc: emacs-devel@gnu.org
>>
>> >> If I think back to the bugs with Emacs binary releases, this would
>> >> have
>> >> stopped only a few: harfbuzz and svg failure in this release. It would
>> >> not have prevented missing dependencies (I have missed all of
>> >> harfbuzz,
>> >> lcms and libjansson till late in the day), nor the failed optimization
>> >> or stripping.
>> >
>> > I don't understand this, either. If the dependencies of HarfBuzz are
>> > not installed, then the HarfBuzz font backend will not be available,
>> > and the way I suggested for testing its availability will tell you
>> > HarfBuzz doesn't work, which is AFAIU what you wanted. And the same
>> > with any other DLLs: if their dependencies are not available, they
>> > will fail to load when the feature test runs, and the test will fail.
>>
>> It would work if, when harfbuzz was installed w32-features was
>> updated,
>> but not if it wasn't. As the harfbuzz merge didn't update
>> build-deps.zh
>> which it arguable should have, then why would a test file be updated.
>
> Then I don't understand what you said in the quoted part above: you
> seemed to be saying that you could have detected the absence of
> HarfBuzz, but not of its dependencies. Which is why I wrote that
> having HarfBuzz without the dependencies will cause loading HarfBuzz
> to fail, and Emacs will think that HarfBuzz is not available. It
> doesn't matter whether the HarfBuzz DLL or its dependency DLLs are
> missing: in both cases the HarfBuzz DLL will fail to load.
>
> IOW, I thought you were describing the situation where w32-features
> _was_ updated to add a test for HarfBuzz. If not, then how could you
> have discovered that the DLL itself is not in the bundle?
So, there have been two problems with harfbuzz. First, when harfbuzz was
installed, build-deps.py was not updated. A test system would not have
picked this up. But someone complained about it in pre-release or
snapshot builds. After that I added harfbuzz to build-deps.py, but it
wasn't actually running. Iff I had added a test to w32-feature.el for
harfbuzz, which this would have been discovered earlier.
>> > No, our tests use skip-unless to avoid running tests that need
>> > features or programs which are unavailable.
>> >
>> >> json parsing is tested by make check and it will not work on msys2
>> >> if the dependencies are not installed.
>> >
>> > I didn't look into this, but if json testing fails instead of skipping
>> > all the tests, that's a bug that should be fixed.
>>
>> I think you are correct about all of these. In either case, the tests
>> will not pass!
>
> Skipping a test and failing a test is not the same. You are looking
> for failures: tests that should have succeeded, but didn't.
Indeed not. But, skipping a test because something is not compiled in is
wrong iff the feature is supposed to be compiled in. Running "make
check" on my windows build machine will only pick up errors with json
parsing if libjansson was installed. It would nice to have a "make
check" which assumes that all standard features (appropriate for the
platform) are installed and fails (not skips).
>> > That's not what worries me. What worries me is the fact that a file
>> > distributed as part of the Lisp libraries will have its contents
>> > depend on the last release you personally did, with whatever quirks
>> > that required from the tests in that file. It doesn't sound right to
>> > me.
>>
>> Not sure I understand this. A lisp library with "w32-" in it's name
>> will
>> have behaviour which reflects how the official binaries are supposed
>> to
>> behave. If this worries you, as I say, I can add it to
>> `data-directory'
>> instead. But, it has to be in the distribution.
>
> I thought we were talking about a feature that could serve any end
> user, including those who build their own Emacs, not just the person
> who produces the official binaries. If this is only about the
> official binaries, then why does it have to be under lisp/? Where you
> build the binaries, you always have the admin/ directory, albeit not
> in the distribution zip, so how can its being in admin/ be a problem
> for you? You should be able to invoke the test file from any
> directory on your system, not just from the unpacked archive.
Because I have multiple admin directories, as I build both snapshot and
release binaries. I do this by having a git worktree for emacs-27 and
another for master. By putting the lisp test file in the distribution, I
can guarantee that it is the right one.
I am guessing that I would be the main user of this, and possibly the
only user. It might be useful for anyone building Emacs binaries,
however, so that they could check that their binary distribution has all
of the standard features compiled in (or dynamically loadable). But this
would require more logic as the standard features are not quite the same
on all platforms, I think. It might also be useful for if someone
reports that a feature is missing from a windows distribution that they
have downloaded as it would provide a standard way of checking.
Regardless, these are secondary issues. Right now, I want something that
means I can check whether I have created a regression of the svg or
harfbuzz issues. Without this, I am going to be very wary of trying
alternative mechanisms for identifying dependencies; I still think that
the windows binary distribution is unnecessarily complicated, based on
the msys2 dependencies as given.
Phil
next prev parent reply other threads:[~2020-08-22 15:13 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-18 2:05 Emacs 27.1 Windows Binaries -- testing wanted Jonathan Mitchell
2020-08-18 4:55 ` Eli Zaretskii
2020-08-18 6:56 ` phillip.lord
2020-08-18 7:11 ` Jonathan Mitchell
2020-08-18 15:34 ` Eli Zaretskii
2020-08-18 15:57 ` Óscar Fuentes
2020-08-18 16:33 ` Eli Zaretskii
2020-08-18 16:48 ` Óscar Fuentes
2020-08-18 17:05 ` Eli Zaretskii
2020-08-18 19:32 ` Stefan Monnier
2020-08-19 2:32 ` Eli Zaretskii
2020-08-19 13:10 ` Stefan Monnier
2020-08-19 15:06 ` Eli Zaretskii
2020-08-19 15:30 ` Stefan Monnier
2020-08-19 16:39 ` Eli Zaretskii
2020-08-18 17:20 ` phillip.lord
2020-08-18 18:11 ` Daniel Brooks
2020-08-18 18:58 ` Eli Zaretskii
2020-08-18 19:54 ` Daniel Brooks
2020-08-18 18:15 ` Eli Zaretskii
2020-08-21 19:16 ` phillip.lord
2020-08-21 19:44 ` Eli Zaretskii
2020-08-21 21:37 ` phillip.lord
2020-08-21 22:53 ` Drew Adams
2020-08-22 6:46 ` Eli Zaretskii
2020-08-22 10:30 ` phillip.lord
2020-08-24 9:28 ` Robert Pluim
2020-08-24 10:40 ` Eli Zaretskii
2020-08-24 12:11 ` Robert Pluim
2020-08-24 15:14 ` Stefan Monnier
2020-08-24 15:48 ` Eli Zaretskii
2020-08-24 16:49 ` Stefan Monnier
2020-08-24 17:06 ` phillip.lord
2020-08-24 17:10 ` Eli Zaretskii
2020-08-24 18:35 ` Stephen Leake
2020-08-24 18:54 ` Stefan Monnier
2020-08-24 17:01 ` phillip.lord
2020-08-21 20:15 ` Alan Third
2020-08-21 21:56 ` phillip.lord
2020-08-22 6:37 ` Eli Zaretskii
2020-08-22 10:21 ` phillip.lord
2020-08-22 10:40 ` Eli Zaretskii
2020-08-22 10:53 ` phillip.lord
2020-08-22 11:15 ` Eli Zaretskii
2020-08-22 12:52 ` phillip.lord
2020-08-22 13:08 ` Eli Zaretskii
2020-08-22 13:53 ` phillip.lord
2020-08-22 14:35 ` Eli Zaretskii
2020-08-22 15:13 ` phillip.lord [this message]
2020-08-22 15:19 ` Eli Zaretskii
2020-08-22 17:28 ` phillip.lord
2020-08-22 17:32 ` Eli Zaretskii
2020-08-22 20:18 ` phillip.lord
2020-08-22 20:32 ` Stefan Monnier
2020-08-23 21:19 ` phillip.lord
2020-08-23 21:57 ` Stefan Monnier
2020-08-23 5:36 ` Eli Zaretskii
2020-08-23 7:53 ` phillip.lord
-- strict thread matches above, loose matches on Subject: below --
2020-08-10 23:00 Emacs 27.1 released Nicolas Petton
2020-08-12 12:01 ` phillip.lord
2020-08-15 17:49 ` Emacs 27.1 Windows Binaries -- testing wanted phillip.lord
2020-08-15 17:54 ` Eli Zaretskii
2020-08-15 18:38 ` Stephen Leake
2020-08-15 19:57 ` Alan Third
2020-08-17 4:44 ` Sivaram Neelakantan
2020-08-17 23:24 ` Tak Kunihiro
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a5d45e9c8bad87469c43b147d678c02f@russet.org.uk \
--to=phillip.lord@russet.org.uk \
--cc=eliz@gnu.org \
--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 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).