LogosLinuxInstaller icon indicating copy to clipboard operation
LogosLinuxInstaller copied to clipboard

feat: add *BSD support

Open thw26 opened this issue 1 year ago • 3 comments

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.

thw26 avatar Oct 26 '24 04:10 thw26

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'

thw26 avatar Oct 26 '24 05:10 thw26

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.

thw26 avatar Feb 21 '25 06:02 thw26

A draw error occurs in the TUI in which when the next screen is meant to be drawn, it just blanks the screen.

thw26 avatar Feb 21 '25 06:02 thw26