mirror of
https://github.com/xcat2/confluent.git
synced 2026-05-08 01:37:18 +00:00
bfc27595dc
If someone asks for it independently, we can break it out again. But for now, assume it's only for confluent.
97 lines
4.0 KiB
Cheetah
97 lines
4.0 KiB
Cheetah
%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}" == ".el9"
|
|
Requires: python3-asyncssh, python3-pycryptodomex >= 3.4.7, confluent_client == %{version}, python3-pyparsing, 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
|
|
%if "%{dist}" == ".el10"
|
|
Requires: python3-asyncssh, confluent_client == %{version}, python3-pyparsing, python3-dns, python3-psutil, python3-pyasn1 >= 0.2.3, python3-pysnmp >= 4.3.4, python3-lxml,python3-setuptools, python3-dateutil, python3-cffi, python3-pyOpenSSL, python3-websocket-client python3-msgpack python3-libarchive-c python3-yaml openssl iproute python3-yarl python3-aiohttp
|
|
%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
|
|
|
|
%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 | grep -E '.*' > /dev/null && NEEDCHOWN=1
|
|
find /var/log/confluent -uid 0 | grep -E '.*' > /dev/null && NEEDCHOWN=1
|
|
find /var/run/confluent -uid 0 | grep -E '.*' > /dev/null && NEEDCHOWN=1
|
|
find /var/cache/confluent -uid 0 | grep -E '.*' > /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
|