This is an automated email from the ASF dual-hosted git repository.

iwasakims pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bigtop.git


The following commit(s) were added to refs/heads/master by this push:
     new aee84dd47  IGTOP-4357  apply diff patches files sequence error using 
text sequence not number seq (#1327)
aee84dd47 is described below

commit aee84dd47adb7f1281d0cbd84fda7307a388d685
Author: MathMiner <[email protected]>
AuthorDate: Fri Jul 11 10:43:55 2025 +0800

     IGTOP-4357  apply diff patches files sequence error using text sequence 
not number seq (#1327)
---
 packages.gradle | 34 ++++++++++++++++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git a/packages.gradle b/packages.gradle
index d30dc5d12..e3c855329 100644
--- a/packages.gradle
+++ b/packages.gradle
@@ -506,7 +506,22 @@ def genTasks = { target, packaging ->
     changelog.close()
 
     // Move patches and create "series"
-    def patches = new File( "$DEB_BLD_DIR/debian").list({ d, f -> f ==~ 
/patch.*diff/}).sort()
+    def patches = new File( "$DEB_BLD_DIR/debian").list({ d, f -> f ==~ 
/patch.*diff/})
+
+    // sort patches files in numberic sequence
+    def fileListWithNumbers = patches.collect { fileName ->
+        def matcher = (fileName =~ /patch(\d+)-.*/)
+        if (matcher.find()) {
+            return [fileName: fileName, number: matcher.group(1).toInteger()]
+        } else {
+            return [fileName: fileName, number: 0]
+        }
+    }
+    def sortedPatches = fileListWithNumbers.sort { a, b ->
+        a.number <=> b.number
+    }.collect { it.fileName }
+    patches = sortedPatches
+
     if (patches.size() > 0) {
       mkdir("$DEB_BLD_DIR/debian/patches")
       def seriesWriter = new 
File("$DEB_BLD_DIR/debian/patches/series").newWriter()
@@ -686,7 +701,22 @@ def genTasks = { target, packaging ->
     def specTmpFileName = "${PKG_BUILD_DIR}/rpm/SPECS/tmp_${NAME}.spec"
     def specFile = new File(specFileName)
     def specWriter = new File(specTmpFileName).newWriter()
-    def patches = new File("${PKG_BUILD_DIR}/rpm/SOURCES").list({ d, f -> f 
==~ /patch.*diff/}).sort()
+    def patches = new File("${PKG_BUILD_DIR}/rpm/SOURCES").list({ d, f -> f 
==~ /patch.*diff/})
+
+    // sort patches files in numberic sequence
+    def fileListWithNumbers = patches.collect { fileName ->
+        def matcher = (fileName =~ /patch(\d+)-.*/)
+        if (matcher.find()) {
+            return [fileName: fileName, number: matcher.group(1).toInteger()]
+        } else {
+            return [fileName: fileName, number: 0]
+        }
+    }
+    def sortedPatches = fileListWithNumbers.sort { a, b ->
+        a.number <=> b.number
+    }.collect { it.fileName }
+    patches = sortedPatches
+
     specFile.eachLine { line ->
       if (line.startsWith("#BIGTOP_PATCH_FILES")) {
         def patchNum = 0

Reply via email to