diff --git a/Dockerfile.www b/Dockerfile.www index 1c92cfb46..58d1c962c 100644 --- a/Dockerfile.www +++ b/Dockerfile.www @@ -65,7 +65,8 @@ COPY nipap /nipap COPY nipap-www /nipap-www RUN cd /pynipap && pip3 --no-input install --break-system-packages --no-cache-dir . && \ cd /nipap && pip3 --no-input install --break-system-packages --no-cache-dir . && \ - cd /nipap-www && pip3 --no-input install --break-system-packages --no-cache-dir -r requirements.txt && python3 setup.py install && \ + cd /nipap-www && pip3 --no-input install --break-system-packages --no-cache-dir . && \ + mkdir -p /etc/nipap/ && cp nipap-www.wsgi /etc/nipap/ && \ cd .. EXPOSE 80 diff --git a/nipap-www/Makefile b/nipap-www/Makefile index 55576a735..f0fdeb5f7 100644 --- a/nipap-www/Makefile +++ b/nipap-www/Makefile @@ -27,8 +27,8 @@ buildrpm: builddeb: # build the source package in the parent directory # then rename it to project_version.orig.tar.gz - $(PYTHON) setup.py sdist --dist-dir=../ - rename -f 's/$(PROJECT)-(\d.*)\.tar\.gz/$(PROJECT)_$$1\.orig\.tar\.gz/' ../* + $(PYTHON) -m build --sdist --outdir=../ + rename -f 's/nipap_www-(\d.*)\.tar\.gz/$(PROJECT)_$$1\.orig\.tar\.gz/' ../* # build the package debuild -us -uc -sa diff --git a/nipap-www/debian/compat b/nipap-www/debian/compat deleted file mode 100644 index f599e28b8..000000000 --- a/nipap-www/debian/compat +++ /dev/null @@ -1 +0,0 @@ -10 diff --git a/nipap-www/debian/control b/nipap-www/debian/control index b56596cd6..8378dd846 100644 --- a/nipap-www/debian/control +++ b/nipap-www/debian/control @@ -2,12 +2,16 @@ Source: nipap-www Section: web Priority: optional Maintainer: Lukas Garberg -Build-Depends: debhelper (>= 10), python3 (>= 3.6), python3-setuptools (>= 0.6b3), dh-python -Standards-Version: 4.4.0 +Build-Depends: debhelper-compat (= 13), + python3-all, + python3-setuptools, + dh-python +Standards-Version: 4.6.1 Package: nipap-www Architecture: all -Depends: debconf, python3 (>= 3.6), ${misc:Depends}, python3-flask, python3-pynipap, nipap-common, python3-jinja2 +Pre-Depends: debconf +Depends: ${misc:Depends}, ${python3:Depends} XB-Python-Version: ${python:Versions} Description: web frontend for NIPAP A web UI for the NIPAP IP address planning service. diff --git a/nipap-www/debian/install b/nipap-www/debian/install new file mode 100644 index 000000000..6088a73ed --- /dev/null +++ b/nipap-www/debian/install @@ -0,0 +1 @@ +nipap-www.wsgi etc/nipap diff --git a/nipap-www/debian/pydist-overrides b/nipap-www/debian/py3dist-overrides similarity index 58% rename from nipap-www/debian/pydist-overrides rename to nipap-www/debian/py3dist-overrides index 9302d319c..a35c08833 100644 --- a/nipap-www/debian/pydist-overrides +++ b/nipap-www/debian/py3dist-overrides @@ -1,3 +1,3 @@ -Jinja2 python3-jinja2 pynipap python3-pynipap nipap nipap-common +Flask python3-flask (>= 2.0.0) diff --git a/nipap-www/pyproject.toml b/nipap-www/pyproject.toml new file mode 100644 index 000000000..0036fec41 --- /dev/null +++ b/nipap-www/pyproject.toml @@ -0,0 +1,52 @@ +[project] +name = "nipap-www" +description = "Web frontend for NIPAP" +dynamic = ["version"] +license = {text = "MIT"} +classifiers = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'License :: OSI Approved :: MIT License', + 'Natural Language :: English', + 'Operating System :: POSIX :: Linux', + 'Programming Language :: Python :: 3' +] +keywords = ["nipap"] +dependencies = [ + "Flask==3.0.3", + "Jinja2==3.1.5", + "nipap", + "pynipap", +] + +[project.optional-dependencies] +instrumentation = [ + "opentelemetry-api==1.29.0", + "opentelemetry-exporter-otlp==1.29.0", + "opentelemetry-exporter-otlp-proto-common==1.29.0", + "opentelemetry-exporter-otlp-proto-grpc==1.29.0", + "opentelemetry-exporter-otlp-proto-http==1.29.0", + "opentelemetry-instrumentation==0.50b0", + "opentelemetry-instrumentation-flask==0.50b0", + "opentelemetry-instrumentation-wsgi==0.50b0", + "opentelemetry-proto==1.29.0", + "opentelemetry-sdk==1.29.0", + "opentelemetry-semantic-conventions==0.50b0", + "opentelemetry-util-http==0.50b0" +] + +[project.urls] +Homepage = "http://SpriteLink.github.io/NIPAP" + +[tool.setuptools] +packages = ["nipapwww"] + +[tool.setuptools.dynamic] +version = {attr = "nipapwww.__version__"} + +[build-system] +requires = [ + "setuptools" +] +build-backend = "setuptools.build_meta" diff --git a/nipap-www/requirements.txt b/nipap-www/requirements.txt deleted file mode 100644 index 9c745f957..000000000 --- a/nipap-www/requirements.txt +++ /dev/null @@ -1,20 +0,0 @@ -Flask==3.0.3 -Jinja2==3.1.5 -pynipap -nipap - -# optional dependencies below -opentelemetry-api==1.29.0 -opentelemetry-exporter-otlp==1.29.0 -opentelemetry-exporter-otlp-proto-common==1.29.0 -opentelemetry-exporter-otlp-proto-grpc==1.29.0 -opentelemetry-exporter-otlp-proto-http==1.29.0 -opentelemetry-instrumentation==0.50b0 -opentelemetry-instrumentation-dbapi==0.50b0 -opentelemetry-instrumentation-flask==0.50b0 -opentelemetry-instrumentation-psycopg2==0.50b0 -opentelemetry-instrumentation-wsgi==0.50b0 -opentelemetry-proto==1.29.0 -opentelemetry-sdk==1.29.0 -opentelemetry-semantic-conventions==0.50b0 -opentelemetry-util-http==0.50b0 diff --git a/nipap-www/setup.py b/nipap-www/setup.py index 6f1591e30..ff99caed9 100644 --- a/nipap-www/setup.py +++ b/nipap-www/setup.py @@ -1,25 +1,7 @@ -from setuptools import find_packages, setup - -import nipapwww +from setuptools import setup setup( - name='nipap-www', - version=nipapwww.__version__, - description='web frontend for NIPAP', - author=nipapwww.__author__, - author_email=nipapwww.__author_email__, - url=nipapwww.__url__, - install_requires=[ - "Flask", - "pynipap", - "nipap" - ], - license=nipapwww.__license__, - packages=find_packages(exclude=['ez_setup']), - include_package_data=True, - package_data={'nipapwww': ['i18n/*/LC_MESSAGES/*.mo']}, data_files=[ - ('/etc/nipap/www', ['nipap-www.wsgi', ]), + ('share/nipap', ['nipap-www.wsgi', ]), ], - zip_safe=False, )