This commit is contained in:
unioah 2020-09-05 21:46:30 -04:00
parent 07fede7f6b
commit 8eda34879a

View File

@ -1,76 +1,59 @@
Summary: A Distributed Streaming Platform.
%global debug_package %{nil}
%global debug_package %{nil}
%define kafka_home /opt/kafka
Name: kafka
Version: 2.6.0
Release: 1
Release: 1%{?dist}
Summary: A Distributed Streaming Platform.
License: Apache License, Version 2.0
Source0: https://archive.apache.org/dist/%{name}/%{version}/%{name}-%{version}-src.tgz
Source1: https://gradle.org/next-steps/?version=6.6.1&format=bin
Provides: kafka
Source1: https://services.gradle.org/distributions/gradle-6.5-bin.zip
BuildRequires: systemd java-1.8.0-openjdk-devel
Provides: kafka = %{version}
Requires: java-1.8.0-openjdk
%description
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
$pre
%pre
getent group %{name} >/dev/null || groupadd -r %{name}
getent passwd %{name} >/dev/null || \
useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
-c "User for Kafka services" %{name}
exit 0
%prep
%setup -q -n %{name}-%{version}-src
%build
unzip %{_sourcedir}/gradle-6.6.1-bin.zip
./gradle-gradle-6.6.1/bin/gradle
unzip -q $RPM_SOURCE_DIR/gradle-6.5-bin.zip
./gradle-6.5/bin/gradle
./gradlew jar
%install
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{name}/{libs,bin,config}
mkdir -p $RPM_BUILD_ROOT%{_log_dir}
mkdir -p $RPM_BUILD_ROOT%{_data_dir}
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
mkdir -p $RPM_BUILD_ROOT%{_conf_dir}/
install -p -D -m 755 bin/*.sh $RPM_BUILD_ROOT%{_prefix}/%{name}/bin
install -p -D -m 644 config/* $RPM_BUILD_ROOT%{_prefix}/%{name}/config
install -p -D -m 644 config/server.properties $RPM_BUILD_ROOT%{_conf_dir}/
sed -i "s:^log.dirs=.*:log.dirs=%{_data_dir}:" $RPM_BUILD_ROOT%{_conf_dir}/server.properties
install -p -D -m 755 %{S:1} $RPM_BUILD_ROOT%{_unitdir}/
install -p -D -m 644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
install -p -D -m 644 %{S:3} $RPM_BUILD_ROOT%{_conf_dir}/
install -p -D -m 644 %{S:4} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
install -p -D -m 644 libs/* $RPM_BUILD_ROOT%{_prefix}/%{name}/libs
%if %{build_with_metrics}
# adding metric specific sources.
install -p -D -m 644 %{S:6} $RPM_BUILD_ROOT%{_prefix}/%{name}/libs
install -p -D -m 644 %{S:7} $RPM_BUILD_ROOT%{_prefix}/%{name}/libs
%endif
mkdir -p $RPM_BUILD_ROOT%{kafka_home}/{libs,bin,config}
%clean
rm -rf $RPM_BUILD_ROOT
%pre
/usr/bin/getent group %{_group} >/dev/null || /usr/sbin/groupadd -r %{_group}
/usr/bin/getent passwd %{_user} >/dev/null || /usr/sbin/useradd -r \
-g %{_group} -d %{_prefix}/%{name} -s /bin/bash -c "Kafka" %{_user}
%post
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun %{name}.service
install -p -D -m 755 bin/*.sh $RPM_BUILD_ROOT%{kafka_home}/bin
install -p -D -m 644 config/* $RPM_BUILD_ROOT%{kafka_home}/config
cp -n */build/libs/* $RPM_BUILD_ROOT%{kafka_home}/libs
cp -n */build/dependant-libs*/* $RPM_BUILD_ROOT%{kafka_home}/libs
cp -n */*/build/libs/* $RPM_BUILD_ROOT%{kafka_home}/libs
cp -n */*/build/dependant-libs*/* $RPM_BUILD_ROOT%{kafka_home}/libs
%files
%defattr(-,root,root)
%{_unitdir}/%{name}.service
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
%config(noreplace) %{_conf_dir}/*
%{_prefix}/%{name}
%attr(0755,kafka,kafka) %dir %{_log_dir}
%attr(0700,kafka,kafka) %dir %{_data_dir}
%{kafka_home}
%doc NOTICE
%doc LICENSE
%clean
rm -rf %{buildroot}
%changelog
* 2020-09-01 "Hao Zhang" <unioah@isrc.iscas.ac.cn>
* Sat Aug 15 2020 Hao Zhang <unioah@isrc.iscas.ac.cn>
- init