* bug#30350: Build breakage of master on MacOS 10.13
2018-02-06 15:27 ` bug#30350: " Mikhail Gusarov
@ 2018-02-06 17:40 ` John Wiegley
2018-02-06 21:26 ` Mikhail Gusarov
2018-02-06 18:56 ` Alan Third
2018-02-06 21:14 ` Philipp Stephani
2 siblings, 1 reply; 11+ messages in thread
From: John Wiegley @ 2018-02-06 17:40 UTC (permalink / raw)
To: Mikhail Gusarov; +Cc: 30350, Philipp Stephani
>>>>> "MG" == Mikhail Gusarov <dottedmag@dottedmag.net> writes:
MG> org/org-timer.el:39:1:Error: Searching for program: Is a
MG> directory, /bin/zsh
MG> The file in question is not a directory:
MG> Yes, it is. I can't find the relevant sources right away, but opening a
MG> file inside a file is a syntax for opening resource forks under OS X, so
MG> `/foo/bar/baz/.` is a "directory" of resource forks there. This syntax is
MG> not likely to go away anytime soon.
Mikhail, are you saying that "/bin/zsh", where /bin/zsh is a file, should
report as a directory on OS X? I think I've misunderstood your comment.
--
John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#30350: Build breakage of master on MacOS 10.13
2018-02-06 17:40 ` John Wiegley
@ 2018-02-06 21:26 ` Mikhail Gusarov
2018-02-06 21:29 ` Philipp Stephani
2018-02-06 21:30 ` Mikhail Gusarov
0 siblings, 2 replies; 11+ messages in thread
From: Mikhail Gusarov @ 2018-02-06 21:26 UTC (permalink / raw)
To: John Wiegley; +Cc: 30350, Philipp Stephani
Hi John,
On Tue, 6 Feb 2018, at 18:40, John Wiegley wrote:
> Mikhail, are you saying that "/bin/zsh", where /bin/zsh is a file, should
> report as a directory on OS X? I think I've misunderstood your comment.
I'm saying that on OS X stat'ing /bin/zsh and /bin/zsh/ (or /bin/zsh/.) gives different results:
% stat /bin/zsh
16777220 721698 -rwxr-xr-x 1 root wheel 0 610288 "Feb 6 22:24:24 2018" "Sep 21 06:35:23 2017" "Nov 6 13:34:29 2017" "Sep 21 06:35:23 2017" 4194304 808 0x80020 /bin/zsh
% stat /bin/zsh/.
stat: /bin/zsh/.: stat: Not a directory
% stat /bin/zsh/
stat: /bin/zsh/: stat: Not a directory
%
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#30350: Build breakage of master on MacOS 10.13
2018-02-06 21:26 ` Mikhail Gusarov
@ 2018-02-06 21:29 ` Philipp Stephani
2018-02-06 21:31 ` Mikhail Gusarov
2018-02-06 21:30 ` Mikhail Gusarov
1 sibling, 1 reply; 11+ messages in thread
From: Philipp Stephani @ 2018-02-06 21:29 UTC (permalink / raw)
To: Mikhail Gusarov; +Cc: 30350, John Wiegley
[-- Attachment #1: Type: text/plain, Size: 891 bytes --]
Mikhail Gusarov <dottedmag@dottedmag.net> schrieb am Di., 6. Feb. 2018 um
22:26 Uhr:
> Hi John,
>
> On Tue, 6 Feb 2018, at 18:40, John Wiegley wrote:
>
> > Mikhail, are you saying that "/bin/zsh", where /bin/zsh is a file, should
> > report as a directory on OS X? I think I've misunderstood your comment.
>
> I'm saying that on OS X stat'ing /bin/zsh and /bin/zsh/ (or /bin/zsh/.)
> gives different results:
>
> % stat /bin/zsh
> 16777220 721698 -rwxr-xr-x 1 root wheel 0 610288 <06102%2088> "Feb 6
> 22:24:24 2018" "Sep 21 06:35:23 2017" "Nov 6 13:34:29 2017" "Sep 21
> 06:35:23 2017" 4194304 808 0x80020 /bin/zsh
> % stat /bin/zsh/.
> stat: /bin/zsh/.: stat: Not a directory
> % stat /bin/zsh/
> stat: /bin/zsh/: stat: Not a directory
> %
>
That's the behavior required by POSIX, and Linux behaves in exactly the
same way, so it's not something where we'd need to special-case macOS.
[-- Attachment #2: Type: text/html, Size: 1343 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#30350: Build breakage of master on MacOS 10.13
2018-02-06 21:29 ` Philipp Stephani
@ 2018-02-06 21:31 ` Mikhail Gusarov
0 siblings, 0 replies; 11+ messages in thread
From: Mikhail Gusarov @ 2018-02-06 21:31 UTC (permalink / raw)
To: Philipp Stephani; +Cc: 30350, John Wiegley
[-- Attachment #1: Type: text/plain, Size: 714 bytes --]
On Tue, 6 Feb 2018, at 22:29, Philipp Stephani wrote:
> I'm saying that on OS X stat'ing /bin/zsh and /bin/zsh/ (or
> /bin/zsh/.) gives different results:>>
>> % stat /bin/zsh
>> 16777220 721698 -rwxr-xr-x 1 root wheel 0 610288[1] "Feb 6 22:24:24
>> 2018" "Sep 21 06:35:23 2017" "Nov 6 13:34:29 2017" "Sep 21 06:35:23
>> 2017" 4194304 808 0x80020 /bin/zsh>> % stat /bin/zsh/.
>> stat: /bin/zsh/.: stat: Not a directory
>> % stat /bin/zsh/
>> stat: /bin/zsh/: stat: Not a directory
>> %
>
> That's the behavior required by POSIX, and Linux behaves in
> exactly the same way, so it's not something where we'd need to special-
> case macOS.
Ah, ignore me then, please :)
Links:
1. tel:06102%2088
[-- Attachment #2: Type: text/html, Size: 1400 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#30350: Build breakage of master on MacOS 10.13
2018-02-06 21:26 ` Mikhail Gusarov
2018-02-06 21:29 ` Philipp Stephani
@ 2018-02-06 21:30 ` Mikhail Gusarov
1 sibling, 0 replies; 11+ messages in thread
From: Mikhail Gusarov @ 2018-02-06 21:30 UTC (permalink / raw)
To: John Wiegley; +Cc: 30350, Philipp Stephani
On Tue, 6 Feb 2018, at 22:26, Mikhail Gusarov wrote:
> I'm saying that on OS X stat'ing /bin/zsh and /bin/zsh/ (or /bin/zsh/.)
> gives different results:
And here is a test program and its output:
#include <sys/stat.h>
#include <errno.h>
#include <stdio.h>
static void teststat(const char *filename)
{
struct stat st;
errno = 0;
int res = stat(filename, &st);
printf("%s stat->%d errno->%d\n", filename, res, errno);
}
int main()
{
teststat("/bin/zsh");
teststat("/bin/zsh/");
teststat("/bin/zsh/.");
return 0;
}
% ./a
/bin/zsh stat->0 errno->0
/bin/zsh/ stat->-1 errno->20
/bin/zsh/. stat->-1 errno->20
%
errno 20 is ENOTDIR.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#30350: Build breakage of master on MacOS 10.13
2018-02-06 15:27 ` bug#30350: " Mikhail Gusarov
2018-02-06 17:40 ` John Wiegley
@ 2018-02-06 18:56 ` Alan Third
2018-02-06 21:15 ` Philipp Stephani
2018-02-06 21:14 ` Philipp Stephani
2 siblings, 1 reply; 11+ messages in thread
From: Alan Third @ 2018-02-06 18:56 UTC (permalink / raw)
To: Mikhail Gusarov; +Cc: 30350, Philipp Stephani, Paul Eggert
On Tue, Feb 06, 2018 at 04:27:40PM +0100, Mikhail Gusarov wrote:
> Yes, it is. I can't find the relevant sources right away, but opening a
> file inside a file is a syntax for opening resource forks under OS X,
> so `/foo/bar/baz/.` is a "directory" of resource forks there. This
> syntax is not likely to go away anytime soon.
Hmm, perhaps this method of checking for a directory just won’t ever
work reliably on macOS then.
--
Alan Third
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#30350: Build breakage of master on MacOS 10.13
2018-02-06 18:56 ` Alan Third
@ 2018-02-06 21:15 ` Philipp Stephani
0 siblings, 0 replies; 11+ messages in thread
From: Philipp Stephani @ 2018-02-06 21:15 UTC (permalink / raw)
To: Alan Third; +Cc: 30350, Paul Eggert, Mikhail Gusarov
[-- Attachment #1: Type: text/plain, Size: 686 bytes --]
Alan Third <alan@idiocy.org> schrieb am Di., 6. Feb. 2018 um 19:56 Uhr:
> On Tue, Feb 06, 2018 at 04:27:40PM +0100, Mikhail Gusarov wrote:
> > Yes, it is. I can't find the relevant sources right away, but opening a
> > file inside a file is a syntax for opening resource forks under OS X,
> > so `/foo/bar/baz/.` is a "directory" of resource forks there. This
> > syntax is not likely to go away anytime soon.
>
> Hmm, perhaps this method of checking for a directory just won’t ever
> work reliably on macOS then.
>
>
But it works reliable in all isolated test cases that I've tried. Only the
combination with call-process seems to cause issues for some weird reason.
[-- Attachment #2: Type: text/html, Size: 999 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#30350: Build breakage of master on MacOS 10.13
2018-02-06 15:27 ` bug#30350: " Mikhail Gusarov
2018-02-06 17:40 ` John Wiegley
2018-02-06 18:56 ` Alan Third
@ 2018-02-06 21:14 ` Philipp Stephani
2 siblings, 0 replies; 11+ messages in thread
From: Philipp Stephani @ 2018-02-06 21:14 UTC (permalink / raw)
To: Mikhail Gusarov; +Cc: 30350
[-- Attachment #1: Type: text/plain, Size: 1054 bytes --]
Mikhail Gusarov <dottedmag@dottedmag.net> schrieb am Di., 6. Feb. 2018 um
16:28 Uhr:
> Hi.
>
> On Tue, 6 Feb 2018, at 09:08, Philipp Stephani wrote:
>
> I see a breakage of Emacs build on master under MacOS 10.13. Build stops
> with the following message:
>
> org/org-timer.el:39:1:Error: Searching for program: Is a directory,
> /bin/zsh
>
> The file in question is not a directory:
>
> % ls -l /bin/zsh
> 404K -rwxr-xr-x 1 root wheel 596K
>
> This is https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30350.
>
>
> Yes, it is. I can't find the relevant sources right away, but opening a
> file inside a file is a syntax for opening resource forks under OS X, so
> `/foo/bar/baz/.` is a "directory" of resource forks there. This syntax is
> not likely to go away anytime soon.
>
>
It's true that you can access the forks in a pseudo-directory
/foo/bar/baz/..namedforks/, but faccessat still seems to work correctly
even for files containing resource forks, at least on my system. That is,
the POSIX API doesn't actually treat /foo/bar/baz/. as a directory.
[-- Attachment #2: Type: text/html, Size: 1919 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread