From 57255f32f8ccad7705bca98da58920688ee7723ece25c87bdf0d7f80354dbdef Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Tue, 12 Sep 2023 09:59:47 +0000 Subject: [PATCH] Accepting request 1110546 from Java:packages:test Reproducible exclusion lists OBS-URL: https://build.opensuse.org/request/show/1110546 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=133 --- ...e-exclusions-order-in-maven-metadata.patch | 52 +++++++++++++++++++ javapackages-tools.changes | 7 +++ javapackages-tools.spec | 2 + 3 files changed, 61 insertions(+) create mode 100644 0003-Reproducible-exclusions-order-in-maven-metadata.patch diff --git a/0003-Reproducible-exclusions-order-in-maven-metadata.patch b/0003-Reproducible-exclusions-order-in-maven-metadata.patch new file mode 100644 index 0000000..11c0aa8 --- /dev/null +++ b/0003-Reproducible-exclusions-order-in-maven-metadata.patch @@ -0,0 +1,52 @@ +From 66ba33a8c28497e01eddcb0cd17fbe324674eabc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fridrich=20=C5=A0trba?= +Date: Mon, 11 Sep 2023 18:43:28 +0200 +Subject: [PATCH 3/3] Reproducible exclusions order in maven metadata + +--- + python/javapackages/metadata/dependency.py | 4 ++-- + python/javapackages/metadata/exclusion.py | 9 +++++++++ + 2 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/python/javapackages/metadata/dependency.py b/python/javapackages/metadata/dependency.py +index 1709e1fb..5931134d 100644 +--- a/python/javapackages/metadata/dependency.py ++++ b/python/javapackages/metadata/dependency.py +@@ -46,7 +46,7 @@ class MetadataDependency(ObjectBinding): + defaults = {'extension': 'jar', + 'requestedVersion': 'SYSTEM'} + types = {'optional': str, # todo bool +- 'exclusions': set([MetadataExclusion])} ++ 'exclusions': list([MetadataExclusion])} + + def is_optional(self): + if self.optional and self.optional.lower() == "true": +@@ -145,4 +145,4 @@ class MetadataDependency(ObjectBinding): + classifier=mvn_dep.classifier, + optional=mvn_dep.optional, + requestedVersion=mvn_dep.version, +- exclusions=exclusions) ++ exclusions=sorted(exclusions)) +diff --git a/python/javapackages/metadata/exclusion.py b/python/javapackages/metadata/exclusion.py +index 3152b090..5b9503c0 100644 +--- a/python/javapackages/metadata/exclusion.py ++++ b/python/javapackages/metadata/exclusion.py +@@ -41,6 +41,15 @@ class MetadataExclusion(ObjectBinding): + element_name = 'exclusion' + fields = ['groupId', 'artifactId'] + ++ def __lt__(self, other): ++ if self.groupId < other.groupId: ++ return True ++ if self.groupId > other.groupId: ++ return False ++ if self.artifactId < other.artifactId: ++ return True ++ return False ++ + def get_mvn_str(self): + return Printer.get_mvn_str(self.groupId, self.artifactId) + +-- +2.42.0 + diff --git a/javapackages-tools.changes b/javapackages-tools.changes index fd774a3..003f233 100644 --- a/javapackages-tools.changes +++ b/javapackages-tools.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Sep 12 09:54:08 UTC 2023 - Fridrich Strba + +- Added patch: + * 0003-Reproducible-exclusions-order-in-maven-metadata.patch + + sort exclusions in maven metadata + ------------------------------------------------------------------- Mon Sep 11 16:45:42 UTC 2023 - Fridrich Strba diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 6fa92f2..15175c9 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -49,6 +49,8 @@ Patch2: suse-no-epoch.patch Patch3: 0001-Make-maven_depmap-order-of-aliases-reproducible.patch #PATCH-FIX-UPSTREAM: Do not bomb on construct Patch4: 0002-Do-not-bomb-on-relativePath-construct.patch +#PATCH-FIX-UPSTREAM: Sort exclusions when writing out metadata +Patch5: 0003-Reproducible-exclusions-order-in-maven-metadata.patch BuildRequires: asciidoc BuildRequires: fdupes BuildRequires: perl