diff options
Diffstat (limited to 'extra/fuss.spec')
-rw-r--r-- | extra/fuss.spec | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/extra/fuss.spec b/extra/fuss.spec new file mode 100644 index 0000000..3519216 --- /dev/null +++ b/extra/fuss.spec @@ -0,0 +1,167 @@ +# File: fuss.spec +# Location: fuss package +# Author: bgstack15 +# SPDX-License-Identifier: CC-BY-SA-4.0 +# Startdate: 2021-01-05 +# Title: Rpm spec for fuss package +# Purpose: Provide build instructions for CentOS rpm for package +# History: +# Usage: +# Reference: +# Improve: +# Documentation: +# Dependencies: + +# Tunables +# If you set with_icons to 1, then you will pull in a large amount of dependencies! +%global with_icons 0 +# If you set this to 1, use the systemd-rpm-macros functionality described at https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/ +%global with_systemd_usercreate 0 +%global pythonver python36 + +# Fedora defaults +%if 0%{?fedora} +%global with_systemd_usercreate 1 +%global with_icons 1 +%global pythonver python3 +%endif + +%global _appvardir %{?_localstatedir}%{!?_localstatedir:/var}/www/fuss +%global _appdir %{?_datarootdir}%{!?_datarootdir:%{_prefix}/share}/fuss +%global _user fuss + +%define devtty "/dev/null" +%define debug_package %{nil} +%global _python_bytecompile_errors_terminate_build 0 + +Summary: file upload and storage service web app +Name: fuss +Version: 0.0.1 +Release: 1 +License: GPL 3.0 +Source0: %{name}_%{version}.orig.tar.gz +%if 0%{?with_systemd_usercreate} +Source1: extra/%{name}.sysusers +%endif +%if ! 0%{?fedora} +Patch1: extra/%{name}-el7.patch +%endif +URL: https://bgstack15.wordpress.com/ +#Distribution: +#Vendor: +Packager: B. Stack <bgstack15@gmail.com> +Requires: %{pythonver}-flask +Requires: %{pythonver}-uwsgidecorators +Requires: uwsgi-plugin-%{pythonver} +Requires: uwsgi-logger-file +%if 0%{?fedora} +Requires: %{pythonver}-magic +Requires: %{pythonver}-flask-script +%endif +# Mandatory pip3 requirements: flask-script, python-magic +%if 0%{?with_icons} +Requires: /usr/bin/xvfb-run +%if 0%{?fedora} +Requires: %{pythonver}-gobject +%else +# The following are needed for CentOS7 pip3 install --user PyGObject +Requires: cairo-gobject-devel +Requires: gcc +Requires: gobject-introspection-devel +Requires: gtk3-devel +Requires: python36-gobject +Requires: python3-devel +%endif +%endif +#BuildRequires: txt2man +%if 0%{?with_systemd_usercreate} +BuildRequires: systemd-rpm-macros +%endif +%if 0%{?fedora} || 0%{?rhel} >= 8 +Suggests: httpd +%endif +Buildarch: noarch + +%description +File Upload and Storage Service is a demo flask application that can +be used for whatever purposes you want. + +%prep +%setup -q -c %{name} +test -d "%{name}" && cd "%{name}" +%if ! 0%{?fedora} +%patch1 -p1 +%endif + +%build +export srcdir="extra" +test -d "%{name}" && cd "%{name}" +%make_build -C "${srcdir}" + +%install +export srcdir="extra" +test -d "%{name}" && cd "%{name}" +%make_install -C "${srcdir}" \ + with_systemd=YES \ + with_init=NO \ + with_pip_helper=YES +%if 0%{?with_systemd_usercreate} +install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf +%endif +exit 0 + +%clean +rm -rf %{buildroot} + +%pre +# Reference: squid.spec +%if 0%{?with_systemd_usercreate} +%sysusers_create_compat %{SOURCE1} +%else +if ! getent group %{_user} 1>/dev/null 2>&1 ; +then + /usr/sbin/groupadd --system --gid 723 %{_user} +fi +if ! getent passwd %{_user} 1>/dev/null 2>&1 ; +then + /usr/sbin/useradd --system --gid 723 \ + --uid 723 --comment "FUSS system user" \ + --home-dir %{_appvardir} --shell /sbin/nologin \ + %{_user} +fi +%endif +exit 0 + +%preun +%systemd_postun_with_restart %{name}.service + +%post +%systemd_post %{name}.service + +%postun +%systemd_postun_with_restart %{name}.service + +%files +%if 0%{?with_systemd_usercreate} +%{_sysusersdir}/%{name}.conf +%endif +%attr(0644, %{_user}, %{_user}) %config(noreplace) %{_sysconfdir}/%{name}.conf +%attr(0644, %{_user}, %{_user}) %config(noreplace) %{_sysconfdir}/%{name}.wsgi.ini +%attr(0644, %{_user}, %{_user}) %{_libexecdir}/%{name}/%{name}.py +%attr(0755, %{_user}, %{_user}) %{_sbindir}/%{name}.bin +%attr(0644, %{_user}, %{_user}) %{_appdir}/static/* +%attr(0644, %{_user}, %{_user}) %{_appdir}/templates/* +%attr(0755, %{_user}, %{_user}) %dir %{_appdir}/static +%attr(0755, %{_user}, %{_user}) %dir %{_appdir}/templates +%attr(0755, %{_user}, %{_user}) %dir %{_appvardir}/upload +%attr(0755, %{_user}, %{_user}) %dir %{_appdir} +%attr(0755, %{_user}, %{_user}) %dir %{_appvardir} +%attr(0755, -, -) %{_libexecdir}/%{name}/pip-helper.sh +%attr(0644, root, root) %{?_unitdir}%{!?_unitdir:/usr/lib/systemd/system}/%{name}.service +%attr(0644, root, root) %{_sysconfdir}/httpd/conf.d/%{name}.conf +%attr(0755, %{_user}, %{_user}) %dir %{?_localstatedir}%{!?_localstatedir:/var}/log/%{name} +%{_defaultdocdir}/%{name} + +%changelog +* Tue Jan 05 2021 B. Stack <bgstack15@gmail.com> - 0.0.1-1 +- Initial release |