From 2feb7716bb03558c4a525adf618844a8d430ac8d Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Mon, 9 May 2022 22:23:15 +0200 Subject: [PATCH 01/41] Update to upstream version 9.3 --- .gitignore | 6 ++++++ objectweb-asm.spec | 7 +++++-- sources | 14 +++++++------- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 80e5efa..6211337 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,9 @@ /asm-test-9.2.pom /asm-tree-9.2.pom /asm-util-9.2.pom +/asm-9.3.pom +/asm-analysis-9.3.pom +/asm-commons-9.3.pom +/asm-test-9.3.pom +/asm-tree-9.3.pom +/asm-util-9.3.pom diff --git a/objectweb-asm.spec b/objectweb-asm.spec index dad3606..58da35e 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -1,8 +1,8 @@ %bcond_with bootstrap Name: objectweb-asm -Version: 9.2 -Release: 3%{?dist} +Version: 9.3 +Release: 1%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD URL: https://asm.ow2.org/ @@ -75,6 +75,9 @@ done %license LICENSE.txt %changelog +* Mon May 09 2022 Mikolaj Izdebski - 9.3-1 +- Update to upstream version 9.3 + * Sat Feb 05 2022 Jiri Vanek - 9.2-3 - Rebuilt for java-17-openjdk as system jdk diff --git a/sources b/sources index 78abf89..e89e1c4 100644 --- a/sources +++ b/sources @@ -1,7 +1,7 @@ -SHA512 (objectweb-asm-9.2.tar.gz) = 8e36aa1527cc49f59780b29fdd35eeed65eeb6d80c1fefe089327d160ab1801a2cd8b26b67e6595946904fb7eb6a6c93aeaa1bf3a679b3851d34ea34be03dcdb -SHA512 (asm-9.2.pom) = 9c996667f3402a1c4d0bb2ad88bbb5e7eac1b3641cdbadefff607be86b6b50f9c3745e82fb2725409bb5dcb5c5d09f04a5965e2f0a7b072657703b21e2c40ff0 -SHA512 (asm-analysis-9.2.pom) = aa24c2a4940f37839ffe6ba27ecf946e5cbe12617e7defd3f112551e50dfa6a126923f42d0441c47c936f35452b216f45567b145154ab45c0bcee29b8bd6436d -SHA512 (asm-commons-9.2.pom) = 7845868fd576b78defb3d67dcf85c22091b62294bff2a049ca8457419bc9c9cb971e4d8a110fbb5dfdf39b934556b3e5de4bdf423e5c07fe86425c39e1a0d52f -SHA512 (asm-test-9.2.pom) = 8c7b2eb8ad751d3f8ab426d2f8de3f5a1883e3617f53fb5755670665e3ce87151e7fef207097dd3b9445e04b4b1a8f4d9dbc128eff0536c7c42526870da05933 -SHA512 (asm-tree-9.2.pom) = 5ec722237b13dd774eb20e9d9047e8ef041c4a2d456c62137e267c381a038292f16293eee0d09ba0c22d6f67d39a9a00a692e655db3330e1b7530c8c5d78d03d -SHA512 (asm-util-9.2.pom) = 19e5410664af0835c52754a714667e9d9ebfa00cf6398bc87b86ad772fd0d1e307c83797005caf0745952644172112677161572d2a9099144e1d9dcb466b53a8 +SHA512 (objectweb-asm-9.3.tar.gz) = ec23e717f17789fee264a6a08b3d52c2ec46d39270b38e0804ea18f1abebdddc738c7ff788d2ab348af8345b41c827021dec4e843b18ede04965eac77697e72b +SHA512 (asm-9.3.pom) = a354aaa4a45f6e6c3d24e28b8a9e4490bd0a5e43a33a45dd712daefaab33a65f45cd9ae11d57e38c45082053efbe03e6ab7d5c3882d50f1e6a5d6984f477ce86 +SHA512 (asm-analysis-9.3.pom) = e32fd3696ac4770f109a4abaf38e56cb4c8ad4f5131f8d24ff54505798279593c602402363c18b580f5453717a35fc7820fbe18e3b34ed780aa0c7025087d8cd +SHA512 (asm-commons-9.3.pom) = 1446c1528e07110c5a5894365c5c84063d264ec833532d894e3238bdb027f98a72398bc763fb89785a6f757e1d195f2934505ab63f75eb4538532fbed1ef0af9 +SHA512 (asm-test-9.3.pom) = 6c99662ac0701653dc76619e651ed3969c20ccd92a3f61eda9f785cceae446e6a4cf74e67f90835125719ce220d0639887f3047525c697203f3804e27dae8ff0 +SHA512 (asm-tree-9.3.pom) = f066513d4dba672edc85e9b457d827c16d55a321cb02f4f5faf6e02f59594c44fe3eae23006e6a7310151ff88ea53e654e27fdced6b0af85dcb24ab276279ca2 +SHA512 (asm-util-9.3.pom) = 283675d07165cd635d0417eed078be18aae09ec8960e370d5d56b5b7845d74e150330f21e4610c0c4ca391843d7dd21bcd341604763924f102d65875df8ff927 From b907f8be5a5cd54efb7a19a9a28b9b153106ac34 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 12 May 2022 22:33:24 +0200 Subject: [PATCH 02/41] Add ExclusiveArch: %{java_arches} noarch See: https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs --- objectweb-asm.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 58da35e..0a2d652 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -7,6 +7,7 @@ Summary: Java bytecode manipulation and analysis framework License: BSD URL: https://asm.ow2.org/ BuildArch: noarch +ExclusiveArch: %{java_arches} noarch # ./generate-tarball.sh Source0: %{name}-%{version}.tar.gz From 93b9c3927e77b74ab00fa490ff4bbcf7943c1f5d Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 14 Jun 2022 08:03:17 +0200 Subject: [PATCH 03/41] Update build-requires in bootstrap mode --- objectweb-asm.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 0a2d652..61981f4 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -21,9 +21,10 @@ Source7: https://repo1.maven.org/maven2/org/ow2/asm/asm-util/%{version}/a # The source contains binary jars that cannot be verified for licensing and could be proprietary Source9: generate-tarball.sh -BuildRequires: maven-local %if %{with bootstrap} BuildRequires: javapackages-bootstrap +%else +BuildRequires: maven-local %endif # Explicit javapackages-tools requires since asm-processor script uses From de5b1f567fcd806e06c1f3eb06a931f433dac2b3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Jul 2022 01:02:12 +0000 Subject: [PATCH 04/41] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- objectweb-asm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 61981f4..ab4502f 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD URL: https://asm.ow2.org/ @@ -77,6 +77,9 @@ done %license LICENSE.txt %changelog +* Fri Jul 22 2022 Fedora Release Engineering - 9.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Mon May 09 2022 Mikolaj Izdebski - 9.3-1 - Update to upstream version 9.3 From b20f0db2d6b64a9efd12050cdb0c0f4e6797f683 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Mon, 1 Aug 2022 10:21:37 +0200 Subject: [PATCH 05/41] Use 2 spaces in parent.pom --- parent.pom | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/parent.pom b/parent.pom index 557cd16..86a53b6 100644 --- a/parent.pom +++ b/parent.pom @@ -1,19 +1,19 @@ - 4.0.0 + xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd'> + 4.0.0 - org.ow2.asm - asm-aggregator - 1 + org.ow2.asm + asm-aggregator + 1 - pom + pom - - asm - asm-analysis - asm-commons - asm-tree - asm-util - + + asm + asm-analysis + asm-commons + asm-tree + asm-util + From d4756bd2ef403ca37ae60b2992ad4b3123a7f546 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Fri, 22 Jul 2022 15:26:28 +0200 Subject: [PATCH 06/41] Generate module-info without bnd-plugin --- ...ule-info-classes-without-Bnd.-Delete.patch | 614 ++++++++++++++++++ objectweb-asm.spec | 32 +- parent.pom | 38 +- tools-retrofitter.pom | 19 + 4 files changed, 697 insertions(+), 6 deletions(-) create mode 100644 0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch create mode 100644 tools-retrofitter.pom diff --git a/0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch b/0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch new file mode 100644 index 0000000..8d4a837 --- /dev/null +++ b/0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch @@ -0,0 +1,614 @@ +From 5921eb2a141f0dcc83c6a5d7dcd5035a30c5edfc Mon Sep 17 00:00:00 2001 +From: Eric Bruneton +Date: Sun, 31 Jul 2022 12:21:41 +0000 +Subject: [PATCH] Generate the module info classes without Bnd. Delete the Bnd + plugin. + +--- + .../asm/tools/ModuleInfoBndPlugin.java | 99 ------ + .../org/objectweb/asm/tools/Retrofitter.java | 336 +++++++++++++----- + 4 files changed, 267 insertions(+), 206 deletions(-) + delete mode 100644 tools/bnd-module-plugin/src/main/java/org/objectweb/asm/tools/ModuleInfoBndPlugin.java + +diff --git a/tools/bnd-module-plugin/src/main/java/org/objectweb/asm/tools/ModuleInfoBndPlugin.java b/tools/bnd-module-plugin/src/main/java/org/objectweb/asm/tools/ModuleInfoBndPlugin.java +deleted file mode 100644 +index ee91bdc1..00000000 +--- a/tools/bnd-module-plugin/src/main/java/org/objectweb/asm/tools/ModuleInfoBndPlugin.java ++++ /dev/null +@@ -1,99 +0,0 @@ +-// ASM: a very small and fast Java bytecode manipulation framework +-// Copyright (c) 2000-2011 INRIA, France Telecom +-// All rights reserved. +-// +-// Redistribution and use in source and binary forms, with or without +-// modification, are permitted provided that the following conditions +-// are met: +-// 1. Redistributions of source code must retain the above copyright +-// notice, this list of conditions and the following disclaimer. +-// 2. Redistributions in binary form must reproduce the above copyright +-// notice, this list of conditions and the following disclaimer in the +-// documentation and/or other materials provided with the distribution. +-// 3. Neither the name of the copyright holders nor the names of its +-// contributors may be used to endorse or promote products derived from +-// this software without specific prior written permission. +-// +-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +-// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +-// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +-// THE POSSIBILITY OF SUCH DAMAGE. +-package org.objectweb.asm.tools; +- +-import aQute.bnd.header.Attrs; +-import aQute.bnd.header.Parameters; +-import aQute.bnd.osgi.Analyzer; +-import aQute.bnd.osgi.Constants; +-import aQute.bnd.osgi.EmbeddedResource; +-import aQute.bnd.service.AnalyzerPlugin; +-import org.objectweb.asm.ClassWriter; +-import org.objectweb.asm.ModuleVisitor; +-import org.objectweb.asm.Opcodes; +- +-/** +- * An biz.aQute.bnd plugin to generate a module-info class from the name, version, requires and +- * export properties of the bundle. +- * +- * @author Remi Forax +- */ +-public class ModuleInfoBndPlugin implements AnalyzerPlugin { +- private static final String MODULE_NAME = "Module-Name"; +- private static final String MODULE_VERSION = "Module-Version"; +- private static final String MODULE_REQUIRES = "Module-Requires"; +- private static final String MODULE_EXPORTS = "Module-Exports"; +- +- @Override +- public boolean analyzeJar(final Analyzer analyzer) throws Exception { +- ClassWriter classWriter = new ClassWriter(0); +- classWriter.visit(Opcodes.V9, Opcodes.ACC_MODULE, "module-info", null, null, null); +- String moduleName = +- analyzer.getProperty(MODULE_NAME, analyzer.getProperty(Constants.BUNDLE_SYMBOLICNAME)); +- String moduleVersion = +- analyzer.getProperty(MODULE_VERSION, analyzer.getProperty(Constants.BUNDLE_VERSION)); +- ModuleVisitor moduleVisitor = +- classWriter.visitModule(moduleName, Opcodes.ACC_OPEN, moduleVersion); +- +- String requireModules = analyzer.getProperty(MODULE_REQUIRES); +- if (requireModules != null) { +- Parameters requireParams = analyzer.parseHeader(requireModules); +- for (String requireName : requireParams.keySet()) { +- Attrs attrs = requireParams.get(requireName); +- boolean isTransitive = attrs.containsKey("transitive"); +- boolean isStatic = attrs.containsKey("static"); +- moduleVisitor.visitRequire( +- requireName, +- (isTransitive ? Opcodes.ACC_TRANSITIVE : 0) | (isStatic ? Opcodes.ACC_STATIC_PHASE : 0), +- null); +- } +- } +- moduleVisitor.visitRequire("java.base", Opcodes.ACC_MANDATED, null); +- +- String exportPackages = +- analyzer.getProperty(MODULE_EXPORTS, analyzer.getProperty(Constants.EXPORT_PACKAGE)); +- if (exportPackages != null) { +- Parameters exportParams = analyzer.parseHeader(exportPackages); +- for (String packageName : exportParams.keySet()) { +- if (packageName.endsWith("*")) { +- throw new IllegalStateException("Unsupported wildcard packages " + packageName); +- } +- moduleVisitor.visitExport(packageName.replace('.', '/'), 0); +- } +- } +- moduleVisitor.visitEnd(); +- classWriter.visitEnd(); +- +- analyzer +- .getJar() +- .putResource( +- "module-info.class", +- new EmbeddedResource(classWriter.toByteArray(), System.currentTimeMillis())); +- return false; +- } +-} +diff --git a/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java b/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java +index 2d017ed2..b3d51e63 100644 +--- a/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java ++++ b/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java +@@ -27,22 +27,33 @@ + // THE POSSIBILITY OF SUCH DAMAGE. + package org.objectweb.asm.tools; + ++import static java.lang.String.format; ++import static java.util.stream.Collectors.toSet; ++ + import java.io.BufferedReader; + import java.io.File; + import java.io.IOException; + import java.io.InputStream; + import java.io.InputStreamReader; + import java.io.LineNumberReader; +-import java.io.OutputStream; ++import java.lang.module.ModuleDescriptor; + import java.nio.file.Files; ++import java.nio.file.Path; ++import java.util.ArrayList; + import java.util.HashMap; + import java.util.HashSet; ++import java.util.List; ++import java.util.Set; ++import java.util.stream.Stream; + import java.util.zip.GZIPInputStream; + import org.objectweb.asm.ClassReader; + import org.objectweb.asm.ClassVisitor; + import org.objectweb.asm.ClassWriter; ++import org.objectweb.asm.FieldVisitor; + import org.objectweb.asm.Handle; ++import org.objectweb.asm.Label; + import org.objectweb.asm.MethodVisitor; ++import org.objectweb.asm.ModuleVisitor; + import org.objectweb.asm.Opcodes; + import org.objectweb.asm.Type; + +@@ -57,6 +68,12 @@ import org.objectweb.asm.Type; + */ + public class Retrofitter { + ++ /** The name of the module-info file. */ ++ private static final String MODULE_INFO = "module-info.class"; ++ ++ /** The name of the java.base module. */ ++ private static final String JAVA_BASE_MODULE = "java.base"; ++ + /** + * The fields and methods of the JDK 1.5 API. Each string has the form + * "<owner><name><descriptor>". +@@ -68,12 +85,158 @@ public class Retrofitter { + */ + private final HashMap jdkHierarchy = new HashMap<>(); + ++ /** The internal names of the packages exported by the retrofitted classes. */ ++ private final HashSet exports = new HashSet<>(); ++ ++ /** The internal names of the packages imported by the retrofitted classes. */ ++ private final HashSet imports = new HashSet<>(); ++ ++ /** ++ * Transforms the class files in the given directory, in place, in order to make them compatible ++ * with the JDK 1.5. Also generates a module-info class in this directory, with the given module ++ * version. ++ * ++ * @param args a directory containing compiled classes and the ASM release version. ++ * @throws IOException if a file can't be read or written. ++ */ ++ public static void main(final String[] args) throws IOException { ++ if (args.length == 2) { ++ new Retrofitter().retrofit(new File(args[0]), args[1]); ++ } else { ++ System.err.println("Usage: Retrofitter "); // NOPMD ++ } ++ } ++ ++ /** ++ * Transforms the class files in the given directory, in place, in order to make them compatible ++ * with the JDK 1.5. Also generates a module-info class in this directory, with the given module ++ * version. ++ * ++ * @param classesDir a directory containing compiled classes. ++ * @param version the module-info version. ++ * @throws IOException if a file can't be read or written. ++ */ ++ public void retrofit(final File classesDir, final String version) throws IOException { ++ for (File classFile : getAllClasses(classesDir, new ArrayList())) { ++ ClassReader classReader = new ClassReader(Files.newInputStream(classFile.toPath())); ++ ClassWriter classWriter = new ClassWriter(0); ++ classReader.accept(new ClassRetrofitter(classWriter), ClassReader.SKIP_FRAMES); ++ Files.write(classFile.toPath(), classWriter.toByteArray()); ++ } ++ generateModuleInfoClass(classesDir, version); ++ } ++ + /** +- * Constructs a new {@link Retrofitter}. ++ * Verify that the class files in the given directory only use JDK 1.5 APIs, and that a ++ * module-info class is present with the expected content. + * +- * @throws IOException if the JDK API description file can't be read. ++ * @param classesDir a directory containing compiled classes. ++ * @param expectedVersion the expected module-info version. ++ * @param expectedExports the expected module-info exported packages. ++ * @param expectedRequires the expected module-info required modules. ++ * @throws IOException if a file can't be read. ++ * @throws IllegalArgumentException if the module-info class does not have the expected content. + */ +- public Retrofitter() throws IOException { ++ public void verify( ++ final File classesDir, ++ final String expectedVersion, ++ final List expectedExports, ++ final List expectedRequires) ++ throws IOException { ++ if (jdkApi.isEmpty()) { ++ readJdkApi(); ++ } ++ for (File classFile : getAllClasses(classesDir, new ArrayList())) { ++ if (!classFile.getName().equals(MODULE_INFO)) { ++ new ClassReader(Files.newInputStream(classFile.toPath())).accept(new ClassVerifier(), 0); ++ } ++ } ++ verifyModuleInfoClass( ++ classesDir, ++ expectedVersion, ++ new HashSet(expectedExports), ++ Stream.concat(expectedRequires.stream(), Stream.of(JAVA_BASE_MODULE)).collect(toSet())); ++ } ++ ++ private List getAllClasses(final File file, final List allClasses) ++ throws IOException { ++ if (file.isDirectory()) { ++ File[] children = file.listFiles(); ++ if (children == null) { ++ throw new IOException("Unable to read files of " + file); ++ } ++ for (File child : children) { ++ getAllClasses(child, allClasses); ++ } ++ } else if (file.getName().endsWith(".class")) { ++ allClasses.add(file); ++ } ++ return allClasses; ++ } ++ ++ private void generateModuleInfoClass(final File dstDir, final String version) throws IOException { ++ ClassWriter classWriter = new ClassWriter(0); ++ classWriter.visit(Opcodes.V9, Opcodes.ACC_MODULE, "module-info", null, null, null); ++ ArrayList moduleNames = new ArrayList<>(); ++ for (String exportName : exports) { ++ if (isAsmModule(exportName)) { ++ moduleNames.add(exportName); ++ } ++ } ++ if (moduleNames.size() != 1) { ++ throw new IllegalArgumentException("Module name can't be infered from classes"); ++ } ++ ModuleVisitor moduleVisitor = ++ classWriter.visitModule(moduleNames.get(0), Opcodes.ACC_OPEN, version); ++ ++ for (String importName : imports) { ++ if (isAsmModule(importName) && !exports.contains(importName)) { ++ moduleVisitor.visitRequire(importName.replace('/', '.'), Opcodes.ACC_TRANSITIVE, null); ++ } ++ } ++ moduleVisitor.visitRequire(JAVA_BASE_MODULE, Opcodes.ACC_MANDATED, null); ++ ++ for (String exportName : exports) { ++ moduleVisitor.visitExport(exportName, 0); ++ } ++ moduleVisitor.visitEnd(); ++ classWriter.visitEnd(); ++ Files.write(Path.of(dstDir.getAbsolutePath(), MODULE_INFO), classWriter.toByteArray()); ++ } ++ ++ private void verifyModuleInfoClass( ++ final File dstDir, ++ final String expectedVersion, ++ final Set expectedExports, ++ final Set expectedRequires) ++ throws IOException { ++ ModuleDescriptor module = ++ ModuleDescriptor.read(Files.newInputStream(Path.of(dstDir.getAbsolutePath(), MODULE_INFO))); ++ String version = module.version().map(ModuleDescriptor.Version::toString).orElse(""); ++ if (!version.equals(expectedVersion)) { ++ throw new IllegalArgumentException( ++ format("Wrong module-info version '%s' (expected '%s')", version, expectedVersion)); ++ } ++ Set exports = ++ module.exports().stream().map(ModuleDescriptor.Exports::source).collect(toSet()); ++ if (!exports.equals(expectedExports)) { ++ throw new IllegalArgumentException( ++ format("Wrong module-info exports %s (expected %s)", exports, expectedExports)); ++ } ++ Set requires = ++ module.requires().stream().map(ModuleDescriptor.Requires::name).collect(toSet()); ++ if (!requires.equals(expectedRequires)) { ++ throw new IllegalArgumentException( ++ format("Wrong module-info requires %s (expected %s)", requires, expectedRequires)); ++ } ++ } ++ ++ private static boolean isAsmModule(final String packageName) { ++ return packageName.startsWith("org/objectweb/asm") ++ && !packageName.equals("org/objectweb/asm/signature"); ++ } ++ ++ private void readJdkApi() throws IOException { + try (InputStream inputStream = + new GZIPInputStream( + Retrofitter.class.getClassLoader().getResourceAsStream("jdk1.5.0.12.txt.gz")); +@@ -97,56 +260,8 @@ public class Retrofitter { + } + } + +- /** +- * Transforms the source class file, or if it is a directory, its files (recursively), in place, +- * in order to make them compatible with the JDK 1.5. +- * +- * @param src source file or directory. +- * @throws IOException if the source files can't be read or written. +- */ +- public void retrofit(final File src) throws IOException { +- retrofit(src, null); +- } +- +- /** +- * Transforms the source class file, or if it is a directory, its files (recursively), either in +- * place or into the destination file or directory, in order to make them compatible with the JDK +- * 1.5. +- * +- * @param src source file or directory. +- * @param dst optional destination file or directory. +- * @throws IOException if the source or destination file can't be read or written. +- */ +- public void retrofit(final File src, final File dst) throws IOException { +- if (src.isDirectory()) { +- File[] files = src.listFiles(); +- if (files == null) { +- throw new IOException("Unable to read files of " + src); +- } +- for (File file : files) { +- retrofit(file, dst == null ? null : new File(dst, file.getName())); +- } +- } else if (src.getName().endsWith(".class")) { +- if (dst == null || !dst.exists() || dst.lastModified() < src.lastModified()) { +- ClassReader classReader = new ClassReader(Files.newInputStream(src.toPath())); +- ClassWriter classWriter = new ClassWriter(0); +- ClassVerifier classVerifier = new ClassVerifier(classWriter); +- ClassRetrofitter classRetrofitter = new ClassRetrofitter(classVerifier); +- classReader.accept(classRetrofitter, ClassReader.SKIP_FRAMES); +- +- if (dst != null && !dst.getParentFile().exists() && !dst.getParentFile().mkdirs()) { +- throw new IOException("Cannot create directory " + dst.getParentFile()); +- } +- try (OutputStream outputStream = +- Files.newOutputStream((dst == null ? src : dst).toPath())) { +- outputStream.write(classWriter.toByteArray()); +- } +- } +- } +- } +- + /** A ClassVisitor that retrofits classes to 1.5 version. */ +- static class ClassRetrofitter extends ClassVisitor { ++ class ClassRetrofitter extends ClassVisitor { + + public ClassRetrofitter(final ClassVisitor classVisitor) { + super(/* latest api =*/ Opcodes.ASM8, classVisitor); +@@ -160,9 +275,21 @@ public class Retrofitter { + final String signature, + final String superName, + final String[] interfaces) { ++ addPackageReferences(Type.getObjectType(name), /* export = */ true); + super.visit(Opcodes.V1_5, access, name, signature, superName, interfaces); + } + ++ @Override ++ public FieldVisitor visitField( ++ final int access, ++ final String name, ++ final String descriptor, ++ final String signature, ++ final Object value) { ++ addPackageReferences(Type.getType(descriptor), /* export = */ false); ++ return super.visitField(access, name, descriptor, signature, value); ++ } ++ + @Override + public MethodVisitor visitMethod( + final int access, +@@ -170,9 +297,17 @@ public class Retrofitter { + final String descriptor, + final String signature, + final String[] exceptions) { ++ addPackageReferences(Type.getType(descriptor), /* export = */ false); + return new MethodVisitor( + api, super.visitMethod(access, name, descriptor, signature, exceptions)) { + ++ @Override ++ public void visitFieldInsn( ++ final int opcode, final String owner, final String name, final String descriptor) { ++ addPackageReferences(Type.getType(descriptor), /* export = */ false); ++ super.visitFieldInsn(opcode, owner, name, descriptor); ++ } ++ + @Override + public void visitMethodInsn( + final int opcode, +@@ -180,6 +315,7 @@ public class Retrofitter { + final String name, + final String descriptor, + final boolean isInterface) { ++ addPackageReferences(Type.getType(descriptor), /* export = */ false); + // Remove the addSuppressed() method calls generated for try-with-resources statements. + // This method is not defined in JDK1.5. + if (owner.equals("java/lang/Throwable") +@@ -190,8 +326,52 @@ public class Retrofitter { + super.visitMethodInsn(opcode, owner, name, descriptor, isInterface); + } + } ++ ++ @Override ++ public void visitTypeInsn(final int opcode, final String type) { ++ addPackageReferences(Type.getObjectType(type), /* export = */ false); ++ super.visitTypeInsn(opcode, type); ++ } ++ ++ @Override ++ public void visitMultiANewArrayInsn(final String descriptor, final int numDimensions) { ++ addPackageReferences(Type.getType(descriptor), /* export = */ false); ++ super.visitMultiANewArrayInsn(descriptor, numDimensions); ++ } ++ ++ @Override ++ public void visitTryCatchBlock( ++ final Label start, final Label end, final Label handler, final String type) { ++ if (type != null) { ++ addPackageReferences(Type.getObjectType(type), /* export = */ false); ++ } ++ super.visitTryCatchBlock(start, end, handler, type); ++ } + }; + } ++ ++ private void addPackageReferences(final Type type, final boolean export) { ++ switch (type.getSort()) { ++ case Type.ARRAY: ++ addPackageReferences(type.getElementType(), export); ++ break; ++ case Type.METHOD: ++ for (Type argumentType : type.getArgumentTypes()) { ++ addPackageReferences(argumentType, export); ++ } ++ addPackageReferences(type.getReturnType(), export); ++ break; ++ case Type.OBJECT: ++ String internalName = type.getInternalName(); ++ int lastSlashIndex = internalName.lastIndexOf('/'); ++ if (lastSlashIndex != -1) { ++ (export ? exports : imports).add(internalName.substring(0, lastSlashIndex)); ++ } ++ break; ++ default: ++ break; ++ } ++ } + } + + /** +@@ -199,18 +379,18 @@ public class Retrofitter { + */ + class ClassVerifier extends ClassVisitor { + +- /** The name of the visited class. */ ++ /** The internal name of the visited class. */ + String className; + + /** The name of the currently visited method. */ + String currentMethodName; + +- public ClassVerifier(final ClassVisitor classVisitor) { ++ public ClassVerifier() { + // Make sure use we don't use Java 9 or higher classfile features. + // We also want to make sure we don't use Java 6, 7 or 8 classfile + // features (invokedynamic), but this can't be done in the same way. + // Instead, we use manual checks below. +- super(Opcodes.ASM4, classVisitor); ++ super(Opcodes.ASM4, null); + } + + @Override +@@ -222,10 +402,9 @@ public class Retrofitter { + final String superName, + final String[] interfaces) { + if ((version & 0xFFFF) > Opcodes.V1_5) { +- throw new IllegalArgumentException("ERROR: " + name + " version is newer than 1.5"); ++ throw new IllegalArgumentException(format("ERROR: %d version is newer than 1.5", version)); + } + className = name; +- super.visit(version, access, name, signature, superName, interfaces); + } + + @Override +@@ -243,7 +422,6 @@ public class Retrofitter { + public void visitFieldInsn( + final int opcode, final String owner, final String name, final String descriptor) { + check(owner, name); +- super.visitFieldInsn(opcode, owner, name, descriptor); + } + + @Override +@@ -254,7 +432,6 @@ public class Retrofitter { + final String descriptor, + final boolean isInterface) { + check(owner, name + descriptor); +- super.visitMethodInsn(opcode, owner, name, descriptor, isInterface); + } + + @Override +@@ -263,21 +440,16 @@ public class Retrofitter { + int sort = ((Type) value).getSort(); + if (sort == Type.METHOD) { + throw new IllegalArgumentException( +- "ERROR: ldc with a MethodType called in " +- + className +- + ' ' +- + currentMethodName +- + " is not available in JDK 1.5"); ++ format( ++ "ERROR: ldc with a MethodType called in %s %s is not available in JDK 1.5", ++ className, currentMethodName)); + } + } else if (value instanceof Handle) { + throw new IllegalArgumentException( +- "ERROR: ldc with a MethodHandle called in " +- + className +- + ' ' +- + currentMethodName +- + " is not available in JDK 1.5"); ++ format( ++ "ERROR: ldc with a MethodHandle called in %s %s is not available in JDK 1.5", ++ className, currentMethodName)); + } +- super.visitLdcInsn(value); + } + + @Override +@@ -287,11 +459,9 @@ public class Retrofitter { + final Handle bootstrapMethodHandle, + final Object... bootstrapMethodArguments) { + throw new IllegalArgumentException( +- "ERROR: invokedynamic called in " +- + className +- + ' ' +- + currentMethodName +- + " is not available in JDK 1.5"); ++ format( ++ "ERROR: invokedynamic called in %s %s is not available in JDK 1.5", ++ className, currentMethodName)); + } + }; + } +@@ -302,7 +472,7 @@ public class Retrofitter { + * @param owner A class name. + * @param member A field name or a method name and descriptor. + */ +- void check(final String owner, final String member) { ++ private void check(final String owner, final String member) { + if (owner.startsWith("java/")) { + String currentOwner = owner; + while (currentOwner != null) { +@@ -312,15 +482,9 @@ public class Retrofitter { + currentOwner = jdkHierarchy.get(currentOwner); + } + throw new IllegalArgumentException( +- "ERROR: " +- + owner +- + ' ' +- + member +- + " called in " +- + className +- + ' ' +- + currentMethodName +- + " is not defined in the JDK 1.5 API"); ++ format( ++ "ERROR: %s %s called in %s %s is not defined in the JDK 1.5 API", ++ owner, member, className, currentMethodName)); + } + } + } +-- +2.37.1 + diff --git a/objectweb-asm.spec b/objectweb-asm.spec index ab4502f..3cc6ade 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD URL: https://asm.ow2.org/ @@ -20,11 +20,21 @@ Source6: https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/%{version}/a Source7: https://repo1.maven.org/maven2/org/ow2/asm/asm-util/%{version}/asm-util-%{version}.pom # The source contains binary jars that cannot be verified for licensing and could be proprietary Source9: generate-tarball.sh +Source10: tools-retrofitter.pom + +# This patch makes it possible to generate module-info.class files without +# needing to use bnd-maven-plugin during the build. The replacement is an added +# main method that has to be invoked manually. +# Patch already applied in upstream master +# https://gitlab.ow2.org/asm/asm/-/commit/5921eb2a141f0dcc83c6a5d7dcd5035a30c5edfc +Patch1: 0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch %if %{with bootstrap} BuildRequires: javapackages-bootstrap %else BuildRequires: maven-local +BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) +BuildRequires: mvn(org.ow2.asm:asm) %endif # Explicit javapackages-tools requires since asm-processor script uses @@ -47,20 +57,28 @@ This package provides %{summary}. %prep %setup -q +%patch1 -p1 + # A custom parent pom to aggregate the build cp -p %{SOURCE1} pom.xml +%pom_xpath_set pom:project/pom:version %{version} + +cp -p %{SOURCE10} tools/retrofitter/pom.xml # Insert poms into modules for pom in asm asm-analysis asm-commons asm-test asm-tree asm-util; do - cp -p $RPM_SOURCE_DIR/${pom}-%{version}.pom $pom/pom.xml - %pom_remove_parent $pom + cp -p ${RPM_SOURCE_DIR}/${pom}-%{version}.pom ${pom}/pom.xml + %pom_add_dep org.ow2.asm:tools-retrofitter::provided ${pom} + %pom_add_plugin org.apache.maven.plugins:maven-antrun-plugin ${pom} + %pom_set_parent org.ow2.asm:asm-aggregator:%{version} ${pom} + %pom_xpath_inject pom:parent '..' ${pom} done -# No need to ship the custom parent pom -%mvn_package :asm-aggregator __noinstall # Don't ship the test framework to avoid runtime dep on junit %mvn_package :asm-test __noinstall +%mvn_package :tools-retrofitter __noinstall + %build %mvn_build -f -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 @@ -77,6 +95,10 @@ done %license LICENSE.txt %changelog +* Mon Aug 29 2022 Marian Koncek - 9.3-3 +- Generate module-info without bnd-plugin +- Resolves: rhbz#2106272 + * Fri Jul 22 2022 Fedora Release Engineering - 9.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/parent.pom b/parent.pom index 86a53b6..83012ff 100644 --- a/parent.pom +++ b/parent.pom @@ -5,15 +5,51 @@ org.ow2.asm asm-aggregator - 1 + pom + + UTF-8 + + asm asm-analysis asm-commons asm-tree asm-util + tools/retrofitter + + + + + + org.apache.maven.plugins + maven-antrun-plugin + any + + + process-classes + + run + + + + + + + + + + + + + + + + + + diff --git a/tools-retrofitter.pom b/tools-retrofitter.pom new file mode 100644 index 0000000..5e24dda --- /dev/null +++ b/tools-retrofitter.pom @@ -0,0 +1,19 @@ + + + 4.0.0 + + org.ow2.asm + tools-retrofitter + any + + jar + + + + org.ow2.asm + asm + any + + + From defa5f5301a42fc841a252c45ceab32eea2ea483 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Mon, 29 Aug 2022 15:42:50 +0200 Subject: [PATCH 07/41] Add javapackages tests --- .fmf/version | 1 + ci.fmf | 1 + gating.yaml | 8 ++++++++ plans/javapackages.fmf | 7 +++++++ 4 files changed, 17 insertions(+) create mode 100644 .fmf/version create mode 100644 ci.fmf create mode 100644 gating.yaml create mode 100644 plans/javapackages.fmf diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..0d484d7 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,8 @@ +--- !Policy +product_versions: + - fedora-* +decision_contexts: + - bodhi_update_push_testing + - bodhi_update_push_stable +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional} diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf new file mode 100644 index 0000000..8f6c9cb --- /dev/null +++ b/plans/javapackages.fmf @@ -0,0 +1,7 @@ +summary: Run javapackages-specific tests +discover: + how: fmf + url: https://src.fedoraproject.org/tests/javapackages + ref: f37 +execute: + how: tmt From 3f843be34056f332dea730cea458be5f29cdcc97 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Fri, 2 Sep 2022 11:26:10 +0200 Subject: [PATCH 08/41] Fix wrong generated module infos --- ...sh-for-dot-in-generated-module-infos.patch | 27 +++++++++++++++++++ objectweb-asm.spec | 9 ++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 0002-Replace-slash-for-dot-in-generated-module-infos.patch diff --git a/0002-Replace-slash-for-dot-in-generated-module-infos.patch b/0002-Replace-slash-for-dot-in-generated-module-infos.patch new file mode 100644 index 0000000..3b7faba --- /dev/null +++ b/0002-Replace-slash-for-dot-in-generated-module-infos.patch @@ -0,0 +1,27 @@ +From b4a0366b3c17fcc0d8187cffbcdd2e1bd61ab0fb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mari=C3=A1n=20Kon=C4=8Dek?= +Date: Fri, 2 Sep 2022 09:41:23 +0200 +Subject: [PATCH] Replace slash for dot in generated module infos + +Forwarded: no + +--- + .../src/main/java/org/objectweb/asm/tools/Retrofitter.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java b/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java +index b3d51e63..43002cea 100644 +--- a/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java ++++ b/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java +@@ -187,7 +187,7 @@ public class Retrofitter { + throw new IllegalArgumentException("Module name can't be infered from classes"); + } + ModuleVisitor moduleVisitor = +- classWriter.visitModule(moduleNames.get(0), Opcodes.ACC_OPEN, version); ++ classWriter.visitModule(moduleNames.get(0).replace('/', '.'), Opcodes.ACC_OPEN, version); + + for (String importName : imports) { + if (isAsmModule(importName) && !exports.contains(importName)) { +-- +2.37.2 + diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 3cc6ade..692bbef 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD URL: https://asm.ow2.org/ @@ -29,6 +29,9 @@ Source10: tools-retrofitter.pom # https://gitlab.ow2.org/asm/asm/-/commit/5921eb2a141f0dcc83c6a5d7dcd5035a30c5edfc Patch1: 0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch +# Attempted fix for: https://gitlab.ow2.org/asm/asm/-/issues/317983 +Patch2: 0002-Replace-slash-for-dot-in-generated-module-infos.patch + %if %{with bootstrap} BuildRequires: javapackages-bootstrap %else @@ -58,6 +61,7 @@ This package provides %{summary}. %setup -q %patch1 -p1 +%patch2 -p1 # A custom parent pom to aggregate the build cp -p %{SOURCE1} pom.xml @@ -95,6 +99,9 @@ done %license LICENSE.txt %changelog +* Fri Sep 02 2022 Marian Koncek - 9.3-4 +- Fix wrong generated module infos + * Mon Aug 29 2022 Marian Koncek - 9.3-3 - Generate module-info without bnd-plugin - Resolves: rhbz#2106272 From 9686fe857986a972c4bd402fe78e5c3167b46b58 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Wed, 2 Nov 2022 10:50:46 +0100 Subject: [PATCH 09/41] Bootstrap build --- objectweb-asm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 692bbef..d087e2d 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -1,4 +1,4 @@ -%bcond_with bootstrap +%bcond_without bootstrap Name: objectweb-asm Version: 9.3 From cf1b2e40e8ffad041b614047620e26b7a260a56d Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Wed, 2 Nov 2022 10:52:40 +0100 Subject: [PATCH 10/41] Non-bootstrap build --- objectweb-asm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index d087e2d..692bbef 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -1,4 +1,4 @@ -%bcond_without bootstrap +%bcond_with bootstrap Name: objectweb-asm Version: 9.3 From 9ae9aa1ac1c0834888c615d499086a583f5a1a94 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 21:58:25 +0000 Subject: [PATCH 11/41] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- objectweb-asm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 692bbef..4fdf808 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.3 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD URL: https://asm.ow2.org/ @@ -99,6 +99,9 @@ done %license LICENSE.txt %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 9.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Fri Sep 02 2022 Marian Koncek - 9.3-4 - Fix wrong generated module infos From 45272a6e20ac2d30d2252e4060be65e722c30336 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Thu, 23 Feb 2023 11:50:59 +0100 Subject: [PATCH 12/41] Refactor poms --- parent.pom => aggregator.pom | 11 +++++++---- objectweb-asm.spec | 15 ++++++++------- tools-retrofitter.pom | 3 +-- 3 files changed, 16 insertions(+), 13 deletions(-) rename parent.pom => aggregator.pom (84%) diff --git a/parent.pom b/aggregator.pom similarity index 84% rename from parent.pom rename to aggregator.pom index 83012ff..f267e26 100644 --- a/parent.pom +++ b/aggregator.pom @@ -3,10 +3,9 @@ xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd'> 4.0.0 - org.ow2.asm - asm-aggregator - - + org.fedoraproject.xmvn.objectweb-asm + aggregator + any pom @@ -25,6 +24,10 @@ + org.apache.maven.plugins maven-antrun-plugin diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 4fdf808..0e25897 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -11,7 +11,7 @@ ExclusiveArch: %{java_arches} noarch # ./generate-tarball.sh Source0: %{name}-%{version}.tar.gz -Source1: parent.pom +Source1: aggregator.pom Source2: https://repo1.maven.org/maven2/org/ow2/asm/asm/%{version}/asm-%{version}.pom Source3: https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/%{version}/asm-analysis-%{version}.pom Source4: https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/%{version}/asm-commons-%{version}.pom @@ -63,26 +63,27 @@ This package provides %{summary}. %patch1 -p1 %patch2 -p1 -# A custom parent pom to aggregate the build +# A custom pom to aggregate the build cp -p %{SOURCE1} pom.xml -%pom_xpath_set pom:project/pom:version %{version} cp -p %{SOURCE10} tools/retrofitter/pom.xml # Insert poms into modules for pom in asm asm-analysis asm-commons asm-test asm-tree asm-util; do cp -p ${RPM_SOURCE_DIR}/${pom}-%{version}.pom ${pom}/pom.xml - %pom_add_dep org.ow2.asm:tools-retrofitter::provided ${pom} + %pom_add_dep org.fedoraproject.xmvn.objectweb-asm:tools-retrofitter::provided ${pom} %pom_add_plugin org.apache.maven.plugins:maven-antrun-plugin ${pom} - %pom_set_parent org.ow2.asm:asm-aggregator:%{version} ${pom} + %pom_set_parent org.fedoraproject.xmvn.objectweb-asm:aggregator:any ${pom} %pom_xpath_inject pom:parent '..' ${pom} done +# Don't ship poms used for build only +%mvn_package :aggregator __noinstall +%mvn_package :tools-retrofitter __noinstall + # Don't ship the test framework to avoid runtime dep on junit %mvn_package :asm-test __noinstall -%mvn_package :tools-retrofitter __noinstall - %build %mvn_build -f -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 diff --git a/tools-retrofitter.pom b/tools-retrofitter.pom index 5e24dda..bd1f813 100644 --- a/tools-retrofitter.pom +++ b/tools-retrofitter.pom @@ -3,10 +3,9 @@ xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd'> 4.0.0 - org.ow2.asm + org.fedoraproject.xmvn.objectweb-asm tools-retrofitter any - jar From a9f7552ac0da19cd19c94a88321b9a2eca96be8d Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Thu, 23 Feb 2023 11:51:22 +0100 Subject: [PATCH 13/41] Update to upstream version 9.4 --- .gitignore | 6 + ...ule-info-classes-without-Bnd.-Delete.patch | 614 ------------------ ...sh-for-dot-in-generated-module-infos.patch | 27 - objectweb-asm.spec | 20 +- sources | 14 +- 5 files changed, 18 insertions(+), 663 deletions(-) delete mode 100644 0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch delete mode 100644 0002-Replace-slash-for-dot-in-generated-module-infos.patch diff --git a/.gitignore b/.gitignore index 6211337..9c6a2d3 100644 --- a/.gitignore +++ b/.gitignore @@ -85,3 +85,9 @@ /asm-test-9.3.pom /asm-tree-9.3.pom /asm-util-9.3.pom +/asm-9.4.pom +/asm-analysis-9.4.pom +/asm-commons-9.4.pom +/asm-test-9.4.pom +/asm-tree-9.4.pom +/asm-util-9.4.pom diff --git a/0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch b/0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch deleted file mode 100644 index 8d4a837..0000000 --- a/0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch +++ /dev/null @@ -1,614 +0,0 @@ -From 5921eb2a141f0dcc83c6a5d7dcd5035a30c5edfc Mon Sep 17 00:00:00 2001 -From: Eric Bruneton -Date: Sun, 31 Jul 2022 12:21:41 +0000 -Subject: [PATCH] Generate the module info classes without Bnd. Delete the Bnd - plugin. - ---- - .../asm/tools/ModuleInfoBndPlugin.java | 99 ------ - .../org/objectweb/asm/tools/Retrofitter.java | 336 +++++++++++++----- - 4 files changed, 267 insertions(+), 206 deletions(-) - delete mode 100644 tools/bnd-module-plugin/src/main/java/org/objectweb/asm/tools/ModuleInfoBndPlugin.java - -diff --git a/tools/bnd-module-plugin/src/main/java/org/objectweb/asm/tools/ModuleInfoBndPlugin.java b/tools/bnd-module-plugin/src/main/java/org/objectweb/asm/tools/ModuleInfoBndPlugin.java -deleted file mode 100644 -index ee91bdc1..00000000 ---- a/tools/bnd-module-plugin/src/main/java/org/objectweb/asm/tools/ModuleInfoBndPlugin.java -+++ /dev/null -@@ -1,99 +0,0 @@ --// ASM: a very small and fast Java bytecode manipulation framework --// Copyright (c) 2000-2011 INRIA, France Telecom --// All rights reserved. --// --// Redistribution and use in source and binary forms, with or without --// modification, are permitted provided that the following conditions --// are met: --// 1. Redistributions of source code must retain the above copyright --// notice, this list of conditions and the following disclaimer. --// 2. Redistributions in binary form must reproduce the above copyright --// notice, this list of conditions and the following disclaimer in the --// documentation and/or other materials provided with the distribution. --// 3. Neither the name of the copyright holders nor the names of its --// contributors may be used to endorse or promote products derived from --// this software without specific prior written permission. --// --// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" --// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE --// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE --// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE --// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR --// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF --// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN --// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) --// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF --// THE POSSIBILITY OF SUCH DAMAGE. --package org.objectweb.asm.tools; -- --import aQute.bnd.header.Attrs; --import aQute.bnd.header.Parameters; --import aQute.bnd.osgi.Analyzer; --import aQute.bnd.osgi.Constants; --import aQute.bnd.osgi.EmbeddedResource; --import aQute.bnd.service.AnalyzerPlugin; --import org.objectweb.asm.ClassWriter; --import org.objectweb.asm.ModuleVisitor; --import org.objectweb.asm.Opcodes; -- --/** -- * An biz.aQute.bnd plugin to generate a module-info class from the name, version, requires and -- * export properties of the bundle. -- * -- * @author Remi Forax -- */ --public class ModuleInfoBndPlugin implements AnalyzerPlugin { -- private static final String MODULE_NAME = "Module-Name"; -- private static final String MODULE_VERSION = "Module-Version"; -- private static final String MODULE_REQUIRES = "Module-Requires"; -- private static final String MODULE_EXPORTS = "Module-Exports"; -- -- @Override -- public boolean analyzeJar(final Analyzer analyzer) throws Exception { -- ClassWriter classWriter = new ClassWriter(0); -- classWriter.visit(Opcodes.V9, Opcodes.ACC_MODULE, "module-info", null, null, null); -- String moduleName = -- analyzer.getProperty(MODULE_NAME, analyzer.getProperty(Constants.BUNDLE_SYMBOLICNAME)); -- String moduleVersion = -- analyzer.getProperty(MODULE_VERSION, analyzer.getProperty(Constants.BUNDLE_VERSION)); -- ModuleVisitor moduleVisitor = -- classWriter.visitModule(moduleName, Opcodes.ACC_OPEN, moduleVersion); -- -- String requireModules = analyzer.getProperty(MODULE_REQUIRES); -- if (requireModules != null) { -- Parameters requireParams = analyzer.parseHeader(requireModules); -- for (String requireName : requireParams.keySet()) { -- Attrs attrs = requireParams.get(requireName); -- boolean isTransitive = attrs.containsKey("transitive"); -- boolean isStatic = attrs.containsKey("static"); -- moduleVisitor.visitRequire( -- requireName, -- (isTransitive ? Opcodes.ACC_TRANSITIVE : 0) | (isStatic ? Opcodes.ACC_STATIC_PHASE : 0), -- null); -- } -- } -- moduleVisitor.visitRequire("java.base", Opcodes.ACC_MANDATED, null); -- -- String exportPackages = -- analyzer.getProperty(MODULE_EXPORTS, analyzer.getProperty(Constants.EXPORT_PACKAGE)); -- if (exportPackages != null) { -- Parameters exportParams = analyzer.parseHeader(exportPackages); -- for (String packageName : exportParams.keySet()) { -- if (packageName.endsWith("*")) { -- throw new IllegalStateException("Unsupported wildcard packages " + packageName); -- } -- moduleVisitor.visitExport(packageName.replace('.', '/'), 0); -- } -- } -- moduleVisitor.visitEnd(); -- classWriter.visitEnd(); -- -- analyzer -- .getJar() -- .putResource( -- "module-info.class", -- new EmbeddedResource(classWriter.toByteArray(), System.currentTimeMillis())); -- return false; -- } --} -diff --git a/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java b/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java -index 2d017ed2..b3d51e63 100644 ---- a/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java -+++ b/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java -@@ -27,22 +27,33 @@ - // THE POSSIBILITY OF SUCH DAMAGE. - package org.objectweb.asm.tools; - -+import static java.lang.String.format; -+import static java.util.stream.Collectors.toSet; -+ - import java.io.BufferedReader; - import java.io.File; - import java.io.IOException; - import java.io.InputStream; - import java.io.InputStreamReader; - import java.io.LineNumberReader; --import java.io.OutputStream; -+import java.lang.module.ModuleDescriptor; - import java.nio.file.Files; -+import java.nio.file.Path; -+import java.util.ArrayList; - import java.util.HashMap; - import java.util.HashSet; -+import java.util.List; -+import java.util.Set; -+import java.util.stream.Stream; - import java.util.zip.GZIPInputStream; - import org.objectweb.asm.ClassReader; - import org.objectweb.asm.ClassVisitor; - import org.objectweb.asm.ClassWriter; -+import org.objectweb.asm.FieldVisitor; - import org.objectweb.asm.Handle; -+import org.objectweb.asm.Label; - import org.objectweb.asm.MethodVisitor; -+import org.objectweb.asm.ModuleVisitor; - import org.objectweb.asm.Opcodes; - import org.objectweb.asm.Type; - -@@ -57,6 +68,12 @@ import org.objectweb.asm.Type; - */ - public class Retrofitter { - -+ /** The name of the module-info file. */ -+ private static final String MODULE_INFO = "module-info.class"; -+ -+ /** The name of the java.base module. */ -+ private static final String JAVA_BASE_MODULE = "java.base"; -+ - /** - * The fields and methods of the JDK 1.5 API. Each string has the form - * "<owner><name><descriptor>". -@@ -68,12 +85,158 @@ public class Retrofitter { - */ - private final HashMap jdkHierarchy = new HashMap<>(); - -+ /** The internal names of the packages exported by the retrofitted classes. */ -+ private final HashSet exports = new HashSet<>(); -+ -+ /** The internal names of the packages imported by the retrofitted classes. */ -+ private final HashSet imports = new HashSet<>(); -+ -+ /** -+ * Transforms the class files in the given directory, in place, in order to make them compatible -+ * with the JDK 1.5. Also generates a module-info class in this directory, with the given module -+ * version. -+ * -+ * @param args a directory containing compiled classes and the ASM release version. -+ * @throws IOException if a file can't be read or written. -+ */ -+ public static void main(final String[] args) throws IOException { -+ if (args.length == 2) { -+ new Retrofitter().retrofit(new File(args[0]), args[1]); -+ } else { -+ System.err.println("Usage: Retrofitter "); // NOPMD -+ } -+ } -+ -+ /** -+ * Transforms the class files in the given directory, in place, in order to make them compatible -+ * with the JDK 1.5. Also generates a module-info class in this directory, with the given module -+ * version. -+ * -+ * @param classesDir a directory containing compiled classes. -+ * @param version the module-info version. -+ * @throws IOException if a file can't be read or written. -+ */ -+ public void retrofit(final File classesDir, final String version) throws IOException { -+ for (File classFile : getAllClasses(classesDir, new ArrayList())) { -+ ClassReader classReader = new ClassReader(Files.newInputStream(classFile.toPath())); -+ ClassWriter classWriter = new ClassWriter(0); -+ classReader.accept(new ClassRetrofitter(classWriter), ClassReader.SKIP_FRAMES); -+ Files.write(classFile.toPath(), classWriter.toByteArray()); -+ } -+ generateModuleInfoClass(classesDir, version); -+ } -+ - /** -- * Constructs a new {@link Retrofitter}. -+ * Verify that the class files in the given directory only use JDK 1.5 APIs, and that a -+ * module-info class is present with the expected content. - * -- * @throws IOException if the JDK API description file can't be read. -+ * @param classesDir a directory containing compiled classes. -+ * @param expectedVersion the expected module-info version. -+ * @param expectedExports the expected module-info exported packages. -+ * @param expectedRequires the expected module-info required modules. -+ * @throws IOException if a file can't be read. -+ * @throws IllegalArgumentException if the module-info class does not have the expected content. - */ -- public Retrofitter() throws IOException { -+ public void verify( -+ final File classesDir, -+ final String expectedVersion, -+ final List expectedExports, -+ final List expectedRequires) -+ throws IOException { -+ if (jdkApi.isEmpty()) { -+ readJdkApi(); -+ } -+ for (File classFile : getAllClasses(classesDir, new ArrayList())) { -+ if (!classFile.getName().equals(MODULE_INFO)) { -+ new ClassReader(Files.newInputStream(classFile.toPath())).accept(new ClassVerifier(), 0); -+ } -+ } -+ verifyModuleInfoClass( -+ classesDir, -+ expectedVersion, -+ new HashSet(expectedExports), -+ Stream.concat(expectedRequires.stream(), Stream.of(JAVA_BASE_MODULE)).collect(toSet())); -+ } -+ -+ private List getAllClasses(final File file, final List allClasses) -+ throws IOException { -+ if (file.isDirectory()) { -+ File[] children = file.listFiles(); -+ if (children == null) { -+ throw new IOException("Unable to read files of " + file); -+ } -+ for (File child : children) { -+ getAllClasses(child, allClasses); -+ } -+ } else if (file.getName().endsWith(".class")) { -+ allClasses.add(file); -+ } -+ return allClasses; -+ } -+ -+ private void generateModuleInfoClass(final File dstDir, final String version) throws IOException { -+ ClassWriter classWriter = new ClassWriter(0); -+ classWriter.visit(Opcodes.V9, Opcodes.ACC_MODULE, "module-info", null, null, null); -+ ArrayList moduleNames = new ArrayList<>(); -+ for (String exportName : exports) { -+ if (isAsmModule(exportName)) { -+ moduleNames.add(exportName); -+ } -+ } -+ if (moduleNames.size() != 1) { -+ throw new IllegalArgumentException("Module name can't be infered from classes"); -+ } -+ ModuleVisitor moduleVisitor = -+ classWriter.visitModule(moduleNames.get(0), Opcodes.ACC_OPEN, version); -+ -+ for (String importName : imports) { -+ if (isAsmModule(importName) && !exports.contains(importName)) { -+ moduleVisitor.visitRequire(importName.replace('/', '.'), Opcodes.ACC_TRANSITIVE, null); -+ } -+ } -+ moduleVisitor.visitRequire(JAVA_BASE_MODULE, Opcodes.ACC_MANDATED, null); -+ -+ for (String exportName : exports) { -+ moduleVisitor.visitExport(exportName, 0); -+ } -+ moduleVisitor.visitEnd(); -+ classWriter.visitEnd(); -+ Files.write(Path.of(dstDir.getAbsolutePath(), MODULE_INFO), classWriter.toByteArray()); -+ } -+ -+ private void verifyModuleInfoClass( -+ final File dstDir, -+ final String expectedVersion, -+ final Set expectedExports, -+ final Set expectedRequires) -+ throws IOException { -+ ModuleDescriptor module = -+ ModuleDescriptor.read(Files.newInputStream(Path.of(dstDir.getAbsolutePath(), MODULE_INFO))); -+ String version = module.version().map(ModuleDescriptor.Version::toString).orElse(""); -+ if (!version.equals(expectedVersion)) { -+ throw new IllegalArgumentException( -+ format("Wrong module-info version '%s' (expected '%s')", version, expectedVersion)); -+ } -+ Set exports = -+ module.exports().stream().map(ModuleDescriptor.Exports::source).collect(toSet()); -+ if (!exports.equals(expectedExports)) { -+ throw new IllegalArgumentException( -+ format("Wrong module-info exports %s (expected %s)", exports, expectedExports)); -+ } -+ Set requires = -+ module.requires().stream().map(ModuleDescriptor.Requires::name).collect(toSet()); -+ if (!requires.equals(expectedRequires)) { -+ throw new IllegalArgumentException( -+ format("Wrong module-info requires %s (expected %s)", requires, expectedRequires)); -+ } -+ } -+ -+ private static boolean isAsmModule(final String packageName) { -+ return packageName.startsWith("org/objectweb/asm") -+ && !packageName.equals("org/objectweb/asm/signature"); -+ } -+ -+ private void readJdkApi() throws IOException { - try (InputStream inputStream = - new GZIPInputStream( - Retrofitter.class.getClassLoader().getResourceAsStream("jdk1.5.0.12.txt.gz")); -@@ -97,56 +260,8 @@ public class Retrofitter { - } - } - -- /** -- * Transforms the source class file, or if it is a directory, its files (recursively), in place, -- * in order to make them compatible with the JDK 1.5. -- * -- * @param src source file or directory. -- * @throws IOException if the source files can't be read or written. -- */ -- public void retrofit(final File src) throws IOException { -- retrofit(src, null); -- } -- -- /** -- * Transforms the source class file, or if it is a directory, its files (recursively), either in -- * place or into the destination file or directory, in order to make them compatible with the JDK -- * 1.5. -- * -- * @param src source file or directory. -- * @param dst optional destination file or directory. -- * @throws IOException if the source or destination file can't be read or written. -- */ -- public void retrofit(final File src, final File dst) throws IOException { -- if (src.isDirectory()) { -- File[] files = src.listFiles(); -- if (files == null) { -- throw new IOException("Unable to read files of " + src); -- } -- for (File file : files) { -- retrofit(file, dst == null ? null : new File(dst, file.getName())); -- } -- } else if (src.getName().endsWith(".class")) { -- if (dst == null || !dst.exists() || dst.lastModified() < src.lastModified()) { -- ClassReader classReader = new ClassReader(Files.newInputStream(src.toPath())); -- ClassWriter classWriter = new ClassWriter(0); -- ClassVerifier classVerifier = new ClassVerifier(classWriter); -- ClassRetrofitter classRetrofitter = new ClassRetrofitter(classVerifier); -- classReader.accept(classRetrofitter, ClassReader.SKIP_FRAMES); -- -- if (dst != null && !dst.getParentFile().exists() && !dst.getParentFile().mkdirs()) { -- throw new IOException("Cannot create directory " + dst.getParentFile()); -- } -- try (OutputStream outputStream = -- Files.newOutputStream((dst == null ? src : dst).toPath())) { -- outputStream.write(classWriter.toByteArray()); -- } -- } -- } -- } -- - /** A ClassVisitor that retrofits classes to 1.5 version. */ -- static class ClassRetrofitter extends ClassVisitor { -+ class ClassRetrofitter extends ClassVisitor { - - public ClassRetrofitter(final ClassVisitor classVisitor) { - super(/* latest api =*/ Opcodes.ASM8, classVisitor); -@@ -160,9 +275,21 @@ public class Retrofitter { - final String signature, - final String superName, - final String[] interfaces) { -+ addPackageReferences(Type.getObjectType(name), /* export = */ true); - super.visit(Opcodes.V1_5, access, name, signature, superName, interfaces); - } - -+ @Override -+ public FieldVisitor visitField( -+ final int access, -+ final String name, -+ final String descriptor, -+ final String signature, -+ final Object value) { -+ addPackageReferences(Type.getType(descriptor), /* export = */ false); -+ return super.visitField(access, name, descriptor, signature, value); -+ } -+ - @Override - public MethodVisitor visitMethod( - final int access, -@@ -170,9 +297,17 @@ public class Retrofitter { - final String descriptor, - final String signature, - final String[] exceptions) { -+ addPackageReferences(Type.getType(descriptor), /* export = */ false); - return new MethodVisitor( - api, super.visitMethod(access, name, descriptor, signature, exceptions)) { - -+ @Override -+ public void visitFieldInsn( -+ final int opcode, final String owner, final String name, final String descriptor) { -+ addPackageReferences(Type.getType(descriptor), /* export = */ false); -+ super.visitFieldInsn(opcode, owner, name, descriptor); -+ } -+ - @Override - public void visitMethodInsn( - final int opcode, -@@ -180,6 +315,7 @@ public class Retrofitter { - final String name, - final String descriptor, - final boolean isInterface) { -+ addPackageReferences(Type.getType(descriptor), /* export = */ false); - // Remove the addSuppressed() method calls generated for try-with-resources statements. - // This method is not defined in JDK1.5. - if (owner.equals("java/lang/Throwable") -@@ -190,8 +326,52 @@ public class Retrofitter { - super.visitMethodInsn(opcode, owner, name, descriptor, isInterface); - } - } -+ -+ @Override -+ public void visitTypeInsn(final int opcode, final String type) { -+ addPackageReferences(Type.getObjectType(type), /* export = */ false); -+ super.visitTypeInsn(opcode, type); -+ } -+ -+ @Override -+ public void visitMultiANewArrayInsn(final String descriptor, final int numDimensions) { -+ addPackageReferences(Type.getType(descriptor), /* export = */ false); -+ super.visitMultiANewArrayInsn(descriptor, numDimensions); -+ } -+ -+ @Override -+ public void visitTryCatchBlock( -+ final Label start, final Label end, final Label handler, final String type) { -+ if (type != null) { -+ addPackageReferences(Type.getObjectType(type), /* export = */ false); -+ } -+ super.visitTryCatchBlock(start, end, handler, type); -+ } - }; - } -+ -+ private void addPackageReferences(final Type type, final boolean export) { -+ switch (type.getSort()) { -+ case Type.ARRAY: -+ addPackageReferences(type.getElementType(), export); -+ break; -+ case Type.METHOD: -+ for (Type argumentType : type.getArgumentTypes()) { -+ addPackageReferences(argumentType, export); -+ } -+ addPackageReferences(type.getReturnType(), export); -+ break; -+ case Type.OBJECT: -+ String internalName = type.getInternalName(); -+ int lastSlashIndex = internalName.lastIndexOf('/'); -+ if (lastSlashIndex != -1) { -+ (export ? exports : imports).add(internalName.substring(0, lastSlashIndex)); -+ } -+ break; -+ default: -+ break; -+ } -+ } - } - - /** -@@ -199,18 +379,18 @@ public class Retrofitter { - */ - class ClassVerifier extends ClassVisitor { - -- /** The name of the visited class. */ -+ /** The internal name of the visited class. */ - String className; - - /** The name of the currently visited method. */ - String currentMethodName; - -- public ClassVerifier(final ClassVisitor classVisitor) { -+ public ClassVerifier() { - // Make sure use we don't use Java 9 or higher classfile features. - // We also want to make sure we don't use Java 6, 7 or 8 classfile - // features (invokedynamic), but this can't be done in the same way. - // Instead, we use manual checks below. -- super(Opcodes.ASM4, classVisitor); -+ super(Opcodes.ASM4, null); - } - - @Override -@@ -222,10 +402,9 @@ public class Retrofitter { - final String superName, - final String[] interfaces) { - if ((version & 0xFFFF) > Opcodes.V1_5) { -- throw new IllegalArgumentException("ERROR: " + name + " version is newer than 1.5"); -+ throw new IllegalArgumentException(format("ERROR: %d version is newer than 1.5", version)); - } - className = name; -- super.visit(version, access, name, signature, superName, interfaces); - } - - @Override -@@ -243,7 +422,6 @@ public class Retrofitter { - public void visitFieldInsn( - final int opcode, final String owner, final String name, final String descriptor) { - check(owner, name); -- super.visitFieldInsn(opcode, owner, name, descriptor); - } - - @Override -@@ -254,7 +432,6 @@ public class Retrofitter { - final String descriptor, - final boolean isInterface) { - check(owner, name + descriptor); -- super.visitMethodInsn(opcode, owner, name, descriptor, isInterface); - } - - @Override -@@ -263,21 +440,16 @@ public class Retrofitter { - int sort = ((Type) value).getSort(); - if (sort == Type.METHOD) { - throw new IllegalArgumentException( -- "ERROR: ldc with a MethodType called in " -- + className -- + ' ' -- + currentMethodName -- + " is not available in JDK 1.5"); -+ format( -+ "ERROR: ldc with a MethodType called in %s %s is not available in JDK 1.5", -+ className, currentMethodName)); - } - } else if (value instanceof Handle) { - throw new IllegalArgumentException( -- "ERROR: ldc with a MethodHandle called in " -- + className -- + ' ' -- + currentMethodName -- + " is not available in JDK 1.5"); -+ format( -+ "ERROR: ldc with a MethodHandle called in %s %s is not available in JDK 1.5", -+ className, currentMethodName)); - } -- super.visitLdcInsn(value); - } - - @Override -@@ -287,11 +459,9 @@ public class Retrofitter { - final Handle bootstrapMethodHandle, - final Object... bootstrapMethodArguments) { - throw new IllegalArgumentException( -- "ERROR: invokedynamic called in " -- + className -- + ' ' -- + currentMethodName -- + " is not available in JDK 1.5"); -+ format( -+ "ERROR: invokedynamic called in %s %s is not available in JDK 1.5", -+ className, currentMethodName)); - } - }; - } -@@ -302,7 +472,7 @@ public class Retrofitter { - * @param owner A class name. - * @param member A field name or a method name and descriptor. - */ -- void check(final String owner, final String member) { -+ private void check(final String owner, final String member) { - if (owner.startsWith("java/")) { - String currentOwner = owner; - while (currentOwner != null) { -@@ -312,15 +482,9 @@ public class Retrofitter { - currentOwner = jdkHierarchy.get(currentOwner); - } - throw new IllegalArgumentException( -- "ERROR: " -- + owner -- + ' ' -- + member -- + " called in " -- + className -- + ' ' -- + currentMethodName -- + " is not defined in the JDK 1.5 API"); -+ format( -+ "ERROR: %s %s called in %s %s is not defined in the JDK 1.5 API", -+ owner, member, className, currentMethodName)); - } - } - } --- -2.37.1 - diff --git a/0002-Replace-slash-for-dot-in-generated-module-infos.patch b/0002-Replace-slash-for-dot-in-generated-module-infos.patch deleted file mode 100644 index 3b7faba..0000000 --- a/0002-Replace-slash-for-dot-in-generated-module-infos.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b4a0366b3c17fcc0d8187cffbcdd2e1bd61ab0fb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mari=C3=A1n=20Kon=C4=8Dek?= -Date: Fri, 2 Sep 2022 09:41:23 +0200 -Subject: [PATCH] Replace slash for dot in generated module infos - -Forwarded: no - ---- - .../src/main/java/org/objectweb/asm/tools/Retrofitter.java | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java b/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java -index b3d51e63..43002cea 100644 ---- a/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java -+++ b/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java -@@ -187,7 +187,7 @@ public class Retrofitter { - throw new IllegalArgumentException("Module name can't be infered from classes"); - } - ModuleVisitor moduleVisitor = -- classWriter.visitModule(moduleNames.get(0), Opcodes.ACC_OPEN, version); -+ classWriter.visitModule(moduleNames.get(0).replace('/', '.'), Opcodes.ACC_OPEN, version); - - for (String importName : imports) { - if (isAsmModule(importName) && !exports.contains(importName)) { --- -2.37.2 - diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 0e25897..bdbb0f9 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -1,8 +1,8 @@ %bcond_with bootstrap Name: objectweb-asm -Version: 9.3 -Release: 5%{?dist} +Version: 9.4 +Release: 1%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD URL: https://asm.ow2.org/ @@ -22,16 +22,6 @@ Source7: https://repo1.maven.org/maven2/org/ow2/asm/asm-util/%{version}/a Source9: generate-tarball.sh Source10: tools-retrofitter.pom -# This patch makes it possible to generate module-info.class files without -# needing to use bnd-maven-plugin during the build. The replacement is an added -# main method that has to be invoked manually. -# Patch already applied in upstream master -# https://gitlab.ow2.org/asm/asm/-/commit/5921eb2a141f0dcc83c6a5d7dcd5035a30c5edfc -Patch1: 0001-Generate-the-module-info-classes-without-Bnd.-Delete.patch - -# Attempted fix for: https://gitlab.ow2.org/asm/asm/-/issues/317983 -Patch2: 0002-Replace-slash-for-dot-in-generated-module-infos.patch - %if %{with bootstrap} BuildRequires: javapackages-bootstrap %else @@ -60,9 +50,6 @@ This package provides %{summary}. %prep %setup -q -%patch1 -p1 -%patch2 -p1 - # A custom pom to aggregate the build cp -p %{SOURCE1} pom.xml @@ -100,6 +87,9 @@ done %license LICENSE.txt %changelog +* Thu Feb 23 2023 Marian Koncek - 9.4-1 +- Update to upstream version 9.4 + * Thu Jan 19 2023 Fedora Release Engineering - 9.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index e89e1c4..cd07e26 100644 --- a/sources +++ b/sources @@ -1,7 +1,7 @@ -SHA512 (objectweb-asm-9.3.tar.gz) = ec23e717f17789fee264a6a08b3d52c2ec46d39270b38e0804ea18f1abebdddc738c7ff788d2ab348af8345b41c827021dec4e843b18ede04965eac77697e72b -SHA512 (asm-9.3.pom) = a354aaa4a45f6e6c3d24e28b8a9e4490bd0a5e43a33a45dd712daefaab33a65f45cd9ae11d57e38c45082053efbe03e6ab7d5c3882d50f1e6a5d6984f477ce86 -SHA512 (asm-analysis-9.3.pom) = e32fd3696ac4770f109a4abaf38e56cb4c8ad4f5131f8d24ff54505798279593c602402363c18b580f5453717a35fc7820fbe18e3b34ed780aa0c7025087d8cd -SHA512 (asm-commons-9.3.pom) = 1446c1528e07110c5a5894365c5c84063d264ec833532d894e3238bdb027f98a72398bc763fb89785a6f757e1d195f2934505ab63f75eb4538532fbed1ef0af9 -SHA512 (asm-test-9.3.pom) = 6c99662ac0701653dc76619e651ed3969c20ccd92a3f61eda9f785cceae446e6a4cf74e67f90835125719ce220d0639887f3047525c697203f3804e27dae8ff0 -SHA512 (asm-tree-9.3.pom) = f066513d4dba672edc85e9b457d827c16d55a321cb02f4f5faf6e02f59594c44fe3eae23006e6a7310151ff88ea53e654e27fdced6b0af85dcb24ab276279ca2 -SHA512 (asm-util-9.3.pom) = 283675d07165cd635d0417eed078be18aae09ec8960e370d5d56b5b7845d74e150330f21e4610c0c4ca391843d7dd21bcd341604763924f102d65875df8ff927 +SHA512 (objectweb-asm-9.4.tar.gz) = 33f45238f5d029f08bb1093388333e8e6a33f5dd29660eee2986a73f2965d3a732cc99e05b6fd96d7e9b11385e6d008846bf55fdd933496b5c3f579e03d83d92 +SHA512 (asm-9.4.pom) = 711c595da7e141d5a6ee6b63d574abc752679363c8ea1068db4acba9a34723500cc02c573883d87edfe2a33654506e77a9f59c957c337bbc34f7b32008d1ef48 +SHA512 (asm-analysis-9.4.pom) = 28489b2496cfefcd20a900bd4d107969c7dfeba8da5156f3bf487504ce563fe89d5aa6c871e0d610cfc5f9f21d5762339645da6841776175b85256b7feee4681 +SHA512 (asm-commons-9.4.pom) = 2c7103334bf26e5881ffcee948edb99e4694cd5794762d683d15b78c330b8bea61e5379a7dfc156685b93c8f070c13eaf34b5d6440012584c76255867ae618ea +SHA512 (asm-test-9.4.pom) = 2d427d54223769a1b57ddaee687ec2dc531a8504ba93607cfef86aa7aa1053caa19946b6da7feb7ab3ac212556f8f2b560d76cff71245d4826608cece436626a +SHA512 (asm-tree-9.4.pom) = 52f75f8d5fa2eb7af9e0e96d6c834bf131461d12db0a01d01c53d63edf10c6d33a8355cea58326a0c5f09ca948d946cc05906a9a745757553471a2719d8f3dc5 +SHA512 (asm-util-9.4.pom) = 99de2d813a29d812de45763a01e59f5bbe2ad44503afdbecc311119eeece9bd6d8afc587c22e6f12958f155ebcd08534e75d3f53947f81d276052de2791dd57a From 02920f8b46f62d0d3e999a1066d5c1c0ca66eac5 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Mon, 5 Jun 2023 12:45:35 +0200 Subject: [PATCH 14/41] Update to upstream version 9.5 --- .gitignore | 6 ++++++ objectweb-asm.spec | 5 ++++- sources | 14 +++++++------- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 9c6a2d3..d02a20b 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,9 @@ /asm-test-9.4.pom /asm-tree-9.4.pom /asm-util-9.4.pom +/asm-9.5.pom +/asm-analysis-9.5.pom +/asm-commons-9.5.pom +/asm-test-9.5.pom +/asm-tree-9.5.pom +/asm-util-9.5.pom diff --git a/objectweb-asm.spec b/objectweb-asm.spec index bdbb0f9..e681fb7 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -1,7 +1,7 @@ %bcond_with bootstrap Name: objectweb-asm -Version: 9.4 +Version: 9.5 Release: 1%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD @@ -87,6 +87,9 @@ done %license LICENSE.txt %changelog +* Mon Jun 05 2023 Marian Koncek - 9.5-1 +- Update to upstream version 9.5 + * Thu Feb 23 2023 Marian Koncek - 9.4-1 - Update to upstream version 9.4 diff --git a/sources b/sources index cd07e26..9484e05 100644 --- a/sources +++ b/sources @@ -1,7 +1,7 @@ -SHA512 (objectweb-asm-9.4.tar.gz) = 33f45238f5d029f08bb1093388333e8e6a33f5dd29660eee2986a73f2965d3a732cc99e05b6fd96d7e9b11385e6d008846bf55fdd933496b5c3f579e03d83d92 -SHA512 (asm-9.4.pom) = 711c595da7e141d5a6ee6b63d574abc752679363c8ea1068db4acba9a34723500cc02c573883d87edfe2a33654506e77a9f59c957c337bbc34f7b32008d1ef48 -SHA512 (asm-analysis-9.4.pom) = 28489b2496cfefcd20a900bd4d107969c7dfeba8da5156f3bf487504ce563fe89d5aa6c871e0d610cfc5f9f21d5762339645da6841776175b85256b7feee4681 -SHA512 (asm-commons-9.4.pom) = 2c7103334bf26e5881ffcee948edb99e4694cd5794762d683d15b78c330b8bea61e5379a7dfc156685b93c8f070c13eaf34b5d6440012584c76255867ae618ea -SHA512 (asm-test-9.4.pom) = 2d427d54223769a1b57ddaee687ec2dc531a8504ba93607cfef86aa7aa1053caa19946b6da7feb7ab3ac212556f8f2b560d76cff71245d4826608cece436626a -SHA512 (asm-tree-9.4.pom) = 52f75f8d5fa2eb7af9e0e96d6c834bf131461d12db0a01d01c53d63edf10c6d33a8355cea58326a0c5f09ca948d946cc05906a9a745757553471a2719d8f3dc5 -SHA512 (asm-util-9.4.pom) = 99de2d813a29d812de45763a01e59f5bbe2ad44503afdbecc311119eeece9bd6d8afc587c22e6f12958f155ebcd08534e75d3f53947f81d276052de2791dd57a +SHA512 (objectweb-asm-9.5.tar.gz) = 7bb4ae4f338fae691a4814afd87cb0791fb67a07f895b12c06a848fb890bf914f94491bb076d3046e8ac8d033271e7f01229fcaf9d662269106401b1adaf8ac3 +SHA512 (asm-9.5.pom) = b6ea03bf7fb679e9335d4ed3e9789b7f8e33d284e09406073558c8b46042e08270723cbc03a947ea905ad19eb0c095adfcb760f7413f3a327c9b439a564dae47 +SHA512 (asm-analysis-9.5.pom) = 496a487954eded9b9a77b0b68a261b3545aa9121fa7f2230435924e4c0d263dc81dded368c9eda51acb1298455df50e879df5cbced2049b2bf9f2b3e4818c167 +SHA512 (asm-commons-9.5.pom) = 6c2602836de91bc9e83dc07dd3a50807c75f1589c5501d858cfc6ebe7dffdc44036877a96c058936c977abdc29f1e6570ab2af4a84564e916799adc93ad92d64 +SHA512 (asm-test-9.5.pom) = 9f4bf361a8307f994da0ec069ca49a11325f2dff213244c49003a85b7e7ded77cf4464732f3b9f2e712ed164377264e01592546445c956fcee3bd4183b8a1cee +SHA512 (asm-tree-9.5.pom) = 03e90d6fc778cd40d360df26de6a7f18cc6039d72f19b73669cbea4b6e68013df681cd83298c2a4abda825203e39831c97b41f6fbc200d32d8435b4212465ebc +SHA512 (asm-util-9.5.pom) = 693a18baa2a10656c4bac04958b8e4911a7055338c1ef0f6499f335fec09761f98a573690bf5e862944b26fd1a0fe7dcf1e341f9c2ce34bc94f408221ff8a8a5 From c54a17c4a1ebaf9ed85b4551a01cac4b71973717 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 17:05:19 +0000 Subject: [PATCH 15/41] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- objectweb-asm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index e681fb7..6e05661 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD URL: https://asm.ow2.org/ @@ -87,6 +87,9 @@ done %license LICENSE.txt %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 9.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Mon Jun 05 2023 Marian Koncek - 9.5-1 - Update to upstream version 9.5 From bf2574cbb04a162558c326ae53eac8bbfd08d7e0 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 1 Sep 2023 13:49:28 +0200 Subject: [PATCH 16/41] Convert License tag to SPDX format Related: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2 --- objectweb-asm.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 6e05661..a2fa85b 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,9 +2,9 @@ Name: objectweb-asm Version: 9.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Java bytecode manipulation and analysis framework -License: BSD +License: BSD-3-Clause URL: https://asm.ow2.org/ BuildArch: noarch ExclusiveArch: %{java_arches} noarch @@ -87,6 +87,9 @@ done %license LICENSE.txt %changelog +* Fri Sep 01 2023 Mikolaj Izdebski - 9.5-3 +- Convert License tag to SPDX format + * Thu Jul 20 2023 Fedora Release Engineering - 9.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 53e5053675584e7276e0aa60e9322e2ec281e5c9 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 26 Oct 2023 07:33:08 +0200 Subject: [PATCH 17/41] Update javapackages test plan to f40 --- plans/javapackages.fmf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf index 8f6c9cb..a2cdaba 100644 --- a/plans/javapackages.fmf +++ b/plans/javapackages.fmf @@ -2,6 +2,6 @@ summary: Run javapackages-specific tests discover: how: fmf url: https://src.fedoraproject.org/tests/javapackages - ref: f37 + ref: f40 execute: how: tmt From b2b5372547953e1d95a57668e4b85e253622aaba Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Mon, 11 Dec 2023 14:58:02 +0100 Subject: [PATCH 18/41] Update to upstream version 9.6 --- .gitignore | 6 ++++++ objectweb-asm.spec | 9 +++++++-- sources | 14 +++++++------- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index d02a20b..b42cfb9 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,9 @@ /asm-test-9.5.pom /asm-tree-9.5.pom /asm-util-9.5.pom +/asm-9.6.pom +/asm-analysis-9.6.pom +/asm-commons-9.6.pom +/asm-test-9.6.pom +/asm-tree-9.6.pom +/asm-util-9.6.pom diff --git a/objectweb-asm.spec b/objectweb-asm.spec index a2fa85b..0671368 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -1,8 +1,8 @@ %bcond_with bootstrap Name: objectweb-asm -Version: 9.5 -Release: 3%{?dist} +Version: 9.6 +Release: 1%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD-3-Clause URL: https://asm.ow2.org/ @@ -64,6 +64,8 @@ for pom in asm asm-analysis asm-commons asm-test asm-tree asm-util; do %pom_xpath_inject pom:parent '..' ${pom} done +%pom_add_dep org.ow2.asm:asm-tree:%{version} asm-analysis + # Don't ship poms used for build only %mvn_package :aggregator __noinstall %mvn_package :tools-retrofitter __noinstall @@ -87,6 +89,9 @@ done %license LICENSE.txt %changelog +* Mon Dec 11 2023 Marian Koncek - 9.6-1 +- Update to upstream version 9.6 + * Fri Sep 01 2023 Mikolaj Izdebski - 9.5-3 - Convert License tag to SPDX format diff --git a/sources b/sources index 9484e05..7ab1573 100644 --- a/sources +++ b/sources @@ -1,7 +1,7 @@ -SHA512 (objectweb-asm-9.5.tar.gz) = 7bb4ae4f338fae691a4814afd87cb0791fb67a07f895b12c06a848fb890bf914f94491bb076d3046e8ac8d033271e7f01229fcaf9d662269106401b1adaf8ac3 -SHA512 (asm-9.5.pom) = b6ea03bf7fb679e9335d4ed3e9789b7f8e33d284e09406073558c8b46042e08270723cbc03a947ea905ad19eb0c095adfcb760f7413f3a327c9b439a564dae47 -SHA512 (asm-analysis-9.5.pom) = 496a487954eded9b9a77b0b68a261b3545aa9121fa7f2230435924e4c0d263dc81dded368c9eda51acb1298455df50e879df5cbced2049b2bf9f2b3e4818c167 -SHA512 (asm-commons-9.5.pom) = 6c2602836de91bc9e83dc07dd3a50807c75f1589c5501d858cfc6ebe7dffdc44036877a96c058936c977abdc29f1e6570ab2af4a84564e916799adc93ad92d64 -SHA512 (asm-test-9.5.pom) = 9f4bf361a8307f994da0ec069ca49a11325f2dff213244c49003a85b7e7ded77cf4464732f3b9f2e712ed164377264e01592546445c956fcee3bd4183b8a1cee -SHA512 (asm-tree-9.5.pom) = 03e90d6fc778cd40d360df26de6a7f18cc6039d72f19b73669cbea4b6e68013df681cd83298c2a4abda825203e39831c97b41f6fbc200d32d8435b4212465ebc -SHA512 (asm-util-9.5.pom) = 693a18baa2a10656c4bac04958b8e4911a7055338c1ef0f6499f335fec09761f98a573690bf5e862944b26fd1a0fe7dcf1e341f9c2ce34bc94f408221ff8a8a5 +SHA512 (objectweb-asm-9.6.tar.gz) = ba2df9d7a74527892c1b42ce2b7b6df4e6eda6810d0560a482cd1ba61f3a77d6e14e54d1f2436935fd1269b7c39a27734b875dc3933231a8f144ad1b9dd9d0ba +SHA512 (asm-9.6.pom) = 5dd8959a84442b271be1861110d065a991e7fdacd7298f4cdda4faf8580cfcf6703285cf17736b30aa95ce81edae40f5c2b845f39d92cf31823907bd1b7d1b7c +SHA512 (asm-analysis-9.6.pom) = 8f6a9dc6037cd19d92f5d4a0527cf1cd25d6f16e1b51cb1142f430be62a9405f6c2bf550c13acb3abe0e5ad3e4e4b1f71dac80d5ceddec03d4503bb7abef7edd +SHA512 (asm-commons-9.6.pom) = 4bc1148607c5e12f1ab0873f2651dfc6521113d4edfae2b23b8543aff040f2a0011f4770bb22c01ac512520a50cd9e6e43ac7cbb2e3a20d28172cab81117f7b2 +SHA512 (asm-test-9.6.pom) = 473db827e2a61a2e58b85baec18e7abf7d6279d35abfb054eb3ea9f1346b5faeeff18e01f47de8e62aebcd01a4b0f7e4ca3094fd8c3782673cbaaf0b60a9a26a +SHA512 (asm-tree-9.6.pom) = fe590914903a128f1ade2ecc990d161a08bf6fcd9988f7f19a0b99b1d45b0391c0b5d717a21e5668d52f368df85dca165e30739b5cf88473c4d0152401f3a4d8 +SHA512 (asm-util-9.6.pom) = cab3a25a6b744c7f3501ea28c12eda34a7e0707ee1e2005a919b7b137139b0757e00a1f01f0e468373a6dd53410700ef1041b1e6315ee65717372dd950d6cf82 From a9fdd9e0333c1974a9dfaf890ea69ee8be398851 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 10:06:02 +0000 Subject: [PATCH 19/41] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- objectweb-asm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 0671368..070f52f 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD-3-Clause URL: https://asm.ow2.org/ @@ -89,6 +89,9 @@ done %license LICENSE.txt %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 9.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Dec 11 2023 Marian Koncek - 9.6-1 - Update to upstream version 9.6 From 8ec8a40225d43f000df81b4d92ce034b4edbf900 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jan 2024 09:39:21 +0000 Subject: [PATCH 20/41] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- objectweb-asm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 070f52f..7379168 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD-3-Clause URL: https://asm.ow2.org/ @@ -89,6 +89,9 @@ done %license LICENSE.txt %changelog +* Thu Jan 25 2024 Fedora Release Engineering - 9.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sun Jan 21 2024 Fedora Release Engineering - 9.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From c77875267b3db320a4ef0d7f5ee469ba5827ab93 Mon Sep 17 00:00:00 2001 From: Jiri Date: Fri, 23 Feb 2024 14:33:02 +0100 Subject: [PATCH 21/41] bump of release for for java-21-openjdk as system jdk https://fedoraproject.org/wiki/Changes/Java21 We are sorry, we messed a bit, and we have to bump release in this package --- objectweb-asm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 7379168..05151ad 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD-3-Clause URL: https://asm.ow2.org/ @@ -89,6 +89,9 @@ done %license LICENSE.txt %changelog +* Fri Feb 23 2024 Jiri Vanek - 9.6-4 +- bump of release for for java-21-openjdk as system jdk + * Thu Jan 25 2024 Fedora Release Engineering - 9.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 5dc6bf7550ee4bd2a59e5e876fa272e33006bd60 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Tue, 27 Feb 2024 17:30:06 +0100 Subject: [PATCH 22/41] Rebuilt for java-21-openjdk as system jdk https://fedoraproject.org/wiki/Changes/Java21 --- objectweb-asm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 05151ad..1564cc4 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.6 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD-3-Clause URL: https://asm.ow2.org/ @@ -89,6 +89,9 @@ done %license LICENSE.txt %changelog +* Tue Feb 27 2024 Jiri Vanek - 9.6-5 +- Rebuilt for java-21-openjdk as system jdk + * Fri Feb 23 2024 Jiri Vanek - 9.6-4 - bump of release for for java-21-openjdk as system jdk From 3d439650c6088cd548db962b63be93685b5bb78a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 19:56:15 +0000 Subject: [PATCH 23/41] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- objectweb-asm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 1564cc4..e702da0 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.6 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD-3-Clause URL: https://asm.ow2.org/ @@ -89,6 +89,9 @@ done %license LICENSE.txt %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 9.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Feb 27 2024 Jiri Vanek - 9.6-5 - Rebuilt for java-21-openjdk as system jdk From f57c95f4c2b46feaaedb03f8989e834e71be2e0b Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Wed, 31 Jul 2024 20:53:30 +0200 Subject: [PATCH 24/41] Switch javapackages tests to f41 branch --- plans/javapackages.fmf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf index a2cdaba..17c6113 100644 --- a/plans/javapackages.fmf +++ b/plans/javapackages.fmf @@ -2,6 +2,6 @@ summary: Run javapackages-specific tests discover: how: fmf url: https://src.fedoraproject.org/tests/javapackages - ref: f40 + ref: f41 execute: how: tmt From d154cfdc3fc6039df910b8c7a34ef150efedafd4 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 20 Aug 2024 16:33:57 +0200 Subject: [PATCH 25/41] Switch from %setup to %autosetup --- objectweb-asm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index e702da0..8508510 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -48,7 +48,7 @@ Summary: API documentation for %{name} This package provides %{summary}. %prep -%setup -q +%autosetup -p1 -C # A custom pom to aggregate the build cp -p %{SOURCE1} pom.xml From 39bb44826202e5762a141ad2e0d345cb4b1bf65a Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 23 Aug 2024 00:45:16 +0200 Subject: [PATCH 26/41] Convert to %autorelease and %autochangelog --- changelog | 309 ++++++++++++++++++++++++++++++++++++++++++++ objectweb-asm.spec | 312 +-------------------------------------------- 2 files changed, 311 insertions(+), 310 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..2f5cd2a --- /dev/null +++ b/changelog @@ -0,0 +1,309 @@ +* Thu Jul 18 2024 Fedora Release Engineering - 9.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 27 2024 Jiri Vanek - 9.6-5 +- Rebuilt for java-21-openjdk as system jdk + +* Fri Feb 23 2024 Jiri Vanek - 9.6-4 +- bump of release for for java-21-openjdk as system jdk + +* Thu Jan 25 2024 Fedora Release Engineering - 9.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 9.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 11 2023 Marian Koncek - 9.6-1 +- Update to upstream version 9.6 + +* Fri Sep 01 2023 Mikolaj Izdebski - 9.5-3 +- Convert License tag to SPDX format + +* Thu Jul 20 2023 Fedora Release Engineering - 9.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jun 05 2023 Marian Koncek - 9.5-1 +- Update to upstream version 9.5 + +* Thu Feb 23 2023 Marian Koncek - 9.4-1 +- Update to upstream version 9.4 + +* Thu Jan 19 2023 Fedora Release Engineering - 9.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Sep 02 2022 Marian Koncek - 9.3-4 +- Fix wrong generated module infos + +* Mon Aug 29 2022 Marian Koncek - 9.3-3 +- Generate module-info without bnd-plugin +- Resolves: rhbz#2106272 + +* Fri Jul 22 2022 Fedora Release Engineering - 9.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon May 09 2022 Mikolaj Izdebski - 9.3-1 +- Update to upstream version 9.3 + +* Sat Feb 05 2022 Jiri Vanek - 9.2-3 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 9.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Nov 02 2021 Mikolaj Izdebski - 9.2-1 +- Update to upstream version 9.2 + +* Thu Jul 22 2021 Fedora Release Engineering - 9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon May 17 2021 Mikolaj Izdebski - 9.1-2 +- Bootstrap build +- Non-bootstrap build + +* Fri May 14 2021 Marian Koncek - 9.1-1 +- Update to upstream version 9.1 + +* Fri Feb 19 2021 Mat Booth - 9.1-1 +- Update to latest upstream release + +* Tue Jan 26 2021 Fedora Release Engineering - 8.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Sep 25 2020 Marian Koncek - 9.0-1 +- Update to upstream version 9.0 + +* Fri Aug 14 2020 Jerry James - 8.0.1-1 +- Version 8.0.1 +- Add 0002-Catch-CompileException-in-test.patch to fix compilation of a test +- Make generate-tarball.sh actually compress the tarball + +* Tue Jul 28 2020 Fedora Release Engineering - 7.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jul 11 2020 Jiri Vanek - 7.3.1-3 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Mon Jun 22 2020 Marian Koncek - 8.0.1-1 +- Update to upstream version 8.0.1 + +* Wed May 06 2020 Mat Booth - 7.3.1-2 +- Revert an upstream change to prevent breaking API change + +* Thu Feb 27 2020 Jayashree Huttanagoudat - 7.3.1-1 +- Upgraded to upstream version 7.3.1. + +* Wed Jan 29 2020 Fedora Release Engineering - 7.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 21 2020 Marian Koncek - 7.3.1-1 +- Update to upstream version 7.3.1 + +* Tue Nov 05 2019 Mikolaj Izdebski - 7.2-2 +- Mass rebuild for javapackages-tools 201902 + +* Thu Oct 17 2019 Marian Koncek - 7.2-1 +- Update to upstream version 7.2 + +* Thu Jul 25 2019 Fedora Release Engineering - 7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri May 24 2019 Mikolaj Izdebski - 7.1-2 +- Mass rebuild for javapackages-tools 201901 + +* Mon May 06 2019 Severin Gehwolf - 7.1-1 +- Update to latest upstream 7.1 release. + +* Fri Feb 01 2019 Fedora Release Engineering - 7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Nov 21 2018 Severin Gehwolf - 7.0-1 +- Update to latest upstream 7.0 release. +- Removes package asm-xml (deprecated since 6.1). + +* Tue Sep 11 2018 Mat Booth - 6.2.1-1 +- Update to latest upstream release +- Fix test suite execution + +* Fri Aug 03 2018 Michael Simacek - 6.2-5 +- Repack the tarball without binaries + +* Wed Aug 01 2018 Severin Gehwolf - 6.2-4 +- Explicitly require javapackages-tools for asm-processor script + which uses java-functions. + +* Wed Aug 01 2018 Severin Gehwolf - 6.2-3 +- Allow conditionally building without OSGi + metadata. + +* Fri Jul 13 2018 Fedora Release Engineering - 6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Michael Simacek - 6.2-1 +- Update to upstream version 6.2 + +* Sat Jun 30 2018 Mikolaj Izdebski - 6.1.1-4 +- Relax versioned self-build-requirement a bit + +* Fri Jun 29 2018 Mikolaj Izdebski - 6.1.1-3 +- Add objectweb-asm to BND pluginpath + +* Thu Jun 28 2018 Mikolaj Izdebski - 6.1.1-2 +- Allow conditionally building without junit5 + +* Wed Apr 25 2018 Mat Booth - 6.1.1-1 +- Update to latest upstream relase for Java 10 support +- Switch to maven build +- Now executing test suites + +* Thu Feb 08 2018 Fedora Release Engineering - 6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Sep 25 2017 Michael Simacek - 6.0-1 +- Update to upstream version 6.0 + +* Tue Sep 12 2017 Mikolaj Izdebski - 6.0-0.2.beta +- Fix invalid OSGi metadata +- Resolves: rhbz#1490817 + +* Mon Sep 11 2017 Mikolaj Izdebski - 6.0-0.1.beta +- Update to upstream version 6.0 beta + +* Thu Jul 27 2017 Fedora Release Engineering - 5.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 5.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Oct 10 2016 Mikolaj Izdebski - 5.1-6 +- Use OSGi API JARs to run BND classpath, instead of Eclipse + +* Sat Sep 24 2016 Mikolaj Izdebski - 5.1-5 +- Update to current packaging guidelines +- Remove obsoletes and provides for objectweb-asm4 + +* Wed Jun 15 2016 Mikolaj Izdebski - 5.1-4 +- Add missing build-requires + +* Wed Jun 1 2016 Mikolaj Izdebski - 5.1-3 +- Avoid calling XMvn from build-classpath + +* Tue May 31 2016 Mikolaj Izdebski - 5.1-2 +- Add missing JARs to BND classpath + +* Thu Mar 24 2016 Mikolaj Izdebski - 5.1-1 +- Update to upstream version 5.1 + +* Thu Feb 04 2016 Fedora Release Engineering - 5.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Aug 06 2015 Michael Simacek - 5.0.4-1 +- Update to upstream version 5.0.4 + +* Wed Jun 17 2015 Fedora Release Engineering - 5.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Jul 20 2014 Mikolaj Izdebski - 5.0.3-1 +- Update to upstream version 5.0.3 + +* Sat Jun 07 2014 Fedora Release Engineering - 5.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 5 2014 Mikolaj Izdebski - 5.0.2-1 +- Update to upstream version 5.0.2 + +* Mon Apr 14 2014 Mat Booth - 5.0.1-2 +- SCL-ize package. +- Fix bogus dates in changelog. + +* Mon Mar 24 2014 Mikolaj Izdebski - 5.0.1-1 +- Update to upstream version 5.0.1 + +* Wed Mar 19 2014 Mikolaj Izdebski - 5.0-0.3.beta +- Enable asm-debug-all module + +* Mon Jan 20 2014 Mikolaj Izdebski - 5.0-0.2.beta +- Remove Eclipse Orbit alias + +* Tue Dec 3 2013 Mikolaj Izdebski - 5.0-0.1.beta +- Update to 5.0 beta + +* Sat Aug 03 2013 Fedora Release Engineering - 0:3.3.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Mar 6 2013 Mikolaj Izdebski - 0:3.3.1-7 +- Make jetty orbit depmap point to asm-all jar +- Resolves: rhbz#917625 + +* Mon Mar 4 2013 Mikolaj Izdebski - 0:3.3.1-6 +- Add depmap for org.eclipse.jetty.orbit +- Resolves: rhbz#917625 + +* Thu Feb 14 2013 Fedora Release Engineering - 0:3.3.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jul 20 2012 Fedora Release Engineering - 0:3.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 0:3.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Sep 16 2011 Alexander Kurtakov 0:3.3.1-2 +- Use poms produced by the build not foreign ones. +- Adpat to current guidelines. + +* Mon Apr 04 2011 Chris Aniszczyk 0:3.3.1 +- Upgrade to 3.3.1 + +* Tue Feb 08 2011 Fedora Release Engineering - 0:3.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jul 13 2010 Orion Poplawski 0:3.2.1-2 +- Change depmap parent id to asm (bug #606659) + +* Thu Apr 15 2010 Fernando Nasser 0:3.2.1 +- Upgrade to 3.2 + +* Sat Jul 25 2009 Fedora Release Engineering - 0:3.1-7.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 0:3.1-6.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Oct 23 2008 David Walluck 0:3.1-5.1 +- build for Fedora + +* Thu Oct 23 2008 David Walluck 0:3.1-5 +- add OSGi manifest (Alexander Kurtakov) + +* Mon Oct 20 2008 David Walluck 0:3.1-4 +- remove Class-Path from MANIFEST.MF +- add unversioned javadoc symlink +- remove javadoc scriptlets +- fix directory ownership +- remove build requirement on dos2unix + +* Fri Feb 08 2008 Ralph Apel - 0:3.1-3jpp +- Add poms and depmap frags with groupId of org.objectweb.asm ! +- Add asm-all.jar +- Add -javadoc Requires post and postun +- Restore Vendor, Distribution + +* Thu Nov 22 2007 Fernando Nasser - 0:3.1-2jpp +- Fix EOL of txt files +- Add dependency on jaxp + +* Thu Nov 22 2007 Fernando Nasser - 0:3.1-1jpp +- Upgrade to 3.1 + +* Wed Aug 22 2007 Fernando Nasser - 0:3.0-1jpp +- Upgrade to 3.0 +- Rename to include objectweb- prefix as requested by ObjectWeb + +* Thu Jan 05 2006 Fernando Nasser - 0:2.1-2jpp +- First JPP 1.7 build + +* Thu Oct 06 2005 Ralph Apel 0:2.1-1jpp +- Upgrade to 2.1 + +* Fri Mar 11 2005 Sebastiano Vigna 0:2.0.RC1-1jpp +- First release of the 2.0 line. diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 8508510..79a3aa2 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -2,7 +2,7 @@ Name: objectweb-asm Version: 9.6 -Release: 6%{?dist} +Release: %autorelease Summary: Java bytecode manipulation and analysis framework License: BSD-3-Clause URL: https://asm.ow2.org/ @@ -89,312 +89,4 @@ done %license LICENSE.txt %changelog -* Thu Jul 18 2024 Fedora Release Engineering - 9.6-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Feb 27 2024 Jiri Vanek - 9.6-5 -- Rebuilt for java-21-openjdk as system jdk - -* Fri Feb 23 2024 Jiri Vanek - 9.6-4 -- bump of release for for java-21-openjdk as system jdk - -* Thu Jan 25 2024 Fedora Release Engineering - 9.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 9.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Dec 11 2023 Marian Koncek - 9.6-1 -- Update to upstream version 9.6 - -* Fri Sep 01 2023 Mikolaj Izdebski - 9.5-3 -- Convert License tag to SPDX format - -* Thu Jul 20 2023 Fedora Release Engineering - 9.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Mon Jun 05 2023 Marian Koncek - 9.5-1 -- Update to upstream version 9.5 - -* Thu Feb 23 2023 Marian Koncek - 9.4-1 -- Update to upstream version 9.4 - -* Thu Jan 19 2023 Fedora Release Engineering - 9.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Sep 02 2022 Marian Koncek - 9.3-4 -- Fix wrong generated module infos - -* Mon Aug 29 2022 Marian Koncek - 9.3-3 -- Generate module-info without bnd-plugin -- Resolves: rhbz#2106272 - -* Fri Jul 22 2022 Fedora Release Engineering - 9.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon May 09 2022 Mikolaj Izdebski - 9.3-1 -- Update to upstream version 9.3 - -* Sat Feb 05 2022 Jiri Vanek - 9.2-3 -- Rebuilt for java-17-openjdk as system jdk - -* Thu Jan 20 2022 Fedora Release Engineering - 9.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Nov 02 2021 Mikolaj Izdebski - 9.2-1 -- Update to upstream version 9.2 - -* Thu Jul 22 2021 Fedora Release Engineering - 9.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon May 17 2021 Mikolaj Izdebski - 9.1-2 -- Bootstrap build -- Non-bootstrap build - -* Fri May 14 2021 Marian Koncek - 9.1-1 -- Update to upstream version 9.1 - -* Fri Feb 19 2021 Mat Booth - 9.1-1 -- Update to latest upstream release - -* Tue Jan 26 2021 Fedora Release Engineering - 8.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Sep 25 2020 Marian Koncek - 9.0-1 -- Update to upstream version 9.0 - -* Fri Aug 14 2020 Jerry James - 8.0.1-1 -- Version 8.0.1 -- Add 0002-Catch-CompileException-in-test.patch to fix compilation of a test -- Make generate-tarball.sh actually compress the tarball - -* Tue Jul 28 2020 Fedora Release Engineering - 7.3.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sat Jul 11 2020 Jiri Vanek - 7.3.1-3 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Mon Jun 22 2020 Marian Koncek - 8.0.1-1 -- Update to upstream version 8.0.1 - -* Wed May 06 2020 Mat Booth - 7.3.1-2 -- Revert an upstream change to prevent breaking API change - -* Thu Feb 27 2020 Jayashree Huttanagoudat - 7.3.1-1 -- Upgraded to upstream version 7.3.1. - -* Wed Jan 29 2020 Fedora Release Engineering - 7.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Jan 21 2020 Marian Koncek - 7.3.1-1 -- Update to upstream version 7.3.1 - -* Tue Nov 05 2019 Mikolaj Izdebski - 7.2-2 -- Mass rebuild for javapackages-tools 201902 - -* Thu Oct 17 2019 Marian Koncek - 7.2-1 -- Update to upstream version 7.2 - -* Thu Jul 25 2019 Fedora Release Engineering - 7.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri May 24 2019 Mikolaj Izdebski - 7.1-2 -- Mass rebuild for javapackages-tools 201901 - -* Mon May 06 2019 Severin Gehwolf - 7.1-1 -- Update to latest upstream 7.1 release. - -* Fri Feb 01 2019 Fedora Release Engineering - 7.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Nov 21 2018 Severin Gehwolf - 7.0-1 -- Update to latest upstream 7.0 release. -- Removes package asm-xml (deprecated since 6.1). - -* Tue Sep 11 2018 Mat Booth - 6.2.1-1 -- Update to latest upstream release -- Fix test suite execution - -* Fri Aug 03 2018 Michael Simacek - 6.2-5 -- Repack the tarball without binaries - -* Wed Aug 01 2018 Severin Gehwolf - 6.2-4 -- Explicitly require javapackages-tools for asm-processor script - which uses java-functions. - -* Wed Aug 01 2018 Severin Gehwolf - 6.2-3 -- Allow conditionally building without OSGi - metadata. - -* Fri Jul 13 2018 Fedora Release Engineering - 6.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Jul 02 2018 Michael Simacek - 6.2-1 -- Update to upstream version 6.2 - -* Sat Jun 30 2018 Mikolaj Izdebski - 6.1.1-4 -- Relax versioned self-build-requirement a bit - -* Fri Jun 29 2018 Mikolaj Izdebski - 6.1.1-3 -- Add objectweb-asm to BND pluginpath - -* Thu Jun 28 2018 Mikolaj Izdebski - 6.1.1-2 -- Allow conditionally building without junit5 - -* Wed Apr 25 2018 Mat Booth - 6.1.1-1 -- Update to latest upstream relase for Java 10 support -- Switch to maven build -- Now executing test suites - -* Thu Feb 08 2018 Fedora Release Engineering - 6.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Mon Sep 25 2017 Michael Simacek - 6.0-1 -- Update to upstream version 6.0 - -* Tue Sep 12 2017 Mikolaj Izdebski - 6.0-0.2.beta -- Fix invalid OSGi metadata -- Resolves: rhbz#1490817 - -* Mon Sep 11 2017 Mikolaj Izdebski - 6.0-0.1.beta -- Update to upstream version 6.0 beta - -* Thu Jul 27 2017 Fedora Release Engineering - 5.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 5.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Oct 10 2016 Mikolaj Izdebski - 5.1-6 -- Use OSGi API JARs to run BND classpath, instead of Eclipse - -* Sat Sep 24 2016 Mikolaj Izdebski - 5.1-5 -- Update to current packaging guidelines -- Remove obsoletes and provides for objectweb-asm4 - -* Wed Jun 15 2016 Mikolaj Izdebski - 5.1-4 -- Add missing build-requires - -* Wed Jun 1 2016 Mikolaj Izdebski - 5.1-3 -- Avoid calling XMvn from build-classpath - -* Tue May 31 2016 Mikolaj Izdebski - 5.1-2 -- Add missing JARs to BND classpath - -* Thu Mar 24 2016 Mikolaj Izdebski - 5.1-1 -- Update to upstream version 5.1 - -* Thu Feb 04 2016 Fedora Release Engineering - 5.0.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Aug 06 2015 Michael Simacek - 5.0.4-1 -- Update to upstream version 5.0.4 - -* Wed Jun 17 2015 Fedora Release Engineering - 5.0.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sun Jul 20 2014 Mikolaj Izdebski - 5.0.3-1 -- Update to upstream version 5.0.3 - -* Sat Jun 07 2014 Fedora Release Engineering - 5.0.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon May 5 2014 Mikolaj Izdebski - 5.0.2-1 -- Update to upstream version 5.0.2 - -* Mon Apr 14 2014 Mat Booth - 5.0.1-2 -- SCL-ize package. -- Fix bogus dates in changelog. - -* Mon Mar 24 2014 Mikolaj Izdebski - 5.0.1-1 -- Update to upstream version 5.0.1 - -* Wed Mar 19 2014 Mikolaj Izdebski - 5.0-0.3.beta -- Enable asm-debug-all module - -* Mon Jan 20 2014 Mikolaj Izdebski - 5.0-0.2.beta -- Remove Eclipse Orbit alias - -* Tue Dec 3 2013 Mikolaj Izdebski - 5.0-0.1.beta -- Update to 5.0 beta - -* Sat Aug 03 2013 Fedora Release Engineering - 0:3.3.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Mar 6 2013 Mikolaj Izdebski - 0:3.3.1-7 -- Make jetty orbit depmap point to asm-all jar -- Resolves: rhbz#917625 - -* Mon Mar 4 2013 Mikolaj Izdebski - 0:3.3.1-6 -- Add depmap for org.eclipse.jetty.orbit -- Resolves: rhbz#917625 - -* Thu Feb 14 2013 Fedora Release Engineering - 0:3.3.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Fri Jul 20 2012 Fedora Release Engineering - 0:3.3.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Fri Jan 13 2012 Fedora Release Engineering - 0:3.3.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Fri Sep 16 2011 Alexander Kurtakov 0:3.3.1-2 -- Use poms produced by the build not foreign ones. -- Adpat to current guidelines. - -* Mon Apr 04 2011 Chris Aniszczyk 0:3.3.1 -- Upgrade to 3.3.1 - -* Tue Feb 08 2011 Fedora Release Engineering - 0:3.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Tue Jul 13 2010 Orion Poplawski 0:3.2.1-2 -- Change depmap parent id to asm (bug #606659) - -* Thu Apr 15 2010 Fernando Nasser 0:3.2.1 -- Upgrade to 3.2 - -* Sat Jul 25 2009 Fedora Release Engineering - 0:3.1-7.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Wed Feb 25 2009 Fedora Release Engineering - 0:3.1-6.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Thu Oct 23 2008 David Walluck 0:3.1-5.1 -- build for Fedora - -* Thu Oct 23 2008 David Walluck 0:3.1-5 -- add OSGi manifest (Alexander Kurtakov) - -* Mon Oct 20 2008 David Walluck 0:3.1-4 -- remove Class-Path from MANIFEST.MF -- add unversioned javadoc symlink -- remove javadoc scriptlets -- fix directory ownership -- remove build requirement on dos2unix - -* Fri Feb 08 2008 Ralph Apel - 0:3.1-3jpp -- Add poms and depmap frags with groupId of org.objectweb.asm ! -- Add asm-all.jar -- Add -javadoc Requires post and postun -- Restore Vendor, Distribution - -* Thu Nov 22 2007 Fernando Nasser - 0:3.1-2jpp -- Fix EOL of txt files -- Add dependency on jaxp - -* Thu Nov 22 2007 Fernando Nasser - 0:3.1-1jpp -- Upgrade to 3.1 - -* Wed Aug 22 2007 Fernando Nasser - 0:3.0-1jpp -- Upgrade to 3.0 -- Rename to include objectweb- prefix as requested by ObjectWeb - -* Thu Jan 05 2006 Fernando Nasser - 0:2.1-2jpp -- First JPP 1.7 build - -* Thu Oct 06 2005 Ralph Apel 0:2.1-1jpp -- Upgrade to 2.1 - -* Fri Mar 11 2005 Sebastiano Vigna 0:2.0.RC1-1jpp -- First release of the 2.0 line. +%autochangelog From 094db5c1bddf15a1a1e9e7d11508e4d5cc883ead Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 23 Aug 2024 05:55:03 +0200 Subject: [PATCH 27/41] Update to upstream version 9.7 - Resolves: rhbz#2271211 --- .gitignore | 6 ++++++ objectweb-asm.spec | 2 +- sources | 14 +++++++------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index b42cfb9..44de096 100644 --- a/.gitignore +++ b/.gitignore @@ -103,3 +103,9 @@ /asm-test-9.6.pom /asm-tree-9.6.pom /asm-util-9.6.pom +/asm-9.7.pom +/asm-analysis-9.7.pom +/asm-commons-9.7.pom +/asm-test-9.7.pom +/asm-tree-9.7.pom +/asm-util-9.7.pom diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 79a3aa2..0fdcf5a 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -1,7 +1,7 @@ %bcond_with bootstrap Name: objectweb-asm -Version: 9.6 +Version: 9.7 Release: %autorelease Summary: Java bytecode manipulation and analysis framework License: BSD-3-Clause diff --git a/sources b/sources index 7ab1573..99fd76f 100644 --- a/sources +++ b/sources @@ -1,7 +1,7 @@ -SHA512 (objectweb-asm-9.6.tar.gz) = ba2df9d7a74527892c1b42ce2b7b6df4e6eda6810d0560a482cd1ba61f3a77d6e14e54d1f2436935fd1269b7c39a27734b875dc3933231a8f144ad1b9dd9d0ba -SHA512 (asm-9.6.pom) = 5dd8959a84442b271be1861110d065a991e7fdacd7298f4cdda4faf8580cfcf6703285cf17736b30aa95ce81edae40f5c2b845f39d92cf31823907bd1b7d1b7c -SHA512 (asm-analysis-9.6.pom) = 8f6a9dc6037cd19d92f5d4a0527cf1cd25d6f16e1b51cb1142f430be62a9405f6c2bf550c13acb3abe0e5ad3e4e4b1f71dac80d5ceddec03d4503bb7abef7edd -SHA512 (asm-commons-9.6.pom) = 4bc1148607c5e12f1ab0873f2651dfc6521113d4edfae2b23b8543aff040f2a0011f4770bb22c01ac512520a50cd9e6e43ac7cbb2e3a20d28172cab81117f7b2 -SHA512 (asm-test-9.6.pom) = 473db827e2a61a2e58b85baec18e7abf7d6279d35abfb054eb3ea9f1346b5faeeff18e01f47de8e62aebcd01a4b0f7e4ca3094fd8c3782673cbaaf0b60a9a26a -SHA512 (asm-tree-9.6.pom) = fe590914903a128f1ade2ecc990d161a08bf6fcd9988f7f19a0b99b1d45b0391c0b5d717a21e5668d52f368df85dca165e30739b5cf88473c4d0152401f3a4d8 -SHA512 (asm-util-9.6.pom) = cab3a25a6b744c7f3501ea28c12eda34a7e0707ee1e2005a919b7b137139b0757e00a1f01f0e468373a6dd53410700ef1041b1e6315ee65717372dd950d6cf82 +SHA512 (objectweb-asm-9.7.tar.gz) = fdb26d9fe1e93f9ecee11dc138379a76eda5e22ca1434ac18cb6f101f928c76982c05b2ffb258afb41aff7aff06ecd545110c629ee940896ec09ba422b3eacf5 +SHA512 (asm-9.7.pom) = d9f4743ff9cb8233051658cc32ed8eb271b6085fe3e58a60bea01358b5e9b67d2c39c3f063ef5d554a07195ab8c80c9f66d5ede7d09de75b0c842ddc54dfc0c3 +SHA512 (asm-analysis-9.7.pom) = eabb0dd0c7f716e2dd19db3f070dc12b4fdeee47586867287c90dbb43ec63cef620d31e88e208c76ce55410f20bc4c5e56e4fd2b478bb1204785e8c4f0a5fcc5 +SHA512 (asm-commons-9.7.pom) = da65aada200175f2d910a82c6334f07390571542cdf43493b081cb71dea5e1a6bc6ad877a0e232914029c11bfbd3ac22476482e5bf5e9b59a5f457c567806637 +SHA512 (asm-test-9.7.pom) = 03f9b5e3f540c8860556246e86911504938b333ce80c23d346d5a883d0f266bd4ed314c79d29e2b4d28739068bde48709b8a4aa0f0b978088f283600ccc1de71 +SHA512 (asm-tree-9.7.pom) = 85c7f7dcf732956a5a2a23cc239361c82671dbce34111aea7a323f00590617622a9ada704fea7b2d50afb52adf4e99daa1a2b794e0f1cc7562b508bb8e727a50 +SHA512 (asm-util-9.7.pom) = 5fc41d8ecf4791520ae47f38be6b4a37761f6ecb608a27dec11a15e91fe7ff3e5d4f2ba24255a8f96c0f058b8e9a1a9381c872ce2f2d7cd8bf32acab5b3e5c6b From ccf59a8c73ec1aec30391eab880a3017eb8aceb2 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Mon, 7 Oct 2024 10:16:38 +0200 Subject: [PATCH 28/41] Update to upstream version 9.7.1 - Resolves: rhbz#2316766 --- .gitignore | 6 ++++++ objectweb-asm.spec | 2 +- sources | 14 +++++++------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 44de096..e9c8456 100644 --- a/.gitignore +++ b/.gitignore @@ -109,3 +109,9 @@ /asm-test-9.7.pom /asm-tree-9.7.pom /asm-util-9.7.pom +/asm-9.7.1.pom +/asm-analysis-9.7.1.pom +/asm-commons-9.7.1.pom +/asm-test-9.7.1.pom +/asm-tree-9.7.1.pom +/asm-util-9.7.1.pom diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 0fdcf5a..c6147a2 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -1,7 +1,7 @@ %bcond_with bootstrap Name: objectweb-asm -Version: 9.7 +Version: 9.7.1 Release: %autorelease Summary: Java bytecode manipulation and analysis framework License: BSD-3-Clause diff --git a/sources b/sources index 99fd76f..e1a2064 100644 --- a/sources +++ b/sources @@ -1,7 +1,7 @@ -SHA512 (objectweb-asm-9.7.tar.gz) = fdb26d9fe1e93f9ecee11dc138379a76eda5e22ca1434ac18cb6f101f928c76982c05b2ffb258afb41aff7aff06ecd545110c629ee940896ec09ba422b3eacf5 -SHA512 (asm-9.7.pom) = d9f4743ff9cb8233051658cc32ed8eb271b6085fe3e58a60bea01358b5e9b67d2c39c3f063ef5d554a07195ab8c80c9f66d5ede7d09de75b0c842ddc54dfc0c3 -SHA512 (asm-analysis-9.7.pom) = eabb0dd0c7f716e2dd19db3f070dc12b4fdeee47586867287c90dbb43ec63cef620d31e88e208c76ce55410f20bc4c5e56e4fd2b478bb1204785e8c4f0a5fcc5 -SHA512 (asm-commons-9.7.pom) = da65aada200175f2d910a82c6334f07390571542cdf43493b081cb71dea5e1a6bc6ad877a0e232914029c11bfbd3ac22476482e5bf5e9b59a5f457c567806637 -SHA512 (asm-test-9.7.pom) = 03f9b5e3f540c8860556246e86911504938b333ce80c23d346d5a883d0f266bd4ed314c79d29e2b4d28739068bde48709b8a4aa0f0b978088f283600ccc1de71 -SHA512 (asm-tree-9.7.pom) = 85c7f7dcf732956a5a2a23cc239361c82671dbce34111aea7a323f00590617622a9ada704fea7b2d50afb52adf4e99daa1a2b794e0f1cc7562b508bb8e727a50 -SHA512 (asm-util-9.7.pom) = 5fc41d8ecf4791520ae47f38be6b4a37761f6ecb608a27dec11a15e91fe7ff3e5d4f2ba24255a8f96c0f058b8e9a1a9381c872ce2f2d7cd8bf32acab5b3e5c6b +SHA512 (objectweb-asm-9.7.1.tar.gz) = 201c490ac71196b1a47a73d7311a22efca833c92377d02d9071cabc2429032aaa7eb636dfbf8182b71af60830d65792dd8f0b423208fcaba78a800228717aee5 +SHA512 (asm-9.7.1.pom) = 9d69abaf9c15b97d37484246c951acc55d4a944496ab47079dc600b3cd90353090b4a3579f1f7eb2e6d778e6900a5e1427f1690a4459253f3b9270c01713f54d +SHA512 (asm-analysis-9.7.1.pom) = 860702b32e5034109beee7cfb9269e33a55fe50ee3ef8c7fe6c71d9916b2be8865991aab64618f9e03be88879bb410e07db74cf91bd7364956cd34d0fbf9231b +SHA512 (asm-commons-9.7.1.pom) = d4bd178cfde200ed04915e581dd1e7009b1960ef40c86e9c22d88ef141d4a32c7e6131ee2e48f92eba45d523006799c8be53312dc50c67ed7b8bb8b90175e480 +SHA512 (asm-test-9.7.1.pom) = e36d8f602a9e9e24547af4f8b0aa0a57f79123c7075ae4085d80e93d3b8ea63730f59e85ee81a4dff45b8749ded0c1ab787620bb5c9820460761fde9578b8868 +SHA512 (asm-tree-9.7.1.pom) = f66d75d0897916d0e3a7ffe4dedd2ca4a363cba0430cc464a358e71be19e8413ba9f26b313f6eb7c0fcc631487e5a420f7bcf6af63c07e3d9880e8adc83922b7 +SHA512 (asm-util-9.7.1.pom) = 6a67ceafce03eb0582dd1addf79ff69cf2a94824f860161cd9b5c808580fd28ce2deb4e25b2b977a70da86732d20de1e895005c824e49d6148637c2211374ff4 From b45839cccff7240a8854d5c634cf3550e3cc573b Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 28 Nov 2024 07:52:57 +0100 Subject: [PATCH 29/41] Drop explicit requires on javapackages-tools --- objectweb-asm.spec | 4 ---- plans/javapackages.fmf | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index c6147a2..9ceaaa4 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -30,10 +30,6 @@ BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.ow2.asm:asm) %endif -# Explicit javapackages-tools requires since asm-processor script uses -# /usr/share/java-utils/java-functions -Requires: javapackages-tools - %description ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf index 17c6113..86bfcea 100644 --- a/plans/javapackages.fmf +++ b/plans/javapackages.fmf @@ -2,6 +2,6 @@ summary: Run javapackages-specific tests discover: how: fmf url: https://src.fedoraproject.org/tests/javapackages - ref: f41 + ref: f42 execute: how: tmt From b465e00d923c4fc6b597b2debf122123cdc5938c Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Mon, 30 Dec 2024 16:01:19 +0100 Subject: [PATCH 30/41] Unify spec style with the rest of Java/Maven packages [skip changelog] --- objectweb-asm.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 9ceaaa4..2b4b6e8 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -37,10 +37,10 @@ generate classes, directly in binary form. Provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools. -%package javadoc +%package javadoc Summary: API documentation for %{name} -%description javadoc +%description javadoc This package provides %{summary}. %prep From e2963c07b68806fe2dd4649b603ab1e491326132 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 31 Dec 2024 09:59:10 +0100 Subject: [PATCH 31/41] Update javadoc package description [skip changelog] --- objectweb-asm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 2b4b6e8..882ce16 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -41,7 +41,7 @@ custom complex transformations and code analysis tools. Summary: API documentation for %{name} %description javadoc -This package provides %{summary}. +API documentation for %{name}. %prep %autosetup -p1 -C From e35d109a84aab78d60ef74a1d150a1d8534453c0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 20:37:11 +0000 Subject: [PATCH 32/41] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 7daee230d743ff393572e343b77d6185bc20e1db Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 14 Feb 2025 08:51:28 +0100 Subject: [PATCH 33/41] Remove bogus dependency --- objectweb-asm.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 882ce16..e94d68a 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -60,8 +60,6 @@ for pom in asm asm-analysis asm-commons asm-test asm-tree asm-util; do %pom_xpath_inject pom:parent '..' ${pom} done -%pom_add_dep org.ow2.asm:asm-tree:%{version} asm-analysis - # Don't ship poms used for build only %mvn_package :aggregator __noinstall %mvn_package :tools-retrofitter __noinstall From 968c256e6661dda7748fa0b5db120565eb7a7c13 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Wed, 19 Feb 2025 07:44:23 +0100 Subject: [PATCH 34/41] Add support of Java 25 --- 0001-Add-support-of-Java-25.patch | 64 +++++++++++++++++++++++++++++++ objectweb-asm.spec | 2 + 2 files changed, 66 insertions(+) create mode 100644 0001-Add-support-of-Java-25.patch diff --git a/0001-Add-support-of-Java-25.patch b/0001-Add-support-of-Java-25.patch new file mode 100644 index 0000000..fda2675 --- /dev/null +++ b/0001-Add-support-of-Java-25.patch @@ -0,0 +1,64 @@ +From 756ccf40723d9ba68872252810f3dbb2b186be0c Mon Sep 17 00:00:00 2001 +From: forax +Date: Tue, 10 Dec 2024 11:11:49 +0100 +Subject: [PATCH] Add support of Java 25 + +--- + asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java | 1 + + asm/src/main/java/org/objectweb/asm/ClassReader.java | 2 +- + asm/src/main/java/org/objectweb/asm/Opcodes.java | 1 + + asm/src/test/java/org/objectweb/asm/ConstantsTest.java | 1 + + 4 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java b/asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java +index 4ede9201..9ce9f1c6 100644 +--- a/asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java ++++ b/asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java +@@ -114,6 +114,7 @@ public class ASMifier extends Printer { + classVersions.put(Opcodes.V22, "V22"); + classVersions.put(Opcodes.V23, "V23"); + classVersions.put(Opcodes.V24, "V24"); ++ classVersions.put(Opcodes.V25, "V25"); + CLASS_VERSIONS = Collections.unmodifiableMap(classVersions); + } + +diff --git a/asm/src/main/java/org/objectweb/asm/ClassReader.java b/asm/src/main/java/org/objectweb/asm/ClassReader.java +index 33b2a300..5f66ed2b 100644 +--- a/asm/src/main/java/org/objectweb/asm/ClassReader.java ++++ b/asm/src/main/java/org/objectweb/asm/ClassReader.java +@@ -195,7 +195,7 @@ public class ClassReader { + this.b = classFileBuffer; + // Check the class' major_version. This field is after the magic and minor_version fields, which + // use 4 and 2 bytes respectively. +- if (checkClassVersion && readShort(classFileOffset + 6) > Opcodes.V24) { ++ if (checkClassVersion && readShort(classFileOffset + 6) > Opcodes.V25) { + throw new IllegalArgumentException( + "Unsupported class file major version " + readShort(classFileOffset + 6)); + } +diff --git a/asm/src/main/java/org/objectweb/asm/Opcodes.java b/asm/src/main/java/org/objectweb/asm/Opcodes.java +index 9aa8a3b0..4ed95869 100644 +--- a/asm/src/main/java/org/objectweb/asm/Opcodes.java ++++ b/asm/src/main/java/org/objectweb/asm/Opcodes.java +@@ -290,6 +290,7 @@ public interface Opcodes { + int V22 = 0 << 16 | 66; + int V23 = 0 << 16 | 67; + int V24 = 0 << 16 | 68; ++ int V25 = 0 << 16 | 69; + + /** + * Version flag indicating that the class is using 'preview' features. +diff --git a/asm/src/test/java/org/objectweb/asm/ConstantsTest.java b/asm/src/test/java/org/objectweb/asm/ConstantsTest.java +index e7af1d04..543ba044 100644 +--- a/asm/src/test/java/org/objectweb/asm/ConstantsTest.java ++++ b/asm/src/test/java/org/objectweb/asm/ConstantsTest.java +@@ -257,6 +257,7 @@ class ConstantsTest { + case "V22": + case "V23": + case "V24": ++ case "V25": + return ConstantType.CLASS_VERSION; + case "ACC_PUBLIC": + case "ACC_PRIVATE": +-- +2.48.1 + diff --git a/objectweb-asm.spec b/objectweb-asm.spec index e94d68a..7fea98e 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -22,6 +22,8 @@ Source7: https://repo1.maven.org/maven2/org/ow2/asm/asm-util/%{version}/a Source9: generate-tarball.sh Source10: tools-retrofitter.pom +Patch: 0001-Add-support-of-Java-25.patch + %if %{with bootstrap} BuildRequires: javapackages-bootstrap %else From b04b61bcf16a30c9cc0635d362c33604e1f2e368 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Mon, 3 Mar 2025 11:57:14 +0100 Subject: [PATCH 35/41] Remove javadoc subpackage --- objectweb-asm.spec | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 7fea98e..906d6b7 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -31,6 +31,8 @@ BuildRequires: maven-local BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.ow2.asm:asm) %endif +# TODO Remove in Fedora 46 +Obsoletes: %{name}-javadoc < 9.7.1-9 %description ASM is an all purpose Java bytecode manipulation and analysis @@ -39,12 +41,6 @@ generate classes, directly in binary form. Provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools. -%package javadoc -Summary: API documentation for %{name} - -%description javadoc -API documentation for %{name}. - %prep %autosetup -p1 -C @@ -70,7 +66,7 @@ done %mvn_package :asm-test __noinstall %build -%mvn_build -f -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 +%mvn_build -j -f -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 %install %mvn_install @@ -81,8 +77,5 @@ done %license LICENSE.txt %{_bindir}/%{name}-processor -%files javadoc -f .mfiles-javadoc -%license LICENSE.txt - %changelog %autochangelog From 3aa1b63e94fbb12eded17096a818670081f0ab36 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 18 Mar 2025 12:34:48 +0100 Subject: [PATCH 36/41] Remove bogus objectweb-asm-processor script --- objectweb-asm.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 906d6b7..ffba5d2 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -71,11 +71,8 @@ done %install %mvn_install -%jpackage_script org.objectweb.asm.xml.Processor "" "" %{name}/asm:%{name}/asm-attrs:%{name}/asm-util %{name}-processor true - %files -f .mfiles %license LICENSE.txt -%{_bindir}/%{name}-processor %changelog %autochangelog From 2b5a60ae7747b173d1a31e042a3f2319bcfecadb Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Wed, 26 Mar 2025 08:43:19 +0100 Subject: [PATCH 37/41] Switch to javapackages tests from CentOS Stream GitLab --- plans/javapackages.fmf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf index 86bfcea..e39d47c 100644 --- a/plans/javapackages.fmf +++ b/plans/javapackages.fmf @@ -1,7 +1,7 @@ summary: Run javapackages-specific tests discover: how: fmf - url: https://src.fedoraproject.org/tests/javapackages + url: https://gitlab.com/redhat/centos-stream/tests/javapackages.git ref: f42 execute: how: tmt From 0cb675ac1a0a79b22f2307f095555b8850429caf Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 22 May 2025 13:35:32 +0200 Subject: [PATCH 38/41] Switch javapackages test plan to f43 ref --- plans/javapackages.fmf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf index e39d47c..ae17c0c 100644 --- a/plans/javapackages.fmf +++ b/plans/javapackages.fmf @@ -2,6 +2,6 @@ summary: Run javapackages-specific tests discover: how: fmf url: https://gitlab.com/redhat/centos-stream/tests/javapackages.git - ref: f42 + ref: f43 execute: how: tmt From a76282016de7b6415258b74fac210352722c075b Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Sun, 13 Jul 2025 09:22:52 +0200 Subject: [PATCH 39/41] Build with OpenJDK 25 --- objectweb-asm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/objectweb-asm.spec b/objectweb-asm.spec index ffba5d2..27e6805 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -27,7 +27,7 @@ Patch: 0001-Add-support-of-Java-25.patch %if %{with bootstrap} BuildRequires: javapackages-bootstrap %else -BuildRequires: maven-local +BuildRequires: maven-local-openjdk25 BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.ow2.asm:asm) %endif From e019a019b2c57d156e86175d3072210b907ace8f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 23:04:49 +0000 Subject: [PATCH 40/41] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From a768ff118a5b068289c4604e36827b8ac7c55ece Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Wed, 30 Jul 2025 00:50:05 +0200 Subject: [PATCH 41/41] Rebuilt for java-25-openjdk as preffered jdk https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk Note, that since f43, you should be always explicit on what jdk to use. This commit should do exactly that.