New issue by ahesford on void-packages repository https://github.com/void-linux/void-packages/issues/30781 Description: The x2goserver package does not work as packaged and also contains some other issues that should be rectified: 1. It seems some references to a prefix of `/usr/local` still exist, leading to connection failures. (See Reference below.) 2. The package is missing a `perl-Try-Tiny` dependency that is required for `x2godbadmin` to run. 3. `makepasswd` should not be a dependency; the ChangeLog notes that `makepasswd` was replaced with `pwgen`, but this only seems to be used with a Postgres or MySQL backend. This makes `pwgen` optional, so it shouldn't be a dependency either. 4. The `post_extract` function in the template should be `post_patch` instead. Sometimes it is desirable to step through `xbps-src` stages manually to investigate the state of the build directory, and those patches should only be applied by `xbps-src patch x2goserver`, *not* `xbps-src extract x2goserver` as would happen now. 5. A runit server for `x2gocleansessions` should be provided. This has some caveats. Running `x2gocleansessions` without arguments causes the process to fork, which will cause runit's `runsv` to lose supervision over the process. Running `x2gocleansessions --debug` will prevent the fork, but will also spam the console with useless messages every second or so. The `x2gocleansessions` script should probably be patched to separate the no-fork flag from the debug flag, and that patch should be upstreamed. In the meantime, I am not sure how best to handle this. Maybe just manually drop the forking logic so `x2gocleansessions` always runs in the foreground? ## Test Procedure 1. Install `x2goclient`, `x2goserver` on two hosts (server.remote and client.local). 2. On server.remote, execute (as root) `x2godbadmin --create`. (This requires `perl-Try-Tiny` be installed.) 3. On server.remote, run `x2gocleansessions --debug`. 4. On client.local, launch `x2goclient` and create a new session to `server.remote`, selecting a "Single application" session type and trying to run `/usr/bin/xterm` (or some other X11 application installed on server.remote). 5. Attempt to start the session and observe a pop-up dialog showing the connection failure message in the Reference below. ## Reference: Failure message when connecting to a Void server: ``` Connection failed. /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") /usr/lib/x2go/x2gocheckport: line 131: '/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':: syntax error: operand expected (error token is "'/usr/local/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl':") Unable to find free display port or insert new session into database; parameters: port (50), hostname (my.remote.host.com) and session name (). ``` cc: @eoli3n