%define name confluent_server %define version #VERSION# %define fversion %{lua: sv, _ = string.gsub("#VERSION#", "[~+]", "-") print(sv) } %define release 1 Summary: confluent systems management server Name: %{name} Version: %{version} Release: %{release} Source0: %{name}-%{fversion}.tar.gz License: Apache2 Group: Development/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Prefix: %{_prefix} BuildArch: noarch Requires: confluent_vtbufferd %if "%{dist}" == ".el7" Requires: python-pyghmi >= 1.5.71, python-eventlet, python-greenlet, python-pycryptodomex >= 3.4.7, confluent_client == %{version}, python-pyparsing, python-paramiko, python-dnspython, python-netifaces, python2-pyasn1 >= 0.2.3, python-pysnmp >= 4.3.4, python-lxml, python-eficompressor, python-setuptools, python-dateutil, python-websocket-client python2-msgpack python-libarchive-c python-yaml python-monotonic %else %if "%{dist}" == ".el8" Requires: python3-pyghmi >= 1.5.71, python3-eventlet, python3-greenlet, python3-pycryptodomex >= 3.4.7, confluent_client == %{version}, python3-pyparsing, python3-paramiko, python3-dns, python3-netifaces, python3-pyasn1 >= 0.2.3, python3-pysnmp >= 4.3.4, python3-lxml, python3-eficompressor, python3-setuptools, python3-dateutil, python3-enum34, python3-asn1crypto, python3-cffi, python3-pyOpenSSL, python3-websocket-client python3-msgpack python3-libarchive-c python3-yaml openssl iproute %else %if "%{dist}" == ".el9" Requires: python3-pyghmi >= 1.5.71, python3-eventlet, python3-greenlet, python3-pycryptodomex >= 3.4.7, confluent_client == %{version}, python3-pyparsing, python3-paramiko, python3-dns, python3-webauthn, python3-netifaces, python3-pyasn1 >= 0.2.3, python3-pysnmp >= 4.3.4, python3-lxml, python3-eficompressor, python3-setuptools, python3-dateutil, python3-cffi, python3-pyOpenSSL, python3-websocket-client python3-msgpack python3-libarchive-c python3-yaml openssl iproute %else Requires: python3-dbm,python3-pyghmi >= 1.5.71, python3-eventlet, python3-greenlet, python3-pycryptodome >= 3.4.7, confluent_client == %{version}, python3-pyparsing, python3-paramiko, python3-dnspython, python3-netifaces, python3-pyasn1 >= 0.2.3, python3-pysnmp >= 4.3.4, python3-lxml, python3-eficompressor, python3-setuptools, python3-dateutil, python3-cffi, python3-pyOpenSSL, python3-websocket-client python3-msgpack python3-libarchive-c python3-PyYAML openssl iproute %endif %endif %endif Vendor: Lenovo Url: https://github.com/lenovo/confluent %description Server for console management and systems management aggregation %prep %setup -n %{name}-%{fversion} %build %if "%{dist}" == ".el7" python2 setup.py build %else python3 setup.py build %endif %install %if "%{dist}" == ".el7" 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 %else 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 %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 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/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 %license /opt/confluent/share/licenses/confluent_server/LICENSE %license /opt/confluent/share/licenses/confluent_server/COPYRIGHT %defattr(-,root,root) /opt/confluent