# # spec file for package gnuhealth # # Copyright (c) 2022 SUSE LLC # Copyright (c) 2014-2023 Dr. Axel Braun # # 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/ # %bcond_with tests 1 %define skip_python2 1 %define t_version %(rpm -q --qf '%%{VERSION}' trytond) %define majorver 4.2 Name: gnuhealth Version: %{majorver}.0 Release: 0 URL: https://health.gnu.org Summary: A Health and Hospital Information System License: GPL-3.0-or-later Group: Productivity/Office/Management Source0: https://ftp.gnu.org/gnu/health/%{name}-%{version}.tar.gz ## Source0: %{name}-%{version}.tar.gz Source1: GNUHealth.README.openSUSE Source2: gnuhealth-control Source3: gnuhealth.service Source4: gnuhealth-webdav@.service Source5: openSUSE-gnuhealth-setup Source6: gnuhealth Source7: gnuhealth-rpmlintrc Source8: https://ftp.gnu.org/gnu/health/%{name}-%{version}.tar.gz.sig Source9: https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=health&download=1#/%{name}.keyring Patch0: shebang.diff BuildRequires: fdupes BuildRequires: python-rpm-generators BuildRequires: python-rpm-macros BuildRequires: python3-pytest BuildRequires: python3-setuptools # For the tests: BuildRequires: trytond BuildRequires: trytond_company BuildRequires: trytond_currency BuildRequires: trytond_party BuildRequires: trytond_product # new fonts for the forms: Requires: gnu-free-fonts Requires: bsdtar Requires: proteus Requires: python3-Pillow Requires: python3-PyWebDAV3-GNUHealth Requires: python3-caldav Requires: python3-hl7apy Requires: python3-ldap3 Requires: python3-matplotlib Requires: python3-passlib Requires: python3-pyBarcode Requires: python3-qrcode Requires: python3-simpleeval Requires: python3-six Requires: python3-vobject Requires: trytond Requires: trytond_account Requires: trytond_account_invoice Requires: trytond_account_invoice_stock Requires: trytond_account_product Requires: trytond_company Requires: trytond_country Requires: trytond_currency Requires: trytond_party Requires: trytond_product Requires: trytond_purchase Requires: trytond_purchase_request Requires: trytond_stock Requires: trytond_stock_lot Requires: trytond_stock_supply BuildArch: noarch # additional suggestion for a useable editor Suggests: nano # you may need a frontend to work with Suggests: gnuhealth-client BuildRoot: %{_tmppath}/%{name}-%{version}-build %{?systemd_ordering} %description GNU Health is the Hospital Information System adopted by the United Nations University, International Institute for Global Health, for the implementations and trainings. This is the server component of GNU Health. You would need the GNU Health Client as well, on the same or a different machine. You may use the Tryton Client either See https://en.opensuse.org/GNUHealth_on_openSUSE for instructions %package -n %{name}-orthanc Summary: Integration module for Orthanc Group: Productivity/Office/Management Requires: gnuhealth Requires: python3-beren Requires: python3-pendulum %description -n %{name}-orthanc This package provides the interface to Orthanc %prep %setup -q -n %{name}-%{version} %patch0 -p1 cp %{S:1} . cp %{S:2} . %build for i in h*; do pushd $i %python3_build popd done %install for i in h*; do pushd $i %python3_install --prefix=%_prefix --root=%buildroot popd done mkdir -p -m 755 %{buildroot}%{_bindir} install -p -m 755 gnuhealth-control %{buildroot}%{_bindir}/gnuhealth-control install -p -m 755 %{S:5} %{buildroot}%{_bindir}/openSUSE-gnuhealth-setup install -p -m 755 %{S:6} %{buildroot}%{_bindir}/gnuhealth install -p -m 755 scripts/demodb/install_demo_database.sh %{buildroot}%{_bindir}/install_demo_database.sh #delete empty demo directory rm -rf scripts/demodb mkdir -p %{buildroot}%{_unitdir} install -p -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service install -p -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}-webdav@.service mkdir -p %{buildroot}%{_sysconfdir}/tryton #remove double license file: ## rm backend/fhir/client/COPYING #Move FHIR server to examples directory mkdir -p -m 755 %{buildroot}%{_docdir}/%{name}/examples/ mv doc/* %{buildroot}%{_docdir}/%{name}/examples/. rmdir doc %python_expand %fdupes %{buildroot}%{$python_sitelib} %if %{with tests} %check cd %{buildroot}%{python3_sitelib}/trytond/modules for i in h*; do pushd $i %pytest -rs tests popd done %endif %pre #Write environment changes to /etc/bash.bashrc.local cat > /etc/bash.bashrc.local << "EOF" alias cdlogs='cd /var/log/tryton' alias cdexe='cd %python3_sitelib/trytond' alias cdconf='cd /etc/tryton' alias cdmods='cd %python3_sitelib/trytond/modules' alias editconf='${EDITOR} /etc/tryton/trytond.conf' alias cdutil='cd /usr/bin' export EDITOR=nano EOF #Write GH Variable /etc/tryton/gnuhealthrc cat > /etc/tryton/gnuhealthrc << "EOF" GNUHEALTH_VERSION=%{version} TRYTON_VERSION=%{t_version} EOF %service_add_pre gnuhealth.service %service_add_pre gnuhealth-webdav@.service %post %service_add_post gnuhealth.service %service_add_post gnuhealth-webdav@.service %preun %service_del_preun gnuhealth.service %service_del_preun gnuhealth-webdav@.service %postun %service_del_postun gnuhealth.service %service_del_postun gnuhealth-webdav@.service %files -n %{name}-orthanc %{python3_sitelib}/%{name}_orthanc* %{python3_sitelib}/trytond/modules/health_orthanc* %files %defattr(-,root,root) %{_bindir}/gnuhealth %{_bindir}/gnuhealth-control %{_bindir}/gnuhealth-webdav-server %{_bindir}/openSUSE-gnuhealth-setup %{_bindir}/install_demo_database.sh %{_unitdir}/%{name}.service %{_unitdir}/%{name}-webdav@.service %doc README.rst Changelog gnuhealth-setup version gnuhealthrc GNUHealth.README.openSUSE scripts/* config/* %{_docdir}/%{name}/examples* %dir %{_sysconfdir}/tryton %license COPYING LICENSES/* %exclude %{python3_sitelib}/%{name}_orthanc* %exclude %{python3_sitelib}/trytond/modules/health_orthanc* %{python3_sitelib}/* %changelog