Re: Python setuptools and files to be installed in the installation prefix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Il giorno mar 2 ott 2018 alle 18:35, Adam Williamson <adamwill@xxxxxxxxxxxxxxxxx> ha scritto:
On Tue, 2018-10-02 at 16:30 +0200, Federico Bruni wrote:
 Hi folks

While trying to figure out a way to install some desktop specific files (such as APP.desktop or APP.appdata.xml) within the installation prefix (instead of python installation) using setuptools, I started wondering
 if it's actually a good idea.

Is this something that should be handled by Linux packagers (as it is
 now)?

 The application I'm working on (upstream) to improve the desktop
 related files is Frescobaldi.
 As you can see here¹, the desktop file is copied in the right
 directory thanks to the spec file.

 Some reasons to keep this behaviour:

- setuptools doesn't provide a way to uninstall a package so you have
 to do it manually, while a package removes all the installed files
- if you want to run a python package from source, there's no need to
 install it

 I'd be interested to know your thoughts.

FWIW, I've both done it and *not* done it, and my thoughts were similar
to yours. You can make it work but it's not the best thing in the
world.

For really simple things I'd say it's probably OK, just include a
warning about the uninstall problem - there is kinda a workaround for
that, IIRC, you can use pip to uninstall the module and it'll wipe the
data files too.


I had a look at it yesterday, while trying to figure out how setuptools was using data_files.
This page helped me a lot:
https://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives

I think I should not use absolute path for files defined in data_files, since they will be prepended by different directories, depending on the distribution archive you want to generate. Interestingly, the archive for a Linux installation contains the correct paths to the data_files. See my comment here:
https://github.com/wbsoft/frescobaldi/issues/673#issuecomment-426565727

I cannot remember how I created the NAME-linux-x86_64.tar.gz file though :( (note the x86_64 part, it's not a source archive)


For more complicated things you might want to consider shipping a more
generic deployment process using a Makefile or something, which calls
setup.py but installs and removes the other bits itself.


This will be the way to go, as the project needs a build tool anyway for a number of tasks. I'll probably go for Meson.

Thanks
Federico


_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux