summaryrefslogtreecommitdiffhomepage
path: root/pkg/rpm
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2019-01-24 14:05:58 +0300
committerRemi Collet <remi@remirepo.net>2019-01-24 14:05:58 +0300
commitb78ed44f396cbfde7d8353cbc3faaf35c0f4dddf (patch)
treec09cf51ffb7a146cbcb9e0bf686ae7ccd484275f /pkg/rpm
parentb1649bce9ed1521a48e18b22fb58aaf09f9637b0 (diff)
downloadunit-b78ed44f396cbfde7d8353cbc3faaf35c0f4dddf.tar.gz
unit-b78ed44f396cbfde7d8353cbc3faaf35c0f4dddf.tar.bz2
Packages: systemd and other improvements.
See the following links for details: https://github.com/nginx/unit/pull/212 https://github.com/nginx/unit/issues/213 Closes #155, closes #212, closes #213.
Diffstat (limited to '')
-rw-r--r--pkg/rpm/Makefile2
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/unit.logrotate10
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/unit.service20
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/unit.sysconf2
-rw-r--r--pkg/rpm/unit.spec.in38
5 files changed, 56 insertions, 16 deletions
diff --git a/pkg/rpm/Makefile b/pkg/rpm/Makefile
index 86b3e3f1..d817b434 100644
--- a/pkg/rpm/Makefile
+++ b/pkg/rpm/Makefile
@@ -102,7 +102,7 @@ endif
CONFIGURE_ARGS=\
--prefix=/usr \
--state=%{_sharedstatedir}/unit \
- --control="unix:/var/run/control.unit.sock" \
+ --control="unix:/var/run/unit/control.sock" \
--pid=/var/run/unit.pid \
--log=/var/log/unit.log \
--tests \
diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.logrotate b/pkg/rpm/rpmbuild/SOURCES/unit.logrotate
new file mode 100644
index 00000000..8fb00199
--- /dev/null
+++ b/pkg/rpm/rpmbuild/SOURCES/unit.logrotate
@@ -0,0 +1,10 @@
+/var/log/unit/*.log {
+ missingok
+ nocreate
+ notifempty
+ postrotate
+ if [ -f /var/run/unit/unit.pid ]; then
+ /bin/kill -SIGUSR1 `cat /var/run/unit/unit.pid`
+ fi
+ endscript
+}
diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.service b/pkg/rpm/rpmbuild/SOURCES/unit.service
index 4aaf70cd..f888685f 100644
--- a/pkg/rpm/rpmbuild/SOURCES/unit.service
+++ b/pkg/rpm/rpmbuild/SOURCES/unit.service
@@ -1,14 +1,26 @@
+# Modifying this file in-place is not recommended, because changes
+# will be overwritten during package upgrades. To customize the
+# behaviour, run "systemctl edit unit" to create an override unit.
+
+# For example, to change options given to the unitd binary at startup,
+# create an override unit (as is done by systemctl edit) and enter
+# the following:
+
+# [Service]
+# Environment="UNITD_OPTIONS=--log /var/log/unit/unit.log --pid /run/unit/unit.pid"
+
[Unit]
Description=NGINX Unit
Wants=network-online.target
After=network-online.target
[Service]
-Type=forking
-PIDFile=/run/unit.pid
-EnvironmentFile=-/etc/sysconfig/unit
-ExecStart=/usr/sbin/unitd $UNITD_OPTIONS
+Type=simple
+Environment="UNITD_OPTIONS=--log /var/log/unit/unit.log --pid /run/unit/unit.pid"
+ExecStart=/usr/sbin/unitd $UNITD_OPTIONS --no-daemon
ExecReload=
+RuntimeDirectory=unit
+RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.sysconf b/pkg/rpm/rpmbuild/SOURCES/unit.sysconf
index 0b28558f..9146bdac 100644
--- a/pkg/rpm/rpmbuild/SOURCES/unit.sysconf
+++ b/pkg/rpm/rpmbuild/SOURCES/unit.sysconf
@@ -1 +1 @@
-UNITD_OPTIONS="--log /var/log/unit.log --pid /run/unit.pid"
+UNITD_OPTIONS="--log /var/log/unit/unit.log --pid /var/run/unit/unit.pid"
diff --git a/pkg/rpm/unit.spec.in b/pkg/rpm/unit.spec.in
index 1ef02881..d69a3dc9 100644
--- a/pkg/rpm/unit.spec.in
+++ b/pkg/rpm/unit.spec.in
@@ -1,25 +1,31 @@
# distribution specific definitions
-%define use_systemd (0%{?rhel} && 0%{?rhel} >= 7) || (0%{?suse_version} >= 1315)
+%define use_systemd (0%{?rhel} >= 7 || 0%{?fedora} >= 19 || 0%{?suse_version} >= 1315)
%define bdir %{_builddir}/%{name}-%{version}
%define dotests 0
%if ( 0%{?rhel} == 5 || 0%{?rhel} == 6 )
Requires: initscripts >= 8.36
-BuildRequires: openssl-devel
%endif
-%if 0%{?rhel} == 7
-Requires: systemd
-BuildRequires: systemd-units
+%if %{use_systemd}
+BuildRequires: systemd
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+%endif
+
+%if 0%{?rhel}%{?fedora}
+BuildRequires: gcc
BuildRequires: openssl-devel
+%endif
+
+%if 0%{?rhel}
%if 0%{?amzn} == 0
-%define dist .el7
+%define dist .el%{?rhel}
%endif
%endif
%if 0%{?suse_version} >= 1315
-BuildRequires: systemd
-Requires: systemd
BuildRequires: libopenssl-devel
%endif
@@ -45,6 +51,7 @@ Source1: unit.service
Source2: unit.init
Source3: unit.sysconf
Source4: unit.example.config
+Source5: unit.logrotate
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -103,9 +110,16 @@ DESTDIR=%{buildroot} make unitd-install libunit-install
%{__mkdir} -p %{buildroot}%{_libdir}/unit/modules
%{__mkdir} -p %{buildroot}%{_libdir}/unit/debug-modules
%{__mkdir} -p %{buildroot}%{_sharedstatedir}/unit
+%{__mkdir} -p %{buildroot}%{_localstatedir}/log/unit
+%{__mkdir} -p %{buildroot}%{_localstatedir}/run/unit
+%if ! %{use_systemd}
%{__mkdir} -p %{buildroot}%{_sysconfdir}/sysconfig
%{__install} -m 644 -p %{SOURCE3} \
- %{buildroot}%{_sysconfdir}/sysconfig/unit
+ %{buildroot}%{_sysconfdir}/sysconfig/unitd
+%endif
+%{__mkdir} -p %{buildroot}%{_sysconfdir}/logrotate.d
+%{__install} -m 644 -p %{SOURCE5} \
+ %{buildroot}%{_sysconfdir}/logrotate.d/unit
%{__mkdir} -p %{buildroot}%{_sysconfdir}/unit
%{__mkdir} -p %{buildroot}%{_datadir}/doc/unit/examples
%{__install} -m 644 -p %{SOURCE4} \
@@ -185,11 +199,13 @@ fi
%defattr(-,root,root,-)
%attr(0755,root,root) %{_sbindir}/unitd
%attr(0755,root,root) %{_sbindir}/unitd-debug
-%config(noreplace) %{_sysconfdir}/sysconfig/unit
%dir %{_sysconfdir}/unit
%if %{use_systemd}
%{_unitdir}/unit.service
+%dir %attr(0755,root,root) %ghost %{_localstatedir}/run/unit
%else
+%config(noreplace) %{_sysconfdir}/sysconfig/unitd
+%dir %attr(0755,root,root) %{_localstatedir}/run/unit
%{_initrddir}/unit
%endif
%dir %{_datadir}/doc/unit
@@ -197,6 +213,8 @@ fi
%dir %{_libdir}/unit/modules
%dir %{_libdir}/unit/debug-modules
%dir %{_sharedstatedir}/unit
+%dir %attr(0700,root,root) %{_localstatedir}/log/unit
+%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%files devel
%{_libdir}/libunit.a