Issue Type: Bug Bug
Affects Versions: current
Assignee: Jesse Glick
Components: mercurial
Created: 03/Dec/12 2:08 AM
Description:

The Mercurial incorrectly assumes write-access to the Mercurial installation directory, triggering the following exception:

hudson.util.IOException2: Failed to create a temp file on /usr
	at hudson.FilePath.createTextTempFile(FilePath.java:1163)
	at hudson.FilePath.createTextTempFile(FilePath.java:1114)
	at hudson.tools.CommandInstaller.performInstallation(CommandInstaller.java:82)
	at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:61)
	at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:107)
	at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:203)
	at hudson.plugins.mercurial.MercurialInstallation.forNode(MercurialInstallation.java:103)
	at hudson.plugins.mercurial.MercurialSCM.findHgExe(MercurialSCM.java:201)
	at hudson.plugins.mercurial.HgExe.<init>(HgExe.java:80)
	at hudson.plugins.mercurial.MercurialSCM.clone(MercurialSCM.java:554)
	at hudson.plugins.mercurial.MercurialSCM.checkout(MercurialSCM.java:389)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1324)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
	at hudson.model.Run.execute(Run.java:1518)
	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:236)
Caused by: hudson.util.IOException2: remote file operation failed: /usr at hudson.remoting.Channel@26528fa4:Ubuntu 12.04
	at hudson.FilePath.act(FilePath.java:848)
	at hudson.FilePath.act(FilePath.java:825)
	at hudson.FilePath.createTextTempFile(FilePath.java:1141)
	... 18 more

My configuration is as follows:

Installation directory = /usr
Executable = INSTALLATION/bin/hg
Installation Automatically using command: "sudo apt-get install mercurial"

Jenkin's user does not have general access to /usr, nor to "sudo". It only has executable permissions in /usr/bin and "sudoers" permission to "apt-get".

Expected behavior: write temporary files into the path specified by the "java.io.tmpdir" system property.

Project: Jenkins
Priority: Major Major
Reporter: cowwoc
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to