Skip to content

Setup Tools Permission Denied to write to /usr/local/share/applications/DroneCAN GUI Tool.desktop on Linux #94

@danapolsUM

Description

@danapolsUM

OS: Ubuntu 22.04.5

The removal of sudo in the Debian-based distribution installation causes the following error due to /usr/local/share/application needing sudo-level permissions to write to:

 Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [8 lines of output]
      running dist_info
      creating /tmp/pip-modern-metadata-53uoiwmb/dronecan_gui_tool.egg-info
      writing manifest file '/tmp/pip-modern-metadata-53uoiwmb/dronecan_gui_tool.egg-info/SOURCES.txt'
      writing manifest file '/tmp/pip-modern-metadata-53uoiwmb/dronecan_gui_tool.egg-info/SOURCES.txt'
      running install_desktop
      /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      error: [Errno 13] Permission denied: '/usr/local/share/applications/DroneCAN GUI Tool.desktop'
      [end of output]

A possible solution to not using sudo would be to instead store the .desktop file in ~/.local/share/applications. I looked into this a little bit with the install_freedesktop package currently being used, including trying to pass --user as a command line argument to the pip installation command, but it didn't seem to change anything. install_freedesktop appears to take arguments from distutills.command.install. The argument relevant to the installation destination of the .desktop file is install_data. However, this might cause the locations of other files to change as well, but I'm not sure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions