Closed lmoureaux closed 5 years ago
avoiding putting things in macros into
/opt/cmsgemos/bin
May I ask what's the rationale for the difference between scripts
and macros
in this project?
I would have to go back in time to figure out why a given license was (probably arbitrarily) chosen for this project
Commit 3d58f5d2 by... @jsturdy. The commit message ("Initial commit") isn't helpful in telling how the license was chosen.
FYI:
May I ask what's the rationale for the difference between scripts and macros in this project?
Mainly, it is to isolate the key executable parts (analyzing scans, which should go in /opt/cmsgemos/bin
) from random plotting and style macros (can still be on the PATH
for ease of use, provided PATH
is modified to include the macros
directory)
Further down the road, much of this will be replaced with console_scripts
and entry_points
, but that is a minor priority
Removed the controversial move to a more standard behavior using standard tools; the rpm
package will now install man
pages in /usr/share
. Updated the first post accordingly.
Comments have been addressed and I'm waiting for another review.
Description
This PR modifies the Makefile and setup script to install the man pages. They are installed at
$BASE/share/man
, where$BASE
is as follows:$VIRTUAL_ENV
when installed within a virtualenv/usr
when installed system-wideMan pages in the virtualenv can be accessed by setting the correct
$MANPATH
.[outdated] A side-effect of this change is that I figured out how to modify the default
setuptools
install location. All scripts and macros are now installed in$BASE/bin
. This means thatvirtualenv
can take care of updating the$PATH
(system-wide installs still need a setup script). [/outdated]Another side-effect is that I corrected the license information in the package metadata. It was saying "MIT" while the
LICENSE
file always contained the text of GPLv3 (there is no way to change back to MIT without contacting every single contributor).The setup script and developer documentation will need to be updated to use the
$MANPATH
.Downsides
man
pages produced when the package is not installed may not be completely accurate. This is a problem formake rpm
since it doesn't work inside avirtualenv
.bin/
and undergempython/...
. I couldn't figure out why.[/outdated]As a result of these downsides and my inability to fix them shortly, this PR is provided more as a list of commits to be cherry-picked.
Types of changes
Motivation and Context
138
setup.py
:The preferred method (native support from
setuptools
) is now used. [/outdated]How Has This Been Tested?
pip
andrpm
packages were built, the former from avirtualenv
and the latter ongem904daq01
.pip
package was installed; scripts and man pages are correctly installed and have the correct permissions.rpm
package contains all files.man
pages built in each environment were (quickly) checked.Since I don't have access to a
rpm
-based machine and I don't want to install one, I couldn't check that therpm
package installs cleanly.Checklist: