GeoNode / geonode

GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data.
https://geonode.org/
Other
1.45k stars 1.12k forks source link

Debian packages for GeoNode and OSGeoLive #6703

Closed gannebamm closed 8 months ago

gannebamm commented 3 years ago

make Debian packages great again

kalxas commented 1 year ago

GeoNode 4.0.3 now available here for testing: https://launchpad.net/~gcpp-kalxas/+archive/ubuntu/geonode/+packages?field.name_filter=&field.status_filter=published&field.series_filter=jammy

kalxas commented 1 year ago

Also getting this during installation:

Traceback (most recent call last):
  File "/usr/bin/django-admin", line 33, in <module>
    sys.exit(load_entry_point('Django==3.2.12', 'console_scripts', 'django-admin')())
  File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 395, in execute
    django.setup()
  File "/usr/lib/python3/dist-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/lib/python3/dist-packages/django/apps/registry.py", line 122, in populate
    app_config.ready()
  File "/usr/lib/python3/dist-packages/geonode/harvesting/apps.py", line 32, in ready
    from geonode.urls import urlpatterns
  File "/usr/lib/python3/dist-packages/geonode/urls.py", line 37, in <module>
    from geonode.api.urls import api, router
  File "/usr/lib/python3/dist-packages/geonode/api/urls.py", line 20, in <module>
    from dynamic_rest import routers
  File "/usr/lib/python3/dist-packages/dynamic_rest/routers.py", line 11, in <module>
    from django.utils import six
ImportError: cannot import name 'six' from 'django.utils' (/usr/lib/python3/dist-packages/django/utils/__init__.py)
kalxas commented 1 year ago

ok, dynamic_rest is at version 2.0.0, need to update the debian package to 2.1.2

kalxas commented 1 year ago

I have fixed the dynamic_rest issue, installer completes ok now, but the apache error persists

kalxas commented 1 year ago

Apache error:

[Sat Mar 18 16:26:52.235568 2023] [mpm_prefork:notice] [pid 1210] AH00163: Apache/2.4.52 (Ubuntu) mod_fcgid/2.3.9 mod-mapcache/1.12.1 mod_wsgi/4.9.0 Python/3.10 configured -- resuming normal operations
[Sat Mar 18 16:26:52.235603 2023] [core:notice] [pid 1210] AH00094: Command line: '/usr/sbin/apache2'
[Sat Mar 18 16:26:54.643746 2023] [mpm_prefork:notice] [pid 1210] AH00170: caught SIGWINCH, shutting down gracefully
[Sat Mar 18 16:26:56.531448 2023] [mpm_prefork:notice] [pid 1598] AH00163: Apache/2.4.52 (Ubuntu) mod_fcgid/2.3.9 mod-mapcache/1.12.1 mod_wsgi/4.9.0 Python/3.10 configured -- resuming normal operations
[Sat Mar 18 16:26:56.531473 2023] [core:notice] [pid 1598] AH00094: Command line: '/usr/sbin/apache2'
[Sat Mar 18 16:34:27.655362 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490] mod_wsgi (pid=1617): Failed to exec Python script file '/usr/lib/python3/dist-packages/geonode/wsgi.py'.
[Sat Mar 18 16:34:27.655408 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490] mod_wsgi (pid=1617): Exception occurred processing WSGI script '/usr/lib/python3/dist-packages/geonode/wsgi.py'.
[Sat Mar 18 16:34:27.674451 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490] Traceback (most recent call last):
[Sat Mar 18 16:34:27.674517 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/geonode/wsgi.py", line 29, in <module>
[Sat Mar 18 16:34:27.674522 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     application = get_wsgi_application()
[Sat Mar 18 16:34:27.674527 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application
[Sat Mar 18 16:34:27.674531 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     django.setup(set_prefix=False)
[Sat Mar 18 16:34:27.674536 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/django/__init__.py", line 24, in setup
[Sat Mar 18 16:34:27.674540 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     apps.populate(settings.INSTALLED_APPS)
[Sat Mar 18 16:34:27.674545 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/django/apps/registry.py", line 114, in populate
[Sat Mar 18 16:34:27.674548 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     app_config.import_models()
[Sat Mar 18 16:34:27.674553 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/django/apps/config.py", line 301, in import_models
[Sat Mar 18 16:34:27.674556 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     self.models_module = import_module(models_module_name)
[Sat Mar 18 16:34:27.674561 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
[Sat Mar 18 16:34:27.674565 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     return _bootstrap._gcd_import(name[level:], package, level)
[Sat Mar 18 16:34:27.674570 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
[Sat Mar 18 16:34:27.674575 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
[Sat Mar 18 16:34:27.674580 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
[Sat Mar 18 16:34:27.674586 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
[Sat Mar 18 16:34:27.674591 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "<frozen importlib._bootstrap_external>", line 883, in exec_module
[Sat Mar 18 16:34:27.674596 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
[Sat Mar 18 16:34:27.674601 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/geonode/monitoring/models.py", line 47, in <module>
[Sat Mar 18 16:34:27.674608 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     import user_agents
[Sat Mar 18 16:34:27.674621 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/user_agents/__init__.py", line 3, in <module>
[Sat Mar 18 16:34:27.674625 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     from .parsers import parse
[Sat Mar 18 16:34:27.674630 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/user_agents/parsers.py", line 3, in <module>
[Sat Mar 18 16:34:27.674633 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     from ua_parser import user_agent_parser
[Sat Mar 18 16:34:27.674638 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/ua_parser/user_agent_parser.py", line 481, in <module>
[Sat Mar 18 16:34:27.674642 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     regexes = yaml.load(fp, Loader=SafeLoader)
[Sat Mar 18 16:34:27.674647 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 114, in load
[Sat Mar 18 16:34:27.674650 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     return loader.get_single_data()
[Sat Mar 18 16:34:27.674655 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3/dist-packages/yaml/constructor.py", line 49, in get_single_data
[Sat Mar 18 16:34:27.674659 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     node = self.get_single_node()
[Sat Mar 18 16:34:27.674664 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 707, in yaml._yaml.CParser.get_single_node
[Sat Mar 18 16:34:27.674669 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 725, in yaml._yaml.CParser._compose_document
[Sat Mar 18 16:34:27.674674 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 776, in yaml._yaml.CParser._compose_node
[Sat Mar 18 16:34:27.675603 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 890, in yaml._yaml.CParser._compose_mapping_node
[Sat Mar 18 16:34:27.675632 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 774, in yaml._yaml.CParser._compose_node
[Sat Mar 18 16:34:27.675648 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 851, in yaml._yaml.CParser._compose_sequence_node
[Sat Mar 18 16:34:27.675654 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 776, in yaml._yaml.CParser._compose_node
[Sat Mar 18 16:34:27.675865 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 890, in yaml._yaml.CParser._compose_mapping_node
[Sat Mar 18 16:34:27.675871 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 732, in yaml._yaml.CParser._compose_node
[Sat Mar 18 16:34:27.675877 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 903, in yaml._yaml.CParser._parse_next_event
[Sat Mar 18 16:34:27.675892 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "yaml/_yaml.pyx", line 912, in yaml._yaml.input_handler
[Sat Mar 18 16:34:27.675898 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]   File "/usr/lib/python3.10/encodings/ascii.py", line 26, in decode
[Sat Mar 18 16:34:27.675910 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490]     return codecs.ascii_decode(input, self.errors)[0]
[Sat Mar 18 16:34:27.676173 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36490] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 455: ordinal not in range(128)
[Sat Mar 18 16:34:27.798556 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492] mod_wsgi (pid=1617): Failed to exec Python script file '/usr/lib/python3/dist-packages/geonode/wsgi.py'.
[Sat Mar 18 16:34:27.798607 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492] mod_wsgi (pid=1617): Exception occurred processing WSGI script '/usr/lib/python3/dist-packages/geonode/wsgi.py'.
[Sat Mar 18 16:34:27.798763 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492] Traceback (most recent call last):
[Sat Mar 18 16:34:27.798790 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492]   File "/usr/lib/python3/dist-packages/geonode/wsgi.py", line 29, in <module>
[Sat Mar 18 16:34:27.798795 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492]     application = get_wsgi_application()
[Sat Mar 18 16:34:27.798801 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492]   File "/usr/lib/python3/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application
[Sat Mar 18 16:34:27.798804 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492]     django.setup(set_prefix=False)
[Sat Mar 18 16:34:27.798809 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492]   File "/usr/lib/python3/dist-packages/django/__init__.py", line 24, in setup
[Sat Mar 18 16:34:27.798813 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492]     apps.populate(settings.INSTALLED_APPS)
[Sat Mar 18 16:34:27.798818 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492]   File "/usr/lib/python3/dist-packages/django/apps/registry.py", line 83, in populate
[Sat Mar 18 16:34:27.798821 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492]     raise RuntimeError("populate() isn't reentrant")
[Sat Mar 18 16:34:27.798834 2023] [wsgi:error] [pid 1617] [remote 127.0.0.1:36492] RuntimeError: populate() isn't reentrant
kalxas commented 1 year ago

@afabiani any hints on the above error? Looks like a yaml issue. Can it be a configuration problem from a 3.x application not being removed from settings?

kalxas commented 1 year ago

Hi @afabiani @gannebamm The above is blocking the OSGeoLive upgrade, any ideas how to fix?

afabiani commented 1 year ago

@kalxas no idea... I guess an error on the virtualenv or app root paths.

kalxas commented 1 year ago

@afabiani thank you for reviewing. Please note that we are still using this file for local_settings from 3.2.x: https://github.com/OSGeo/OSGeoLive/blob/master/app-conf/geonode/local_settings.py.sample

kalxas commented 1 year ago

I am trying to update the local_settings from 4.0.x branch now: https://github.com/kalxas/OSGeoLive/blob/geonode/app-conf/geonode/local_settings.py.sample

kalxas commented 1 year ago

That did not work either.

I also removed local_settings completely, again same error

kalxas commented 1 year ago

Any chance someone could have a look? I have prepared an iso to test: http://download.osgeo.org/livedvd/nightly/osgeolive-nightly-build49-amd64-e0f3435-geonode.iso

kalxas commented 1 year ago

BTW, the installer seems to work fine: all migrations get properly applied to the database, layers are getting registered from geoserver..

kalxas commented 1 year ago

Moving back to GeoNode 3.3.x

giohappy commented 1 year ago

If you're still available @kalxas I would consider reopening this and try to have GeoNode 4.1.0 inside the Osgelive,

kalxas commented 1 year ago

thanks @giohappy I will try to package 4.1.0 and see how it goes.

Fedesin commented 1 year ago

i cant install geonode 4 on debian 11, please help me :(

afabiani commented 1 year ago

Dear @Fedesin I'm afraid Debian 11 has a too old version of docker. GeoNode can be installed only by using docker >= 20 and docker compose >= 2.18