You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Ignacio Taranto (Jira)" <ji...@apache.org> on 2021/06/24 13:40:00 UTC

[jira] [Updated] (BEAM-12534) Support the XDG Base Directory Specification

     [ https://issues.apache.org/jira/browse/BEAM-12534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ignacio Taranto updated BEAM-12534:
-----------------------------------
    Description: 
Currently on Linux, Apache Beam puts it's cache under *~/.apache_beam/cache* which is not nice for the user since it clutters he's/she's home directory.

I would suggest adding support for the [XDG Base Directory Specification|https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html] which basically states that:
 * Cache files under go under *$XDG_CACHE_HOME* (*$HOME/.cache* if *XDG_CACHE_HOME* is not defined).
 * Configuration files go under *$XDG_CONFIG_HOME* (with *$HOME/.config* if *XDG_CONFIG_HOME* is not defined)
 * User data files go under *$XDG_DATA_HOME* (*$HOME/.local/share* if *XDG_DATA_HOME* is not defined)

In the case of Apache Beam the paths would be:
 * *$XDG_CACHE_HOME/apache_beam*
 * *$XDG_CONFIG_HOME/apache_beam*
 * *$XDG_DATA_HOME/apache_beam*

This allow for easier backups and not cluttering the user's home directory with application files.

I know that the separation in this 3 categories require some refactor, but at least moving *$HOME/.apache_beam* to *$HOME/.local/share/apache_beam* would be a _huge_ improvement.

  was:
Currently on Linux, Apache Beam puts it's cache under *~/.apache_beam/cache* which is not nice for the user since it clutters he's/she's home directory.

I would suggest adding support for the [XDG Base Directory Specification|https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html] which basically states that:
 * Configuration files must go under *$XDG_CONFIG_HOME/apache_beam* (with *$HOME/.config/apache_beam* if *XDG_CONFIG_HOME* is not defined)
 * User data files *$XDG_DATA_HOME/apache_beam* (*$HOME/.local/share/apache_beam* if *XDG_DATA_HOME* is not defined)
 * Cache files under *$XDG_CACHE_HOME/apache_beam* (*$HOME/.cache/apache_beam* if *XDG_CACHE_HOME* is not defined).

This allow for easier backups and not cluttering the user's home directory with application files.

I know that the separation in this 3 categories require some refactor, but at least moving *$HOME/.apache_beam* to *$HOME/.local/share/apache_beam* would be a huge improvement.


> Support the XDG Base Directory Specification
> --------------------------------------------
>
>                 Key: BEAM-12534
>                 URL: https://issues.apache.org/jira/browse/BEAM-12534
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-core
>    Affects Versions: 2.30.0
>         Environment: Linux
>            Reporter: Ignacio Taranto
>            Priority: P2
>
> Currently on Linux, Apache Beam puts it's cache under *~/.apache_beam/cache* which is not nice for the user since it clutters he's/she's home directory.
> I would suggest adding support for the [XDG Base Directory Specification|https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html] which basically states that:
>  * Cache files under go under *$XDG_CACHE_HOME* (*$HOME/.cache* if *XDG_CACHE_HOME* is not defined).
>  * Configuration files go under *$XDG_CONFIG_HOME* (with *$HOME/.config* if *XDG_CONFIG_HOME* is not defined)
>  * User data files go under *$XDG_DATA_HOME* (*$HOME/.local/share* if *XDG_DATA_HOME* is not defined)
> In the case of Apache Beam the paths would be:
>  * *$XDG_CACHE_HOME/apache_beam*
>  * *$XDG_CONFIG_HOME/apache_beam*
>  * *$XDG_DATA_HOME/apache_beam*
> This allow for easier backups and not cluttering the user's home directory with application files.
> I know that the separation in this 3 categories require some refactor, but at least moving *$HOME/.apache_beam* to *$HOME/.local/share/apache_beam* would be a _huge_ improvement.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)