diff options
author | Remi Collet <remi@remirepo.net> | 2019-01-16 08:59:51 +0100 |
---|---|---|
committer | Remi Collet <remi@remirepo.net> | 2019-01-16 08:59:51 +0100 |
commit | acf99b02610aadddd42dc434c36ed3fe0b9eb5af (patch) | |
tree | e167fffd0c57bd02b1662b20509eb0e59bc2ef14 /unit.spec |
initial package
open https://github.com/nginx/unit/pull/215 system crypto policy
open https://github.com/nginx/unit/pull/212 systemd improvments
Diffstat (limited to 'unit.spec')
-rw-r--r-- | unit.spec | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/unit.spec b/unit.spec new file mode 100644 index 0000000..908d126 --- /dev/null +++ b/unit.spec @@ -0,0 +1,196 @@ +# remirepo/fedora spec file for unit-php +# +# Copyright (c) 2019 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# + +%global gh_owner nginx +%global project unit +%global gh_commit c51e1aa47dcb13b7118e0be00619736ccca839df +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) + +# distribution specific definitions +%global use_systemd (0%{?rhel} >= 7 || 0%{?fedora} >= 19) +%global with_tests 0%{!?_without_tests:1} + +Name: unit +Summary: NGINX Unit application server +Version: 1.7 +Release: 1%{?dist} +License: ASL 2.0 +URL: https://unit.nginx.org/ + +Source0: https://github.com/%{gh_owner}/%{project}/archive/%{gh_commit}/%{project}-%{version}-%{gh_short}.tar.gz +Source1: unit.service +Source2: unit.init +Source3: unit.sysconf + + +# Use system crypto policy +Patch0: https://github.com/nginx/unit/pull/215.patch + +BuildRequires: openssl-devel +%if %{use_systemd} +BuildRequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else +Requires: initscripts >= 8.36 +%endif +Provides: nginx-unit = %{version}-%{release} + + +%description +NGINX Unit is a runtime and delivery environment for modern distributed +applications. It runs the application code in multiple languages +(PHP, Python, Go, etc.), and tightly couples it with traffic delivery +in and out of the application. Take this application server and proxy +directly in the cloud / container environments and fully control your app +dynamically via an API. + + +%package devel +Summary: NGINX Unit (development files) +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Library and include files required for NGINX Unit modules development. + + +%prep +%setup -qn %{project}-%{gh_commit} +%patch0 -p1 -b .syspol + +cp pkg/rpm/rpmbuild/SOURCES/unit.example.config example.config + + +%build +unitconf() { +./configure \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --state=%{_sharedstatedir}/unit \ +%if %{use_systemd} + --control="unix:/run/unit/control.sock" \ + --pid=/run/unit.pid \ +%else + --control="unix:/var/run/unit/control.sock" \ + --pid=/var/run/unit.pid \ +%endif + --log=/var/log/unit.log \ + --openssl \ + --cc-opt="%{optflags}" \ + --tests \ + $* +} + +unitconf \ + --modules=%{_libdir}/unit/debug-modules \ + --debug +make %{?_smp_mflags} +make %{?_smp_mflags} build/libunit.a +mv build build-debug + +unitconf \ + --modules=%{_libdir}/unit/modules +make %{?_smp_mflags} + + +%install +DESTDIR=%{buildroot} make unitd-install libunit-install + +install -m755 build-debug/unitd %{buildroot}%{_sbindir}/unitd-debug +install -m644 build-debug/libunit.a %{buildroot}%{_libdir}/libunit-debug.a + +mkdir -p %{buildroot}%{_sysconfdir}/%{name} +mkdir -p %{buildroot}%{_libdir}/%{name}/modules +mkdir -p %{buildroot}%{_libdir}/%{name}/debug-modules +mkdir -p %{buildroot}%{_sharedstatedir}/%{name} +mkdir -p %{buildroot}%{_localstatedir}/log/%{name} +mkdir -p %{buildroot}%{_localstatedir}/run/%{name} + +# init scripts +%if %{use_systemd} +install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service +mkdir -p %{buildroot}%{_sysconfdir}/systemd/system/%{name}.service.d + +%else +install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/%{name} +install -p -D -m 0755 %{SOURCE2} %{buildroot}%{_initrddir}/%{name} +%endif + + +%check +%if %{with_tests} +make tests %{?_smp_mflags} +./build/tests +%endif + + +%post +%if %{use_systemd} +%systemd_post %{name}.service +%else +/sbin/chkconfig --add unit +%endif + +%preun +%if %{use_systemd} +%systemd_preun %{name}.service +%else +if [ $1 -eq 0 ]; then + /sbin/service unit stop >/dev/null 2>&1 + /sbin/chkconfig --del unit +fi +%endif + +%postun +%if %{use_systemd} +%systemd_postun_with_restart %{name}.service +%else +if [ $1 -ge 1 ]; then + /sbin/service unit condrestart >/dev/null 2>&1 ||: +fi +%endif + + +%files +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc NOTICE README CHANGES +%doc example.config +%attr(0755,root,root) %{_sbindir}/unitd +%attr(0755,root,root) %{_sbindir}/unitd-debug +%dir %{_sysconfdir}/unit +%dir %{_libdir}/unit/modules +%dir %{_libdir}/unit/debug-modules +%dir %{_sharedstatedir}/unit +%dir %attr(0700,root,root) %{_localstatedir}/log/unit + +%if %{use_systemd} +%dir %{_sysconfdir}/systemd/system/%{name}.service.d +%{_unitdir}/unit.service +%dir %attr(0755,root,root) %ghost /run/unit + +%else +%config(noreplace) %{_sysconfdir}/sysconfig/unit +%dir %attr(0755,root,root) %{_localstatedir}/run/unit +%{_initrddir}/unit +%endif + +%files devel +# API is not stable YET, so keep the static library for now (like upstream packages) +%{_libdir}/libunit.a +%{_libdir}/libunit-debug.a +%{_includedir}/nxt_*.h + + +%changelog +* Tue Jan 15 2019 Remi Collet <remi@remirepo.net> - 1.7-1 +- initial package +- open https://github.com/nginx/unit/pull/215 system crypto policy +- open https://github.com/nginx/unit/pull/212 systemd improvments |