all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: master fails to build on FreeBSD when ACL support is on
Date: Fri, 19 Jan 2018 20:45:04 +0200	[thread overview]
Message-ID: <83lggtu1qn.fsf@gnu.org> (raw)
In-Reply-To: <jwvy3ktak50.fsf-monnier+gmane.emacs.devel@gnu.org> (message from Stefan Monnier on Fri, 19 Jan 2018 11:38:56 -0500)

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Fri, 19 Jan 2018 11:38:56 -0500
> 
> > -                        (make-temp-file (file-name-nondirectory target-file)))
> > +                        ;; If target-file is relative and includes
> > +                        ;; leading directories, make-temp-file will
> > +                        ;; assume those leading directories exist
> > +                        ;; under temporary-file-directory, which might
> > +                        ;; not be true.  So strip leading directories
> > +                        ;; from relative file names before calling
> > +                        ;; make-temp-file.
> > +                        (if (file-name-absolute-p target-file)
> > +                            (make-temp-file target-file)
> > +                          (make-temp-file
> > +                           (file-name-nondirectory target-file))))
> 
> Hmm.. the comment here doesn't explain the (file-name-absolute-p
> target-file) test, and the commit message

It doesn't?

> +                        ;; If target-file is relative and includes
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^

> IIUC the core of the problem has to do with different ACLs in /tmp and
> the final destination of the .elc file, but it seems like this problem
> should apply regardless of whether that final destination is specified
> as a relative or an absolute file name, right?

Yes, the change doesn't fix the ACL problem on FreeBSD, it just allows
Emacs to be built on that system.  I don't know enough about FreeBSD
ACLs to fix the general problem, and such a solution wouldn't be
appropriate for the release branch anyway.

> So maybe rather than (file-name-absolute-p target-file) we should check
> something related to ACLs, or (eq system-type 'feebsd-foo)?

No, the change in bytecomp.el is a step in the right direction anyway,
as it's closer to what the code did before my previous change (which
uncovered the FreeBSD problem).

> Or maybe we should just never use /tmp and just go with
> 
>     (make-temp-file (expand-file-name target-file))
> 
> ?

Why is that better?

Once again, the general ACL problem on FreeBSD needs to be
investigated and solved, perhaps by declaring that system unfit for
using ACLs (if worse comes to worst).  Any other "solution" is just a
workaround, so they all just side-step the issue.



  reply	other threads:[~2018-01-19 18:45 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-16  4:20 master fails to build on FreeBSD when ACL support is on Joseph Mingrone
2018-01-16 17:06 ` Paul Eggert
2018-01-16 18:16 ` Eli Zaretskii
2018-01-18 23:40   ` Joseph Mingrone
2018-01-19 14:45     ` Eli Zaretskii
2018-01-19 14:59       ` Joseph Mingrone
2018-01-19 15:33         ` Eli Zaretskii
2018-01-19 16:38       ` Stefan Monnier
2018-01-19 18:45         ` Eli Zaretskii [this message]
2018-01-19 20:53           ` Stefan Monnier
2018-01-19 21:17             ` Glenn Morris
2018-01-21  1:04               ` Glenn Morris
2018-01-21  3:42                 ` Paul Eggert
2018-11-14 23:12                 ` Glenn Morris
2018-11-15  1:23                   ` Paul Eggert
2018-11-15 14:48                     ` Eli Zaretskii
2018-01-19 22:42             ` Paul Eggert
2018-01-20  7:52               ` Michael Albinus
2018-01-21  3:49                 ` Paul Eggert
2018-01-21 12:14                   ` Michael Albinus
2018-01-20  7:57               ` Eli Zaretskii
2018-01-20 20:47                 ` Joseph Mingrone
2018-01-20 23:35                   ` Joseph Mingrone
2018-01-21  3:41                     ` Paul Eggert
2018-01-21  3:50                       ` Stefan Monnier
2018-01-22  6:42                         ` Paul Eggert
2018-01-22 14:11                           ` Stefan Monnier
2018-01-21 15:53                       ` Eli Zaretskii
2018-01-22  6:52                         ` Paul Eggert
2018-01-22 15:52                           ` Eli Zaretskii
2018-01-22 17:02                             ` Paul Eggert
2018-01-22 17:41                               ` Eli Zaretskii
2018-01-22 18:50                                 ` Paul Eggert
2018-01-22 20:32                                   ` Eli Zaretskii
2018-01-23  0:47                                     ` Paul Eggert
2018-01-21 15:56                   ` Eli Zaretskii
2018-01-21 16:22                     ` Joseph Mingrone
2018-01-20  7:46             ` Eli Zaretskii
2018-01-17 18:33 ` Ashish SHUKLA
2018-01-17 18:53   ` Joseph Mingrone

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83lggtu1qn.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.