getsolus / packages

Solus Package Monorepo & Issue Tracker
65 stars 78 forks source link

qomui has a missing dependency: geoiplookup (T8374) #93

Closed celticmagic closed 4 months ago

celticmagic commented 1 year ago
Arjen (#ArjenR), 2019-10-01 09:19:50 UTC

Qomui uses a background service qol-assist-migration.service This crashes upon import of a VPN configuration (wireguard to be precise, which I built myself) In the service log the following error is present. ``` python3[18613]: Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/qomui/update.py", line 76, in run self.add_folder() File "/usr/lib/python3.6/site-packages/qomui/update.py", line 899, in add_folder self.import_configs() File "/usr/lib/python3.6/site-packages/qomui/update.py", line 994, in import_configs country_check = check_output(["geoiplookup", "{}".format(ip)]).decode("utf-8") File "/usr/lib/python3.6/subprocess.py", line 356, in check_output **kwargs).stdout File "/usr/lib/python3.6/subprocess.py", line 423, in run with Popen(*popenargs, **kwargs) as process: File "/usr/lib/python3.6/subprocess.py", line 729, in __init__ restore_signals, start_new_session) File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'geoiplookup': 'geoiplookup' ``` I have not seen which package would provide the binary geoiplookup.
celticmagic commented 1 year ago
Joey Riches (#joebonrichie), 2019-10-01 09:30:46 UTC

Try installing `python-geoip` first
celticmagic commented 1 year ago
Arjen (#ArjenR), 2019-10-01 20:52:04 UTC

Yeah python-geoip was already installed. It does not provide the geoiplookup program.
celticmagic commented 1 year ago
Algent Albrahimi (#algent), 2019-10-02 07:41:37 UTC

Try doing this, maybe this helps: ``` sudo eopkg check | grep Broken | awk '{print $4}' | xargs sudo eopkg it --reinstall ```
celticmagic commented 1 year ago
Joey Riches (#joebonrichie), 2019-10-02 10:35:54 UTC

Alright, looks like we need to package `geoip`, `geoip-database` and maybe `geoip-database-extra` from http://www.maxmind.com/app/c edit: So you'll want to package https://github.com/maxmind/geoip-api-c/ and download the databases from https://geolite.maxmind.com/download/geoip/database/ and pop them in `/usr/share/GeoIP`
celticmagic commented 1 year ago
Joey Riches (#joebonrichie), 2019-10-02 10:37:23 UTC

Are these required as part of `qomui` itself or only the WireGuard component of it?
celticmagic commented 1 year ago
Alex Durante (#adurante), 2020-07-08 03:08:38 UTC

#joebonrichie I stumbled upon this while running into the same error so I just wanted to add the additional info you asked, I was testing with some OpenVPN config files and running into the same error so I believe these are required as a part of qomui itself rather than just the wireguard component
ermo commented 5 months ago

Upstream looks dead and qomui doesn't even start for me currently (known issue since 2022(!)) -- I'd actually recommend that we slate this for removal:

$ qomui-gui 
QLayout: Attempting to add QLayout "" to QomuiGui "Form", which already has a layout
DBus Error: Qomui-Service is currently not available
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dbus/bus.py", line 177, in activate_name_owner
    return self.get_name_owner(bus_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dbus/bus.py", line 361, in get_name_owner
    return self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dbus/connection.py", line 652, in call_blocking
    reply_message = self.send_message_with_reply_and_block(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: The name does not have an owner

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/qomui/qomui_gui.py", line 107, in __init__
    self.qomui_dbus = self.dbus.get_object('org.qomui.service', '/org/qomui/service')
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dbus/bus.py", line 241, in get_object
    return self.ProxyObjectClass(self, bus_name, object_path,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dbus/proxies.py", line 250, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dbus/bus.py", line 182, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib/python3.11/site-packages/dbus/bus.py", line 277, in start_service_by_name
    return (True, self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dbus/connection.py", line 652, in call_blocking
    reply_message = self.send_message_with_reply_and_block(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/qomui-gui", line 33, in <module>
    sys.exit(load_entry_point('qomui==0.8.2', 'gui_scripts', 'qomui-gui')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/qomui/qomui_gui.py", line 2801, in main
    ex = QomuiGui()
         ^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/qomui/qomui_gui.py", line 126, in __init__
    self.initalize_service("start")
    ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'QomuiGui' object has no attribute 'initalize_service'. Did you mean: 'initialize_service'?