Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: install arial font #347

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

ctrlaltf24
Copy link
Contributor

@ctrlaltf24 ctrlaltf24 commented Feb 28, 2025

Needed to restore winetricks, however kept as much of non-winetricks as already existed in the code.

Fixes: #335

Dev build here

Removed support for winetricks from the system - no need, the bash script is small

Also checked winetricks exit code (we didn't do this before), to detect when winetricks fails

Restored winetricks binary download, this time using the appimage if found, if not download. Also changed the winetricks version to roughly match appimage for consistency

It should be noted I added cabextract package as a dependency to most OS' that was not there before - unsure how it worked before this.

Testing overview (OS is debian 12 unless specified) (Logos version is 40 unless otherwise specified):

  • Don't download font if file exists
  • when the Debian package ttf-mscorefonts-installer is installed, arial is not downloaded
  • winetricks failure returns error rather than "DONE"
  • Winetricks version is similar across appimage and binary
  • winetricks flag works without arguments
  • winetricks flag works with argument
  • winetricks flag works with arguments
  • debian 12 clean install
    • system wine
    • appimage
  • arch clean install
    • system wine
    • appimage
  • manjaro clean install
  • alpine clean install
    • system wine
    • appimage
  • opensuse leap 15.6 clean install
    • system wine (needed to install fuse package manually and skip deps on f8dd588 as well as add my hostname to /etc/hosts), still failed to install fonts.
    • appimage
  • Ubuntu? Mint?

Testing details

Clean install (debian 12/manjaro): f8dd588

  • clean install (--install-app -y --i-agree-to-faithlife-terms)
  • logged into logos
  • hit continue
  • didn't crash
  • waited for resources to download
  • opened copy bible verses tool
  • didn't crash

Font exists: ee02c32

  • clean install
  • ran install again
  • observed that it didn't run winetricks the second time

Winetricks command without arguments: 0de0648

  • --winetricks
  • launched GUI

Winetricks command with subcommand (arial): 0de0648

  • --winetricks arial
  • successfully installed font

Winetricks command with subcommands: f8dd588

  • --winetricks fonts list
  • wine.log shows font lists

Winetricks symlink missing appimage: 0de0648

  • removed winetricks symlink
  • wine_bin_code of AppImage
  • removed arial font
  • --winetricks arial
  • observed success

Winetricks from appimage doesn't need cabextract on host: 0de0648

  • removed cabextract
  • wine_bin_code of AppImage
  • --winetricks arial
  • observed success

Winetricks binary missing system wine: 0de0648

  • removed winetricks
  • wine_bin_code of System
  • --winetricks arial
  • observed winetricks binary downloaded
  • observed success

Winetricks binary install right version: 0de0648

  • removed winetricks
  • wine_bin_code of System
  • --winetricks --version
  • confirmed version matched expected 20250102

Winetricks appimage symlink right version: 0de0648

  • removed winetricks
  • wine_bin_code of AppImage
  • --winetricks --version
  • confirmed version matched expected 20250102-next

Winetricks failure: 0de0648

  • removed cabextract from system
  • wine_bin_code of System
  • removed arial files from wine bottle
  • --winetricks arial
  • observed Cannot continue because "winetricks -q arial" Failed!

OpenSUSE system wine: f8dd588

  • added localhost.localdomain entry to /etc/hosts
  • installed wine 10 via https://en.opensuse.org/Wine#Repositories
  • manually installed fuse package (there is a commit after I tested that should fix this step)
  • Install using OD
  • Fails to install arial
2025-02-28T072804: subprocess cmd: '/usr/bin/wine64 wineboot --init'
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
004c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0054:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0054:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0054:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0054:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0054:err:ole:start_rpcss Failed to open RpcSs service
004c:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
004c:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
004c:err:ole:apartment_get_local_server_stream Failed: 0x80004002
00dc:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
0104:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
wine: configuration in L"/home/user/.local/share/FaithLife-Community/oudedetai/data/wine64_bottle" has been updated.
0104:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0104:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0104:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
2025-02-28T072811: subprocess cmd: '/usr/bin/wineserver'
2025-02-28T072811: subprocess cmd: '/usr/bin/wine64 regedit.exe /tmp/tmpxk5a7roe/disable-winemenubuilder.reg'
2025-02-28T072811: subprocess cmd: '/usr/bin/wineserver'
2025-02-28T072811: subprocess cmd: '/usr/bin/wine64 regedit.exe /tmp/tmp9wz6m21n/set-renderer-to-gdi.reg'
2025-02-28T072812: subprocess cmd: '/usr/bin/wineserver'
2025-02-28T072812: subprocess cmd: '/usr/bin/wine64 regedit.exe /tmp/tmp__kkv8no/set-fontsmoothing-to-rgb.reg'
2025-02-28T072812: subprocess cmd: '/usr/bin/wineserver'
2025-02-28T072812: subprocess cmd: '/home/user/.local/share/FaithLife-Community/oudedetai/data/bin/winetricks -q arial'
Executing cd /home/user/.local/share/FaithLife-Community/oudedetai/data/bin
004c:err:ole:start_rpcss Failed to start RpcSs service
0144:fixme:service:scmdatabase_autostart_services Auto-start service L"MountMgr" failed to start: 1053
0144:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1053
0144:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 1115
0144:fixme:service:scmdatabase_autostart_services Auto-start service L"PlugPlay" failed to start: 1115
0144:fixme:service:scmdatabase_autostart_services Auto-start service L"Eventlog" failed to start: 1115
0144:fixme:service:scmdatabase_autostart_services Auto-start service L"nsiproxy" failed to start: 1115
0144:fixme:service:scmdatabase_autostart_services Auto-start service L"NDIS" failed to start: 1115
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
wine: failed to open "C:\\windows\\syswow64\\regedit.exe": c0000135

It should be noted, that this command passes when run outside of OD, and the Auto-start error is reproducible after a wineboot with a different wine prefix

Needed to restore winetricks, however kept as much of non-winetricks as already existed in the code.

Fixes: FaithLife-Community#335

Removed support for winetricks from the system - no need, the bash script is small

Also checked winetricks exit code (we didn't do this before), to detect when winetricks fails

Restored winetricks binary download, this time using the appimage if found, if not download.
Also changed the winetricks version to roughly match appimage for consistency

It should be noted I added cabextract package as a dependency to most OS' that was not there before - unsure how it worked before this.

Clean install (debian):
- clean install
- logged into logos
- hit continue
- didn't crash

Font exists:
- clean install
- ran install again
- observed that it didn't run winetricks the second time

Still need to test:
- --winetricks arg
- winetricks arg installs if not found
- system wine download
- winetricks version comparison
- all supported OS' clean installs
- winetricks existing non-zero throws user-friendly error
@ctrlaltf24 ctrlaltf24 requested review from thw26 and n8marti February 28, 2025 04:33
Tested:

Winetricks command without arguments
- --winetricks
- launched GUI

Winetricks command with subcommand (arial):
- --winetricks arial
- successfully installed font

Winetricks binary missing appimage:
- removed winetricks symlink
- wine_bin_code of AppImage
- removed arial font
- --winetricks arial
- observed success

Winetricks from appimage doesn't need cabextract on host:
- removed cabextract
- wine_bin_code of AppImage
- --winetricks arial
- observed success

Winetricks binary missing system wine:
- removed winetricks
- wine_bin_code of System
- --winetricks arial
- observed winetricks binary downloaded
- observed success

Winetricks failure:
- removed cabextract from system
- wine_bin_code of System
- removed arial files from wine bottle
- --winetricks arial
- observed Cannot continue because "winetricks -q arial" Failed!
observed some hangs here, doesn't seem to be needed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Installs with v4.0.0-beta.8 crashes during install and when opening "Copy Bible Verses" tool
1 participant