diff --git a/0001-adopt-huaweimaven.patch b/0001-adopt-huaweimaven.patch new file mode 100644 index 0000000000000000000000000000000000000000..ea4c7d6d502bcd90370524c8fd1e8686a0ea899e --- /dev/null +++ b/0001-adopt-huaweimaven.patch @@ -0,0 +1,48 @@ +diff -Naur kafka-2.8.1-src/build.gradle kafka-2.8.1-src-change/build.gradle +--- kafka-2.8.1-src/build.gradle 2021-09-14 21:03:12.000000000 +0800 ++++ kafka-2.8.1-src-change/build.gradle 2022-08-11 22:41:08.381225132 +0800 +@@ -19,11 +19,7 @@ + + buildscript { + repositories { +- mavenCentral() +- jcenter() +- maven { +- url "https://plugins.gradle.org/m2/" +- } ++ maven{url 'https://repo.huaweicloud.com/repository/maven/'} + } + apply from: file('gradle/buildscript.gradle'), to: buildscript + apply from: "$rootDir/gradle/dependencies.gradle" +@@ -54,7 +50,7 @@ + allprojects { + + repositories { +- mavenCentral() ++ maven{url 'https://repo.huaweicloud.com/repository/maven/'} + } + + apply plugin: 'idea' +diff -Naur kafka-2.8.1-src/gradle/buildscript.gradle kafka-2.8.1-src-change/gradle/buildscript.gradle +--- kafka-2.8.1-src/gradle/buildscript.gradle 2021-09-14 21:03:12.000000000 +0800 ++++ kafka-2.8.1-src-change/gradle/buildscript.gradle 2022-08-11 23:00:43.143217999 +0800 +@@ -17,7 +17,7 @@ + repositories { + // For license plugin. + maven { +- url 'https://dl.bintray.com/content/netflixoss/external-gradle-plugins/' ++ url 'https://repo.huaweicloud.com/repository/maven/' + } + } + } +diff -Naur kafka-2.8.1-src/gradle/wrapper/gradle-wrapper.properties kafka-2.8.1-src-change/gradle/wrapper/gradle-wrapper.properties +--- kafka-2.8.1-src/gradle/wrapper/gradle-wrapper.properties 2021-09-14 21:03:12.000000000 +0800 ++++ kafka-2.8.1-src-change/gradle/wrapper/gradle-wrapper.properties 2022-08-11 22:41:33.044813236 +0800 +@@ -1,5 +1,6 @@ + distributionBase=GRADLE_USER_HOME + distributionPath=wrapper/dists +-distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-all.zip ++#distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-all.zip ++distributionUrl=https\://repo.huaweicloud.com/gradle/gradle-6.8.1-all.zip + zipStoreBase=GRADLE_USER_HOME + zipStorePath=wrapper/dists diff --git a/Modify-gradle-url-to-huaweicloud.patch b/Modify-gradle-url-to-huaweicloud.patch deleted file mode 100644 index c8d57e3af122bcd29f27ae50a982caa382ba0439..0000000000000000000000000000000000000000 --- a/Modify-gradle-url-to-huaweicloud.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur kafka-2.4.0-src/gradle/wrapper/gradle-wrapper.properties kafka-2.4.0-src_bak/gradle/wrapper/gradle-wrapper.properties ---- kafka-2.4.0-src/gradle/wrapper/gradle-wrapper.properties 2019-12-10 00:46:25.000000000 +0800 -+++ kafka-2.4.0-src_bak/gradle/wrapper/gradle-wrapper.properties 2021-07-15 19:07:47.787010158 +0800 -@@ -14,6 +14,6 @@ - # limitations under the License. - distributionBase=GRADLE_USER_HOME - distributionPath=wrapper/dists --distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip -+distributionUrl=https\://mirrors.huaweicloud.com/gradle/gradle-5.6.2-all.zip - zipStoreBase=GRADLE_USER_HOME - zipStorePath=wrapper/dists diff --git a/Modify-gradle-wrapper-to-local-source.patch b/Modify-gradle-wrapper-to-local-source.patch deleted file mode 100644 index 02a86eaf0f302ea2dd4ca41fbc4ecbbca54edd15..0000000000000000000000000000000000000000 --- a/Modify-gradle-wrapper-to-local-source.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -Nur kafka-2.4.0-src/gradlew kafka-2.4.0-src_bak/gradlew ---- kafka-2.4.0-src/gradlew 2019-12-10 00:46:25.000000000 +0800 -+++ kafka-2.4.0-src_bak/gradlew 2021-07-15 17:04:42.769268304 +0800 -@@ -98,7 +98,8 @@ - # Loop in case we encounter an error. - for attempt in 1 2 3; do - if [ ! -e $APP_HOME/gradle/wrapper/gradle-wrapper.jar ]; then -- if ! curl -s -S --retry 3 -L -o "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" "https://raw.githubusercontent.com/gradle/gradle/v5.6.2/gradle/wrapper/gradle-wrapper.jar"; then -+# if ! curl -s -S --retry 3 -L -o "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" "https://raw.githubusercontent.com/gradle/gradle/v5.6.2/gradle/wrapper/gradle-wrapper.jar"; then -+ if ! curl -s -S --retry 3 -L -o "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" "file://absolute-prefix/gradle-wrapper.jar"; then - rm -f "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" - # Pause for a bit before looping in case the server throttled us. - sleep 5 -diff -Nur kafka-2.4.0-src/wrapper.gradle kafka-2.4.0-src_bak/wrapper.gradle ---- kafka-2.4.0-src/wrapper.gradle 2019-12-10 00:46:25.000000000 +0800 -+++ kafka-2.4.0-src_bak/wrapper.gradle 2021-07-15 17:02:19.466895555 +0800 -@@ -58,7 +58,8 @@ - // github.com servers deprecated TLSv1/TLSv1.1 support some time ago, so older versions - // of curl (built against OpenSSL library that doesn't support TLSv1.2) would fail to - // fetch the jar. -- def wrapperBaseUrl = "https://raw.githubusercontent.com/gradle/gradle/v$fullVersion/gradle/wrapper" -+// def wrapperBaseUrl = "https://raw.githubusercontent.com/gradle/gradle/v$fullVersion/gradle/wrapper" -+ def wrapperBaseUrl = "file://absolute-prefix" - def wrapperJarUrl = wrapperBaseUrl + "/gradle-wrapper.jar" - - def bootstrapString = """ diff --git a/Modify-maven-url-to-huaweicloud.patch b/Modify-maven-url-to-huaweicloud.patch deleted file mode 100644 index 6d039712336521b02071245cdd57bf6ee106c705..0000000000000000000000000000000000000000 --- a/Modify-maven-url-to-huaweicloud.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Nur kafka-2.4.0-src/build.gradle ../kafka/kafka-2.4.0-src/build.gradle ---- kafka-2.4.0-src/build.gradle 2019-12-10 00:46:25.000000000 +0800 -+++ ../kafka/kafka-2.4.0-src/build.gradle 2021-07-15 18:14:53.000000000 +0800 -@@ -19,10 +19,8 @@ - - buildscript { - repositories { -- mavenCentral() -- jcenter() - maven { -- url "https://plugins.gradle.org/m2/" -+ url "https://mirrors.huaweicloud.com/repository/maven/" - } - } - apply from: file('gradle/buildscript.gradle'), to: buildscript -@@ -52,7 +50,7 @@ - allprojects { - - repositories { -- mavenCentral() -+ maven {url "https://mirrors.huaweicloud.com/repository/maven/"} - } - - apply plugin: 'idea' diff --git a/gradle-6.8.1-all.zip b/gradle-6.8.1-all.zip new file mode 100644 index 0000000000000000000000000000000000000000..4b31ee74ae948ecc4633d46109a69b5f164b93d8 Binary files /dev/null and b/gradle-6.8.1-all.zip differ diff --git a/gradle-wrapper.jar b/gradle-wrapper.jar index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 Binary files a/gradle-wrapper.jar and b/gradle-wrapper.jar differ diff --git a/kafka-2.4.0-src.tgz b/kafka-2.8.1-src.tgz similarity index 47% rename from kafka-2.4.0-src.tgz rename to kafka-2.8.1-src.tgz index 7d31f17b8a27af22077ee8a447d7bd79acbc11fa..fe7506fe4b615f617236514096f77a451e234ba6 100644 Binary files a/kafka-2.4.0-src.tgz and b/kafka-2.8.1-src.tgz differ diff --git a/kafka.spec b/kafka.spec index 67e42e7f5399ac7f881edbdb0515053d924b749c..b81bca0095f2931ddf745c38c9e49385e5c7b243 100644 --- a/kafka.spec +++ b/kafka.spec @@ -3,24 +3,20 @@ %define kafka_home /opt/kafka Name: kafka -Version: 2.4.0 -Release: 4 +Version: 2.8.1 +Release: 1 Summary: A Distributed Streaming Platform. -License: Apache License, Version 2.0 +License: Apache-2.0 Source0: https://archive.apache.org/dist/%{name}/%{version}/%{name}-%{version}-src.tgz -Source1: kafka.service -Source2: https://raw.githubusercontent.com/gradle/gradle/v5.6.2/gradle/wrapper/gradle-wrapper.jar -patch1: Modify-gradle-wrapper-to-local-source.patch -patch2: Modify-maven-url-to-huaweicloud.patch -patch3: Modify-gradle-url-to-huaweicloud.patch +Source1: https://mirrors.huaweicloud.com/gradle/gradle-6.8.1-all.zip +Source2: kafka.service +Source3: gradle-wrapper.jar +Patch0: 0001-adopt-huaweimaven.patch BuildRequires: systemd java-1.8.0-openjdk-devel Provides: kafka = %{version} Requires: java-1.8.0-openjdk -# To ensure that Zookeeper is included,deploy Kafka using your own Zookeeper -Provides: zookeeper = 3.5.6 -Conflicts: zookeeper = 3.6.1 %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. @@ -33,30 +29,28 @@ getent passwd %{name} >/dev/null || \ exit 0 %prep -%setup -q -n %{name}-%{version}-src -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -cp %{SOURCE2} ./ -echo `pwd` > absolute_prefix.log -sed -i 's/\//\\\//g' absolute_prefix.log -absolute_prefix=`head -n 1 absolute_prefix.log` -sed -i 's/absolute-prefix/'"$absolute_prefix"'/g' wrapper.gradle -sed -i 's/absolute-prefix/'"$absolute_prefix"'/g' gradlew - +%autosetup -p1 -n %{name}-%{version}-src +cp -r $RPM_SOURCE_DIR/gradle-6.8.1-all.zip %{_builddir}/kafka-2.8.1-src/gradle/wrapper/ +cp -r $RPM_SOURCE_DIR/gradle-wrapper.jar %{_builddir}/kafka-2.8.1-src/gradle/wrapper/ %build -./gradlew jar +unzip -q $RPM_SOURCE_DIR/gradle-6.8.1-all.zip +./gradle-6.8.1/bin/gradle --info +./gradlew jar releaseTarGz -%install -mkdir -p $RPM_BUILD_ROOT%{kafka_home}/{libs,bin,config} -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 +%install +mkdir -p $RPM_BUILD_ROOT%{kafka_home}/{libs,bin,config,site-docs,licenses} +cd %{_builddir}/kafka-2.8.1-src/core/build/distributions/ +tar -xvf kafka_2.13-2.8.1.tgz +cp -pr kafka_2.13-2.8.1 %{_builddir} +cd %{_builddir}/kafka_2.13-2.8.1 + +cp -pr libs/* $RPM_BUILD_ROOT%{kafka_home}/libs +cp -pr bin/* $RPM_BUILD_ROOT%{kafka_home}/bin +cp -pr config/* $RPM_BUILD_ROOT%{kafka_home}/config +cp -pr site-docs/* $RPM_BUILD_ROOT%{kafka_home}/site-docs +cp -pr licenses/* $RPM_BUILD_ROOT%{kafka_home}/licenses %files %defattr(-,root,root) @@ -70,6 +64,9 @@ cp -n */*/build/dependant-libs*/* $RPM_BUILD_ROOT%{kafka_home}/libs rm -rf %{buildroot} %changelog +* Sun Sep 18 2022 xiexing - 2.8.1-1 +- update version to fix CVE-2021-38153 + * Thu Jul 15 2021 liyanan - 2.4.0-4 - fix gradle url to huaweicloud - fix gradle wrapper to local source