diff options
author | Ludovic Courtès <ludo@gnu.org> | 2024-01-10 15:27:47 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-01-10 16:42:03 +0100 |
commit | 5c0f77f4241c9beac0c82deae946bfdc70b49ff0 (patch) | |
tree | 11f7eae089d35528dd11896180250079bebb1444 | |
parent | a126e8120d30a3f66149f307a922acd77cde9d5a (diff) | |
download | guix-5c0f77f4241c9beac0c82deae946bfdc70b49ff0.tar.gz |
gnu: icedtea: Fix time bomb in ‘GenerateCurrencyData.java’.
Fixes <https://issues.guix.gnu.org/68333>. * gnu/packages/java.scm (icedtea-7)[drop]: Add optional ‘patches’ parameter and honor it. [native-inputs]: Add patch for “jdk-drop”. (icedtea-8): Likewise. * gnu/packages/patches/jdk-currency-time-bomb.patch, gnu/packages/patches/jdk-currency-time-bomb2.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. Change-Id: I3b4cf562ce4bedb87ce0e7c289e431fbb0dbb6f8
-rw-r--r-- | gnu/local.mk | 2 | ||||
-rw-r--r-- | gnu/packages/java.scm | 16 | ||||
-rw-r--r-- | gnu/packages/patches/jdk-currency-time-bomb.patch | 13 | ||||
-rw-r--r-- | gnu/packages/patches/jdk-currency-time-bomb2.patch | 13 |
4 files changed, 38 insertions, 6 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 62242d8c62..6e6d28e6f0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1489,6 +1489,8 @@ dist_patch_DATA = \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ %D%/packages/patches/jbr-17-xcursor-no-dynamic.patch \ + %D%/packages/patches/jdk-currency-time-bomb.patch \ + %D%/packages/patches/jdk-currency-time-bomb2.patch \ %D%/packages/patches/jfsutils-add-sysmacros.patch \ %D%/packages/patches/jfsutils-gcc-compat.patch \ %D%/packages/patches/jfsutils-include-systypes.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e2c2a041a9..ded73bc461 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -100,13 +100,14 @@ (define-public icedtea-7 (let* ((version "2.6.13") - (drop (lambda (name hash) + (drop (lambda* (name hash #:optional (patches '())) (origin (method url-fetch) (uri (string-append "http://icedtea.classpath.org/download/drops" "/icedtea7/" version "/" name ".tar.bz2")) - (sha256 (base32 hash)))))) + (sha256 (base32 hash)) + (patches patches))))) (package (name "icedtea") (version version) @@ -614,7 +615,8 @@ "110j7jlz47x2gg6f7653x12mssan5kvj9l9h1m1c8c92drfxbqyk")) ("jdk-drop" ,(drop "jdk" - "0d1mca38ksxvdskp9im3pp7fdijhj1n3lwq9w13r9s4v3qyskgdd")) + "0d1mca38ksxvdskp9im3pp7fdijhj1n3lwq9w13r9s4v3qyskgdd" + (search-patches "jdk-currency-time-bomb.patch"))) ("langtools-drop" ,(drop "langtools" "0nq5236fzxn3p6x8cgncl56mzcmsj07q9gymysnws4c8byc6n0qj")) @@ -687,13 +689,14 @@ IcedTea build harness.") (define-public icedtea-8 (let* ((version "3.19.0") - (drop (lambda (name hash) + (drop (lambda* (name hash #:optional (patches '())) (origin (method url-fetch) (uri (string-append "http://icedtea.classpath.org/download/drops" "/icedtea8/" version "/" name ".tar.xz")) - (sha256 (base32 hash)))))) + (sha256 (base32 hash)) + (patches patches))))) (package (inherit icedtea-7) (version "3.19.0") (source (origin @@ -839,7 +842,8 @@ new Date();")) "1pc0pv4v2mn2mjc0vp19d94v2150xigyhxsmckqasy647zcm6w0r")) ("jdk-drop" ,(drop "jdk" - "1742lcm55l8zhi522x83v65ccr0rd6511q9rj7crw44x3ymdrhrv")) + "1742lcm55l8zhi522x83v65ccr0rd6511q9rj7crw44x3ymdrhrv" + (search-patches "jdk-currency-time-bomb2.patch"))) ("langtools-drop" ,(drop "langtools" "08iz7p2xcddlphipf6gahyabr5cawlnydap12p1n4f0md069b50b")) diff --git a/gnu/packages/patches/jdk-currency-time-bomb.patch b/gnu/packages/patches/jdk-currency-time-bomb.patch new file mode 100644 index 0000000000..8e6bce6fcd --- /dev/null +++ b/gnu/packages/patches/jdk-currency-time-bomb.patch @@ -0,0 +1,13 @@ +Fix a time bomb present in the jdk "drop" of IcedTea. + +--- a/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java ++++ b/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java +@@ -284,7 +284,7 @@ public class GenerateCurrencyData { + String timeString = currencyInfo.substring(4, length - 4); + long time = format.parse(timeString).getTime(); + if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) { +- throw new RuntimeException("time is more than 10 years from present: " + time); ++ System.err.println("note: time is more than 10 years from \"present\": " + time); + } + specialCaseCutOverTimes[specialCaseCount] = time; + specialCaseOldCurrencies[specialCaseCount] = oldCurrency; diff --git a/gnu/packages/patches/jdk-currency-time-bomb2.patch b/gnu/packages/patches/jdk-currency-time-bomb2.patch new file mode 100644 index 0000000000..94454626c4 --- /dev/null +++ b/gnu/packages/patches/jdk-currency-time-bomb2.patch @@ -0,0 +1,13 @@ +Fix a time bomb present in the jdk "drop" of IcedTea 8. + +--- a/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java ++++ b/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java +@@ -284,7 +284,7 @@ public class GenerateCurrencyData { + String timeString = currencyInfo.substring(4, length - 4); + long time = format.parse(timeString).getTime(); + if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) { +- throw new RuntimeException("time is more than 10 years from present: " + time); ++ System.err.println("note: time is more than 10 years from \"present\": " + time); + } + specialCaseCutOverTimes[specialCaseCount] = time; + specialCaseOldCurrencies[specialCaseCount] = oldCurrency; |