Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 345950 - Cannot sign with egit on hudson.eclipse.org
Summary: Cannot sign with egit on hudson.eclipse.org
Status: RESOLVED FIXED
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: CI-Jenkins (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eclipse Webmaster CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-16 09:48 EDT by Chris Aniszczyk CLA
Modified: 2011-05-16 11:34 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Aniszczyk CLA 2011-05-16 09:48:57 EDT
I'm trying to sign on hudson.eclipse.org

I'm guessing I need to have a egit directory under /home/data/httpd/download-staging.priv ?

If so, can you create something like egit and jgit under there?

[INFO] Building zip: /opt/users/hudsonbuild/.hudson/jobs/egit-github.gerrit/workspace/org.eclipse.mylyn.github-site/target/github-updatesite.zip-after-removing.zip
[ERROR] 
java.io.IOException: Cannot run program "/usr/bin/sign": java.io.IOException: error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
	at java.lang.Runtime.exec(Runtime.java:593)
	at java.lang.Runtime.exec(Runtime.java:466)
	at org.eclipse.dash.m4e.eclipse.signing.SignMojo.signLocally(SignMojo.java:195)
	at org.eclipse.dash.m4e.eclipse.signing.SignMojo.execute(SignMojo.java:167)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:314)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:151)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:445)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:168)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:132)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
	at java.lang.ProcessImpl.start(ProcessImpl.java:65)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
	... 25 more
Comment 1 Denis Roy CLA 2011-05-16 10:30:34 EDT
> java.io.IOException: Cannot run program "/usr/bin/sign": java.io.IOException:
> error=2, No such file or directory


/usr/bin/sign is there, and hudsonbuild can definitely execute it.

hudsonbuild@hudson-slave1:~> ls -l /usr/bin/sign
-rwxr-x---+ 1 hudsonbuild users 3696 2010-09-27 13:10 /usr/bin/sign
hudsonbuild@hudson-slave1:~> /usr/bin/sign

Usage: /usr/bin/sign <file> <mail|nomail> [outputDir]
Signs JAR or ZIP file <file>, placing the resulting file in optional [outputDir] and mails notification that signing is complete, if requested.
hudsonbuild@hudson-slave1:~> 


I remember there being some bug with Java and shell scripts -- but for the life of me I cannot find it.
Comment 2 Denis Roy CLA 2011-05-16 10:38:29 EDT
I've created /home/data/httpd/download-staging.priv/technology/egit for your signing enjoyment.
Comment 3 Chris Aniszczyk CLA 2011-05-16 10:46:29 EDT
Hrmmm...

https://hudson.eclipse.org/sandbox/job/egit-github.gerrit/13/console

It's giving me issues about not finding java.
Comment 4 Chris Aniszczyk CLA 2011-05-16 10:46:57 EDT
[INFO] [PACK] executing pack200, output at end of execution : /bin/sh -c "cd /opt/users/hudsonbuild/.hudson/jobs/egit-github.gerrit/workspace/org.eclipse.mylyn.github-site/target/pack-stage && /usr/local/bin/java -Dorg.eclipse.update.jarprocessor.pack200=/shared/common/jdk-1.5.0-22.x86_64/bin -jar /opt/users/hudsonbuild/.hudson/jobs/egit-github.gerrit/workspace/org.eclipse.mylyn.github-site/target/pack-stage/org.eclipse.equinox.p2.jarprocessor_1.0.200.v20100503a.jar -processAll -pack -repack -verbose -outputDir /opt/users/hudsonbuild/.hudson/jobs/egit-github.gerrit/workspace/org.eclipse.mylyn.github-site/target/packed /opt/users/hudsonbuild/.hudson/jobs/egit-github.gerrit/workspace/org.eclipse.mylyn.github-site/target/github-updatesite.zip"
[INFO] [PACK] pack200 output:

[ERROR] /bin/sh: /usr/local/bin/java: No such file or directory

[INFO] 
[INFO] --- eclipse-maven-signing-plugin:1.0.0.0-SNAPSHOT:sign (sign) @ github-updatesite ---
[INFO] [SIGN] creating directory to hold signed artifact
Comment 5 Denis Roy CLA 2011-05-16 10:55:11 EDT
So a java program is calling a shell script which is calling java?  I'm lost.
Comment 6 Denis Roy CLA 2011-05-16 10:56:08 EDT
hudsonbuild@hudson-slave1:~> /usr/local/bin/java
Usage: java [-options] class [args...]
           (to execute a class)
[snip]
hudsonbuild@hudson-slave1:~> ls -l /usr/local/bin/java
lrwxrwxrwx 1 root root 23 2010-09-28 13:18 /usr/local/bin/java -> ../jre1.6.0_20/bin/java
Comment 7 Chris Aniszczyk CLA 2011-05-16 10:57:44 EDT
This works for the Jetty project for some reason.
Comment 8 Chris Aniszczyk CLA 2011-05-16 10:57:55 EDT
Jesse, anything you remember on your end?
Comment 9 Denis Roy CLA 2011-05-16 10:59:30 EDT
Chris, I noticed your build was run on the master -- and indeed, there was a symlink missing on the master for /usr/local/bin/java.  I've added it.

Everything seems OK for /usr/bin/sign though...
Comment 10 Denis Roy CLA 2011-05-16 11:01:45 EDT
D'Oh!   You're running your build on the Hudson sandbox??  I'm not sure if it's set up to sign stuff....
Comment 11 Chris Aniszczyk CLA 2011-05-16 11:03:00 EDT
Well, it was as a test.

I'm going to move it to the main hudson job. I just needed a way to test without constantly committing something to master.
Comment 12 Denis Roy CLA 2011-05-16 11:05:08 EDT
Actually, the (real) master instance and the Hudson Sandbox instance are both hosted on the same machine, so I don't see why signing would not work.
Comment 13 Jesse McConnell CLA 2011-05-16 11:07:15 EDT
that last part about having the egit directory under the httpd dir is for the antrun portion of the signing...so we can move out the results of all the signing to someplace that we can work with, in creating our aggregate p2 repository

your results may vary on how you want to deal with your signed bundle of goop
Comment 14 Chris Aniszczyk CLA 2011-05-16 11:10:53 EDT
ok, now there are some permission issues.

https://hudson.eclipse.org/hudson/job/egit-github/112/console

What's hudson's group or user?
Comment 15 Chris Aniszczyk CLA 2011-05-16 11:34:49 EDT
Ok, everything is working now.

We are one step closer to making signing easy at eclipse.org