Roundup Tracker - Issues

Message7389

Author marcus.priesch
Recipients marcus.priesch, rouilj
Date 2021-12-01.08:50:19
Message-id <0bcb979b-a709-36de-fc90-318d15bb485a@priesch.co.at>
In-reply-to <1638308269.33.0.37587534427.issue2551169@roundup.psfhosted.org>
> No distribution is packaging roundup. Debian gave up on it a number of

not al all ;) - in gentoo you have it:

$ equery l -p roundup
  * Searching for roundup ...
[-P-] [  ] www-apps/roundup-2.0.0:0

> One of the big issues with packaging roundup is how customizable the
> tracker is. You can't just blindly upgrade. Version to version
> upgrades are usually not that bad, but I have one person who is
> jumping from 1.3 something to 2.1 who is having a hard time of it.

gentoo has webapp-config for this kind of things - i think it would take 
some effort to have roundup supported there:

	https://wiki.gentoo.org/wiki/Webapp-config

but the problem i think is more related to customized tracker settings...

>> when i install as superuser using "pip install roundup" or "setup.py
>> install" (which in my opinion nobody should do at all) - everything goes
>> into /usr/local
> 
> Not necessarily depends on the distribution, /usr/lib/pythonxx/site-packages is also
> possible.

yeah, but then you have mixed your "user space" with your "distribution 
space" - you can easily run into the problem that some other (system) 
package updates you some dependency and your stuff doesnt work any more 
... ;)

> In my (admittedly small sample) 80% of the installs are using
> setup.py in a VM spun up to support roundup. The initial complaint
> that the man pages, templates and locales were buried came from just
> such an install.

hm ... imho if you use tarball + setup.py you have everything at hand 
and you shouldnt need a man page ... at least its only for roundup-admin 
which is covered nicely on the web ... ;) - anyway.

> Also we have a docker install as well where the man command etc. should
> just work.

cool, but here you can have an install script which does the correct 
things for your "distribution" which is running in the container.

> Distutils used to install manpages, etc. in the normal system
> places. Changing to setuptools changed that. Setuptools only supports
> creating executables wrappers in a place on the path. It has no
> support for man, locale or other files. That has to be done in the
> setup.py installer.

hmm, maybe they dropped it just because of the complexity this creates, 
and the things we are discussing here ;)

i just took a look at django, as they also have lots of template files 
and static files you can use in you project or not.

its all in a package there and stuff gets installed by using 
"include_package_data" - maybe this could be a way to go, to not install 
templates into /usr/share/roundup but have them as python packages and 
when you initialise a tracker stuff gets copied to your tracker-home ?

>> but these aspects again should be covered with correctly
>> working setuptools et al (correctly patched by the gentoo devs so that
>> these files end up being installed in the correct place and are
>> accessible by "man") ...
> 
> Setuptools provides no such mechanism and will not.  I have lost the
> link to the multi year old ticket/forum multi where this issue was
> discussed and fixes were proposed but there was no consensus by
> developers on fixing this.

ok.

>> 	https://github.com/django/django
> 
>>From the setup file, it looks like the man page is just buried on the
> system somewhere. I don't see any indication that django's setup.py is
> following the documented steps to override man page placement under
> the python install directory.

ok, i think it is done in the scripts/rpm-install.sh ;)

> Sadly Os X on mac's put things in really odd places.
> 
> The install directory is:
> 
>     /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
> 
> and the man directory is /usr/share/man/. So regardless of what
> solution happens here won't work in all cases.

YEAH - but i dont think you can support all these systems ... ;) - i 
think there is also an Amiga port of python existing ;) and of course 
winxxx...

maybe just try to install the man page into /usr/local, /usr depending 
on uid of the installer and give a warning if it fails.

and package templates like django does ?

just installed django and roundup here in gentoo, below are some 
locations of installed files:

django (locale files in the python packages)
 >>> /usr/lib/python3.8/site-packages/django/conf/locale/de/
 >>> /usr/lib/python3.8/site-packages/django/conf/locale/de/LC_MESSAGES/
 >>> 
/usr/lib/python3.8/site-packages/django/conf/locale/de/LC_MESSAGES/django.po
 >>> 
/usr/lib/python3.8/site-packages/django/conf/locale/de/LC_MESSAGES/django.mo
 >>> /usr/lib/python3.8/site-packages/django/conf/locale/de/__init__.py
 >>> /usr/lib/python3.8/site-packages/django/conf/locale/de/formats.py
 >>> /usr/bin/django-admin (symlink)
 >>> /usr/share/doc/django-3.2.8/
 >>> /usr/share/doc/django-3.2.8/README.rst.bz2
 >>> /usr/share/doc/django-3.2.8/AUTHORS.bz2
 >>> /usr/share/bash-completion/completions/django-admin

roundup:
 >>> /usr/lib/python3.9/site-packages/roundup/
 >>> /usr/share/roundup/cgi-bin/roundup.cgi
 >>> /usr/share/roundup/templates/
 >>> /usr/share/man/man1/roundup-server.1.bz2
 >>> /usr/share/man/man1/roundup-demo.1.bz2
 >>> /usr/share/man/man1/roundup-admin.1.bz2
 >>> /usr/share/man/man1/roundup-mailgw.1.bz2
 >>> /usr/share/locale/es/LC_MESSAGES/roundup.mo
 >>> /usr/share/doc/roundup-2.0.0/
 >>> /usr/share/doc/roundup-2.0.0/FAQ.txt.bz2
 >>> /usr/share/doc/roundup-2.0.0/CHANGES.txt.bz2
 >>> /usr/bin/roundup-admin (symlink)

peeking into the ebuild files, both just run some 
"distutils-r1_python_install_all" command and merge the result into the 
rootfs -  django doing some additional bashcompletion stuff.

so there are no man pages installed in the django case ... hm ... if 
they dont do it, should we ?

looking at the gentoo package path i see the discrepancy:

dev-python/django is merely a dev stuff whereas
www-apps/roundup clearly is a web-application - which someone could 
argue - should have a manpage ;)

so my proposal:

  * locales should be handled like in django
  * templates should be packages - or at least package data ?
   -> so everything whats needed is in the python path

  * man pages get only installed by the distribution-package
    -> or try in setup.py like stated above and give a hint when
       it fails

anyway ... think to have to work on the frontend again :(

cheers,
marcus.
History
Date User Action Args
2021-12-01 08:50:20marcus.prieschsetrecipients: + marcus.priesch, rouilj
2021-12-01 08:50:20marcus.prieschlinkissue2551169 messages
2021-12-01 08:50:19marcus.prieschcreate