1# distribution specific definitions 2%define bdir %{_builddir}/%{name}-%{version} 3%define dotests 0 4 5%if 0%{?rhel}%{?fedora} 6BuildRequires: gcc 7%if 0%{?amzn2} 8BuildRequires: openssl11-devel 9%else 10BuildRequires: openssl-devel 11%endif 12%endif 13 14%if 0%{?rhel} 15%if 0%{?amzn} == 0 16%define dist .el%{?rhel} 17%endif 18%endif 19 20%if 0%{?suse_version} >= 1315 21BuildRequires: libopenssl-devel 22%endif 23 24%define CC_OPT %{optflags} -fPIC 25%define LD_OPT -Wl,-z,relro -Wl,-z,now -pie 26 27%define CONFIGURE_ARGS $(echo "%%CONFIGURE_ARGS%%") 28 29Provides: nginx-unit 30 31Name: unit 32Summary: NGINX Unit 33Version: %%VERSION%% 34Release: %%RELEASE%%%{?dist}.ngx 35License: ASL 2.0 36Vendor: %%PACKAGE_VENDOR%% 37URL: https://unit.nginx.org/ 38Group: System Environment/Daemons 39 40Source0: unit-%{version}.tar.gz 41Source1: unit.service 42Source2: unit-debug.service 43Source3: unit.example.config 44Source4: unit.logrotate 45 46BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 47BuildRequires: systemd 48Requires(post): systemd 49Requires(preun): systemd 50Requires(postun): systemd 51 52BuildRequires: pcre2-devel 53 54%description 55NGINX Unit is a runtime and delivery environment for modern distributed 56applications. It runs the application code in multiple languages 57(PHP, Python, Go, etc.), and tightly couples it with traffic delivery 58in and out of the application. Take this application server and proxy 59directly in the cloud / container environments and fully control your app 60dynamically via an API. 61 62%if 0%{?suse_version} 63%debug_package 64%endif 65 66%if (0%{?fedora}) || (0%{?rhel} >= 8) 67%define _debugsource_template %{nil} 68%endif 69 70%package devel 71Summary: NGINX Unit (development files) 72Version: %%VERSION%% 73Release: %%RELEASE%%%{?dist}.ngx 74Group: Development/Libraries 75Requires: unit == %%VERSION%%-%%RELEASE%%%{?dist}.ngx 76%description devel 77Library and include files required for NGINX Unit modules development. 78 79%prep 80%setup -q 81 82%build 83./configure \ 84 %{CONFIGURE_ARGS} \ 85 --modules=%{_libdir}/unit/debug-modules \ 86 --libdir=%{_libdir} \ 87 --cc-opt="%{CC_OPT}" \ 88 --ld-opt="%{LD_OPT}" \ 89 --debug 90%{__make} %{?_smp_mflags} 91%{__make} %{?_smp_mflags} build/libunit.a 92%{__mv} build build-debug 93./configure \ 94 %{CONFIGURE_ARGS} \ 95 --modules=%{_libdir}/unit/modules \ 96 --libdir=%{_libdir} \ 97 --cc-opt="%{CC_OPT}" \ 98 --ld-opt="%{LD_OPT}" 99%{__make} %{?_smp_mflags} 100%{__mv} build build-nodebug 101 102%install 103%{__rm} -rf %{buildroot} 104%{__ln_s} build-nodebug build 105DESTDIR=%{buildroot} make unitd-install libunit-install manpage-install 106%{__install} -m755 %{bdir}/build-debug/unitd \ 107 %{buildroot}%{_sbindir}/unitd-debug 108%{__install} -m644 %{bdir}/build-debug/libunit.a \ 109 %{buildroot}%{_libdir}/libunit-debug.a 110%{__mkdir} -p %{buildroot}%{_libdir}/unit/modules 111%{__mkdir} -p %{buildroot}%{_libdir}/unit/debug-modules 112%{__mkdir} -p %{buildroot}%{_sharedstatedir}/unit 113%{__mkdir} -p %{buildroot}%{_localstatedir}/log/unit 114%{__mkdir} -p %{buildroot}%{_localstatedir}/run/unit 115%{__mkdir} -p %{buildroot}%{_sysconfdir}/logrotate.d 116%{__install} -m 644 -p %{SOURCE4} \ 117 %{buildroot}%{_sysconfdir}/logrotate.d/unit 118%{__mkdir} -p %{buildroot}%{_sysconfdir}/unit 119%{__mkdir} -p %{buildroot}%{_datadir}/doc/unit/examples 120%{__install} -m 644 -p %{SOURCE3} \ 121 %{buildroot}%{_datadir}/doc/unit/examples/example.config 122%{__install} -m 644 -p CHANGES \ 123 %{buildroot}%{_datadir}/doc/unit/ 124%{__install} -m 644 -p NOTICE \ 125 %{buildroot}%{_datadir}/doc/unit/COPYRIGHT
| 1# distribution specific definitions 2%define bdir %{_builddir}/%{name}-%{version} 3%define dotests 0 4 5%if 0%{?rhel}%{?fedora} 6BuildRequires: gcc 7%if 0%{?amzn2} 8BuildRequires: openssl11-devel 9%else 10BuildRequires: openssl-devel 11%endif 12%endif 13 14%if 0%{?rhel} 15%if 0%{?amzn} == 0 16%define dist .el%{?rhel} 17%endif 18%endif 19 20%if 0%{?suse_version} >= 1315 21BuildRequires: libopenssl-devel 22%endif 23 24%define CC_OPT %{optflags} -fPIC 25%define LD_OPT -Wl,-z,relro -Wl,-z,now -pie 26 27%define CONFIGURE_ARGS $(echo "%%CONFIGURE_ARGS%%") 28 29Provides: nginx-unit 30 31Name: unit 32Summary: NGINX Unit 33Version: %%VERSION%% 34Release: %%RELEASE%%%{?dist}.ngx 35License: ASL 2.0 36Vendor: %%PACKAGE_VENDOR%% 37URL: https://unit.nginx.org/ 38Group: System Environment/Daemons 39 40Source0: unit-%{version}.tar.gz 41Source1: unit.service 42Source2: unit-debug.service 43Source3: unit.example.config 44Source4: unit.logrotate 45 46BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 47BuildRequires: systemd 48Requires(post): systemd 49Requires(preun): systemd 50Requires(postun): systemd 51 52BuildRequires: pcre2-devel 53 54%description 55NGINX Unit is a runtime and delivery environment for modern distributed 56applications. It runs the application code in multiple languages 57(PHP, Python, Go, etc.), and tightly couples it with traffic delivery 58in and out of the application. Take this application server and proxy 59directly in the cloud / container environments and fully control your app 60dynamically via an API. 61 62%if 0%{?suse_version} 63%debug_package 64%endif 65 66%if (0%{?fedora}) || (0%{?rhel} >= 8) 67%define _debugsource_template %{nil} 68%endif 69 70%package devel 71Summary: NGINX Unit (development files) 72Version: %%VERSION%% 73Release: %%RELEASE%%%{?dist}.ngx 74Group: Development/Libraries 75Requires: unit == %%VERSION%%-%%RELEASE%%%{?dist}.ngx 76%description devel 77Library and include files required for NGINX Unit modules development. 78 79%prep 80%setup -q 81 82%build 83./configure \ 84 %{CONFIGURE_ARGS} \ 85 --modules=%{_libdir}/unit/debug-modules \ 86 --libdir=%{_libdir} \ 87 --cc-opt="%{CC_OPT}" \ 88 --ld-opt="%{LD_OPT}" \ 89 --debug 90%{__make} %{?_smp_mflags} 91%{__make} %{?_smp_mflags} build/libunit.a 92%{__mv} build build-debug 93./configure \ 94 %{CONFIGURE_ARGS} \ 95 --modules=%{_libdir}/unit/modules \ 96 --libdir=%{_libdir} \ 97 --cc-opt="%{CC_OPT}" \ 98 --ld-opt="%{LD_OPT}" 99%{__make} %{?_smp_mflags} 100%{__mv} build build-nodebug 101 102%install 103%{__rm} -rf %{buildroot} 104%{__ln_s} build-nodebug build 105DESTDIR=%{buildroot} make unitd-install libunit-install manpage-install 106%{__install} -m755 %{bdir}/build-debug/unitd \ 107 %{buildroot}%{_sbindir}/unitd-debug 108%{__install} -m644 %{bdir}/build-debug/libunit.a \ 109 %{buildroot}%{_libdir}/libunit-debug.a 110%{__mkdir} -p %{buildroot}%{_libdir}/unit/modules 111%{__mkdir} -p %{buildroot}%{_libdir}/unit/debug-modules 112%{__mkdir} -p %{buildroot}%{_sharedstatedir}/unit 113%{__mkdir} -p %{buildroot}%{_localstatedir}/log/unit 114%{__mkdir} -p %{buildroot}%{_localstatedir}/run/unit 115%{__mkdir} -p %{buildroot}%{_sysconfdir}/logrotate.d 116%{__install} -m 644 -p %{SOURCE4} \ 117 %{buildroot}%{_sysconfdir}/logrotate.d/unit 118%{__mkdir} -p %{buildroot}%{_sysconfdir}/unit 119%{__mkdir} -p %{buildroot}%{_datadir}/doc/unit/examples 120%{__install} -m 644 -p %{SOURCE3} \ 121 %{buildroot}%{_datadir}/doc/unit/examples/example.config 122%{__install} -m 644 -p CHANGES \ 123 %{buildroot}%{_datadir}/doc/unit/ 124%{__install} -m 644 -p NOTICE \ 125 %{buildroot}%{_datadir}/doc/unit/COPYRIGHT
|
126%{__install} -m 644 -p README \
| 126%{__install} -m 644 -p README.md \
|
127 %{buildroot}%{_datadir}/doc/unit/
| 127 %{buildroot}%{_datadir}/doc/unit/
|
| 128%{__install} -m 644 -p CONTRIBUTING.md \ 129 %{buildroot}%{_datadir}/doc/unit/
|
128 129%{__rm} -rf %{buildroot}%{_initrddir}/ 130%{__install} -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/unit.service 131%{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/unit-debug.service 132 133QA_SKIP_BUILD_ROOT=1 134export QA_SKIP_BUILD_ROOT 135 136%check 137%if %{dotests} 138cd %{bdir} && make tests && ./build/tests 139%endif 140%{__rm} -rf %{buildroot}/usr/src 141cd %{bdir} 142grep -v 'usr/src' debugfiles.list > debugfiles.list.new && mv debugfiles.list.new debugfiles.list 143cat /dev/null > debugsources.list 144%if 0%{?suse_version} >= 1500 145cat /dev/null > debugsourcefiles.list 146%endif 147 148%clean 149%{__rm} -rf %{buildroot} 150 151%post 152getent group unit >/dev/null || groupadd -r unit 153getent passwd unit >/dev/null || \ 154 useradd -r -g unit -s /sbin/nologin \ 155 -d /nonexistent -c "unit user" unit 156if [ $1 -eq 1 ]; then 157 /usr/bin/systemctl preset unit.service >/dev/null 2>&1 ||: 158 /usr/bin/systemctl preset unit-debug.service >/dev/null 2>&1 ||: 159 cat <<BANNER 160---------------------------------------------------------------------- 161 162Thank you for installing NGINX Unit! 163 164Additional modules are available in standalone packages. 165To see the available modules, run "yum list available unit-\*". 166 167Online documentation is available at https://unit.nginx.org/ 168 169---------------------------------------------------------------------- 170BANNER 171fi 172 173%preun 174if [ $1 -eq 0 ]; then 175 /usr/bin/systemctl --no-reload disable unit.service >/dev/null 2>&1 ||: 176 /usr/bin/systemctl stop unit.service >/dev/null 2>&1 ||: 177fi 178 179%postun 180/usr/bin/systemctl daemon-reload >/dev/null 2>&1 ||: 181if [ $1 -ge 1 ]; then 182 /usr/bin/systemctl try-restart unit.service >/dev/null 2>&1 ||: 183fi 184 185%triggerpostun -- unit < 1.22.0 186cat <<BANNER 187---------------------------------------------------------------------- 188 189WARNING: 190 191Since version 1.22.0, Unit's non-privileged processes run as unit:unit by 192default. Review your system permissions and Unit configuration so apps and 193routes that relied on these processes running as nobody:nogroup stay working. 194 195More info: https://unit.nginx.org/installation/#official-packages 196 197---------------------------------------------------------------------- 198BANNER 199 200%files 201%defattr(-,root,root,-) 202%attr(0755,root,root) %{_sbindir}/unitd 203%attr(0755,root,root) %{_sbindir}/unitd-debug 204%dir %{_sysconfdir}/unit 205%{_unitdir}/unit.service 206%{_unitdir}/unit-debug.service 207%dir %attr(0755,root,root) %ghost %{_localstatedir}/run/unit 208%dir %{_datadir}/doc/unit 209%{_datadir}/doc/unit/* 210%dir %{_libdir}/unit/modules 211%dir %{_libdir}/unit/debug-modules 212%dir %{_sharedstatedir}/unit 213%dir %attr(0755,root,root) %{_localstatedir}/log/unit 214%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} 215%{_mandir}/man8/unitd.8* 216 217%files devel 218%{_libdir}/libunit.a 219%{_libdir}/libunit-debug.a 220%{_includedir}/nxt_*.h 221 222%changelog
| 130 131%{__rm} -rf %{buildroot}%{_initrddir}/ 132%{__install} -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/unit.service 133%{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/unit-debug.service 134 135QA_SKIP_BUILD_ROOT=1 136export QA_SKIP_BUILD_ROOT 137 138%check 139%if %{dotests} 140cd %{bdir} && make tests && ./build/tests 141%endif 142%{__rm} -rf %{buildroot}/usr/src 143cd %{bdir} 144grep -v 'usr/src' debugfiles.list > debugfiles.list.new && mv debugfiles.list.new debugfiles.list 145cat /dev/null > debugsources.list 146%if 0%{?suse_version} >= 1500 147cat /dev/null > debugsourcefiles.list 148%endif 149 150%clean 151%{__rm} -rf %{buildroot} 152 153%post 154getent group unit >/dev/null || groupadd -r unit 155getent passwd unit >/dev/null || \ 156 useradd -r -g unit -s /sbin/nologin \ 157 -d /nonexistent -c "unit user" unit 158if [ $1 -eq 1 ]; then 159 /usr/bin/systemctl preset unit.service >/dev/null 2>&1 ||: 160 /usr/bin/systemctl preset unit-debug.service >/dev/null 2>&1 ||: 161 cat <<BANNER 162---------------------------------------------------------------------- 163 164Thank you for installing NGINX Unit! 165 166Additional modules are available in standalone packages. 167To see the available modules, run "yum list available unit-\*". 168 169Online documentation is available at https://unit.nginx.org/ 170 171---------------------------------------------------------------------- 172BANNER 173fi 174 175%preun 176if [ $1 -eq 0 ]; then 177 /usr/bin/systemctl --no-reload disable unit.service >/dev/null 2>&1 ||: 178 /usr/bin/systemctl stop unit.service >/dev/null 2>&1 ||: 179fi 180 181%postun 182/usr/bin/systemctl daemon-reload >/dev/null 2>&1 ||: 183if [ $1 -ge 1 ]; then 184 /usr/bin/systemctl try-restart unit.service >/dev/null 2>&1 ||: 185fi 186 187%triggerpostun -- unit < 1.22.0 188cat <<BANNER 189---------------------------------------------------------------------- 190 191WARNING: 192 193Since version 1.22.0, Unit's non-privileged processes run as unit:unit by 194default. Review your system permissions and Unit configuration so apps and 195routes that relied on these processes running as nobody:nogroup stay working. 196 197More info: https://unit.nginx.org/installation/#official-packages 198 199---------------------------------------------------------------------- 200BANNER 201 202%files 203%defattr(-,root,root,-) 204%attr(0755,root,root) %{_sbindir}/unitd 205%attr(0755,root,root) %{_sbindir}/unitd-debug 206%dir %{_sysconfdir}/unit 207%{_unitdir}/unit.service 208%{_unitdir}/unit-debug.service 209%dir %attr(0755,root,root) %ghost %{_localstatedir}/run/unit 210%dir %{_datadir}/doc/unit 211%{_datadir}/doc/unit/* 212%dir %{_libdir}/unit/modules 213%dir %{_libdir}/unit/debug-modules 214%dir %{_sharedstatedir}/unit 215%dir %attr(0755,root,root) %{_localstatedir}/log/unit 216%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} 217%{_mandir}/man8/unitd.8* 218 219%files devel 220%{_libdir}/libunit.a 221%{_libdir}/libunit-debug.a 222%{_includedir}/nxt_*.h 223 224%changelog
|