feat: add *BSD support
Steps:
- Download GhostBSD XFCE
- Install to Disk/VM
- Boot into it
- Open terminal
- sudo pkg install -g "GhostBSD*-dev"
- sudo pkg install vim rsync git wget curl gsed gnugrep gawk samba416 7-zip cabextract wine-devel winetricks
- git clone https://github.com/FaithLife-Community/LogosLinuxInstaller
- cd LogosLinuxInstaller
- chmod 700 ./scripts/ensure*
- ./scripts/ensure-python.sh
- ensure-venv fails if run from fish and without the export
- bash
- export LD_LIBRARY_PATH=/opt/lib
- ./scripts/ensure-venv.sh
- /opt/bin/python3 -m venv venv
- source ./venv/bin/activate
- pip install .
- pip install --upgrade pip
- pip install wheel
And now you're ready to go! At least you would be, if sqlite3 was being properly loaded. This seems to be a new problem since I first worked on this and is some issue with the python ensure. I tried the following to no avail.
Fixes #14. There is one blocking issue and one additional problem.
I have added install pointers to the wiki. It presently requires use of the ports tool to get different versions of Wine and Python, but, as noted below, we don't have the Python version we need.
- ~~[x] This is blocked until FreeBSD has a working Python 3.12 package. As it stands, it is not yet ported. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267515 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271673~~
- [ ] No AppImage support without: See: https://github.com/AppImage/AppImageKit/issues/98. Better solution is #316
This is untested. This PR has been opened as a base working model. Of the testing I did do, I worked on GhostBSD.
Some of the commands we use are GNU versions of commands (e.g., sed, grep) and therefore they may not work out of the box on *BSD.
Until we can build it in GitHub, you will have to run from source or pip. Once you activate the Python virtual environment (see CONTRIBUTING), you will then need to install some Python modules.
For newer Wine, you may need to use ports.
After building Python 3.12, I was able to make Ou Dedetai run with TK but not with curses. CLI --help works. Attempting to run via curses spits out this error. I am unsure why this is happening.
/scripts/run_app.py
Traceback (most recent call last):
File "/home/thwright/Dev/LogosLinuxInstaller/./scripts/run_app.py", line 14, in <module>
sys.exit(ou_dedetai.main.main())
^^^^^^^^^^^^^^^^^^^^^^
File "/home/thwright/Dev/LogosLinuxInstaller/ou_dedetai/main.py", line 469, in main
run()
File "/home/thwright/Dev/LogosLinuxInstaller/ou_dedetai/main.py", line 406, in run
config.ACTION() # run control_panel right away
^^^^^^^^^^^^^^^
File "/home/thwright/Dev/LogosLinuxInstaller/ou_dedetai/main.py", line 317, in run_control_panel
raise e
File "/home/thwright/Dev/LogosLinuxInstaller/ou_dedetai/main.py", line 302, in run_control_panel
curses.wrapper(tui_app.control_panel_app)
File "/opt/lib/python3.12/curses/__init__.py", line 94, in wrapper
return func(stdscr, *args, **kwds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/thwright/Dev/LogosLinuxInstaller/ou_dedetai/tui_app.py", line 1140, in control_panel_app
TUI(stdscr).run()
File "/home/thwright/Dev/LogosLinuxInstaller/ou_dedetai/tui_app.py", line 344, in run
self.display()
File "/home/thwright/Dev/LogosLinuxInstaller/ou_dedetai/tui_app.py", line 305, in display
self.active_screen.display()
^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'display'
This is able to get to the installer but it is stuck at:
"Please wait while Setup installs Logos Bible Study".
It hangs here and never proceeds. I'm not seeing any errors. It's simply as if it can't.
The GhostBSD repos have wine 10.0-devel rc4 at present. We will need to disable AppImage access, much like #321.
A draw error occurs in the TUI in which when the next screen is meant to be drawn, it just blanks the screen.