summaryrefslogtreecommitdiffstats
path: root/unit.spec
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2019-01-16 08:59:51 +0100
committerRemi Collet <remi@remirepo.net>2019-01-16 08:59:51 +0100
commitacf99b02610aadddd42dc434c36ed3fe0b9eb5af (patch)
treee167fffd0c57bd02b1662b20509eb0e59bc2ef14 /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.spec196
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