Subject: bug#23371: emacs: paxctl usage on NetBSD

From: Paul Eggert <[email-masked]>
Date: Wed, 27 Apr 2016 12:38:53 -0700

On 04/27/2016 08:54 AM, Thomas Klausner wrote:
>> configure.ac says
>> that paxctl is used only when the operating system is GNU/Linux, unless one
>> manually configures by setting PAXCTL in the environment or using a
>> PAXCTL=/some/path argument to 'configure'.
> That's true, but src/Makefile.in ignores that:
> PAXCTL_if_present = $(or $(PAXCTL),: paxctl)

I guess I'm still not following. On non-GNU/Linux hosts, $(PAXCTL) 
should be empty because paxctl is not searched for, so PAXCTL_if_present 
should be ': paxctl', i.e., a no-op shell command. And yet you reported 
that your build used 'paxctl -zex' and 'paxctl -r'. Perhaps your build 
was actually using the no-ops ': paxctl -zex' and ': paxctl -r' and you 
didn't notice the colons? That is, perhaps you replaced ': paxctl -zex' 
(with a prefix colon) with 'paxctl +a' (without the colon)?

>
> My version is attached (I added some more paxctl's for the symlinks
> when the original version didn't work.) I hope I didn't break it.

Did it work with your version?

If so, does 'ln' and/or 'mv' remove the mark placed on an executable by 
'paxctl +a'? and if that happens, how does 'make install' avoid removing 
the mark in the installed Emacs?

If not, then I'm afraid I'm lost.

Also, I noticed that you removed the indenting on some of the 'ifeq' 
lines in src/Makefile.in; why was that necessary?