Return-Path: X-Original-To: apmail-ant-ivy-user-archive@www.apache.org Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6E309113E1 for ; Tue, 15 Jul 2014 13:55:11 +0000 (UTC) Received: (qmail 31834 invoked by uid 500); 15 Jul 2014 13:55:11 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 31800 invoked by uid 500); 15 Jul 2014 13:55:11 -0000 Mailing-List: contact ivy-user-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ivy-user@ant.apache.org Delivered-To: mailing list ivy-user@ant.apache.org Received: (qmail 31784 invoked by uid 99); 15 Jul 2014 13:55:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Jul 2014 13:55:10 +0000 X-ASF-Spam-Status: No, hits=0.3 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,SPF_SOFTFAIL X-Spam-Check-By: apache.org Received-SPF: softfail (athena.apache.org: transitioning domain of nicolas.lalevee@hibnet.org does not designate 216.86.168.183 as permitted sender) Received: from [216.86.168.183] (HELO mxout-08.mxes.net) (216.86.168.183) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Jul 2014 13:55:06 +0000 Received: from [10.9.2.18] (unknown [213.190.87.215]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 87A3A50AA2; Tue, 15 Jul 2014 09:54:44 -0400 (EDT) Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Subject: Re: OSGi: Ivy modifies MANIFEST.MF during unpacking. Result: "Invalid signature file digest for Manifest" From: =?iso-8859-1?Q?Nicolas_Lalev=E9e?= In-Reply-To: <1405417587.1630.YahooMailNeo@web162901.mail.bf1.yahoo.com> Date: Tue, 15 Jul 2014 15:54:42 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <1405417587.1630.YahooMailNeo@web162901.mail.bf1.yahoo.com> To: ivy-user@ant.apache.org, Boris Brodski X-Mailer: Apple Mail (2.1510) X-Virus-Checked: Checked by ClamAV on apache.org Hi, Le 15 juil. 2014 =E0 11:46, Boris Brodski = a =E9crit : > Hello, >=20 >=20 > playing with OSGi resolvers I found a very strange behavior: It looks = like during unpacking of some *.jar.pack.gz archives Ivy modifies = MANIFEST.MF. This results is: "Invalid signature file digest for = Manifest" error raised by the VM. >=20 >=20 > Inspecting following bundles from update site: = http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/= > =20 > - org.eclipse.xtend.core-2.6.1.v201406120726.jar.pack.gz - Unmodified = MANIFEST.MF : No error > - org.eclipse.xtend.core-2.6.2.v201407030533.jar.pack.gz - Modified = MANIFEST.MF : ERROR >=20 > Diff between original MANIFEST.MF and by Ivy modified version: > (Ivy rearranges lines. Sorting both original and Ivy-modified = MANIFEST.MF-files produces identical output) >=20 >=20 > @@ -1,4 +1,24 @@ > Manifest-Version: 1.0 > +Bundle-Localization: plugin > +Bundle-RequiredExecutionEnvironment: J2SE-1.5 > +Bundle-SymbolicName: org.eclipse.xtend.core;singleton:=3Dtrue > +Require-Bundle: = org.eclipse.core.runtime;bundle-version=3D"3.5.0",org.ec > + = lipse.emf.ecore;bundle-version=3D"2.9.0";visibility:=3D"reexport",org.ecl > + = ipse.xtext.common.types;bundle-version=3D"2.6.2";visibility:=3D"reexport" > + = ,org.eclipse.xtext.xbase;bundle-version=3D"2.6.2";visibility:=3D"reexport > + = ",org.eclipse.xtext;bundle-version=3D"2.6.2",org.eclipse.xtext.util;bun > + = dle-version=3D"2.6.2",org.eclipse.emf.mwe2.launch;bundle-version=3D"2.2.0 > + = ";resolution:=3D"optional";x-installation:=3D"greedy",org.eclipse.emf.mwe > + = 2.lib;bundle-version=3D"2.2.0";resolution:=3D"optional";x-installation:=3D= " > + = greedy",org.eclipse.xtext.generator;bundle-version=3D"2.6.2";resolution > + = :=3D"optional";x-installation:=3D"greedy",org.antlr.runtime;bundle-versio > + = n=3D"[3.2.0,3.2.1)",org.eclipse.jdt.core;bundle-version=3D"3.5.0";resolut > + = ion:=3D"optional";x-installation:=3D"greedy",org.eclipse.xtext.xbase.lib; > + = bundle-version=3D"[2.6.0,3.0.0)",org.eclipse.xtend.lib;bundle-version=3D" > + = 2.6.2",org.eclipse.xtext.smap;bundle-version=3D"2.6.2",org.apache.ant;b > + = undle-version=3D"1.7.1";resolution:=3D"optional";x-installation:=3D"greedy= " > + = ,org.eclipse.xtext.xbase.junit;bundle-version=3D"2.6.2";resolution:=3D"op > + tional" > Export-Package: = org.eclipse.xtend.core;x-internal:=3Dtrue,org.eclipse.xt > = end.core.compiler;x-internal:=3Dtrue,org.eclipse.xtend.core.compiler.ba > = tch,org.eclipse.xtend.core.conversion;x-internal:=3Dtrue,org.eclipse.xt > @@ -20,2732 +40,2712 @@ Export-Package: = org.eclipse.xtend.core;x-internal:=3Dtrue,org.eclipse.xt > = ation;x-internal:=3Dtrue,org.eclipse.xtend.core.xtend;x-internal:=3Dtrue, > = org.eclipse.xtend.core.xtend.impl;x-internal:=3Dtrue,org.eclipse.xtend. > core.xtend.util;x-internal:=3Dtrue > -Bundle-ActivationPolicy: lazy > +Bundle-Version: 2.6.2.v201407030533 > +Ant-Version: Apache Ant 1.8.3 > Bundle-ClassPath: . > -Bundle-Localization: plugin > +Bundle-ActivationPolicy: lazy > +Bundle-Vendor: %providerName > Bundle-Name: %pluginName > Created-By: 1.6.0_45-b06 (Sun Microsystems Inc.) > -Bundle-RequiredExecutionEnvironment: J2SE-1.5 > -Require-Bundle: = org.eclipse.core.runtime;bundle-version=3D"3.5.0",org.ec > - = lipse.emf.ecore;bundle-version=3D"2.9.0";visibility:=3D"reexport",org.ecl > - = ipse.xtext.common.types;bundle-version=3D"2.6.2";visibility:=3D"reexport" > - = ,org.eclipse.xtext.xbase;bundle-version=3D"2.6.2";visibility:=3D"reexport > - = ",org.eclipse.xtext;bundle-version=3D"2.6.2",org.eclipse.xtext.util;bun > - = dle-version=3D"2.6.2",org.eclipse.emf.mwe2.launch;bundle-version=3D"2.2.0 > - = ";resolution:=3D"optional";x-installation:=3D"greedy",org.eclipse.emf.mwe > - = 2.lib;bundle-version=3D"2.2.0";resolution:=3D"optional";x-installation:=3D= " > - = greedy",org.eclipse.xtext.generator;bundle-version=3D"2.6.2";resolution > - = :=3D"optional";x-installation:=3D"greedy",org.antlr.runtime;bundle-versio > - = n=3D"[3.2.0,3.2.1)",org.eclipse.jdt.core;bundle-version=3D"3.5.0";resolut > - = ion:=3D"optional";x-installation:=3D"greedy",org.eclipse.xtext.xbase.lib; > - = bundle-version=3D"[2.6.0,3.0.0)",org.eclipse.xtend.lib;bundle-version=3D" > - = 2.6.2",org.eclipse.xtext.smap;bundle-version=3D"2.6.2",org.apache.ant;b > - = undle-version=3D"1.7.1";resolution:=3D"optional";x-installation:=3D"greedy= " > - = ,org.eclipse.xtext.xbase.junit;bundle-version=3D"2.6.2";resolution:=3D"op > - tional" > -Ant-Version: Apache Ant 1.8.3 > -Bundle-Vendor: %providerName > -Bundle-Version: 2.6.2.v201407030533 > -Bundle-ManifestVersion: 2 > Import-Package: = org.apache.log4j;version=3D"1.2.15",org.eclipse.xtext.xb > ase.lib > -Bundle-SymbolicName: org.eclipse.xtend.core;singleton:=3Dtrue > +Bundle-ManifestVersion: 2 > =20 > -Name: = org/eclipse/xtend/core/macro/declaration/JvmExecutableDeclaratio > - nImpl$3.class > -SHA1-Digest: 86QcHNMNBD/THDgOv+293UTj1U4=3D > +Name: org/eclipse/xtend/core/xtend/impl/XtendPackageImpl.class > +SHA1-Digest: OGuJ6N9ZPJ0RHi2IN0XeGtZF3So=3D >=20 > ------------------- cut ---------------------- >=20 >=20 > Using modified jar file like this: java -cp = ~/.ivy2/cache/bundle/org.eclipse.xtend.core/jar_unpackeds/org.eclipse.xten= d.core-2.6.2.v201407030533.jar:..... org.jnario.compiler.CompilerMain = arg1 arg2 ... >=20 >=20 > produces >=20 >=20 > Class 'org.eclipse.xtend.core.compiler.batch.Main' not found: Invalid = signature file digest for Manifest main = attributesjava.lang.SecurityException: Invalid signature file digest for = Manifest main attributes > at = sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.= java:240) > at = sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java= :193) > at java.util.jar.JarVerifier.processEntry(JarVerifier.java:307) > at java.util.jar.JarVerifier.update(JarVerifier.java:218) > at java.util.jar.JarFile.initializeVerifier(JarFile.java:345) > at java.util.jar.JarFile.getInputStream(JarFile.java:412) > at = sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:775) > at sun.misc.Resource.cachedInputStream(Resource.java:77) > at sun.misc.Resource.getByteBuffer(Resource.java:160) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:436) > at java.net.URLClassLoader.access$100(URLClassLoader.java:71) > at java.net.URLClassLoader$1.run(URLClassLoader.java:361) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at java.lang.ClassLoader.loadClass(ClassLoader.java:425) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) > at java.lang.ClassLoader.loadClass(ClassLoader.java:358) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:190) > at = de.finkonsens.pingo.tools.FileArgumentRunner.main(FileArgumentRunner.java:= 98) >=20 > BUILD FAILED >=20 > Using 2.6.1.v201406120726 version of the bundle works. > =20 >=20 > Is this a bug or a feature? How can I prevent Ivy from modifying files = like this? Ivy does nothing with the jar but unpacking the .jar.pack.gz into .jar = and optionally then to a folder. But seems like a bug. You're welcomed to open a jira issue, with OS and = jvm version info please. Nicolas