#26 Add link in deployment docs to --system-site-packages rationale 2 months ago

Comment by ~shtrom on ~mediagoblin/mediagoblin

I'm a bit doubtful of the security argument. However, I think the system-site-packages is nonetheless mandatory, so that python-gobject, which is not a native Python module installable from PyPi is accessible to the Virtualenv. It is needed for GStreamer.

#2 Replace virtualenv dependency with python3-venv 2 months ago

Comment by ~shtrom on ~mediagoblin/mediagoblin

#14 Does pyconfigure even make sense anymore? 2 months ago

Comment by ~shtrom on ~mediagoblin/mediagoblin

My understanding is that we need to have a configure script as it is a requirement for GNU software https://www.gnu.org/prep/standards/standards.html#Configuration (note the “should”, not “must”, so maybe I'm reading too much there). I also just found this https://www.gnu.org/help/evaluation.html#whatmeans, which states “[T]here are a few general principles. Certain parts of the GNU coding standards directly affect the consistency of the whole system. These include the standards for configuring and building a program, and the standards for command-line options. It is important to make all GNU programs follow these standards,” but immediately dampens the statement with “where they are applicable.” Maybe having a configure script is not applicable to a Python program.

Anyway, taking a different tack, I have refactored the configure/make stuff to be (I think) a bit nicer. My branch is here: https://git.sr.ht/~shtrom/mediagoblin/log/refactor-configure

In my view, the first part of the configure/make phase creates all the artifacts that are needed prior to building the Python package, which can then be built the normal way. This is the approach that I have taken there.

There is also a bit of logic around Dockerising the whole build (which was my main objective, until the configure/make become too much of a sore spot). This way, we don't have to struggle to much with providing build dependencies (and the right versions thereof). Nonetheless, the configure script should now be a lot more specific at detecting them now (and is use both to detect Docker on the host, and check the dependencies in the guest).

That work on the branch is not entirely complete. I do get a functional Docker container out of it, which is a good start, though it is a bit fat... The docs generation is still in progress. Moreover I haven't fully tested the final Python wheel. A recuring concern I have is the dependency on python-gobject code, which I think can only be built locally or by the distro, and is not a native Python package.

#33 Login error: TypeError in basic auth's use of bcrypt 2 months ago

Comment by ~shtrom on ~mediagoblin/mediagoblin

I ran into the same problem when working on the tests.

This commit may fix your issue https://git.sr.ht/~shtrom/mediagoblin/commit/9b052dd53dbbe48de6dd7de67f80e95288a2b1eb