DOMjudge / domjudge

DOMjudge programming contest jury system
https://www.domjudge.org
GNU General Public License v2.0
713 stars 251 forks source link

Supported installations in $HOME #2201

Closed vmcj closed 6 months ago

vmcj commented 10 months ago

Description of the enhancement request

Currently we advice in the manual the prefix of $HOME, given that we have 4 main targets for configure:

The goal you want to achieve

Currently we have multiple failure stories in slack where people copied the manual and ended up in a system which we don't properly test and therefor their first experience with installing becomes a failure. We should make sure that following the manual does end up in a working system right before actually running stuff.

eldering commented 10 months ago

You can install in $HOME fine, but there's no assumption that you can do so without root privileges, and I don't think that that should automatically be assumed. Also note that https://github.com/DOMjudge/domjudge/blob/main/Makefile#L157-L163 does warn you that you need to perform permission fixes if you install as non-root.

vmcj commented 10 months ago

You can install in $HOME fine, but there's no assumption that you can do so without root privileges, and I don't think that that should automatically be assumed. Also note that https://github.com/DOMjudge/domjudge/blob/main/Makefile#L157-L163 does warn you that you need to perform permission fixes if you install as non-root.

I've tried running: ./configure --with-baseurl=localhost --prefix=$HOME; make judgehost; make install-judgehost and this only shows the error after commenting: https://github.com/DOMjudge/domjudge/blob/main/judge/Makefile#L36-L40. I suspect the value configure picks: * systemd unit files..: /lib/systemd/system is not wanted here, it's based on the output of pkg-config which makes that we fail in the install step before where the check you reference is used..