- Update to version 1.3.51+git.127edfa: * Data: Add fence_agent to display columns * Settings: Add default REMOTEPOWER_TYPES * Forms: Fixup RemotePowerDeviceAPIForm * SPEC: Use autosetup macro * Forms: Match KVM as a word and not as a complete type * Virt API: Handle missing ServerConfig key * Add typing requirements * CI: Switch to black profile * API: Add correct authentication to BMC add * Forms: Add constructor to BMC * Docs: Add BMC command for CLI * Tests: Splitup file and add multiple ones * Fixtures: Add for new test * Fixtures: Add virt_api_int to test machine * Ingore: Add vscode directory - Update to version 1.3.29+git.9325baa: * Hostnamefinder: Add typing * Hostnamefinder: Fix import * CI: Execute integration tests * Docker: Add test docker-compose * Tests: Initial of integration tests * CLI: Add specfile * CI: Introduce mypy optionally * Admin: Fix bug that network switches can't select any architecture * Revert "Sconsole: Switch from _cscreen to cscreen user" * Sconsole: Switch from _cscreen to cscreen user * Docker: Give fixture example * Tests: Fixup for multiple django fixtures * RTD: Fixup config according to new schema * Requirements: Upgrade Django to 4.2 LTS * Admin - Display Add/Change page faster * Utils: SSH - Add typing annotations * Cobbler: Add typing annotations * Utils: SSH - Remove manual debug code * Remove "makemigrations" from Orthos2 setup * Migrations: Initial add * SPEC: Remove old symlinks * Tests: Fixup machine admin view * Misc: Type annotations * Signals: Type annotations * Models: Type annotation * Cobbler: Add type annotation * Remotepowerdevice: Fixup model * Tests: Fixup login tests * Views: Add missing prefix * Tests: Fixup Cobbler tests * Fix: Machine change form arch system dropdown filter * Templates: Fixup untested path * Docker: Extend README * Use package_data for shipping files * SPEC: Fixup unitdir macro usage * Data: Models - Fixup get_by_natural_key * Tests: Fixup fixture path * Tests: Fixup JSON fixtures * Docker: Add development container * Tests: Fixup mock path * Loosen required runtime user account check * manage.py: Add executable bit * CI: Fixup test workflow inside GH Actions * Tests: Add coverage to required devel tools * CI: Fixup "django-check" inside GH Actions * Fixup pycodestyle linter errors * CI: Streamline linter workflow & add django-admin * CI: Execute CI in more cases * fix: fix that platforms can't be assigned to machines * fix: move change_form.html to fix rpm install * fix: Add remaining arch system mappings OBS-URL: https://build.opensuse.org/request/show/1162362 OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/orthos2?expand=0&rev=191
220 lines
6.8 KiB
RPMSpec
220 lines
6.8 KiB
RPMSpec
#
|
|
# spec file for package orthos2
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: orthos2
|
|
Version: 1.3.51+git.127edfa
|
|
Release: 0
|
|
Summary: Machine administration
|
|
URL: https://github.com/openSUSE/orthos2
|
|
|
|
Group: Productivity/Networking/Boot/Servers
|
|
%{?systemd_ordering}
|
|
|
|
License: GPL-2.0-or-later
|
|
Source: orthos2-%{version}.tar.gz
|
|
%if 0%{?suse_version}
|
|
Source1: orthos2.rpmlintrc
|
|
%endif
|
|
Source2: system-user-orthos.conf
|
|
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: fdupes
|
|
BuildRequires: systemd-rpm-macros
|
|
# For /etc/nginx{,/conf.d} creation
|
|
BuildRequires: nginx
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-setuptools
|
|
Requires(post): sudo
|
|
%if 0%{?suse_version}
|
|
BuildRequires: python-rpm-macros
|
|
%endif
|
|
BuildRequires: sysuser-tools
|
|
%sysusers_requires
|
|
|
|
# Finds python dependencies based on egg info generated by setup.py
|
|
# Theoretically distro independent and should work this way, but has
|
|
# quite some pitfalls. Only works after SLE 15 SP2, due to build service
|
|
# restrictions (be careful, there they messed it up and
|
|
# python_enable_dependency_generator macro is defined, but does not do
|
|
# anything. This check still also needs to explicitly check for SLE 15 SP2...
|
|
%if 0%{?sle_version} <= 150300
|
|
%undefine python_enable_dependency_generator
|
|
%undefine python_disable_dependency_generator
|
|
%endif
|
|
%{?python_enable_dependency_generator}
|
|
%if ! (%{defined python_enable_dependency_generator} || %{defined python_disable_dependency_generator})
|
|
Requires: python3-Django >= 3.2
|
|
Requires: python3-django-auth-ldap
|
|
Requires: python3-django-extensions
|
|
Requires: python3-djangorestframework
|
|
Requires: python3-ldap
|
|
Requires: python3-netaddr
|
|
Requires: python3-paramiko
|
|
Requires: python3-psycopg2
|
|
Requires: python3-validators
|
|
%endif
|
|
# Needed to install /etc/logrotate.d/orthos2
|
|
Requires: python3-Django >= 3.2
|
|
Requires: /sbin/service
|
|
Requires: ansible
|
|
Requires: logrotate
|
|
Requires: nginx
|
|
Requires: uwsgi
|
|
Requires: uwsgi-python3
|
|
Requires: user(orthos)
|
|
Requires: group(orthos)
|
|
|
|
Provides: orthos2-%{version}-%{release}
|
|
|
|
%description
|
|
Orthos is the machine administration tool of the development network at SUSE. It is used for following tasks:
|
|
|
|
getting the state of the machine
|
|
overview about the hardware
|
|
overview about the installed software (installations)
|
|
reservation of the machines
|
|
generating the DHCP configuration (via Cobbler)
|
|
reboot the machines remotely
|
|
managing remote (serial) consoles
|
|
|
|
%package docs
|
|
Summary: HTML documentation for orthos2
|
|
BuildRequires: python3-Sphinx
|
|
BuildRequires: python3-django >= 3.2
|
|
BuildRequires: python3-django-auth-ldap
|
|
BuildRequires: python3-django-extensions
|
|
BuildRequires: python3-djangorestframework
|
|
BuildRequires: python3-ldap
|
|
BuildRequires: python3-netaddr
|
|
BuildRequires: python3-paramiko
|
|
BuildRequires: python3-sphinx_rtd_theme
|
|
BuildRequires: python3-validators
|
|
|
|
|
|
%package -n system-user-orthos
|
|
Summary: Orthos user and group
|
|
Group: System
|
|
Requires(pre): pwdutils
|
|
Provides: group(orthos)
|
|
Provides: user(orthos)
|
|
BuildArch: noarch
|
|
|
|
%description -n system-user-orthos
|
|
Orthos user and group required by orthos2 package
|
|
|
|
|
|
%define orthos_web_docs /srv/www/orthos2/docs
|
|
|
|
%description docs
|
|
HTML documentation that can be put into a web servers htdocs directory for publishing.
|
|
|
|
%prep
|
|
%setup
|
|
|
|
%build
|
|
%sysusers_generate_pre %{SOURCE2} orthos system-user-orthos.conf
|
|
%py3_build
|
|
cd docs
|
|
make html
|
|
|
|
%install
|
|
install -D -m 0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/system-user-orthos.conf
|
|
%py3_install
|
|
|
|
# docs
|
|
mkdir -p %{buildroot}%{orthos_web_docs}
|
|
|
|
# client is built via separate spec file to reduce build dependencies
|
|
rm %{buildroot}/usr/bin/orthos2
|
|
|
|
cp -r docs/_build/html/* %{buildroot}%{orthos_web_docs}
|
|
%fdupes %{buildroot}/%{orthos_web_docs}
|
|
|
|
#systemd
|
|
ln -sr %{buildroot}%{python3_sitelib}/orthos2 %{buildroot}/usr/lib/orthos2/orthos2
|
|
|
|
cp -r ansible %{buildroot}/usr/lib/orthos2/ansible
|
|
|
|
%pre -n system-user-orthos -f orthos.pre
|
|
|
|
%pre
|
|
%service_add_pre orthos2.service orthos2_taskmanager.service orthos2.socket orthos2_debug.service
|
|
|
|
%post
|
|
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
|
|
%service_add_post orthos2.service orthos2_taskmanager.service orthos2.socket orthos2_debug.service
|
|
echo "no sudo available..... and no i will not think of workaround for this for obs..."
|
|
echo "run orthos-admin migrate"
|
|
echo "run orthos-admin collectstatic --noinput"
|
|
|
|
%preun
|
|
%service_del_preun orthos2.service orthos2_taskmanager.service orthos2.socket orthos2_debug.service
|
|
|
|
%postun
|
|
%service_del_postun orthos2.service orthos2_taskmanager.service orthos2.socket orthos2_debug.service
|
|
|
|
%files
|
|
%{python3_sitelib}/orthos2-*
|
|
%{_unitdir}/orthos2_taskmanager.service
|
|
%{_unitdir}/orthos2.service
|
|
%{_unitdir}/orthos2_debug.service
|
|
%{_unitdir}/orthos2.socket
|
|
%{_tmpfilesdir}/orthos2.conf
|
|
%dir %{python3_sitelib}/orthos2/
|
|
%{python3_sitelib}/orthos2/*
|
|
%dir %{_sysconfdir}/orthos2
|
|
%config %{_sysconfdir}/orthos2/orthos2.ini
|
|
%config %{_sysconfdir}/orthos2/settings
|
|
%config %{_sysconfdir}/logrotate.d/orthos2
|
|
%config(noreplace) %{_sysconfdir}/nginx/conf.d/orthos2_nginx.conf
|
|
%dir /usr/lib/orthos2
|
|
%dir /usr/lib/orthos2/scripts
|
|
%dir /usr/share/orthos2
|
|
%dir /usr/share/orthos2/fixtures
|
|
/usr/share/orthos2/fixtures/*
|
|
/usr/lib/orthos2/*
|
|
%attr(755,orthos,orthos) %{_bindir}/orthos-admin
|
|
%attr(755,orthos,orthos) %dir /srv/www/orthos2
|
|
%ghost %dir /run/%{name}
|
|
%ghost %dir /run/%{name}/tmp
|
|
%ghost %dir /run/%{name}/ansible
|
|
%ghost %dir /run/%{name}/ansible_lastrun
|
|
%ghost %dir /run/%{name}/ansible_archive
|
|
%attr(755,orthos,orthos) %dir /var/log/orthos2
|
|
%attr(775,orthos,orthos) %dir /var/lib/orthos2
|
|
%attr(775,orthos,orthos) %dir /var/lib/orthos2/archiv
|
|
%attr(775,orthos,orthos) %dir /var/lib/orthos2/orthos-vm-images
|
|
%attr(775,orthos,orthos) %dir /var/lib/orthos2/database
|
|
%attr(700,orthos,orthos) %dir /var/lib/orthos2/.ssh
|
|
|
|
# defattr(fileattr, user, group, dirattr)
|
|
# Add whole ansible directory with correct attr for dirs and files
|
|
# Always keep this at the end with defattr
|
|
#%%defattr(664, orthos, orthos, 775)
|
|
#/usr/lib/orthos2/ansible
|
|
|
|
%files docs
|
|
%dir %{orthos_web_docs}
|
|
%{orthos_web_docs}/*
|
|
|
|
%files -n system-user-orthos
|
|
%{_sysusersdir}/system-user-orthos.conf
|
|
|
|
%changelog
|