Subject: bug#71732: closed (Re: bug#71732: 30.0.50; [FR] xdg: provide an ability to create XDG directory, if it does not exist)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 23 Jun 2024 12:38:02 +0000

Your bug report

#71732: 30.0.50; [FR] xdg: provide an ability to create XDG directory, if it does not exist

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
71732: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71732
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#71732: 30.0.50; [FR] xdg: provide an ability to create XDG directory, if it does not exist
From: Eli Zaretskii <[email-masked]>
To: Ihor Radchenko <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sun, 23 Jun 2024 15:36:37 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Ihor Radchenko <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Sun, 23 Jun 2024 12:28:48 +0000
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> I am asking to provide an API function that will create XDG dir with
> >> appropriately assignment permissions. It will be up to the xdg.el caller
> >> to use that API function.
> >
> > Like I said earlier: this is a two-liner:
> >
> >   (with-file-modes 0700
> >     (make-directory DIR t))
> >
> > where the value 0700 is something the Lisp program should control.
> 
> Yes, it is a two-liner, but 0700 requires familiarity with XDG.

No, it doesn't.  It requires the decision which modes to use, which is
independent of what XDG mandates.

> 
> > I see no reason to provide an API for such simple code, let alone do
> > that in xdg.el.
> >
> > And if you still don't agree, let's at least agree to disagree.
> > because this argument begins to revisit what was already said.
> 
> Ok. Then, feel free to close the feature request.

Done.

Subject: 30.0.50; [FR] xdg: provide an ability to create XDG directory, if it does not exist
From: Ihor Radchenko <[email-masked]>
To: [email-masked]
Date: Sun, 23 Jun 2024 09:40:49 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Follow-up from "Please document the caching and its user options"
https://yhetil.org/emacs-devel/[email-masked]/

Currently `xdg-cache-home`, and other functions in xdg.el only return
the path, but never create any directories.

However, to follow XDG spec, XDG directories must follow certain
rules. In particular:

    If, when attempting to write a file, the destination directory is
    non-existent an attempt should be made to create it with permission
    0700. If the destination directory exists already the permissions
    should not be changed.
  https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

May you please add a functionality to xdg.el to create the directory
with right permissions, so that xdg.el users do not need to know these
technical details of the spec?

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>