mirror of
https://github.com/xcat2/confluent.git
synced 2024-11-27 03:49:57 +00:00
6a12af1242
Older systemd does not support capabilities. For such a platform, disable non-root mode.
90 lines
4.0 KiB
Cheetah
90 lines
4.0 KiB
Cheetah
%define name confluent_server
|
|
%define version #VERSION#
|
|
%define release 1
|
|
|
|
Summary: confluent systems management server
|
|
Name: %{name}
|
|
Version: %{version}
|
|
Release: %{release}
|
|
Source0: %{name}-%{version}.tar.gz
|
|
License: Apache2
|
|
Group: Development/Libraries
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
|
Prefix: %{_prefix}
|
|
BuildArch: noarch
|
|
%if "%{dist}" == ".el8"
|
|
Requires: python3-pyghmi >= 1.0.34, python3-eventlet, python3-greenlet, python3-pycryptodomex >= 3.4.7, confluent_client, python3-pyparsing, python3-paramiko, python3-dns, python3-netifaces, python3-pyasn1 >= 0.2.3, python3-pysnmp >= 4.3.4, python3-pyte, python3-lxml, python3-eficompressor, python3-setuptools, python3-dateutil, python3-enum34, python3-asn1crypto, python3-cffi, python3-pyOpenSSL, python3-monotonic, python3-websocket-client python3-msgpack
|
|
%else
|
|
Requires: python-pyghmi >= 1.0.34, python-eventlet, python-greenlet, python-pycryptodomex >= 3.4.7, confluent_client, python-pyparsing, python-paramiko, python-dns, python-netifaces, python2-pyasn1 >= 0.2.3, python-pysnmp >= 4.3.4, python-pyte, python-lxml, python-eficompressor, python-setuptools, python-dateutil, python2-websocket-client python2-msgpack
|
|
%endif
|
|
Vendor: Jarrod Johnson <jjohnson2@lenovo.com>
|
|
Url: http://xcat.sf.net/
|
|
|
|
%description
|
|
Server for console management and systems management aggregation
|
|
|
|
%prep
|
|
%setup -n %{name}-%{version} -n %{name}-%{version}
|
|
|
|
%build
|
|
%if "%{dist}" == ".el8"
|
|
python3 setup.py build
|
|
%else
|
|
python2 setup.py build
|
|
%endif
|
|
|
|
%install
|
|
%if "%{dist}" == ".el8"
|
|
python3 setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES.bare --install-purelib=/opt/confluent/lib/python --install-scripts=/opt/confluent/bin
|
|
%else
|
|
python2 setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES.bare --install-purelib=/opt/confluent/lib/python --install-scripts=/opt/confluent/bin
|
|
%endif
|
|
for file in $(grep confluent/__init__.py INSTALLED_FILES.bare); do
|
|
rm $RPM_BUILD_ROOT/$file
|
|
done
|
|
grep -v confluent/__init__.py INSTALLED_FILES.bare | grep -v etc/init.d/confluent > INSTALLED_FILES
|
|
rm $RPM_BUILD_ROOT/etc/init.d/confluent
|
|
rmdir $RPM_BUILD_ROOT/etc/init.d
|
|
rmdir $RPM_BUILD_ROOT/etc
|
|
# Only do non-root confluent if systemd of the platform supports it
|
|
systemd-analyze verify $RPM_BUILD_ROOT/usr/lib/systemd/system/confluent.service 2>&1 | grep "'AmbientCapabilities'" > /dev/null && sed -e 's/User=.*//' -e 's/Group=.*//' -e 's/AmbientCapabilities=.*//' -i $RPM_BUILD_ROOT/usr/lib/systemd/system/confluent.service
|
|
cat INSTALLED_FILES
|
|
|
|
%triggerin -- python-pyghmi, python3-pyghmi, python2-pyghmi
|
|
if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl try-restart confluent >& /dev/null; fi
|
|
true
|
|
|
|
%pre
|
|
getent group confluent > /dev/null || /usr/sbin/groupadd -r confluent
|
|
getent passwd confluent > /dev/null || /usr/sbin/useradd -r -g confluent -d /var/lib/confluent -s /sbin/nologin confluent
|
|
mkdir -p /etc/confluent /var/lib/confluent /var/log/confluent /var/cache/confluent
|
|
chown -R confluent:confluent /etc/confluent /var/lib/confluent /var/log/confluent /var/cache/confluent
|
|
|
|
%post
|
|
sysctl -p /usr/lib/sysctl.d/confluent.conf >& /dev/null
|
|
NEEDCHOWN=0
|
|
NEEDSTART=0
|
|
find /etc/confluent -uid 0 | egrep '.*' > /dev/null && NEEDCHOWN=1
|
|
find /var/log/confluent -uid 0 | egrep '.*' > /dev/null && NEEDCHOWN=1
|
|
find /var/run/confluent -uid 0 | egrep '.*' > /dev/null && NEEDCHOWN=1
|
|
find /var/cache/confluent -uid 0 | egrep '.*' > /dev/null && NEEDCHOWN=1
|
|
if [ $NEEDCHOWN = 1 ]; then
|
|
if systemctl is-active confluent > /dev/null; then
|
|
NEEDSTART=1
|
|
systemctl stop confluent
|
|
fi
|
|
chown -R confluent:confluent /etc/confluent /var/lib/confluent /var/log/confluent /var/cache/confluent
|
|
fi
|
|
systemctl daemon-reload
|
|
if systemctl is-active confluent > /dev/null || [ $NEEDSTART = 1 ]; then /usr/bin/systemctl restart confluent >& /dev/null; fi
|
|
if [ ! -e /etc/pam.d/confluent ]; then
|
|
ln -s /etc/pam.d/sshd /etc/pam.d/confluent
|
|
fi
|
|
true
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%files -f INSTALLED_FILES
|
|
%defattr(-,root,root)
|