Giter Club home page Giter Club logo

chroot-plugin's People

Contributors

brian-brazil avatar corecache avatar directhex avatar kodekarl avatar rmohr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

chroot-plugin's Issues

Pbuilder arguments get truncated

As written in #3, with the current commit 24a6c9b the chroot environment arguments für pbuilder get somehow truncated down the way till execution.

e.g:
--distribution myDist --mirror http://my-repo.local/myos --debootstrapopts --no-check-gpg --debootstrapopts --variant=minbase --debootstrapopts --include=my-repo-archive-keyring --allow-untrusted --othermirror 'deb http://my-repo.local/debian wheezy main contrib non-free'

Works on the shell with pbuilder. Using it as parameters thru jenkins fails with:

Type ''deb' is not known on line 1 in source list /etc/apt/sources.list

NOTE: the quotes in the error message, it says ( 'deb ) is not a valid start.

Removing the quotes from the arguments field in Jenkins does not help as --othermirror only gets "deb" as arguments (shell interpolation)

FATAL: The node Jenkins is not correctly setup up for pbuilder

I'm trying to build a basic hello-world in C within a chroot. At this point, I'm not even running make. I'm just trying to enter the chroot.

The feature I want is exactly what is described here:

Creates a new debootstrap-based chroot.
Installs build-essential, git, make, etc.
Fetches the source.
Runs make.
Copies the build-output to a safe location OUTSIDE the chroot
Cleans up.

I seem to have an issue with my configuration. I'm trying to follow the wiki as closely as possible:

$ uname -r
3.16.0-30-generic

$ which pbuilder
/usr/sbin/pbuilder

# In /etc/sudoers:
# Allow the jenkins user to use pbuilder
jenkins ALL=(ALL) NOPASSWD: /usr/sbin/pbuilder

screenshot 2015-08-11 11 02 17
screenshot 2015-08-11 11 03 05

Environment:
Jenkins: v1.624
chroot plugin: v0.1.4
GitHub plugin: v1.12.1

The console output from the build seems to also be cloning the test repo before the chroot is created and entered:

Started by timer
Building in workspace /var/lib/jenkins/workspace/Hello Jenkins
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url [email protected]:XXXXXX/hello-jenkins.git # timeout=10
Fetching upstream changes from [email protected]:com:XXXXXX/hello-jenkins.git
 > git --version # timeout=10
using GIT_SSH to set credentials com:XXXXXX build bot
 > git -c core.askpass=true fetch --tags --progress [email protected]:com:XXXXXX/hello-jenkins.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision c1205d804fd3528f8a85ba0767d73e72ad3068ba (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f c1205d804fd3528f8a85ba0767d73e72ad3068ba
 > git rev-list c1205d804fd3528f8a85ba0767d73e72ad3068ba # timeout=10
FATAL: The node Jenkins is not correctly setup up for pbuilder
java.io.IOException: The node Jenkins is not correctly setup up for pbuilder
    at org.jenkinsci.plugins.chroot.tools.ChrootToolset.forNode(ChrootToolset.java:93)
    at org.jenkinsci.plugins.chroot.builders.ChrootBuilder.perform(ChrootBuilder.java:145)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
    at hudson.model.Build$BuildExecution.build(Build.java:205)
    at hudson.model.Build$BuildExecution.doRun(Build.java:162)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537)
    at hudson.model.Run.execute(Run.java:1741)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:381)
Sending e-mails to: XXXXXX
Finished: FAILURE

This is a single linux box (only a single Jenkins master node).

Extra options are only ran on initial pbuilder run

Any extra command line parameters specified in the chroot configuration are only considered at the first run, i.e., when debootstrap runs. The subsequent run, where extra packages are installed, does not take the parameters into account, thus causing the build to fail when a HTTP proxy is specified this way instead of using .pbuilderrc.

Can't get plugin to work

I'm trying to use the chroot plugin, and have a .pbuilderrc file setup that works successfully when I run pbuilder --create manually. However, when I try to use the plugin according to the instructions on the jenkins-ci wiki, I can't get it to actually do anything. I just continuously get an error of:

FATAL: Failed to copy . to /var/lib/jenkins/jobs/NetHunter - OPO - KitKat/workspace/Kali
java.io.IOException: Failed to copy . to /var/lib/jenkins/jobs/NetHunter - OPO - KitKat/workspace/Kali

However I noticed, if I disable the option to "Install Automatically" it suddenly offers me an option called "Home' that seems like it needs to be a directory. However, it's unclear what that directory needs to consist of.

I also noticed (after trying a few directories unsuccessfully) that if I have a value in there, and then re-enable "Install Automatically" the first error message changes from "Failed to copy . to..." to "Failed to copy foo/bar/baz to..." and then complains that foo/bar/baz is a directory. So, the "Home" setting which forces you to choose a directory (and complains if it's a file) seems to be carried through to the Install automatically setting which complains that it is a directory.

If you can offer some guidance, that would be appreciated. I intend to write up a blog post after I get it working, so others don't spend have to spend the time that I have trying to get it to work.

If it matters, the pbuilderrc is trying to make a chroot of the kali distribution at http://http.kali.org/kali

FATAL: remote file operation failed: . at hudson.remoting.Channel

Hi,

i am trying to use the chroot-plugin, but i alway get this error:

Building remotely on ubuntu1404 (ubuntu1404) in workspace /opt/jenkins/workspace/ubuntu_amd64
FATAL: remote file operation failed: . at hudson.remoting.Channel@6e41a173:ubuntu1404
java.io.IOException: remote file operation failed: . at hudson.remoting.Channel@6e41a173:ubuntu1404
at hudson.FilePath.act(FilePath.java:918)
at hudson.FilePath.act(FilePath.java:895)
at org.jenkinsci.plugins.chroot.builders.ChrootBuilder.perform(ChrootBuilder.java:165)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:772)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:160)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:535)
at hudson.model.Run.execute(Run.java:1732)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:234)
Caused by: java.io.IOException: Failed to copy . to /opt/jenkins/workspace/rocrail_ubuntu_amd64/ubuntu_saucy_amd64
at hudson.FilePath.copyTo(FilePath.java:1818)
at org.jenkinsci.plugins.chroot.builders.ChrootBuilder$LocalCopyTo.invoke(ChrootBuilder.java:136)
at org.jenkinsci.plugins.chroot.builders.ChrootBuilder$LocalCopyTo.invoke(ChrootBuilder.java:125)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2492)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:328)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.io.FileNotFoundException: . (Is a directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:146)
at hudson.FilePath$37.invoke(FilePath.java:1844)
at hudson.FilePath$37.invoke(FilePath.java:1839)
at hudson.FilePath.act(FilePath.java:922)
at hudson.FilePath.act(FilePath.java:895)
at hudson.FilePath.copyTo(FilePath.java:1839)
at hudson.FilePath.copyTo(FilePath.java:1813)
... 11 more

Here is my configuration;

bildschirmfoto 2014-07-31 um 22 51 28
bildschirmfoto 2014-07-31 um 22 50 46

Where is the mistake?

Thanks,
Sebastian

Optionally print stdout of pbuilder to the terminal

Pbuilder is extremely verbose. This is the reason why stdout is not logged when initially creating the chroot environments. While this is fine when you have a correctly set up environment, it can be quite cumbersome to find out why the creation of a chroot environment failed.

Chroot environment cleanup failed on image recreation

while "Clear" checkbox is checked, the error occurs when pbuilder image is recreated during the build
form my understanding, the plugin is trying to clean image that does not exists yet

$ sudo /usr/sbin/pbuilder --clean --basetgz /www/jenkins/var/lib/jenkins/workspace/syncer/debian-wheezy/debian-wheezy.tgz
W: /root/.pbuilderrc does not exist
E: File /www/jenkins/var/lib/jenkins/workspace/syncer/debian-wheezy/debian-wheezy.tgz does not exist
FATAL: Chroot environment cleanup failed

"Requirement files" field does not work

Even if entering the name of an existing file in the workspace, there's a yellow text below the field (after tab'ing out) that says "file does not yet exist".
If I then proceed to save the configuration with a filename in that field, I get a Jenkins Oops page with this stack trace (here shown for the case where the file really doesn't exist):

javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class org.jenkinsci.plugins.chroot.builders.ChrootBuilder from {"chrootName":"test-pbuilder","clear":false,"loginAsRoot":false,"command":"pwd\nls -lA\nenv|sort\nsleep 300","packagesFile":"install-me.txt","additionalPackages":"","ignoreExit":false,"noUpdate":false,"forceInstall":false,"stapler-class":"org.jenkinsci.plugins.chroot.builders.ChrootBuilder","kind":"org.jenkinsci.plugins.chroot.builders.ChrootBuilder"}
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
    at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
    at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
    at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
    at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
    at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Failed to instantiate class org.jenkinsci.plugins.chroot.builders.ChrootBuilder from {"chrootName":"test-pbuilder","clear":false,"loginAsRoot":false,"command":"pwd\nls -lA\nenv|sort\nsleep 300","packagesFile":"install-me.txt","additionalPackages":"","ignoreExit":false,"noUpdate":false,"forceInstall":false,"stapler-class":"org.jenkinsci.plugins.chroot.builders.ChrootBuilder","kind":"org.jenkinsci.plugins.chroot.builders.ChrootBuilder"}
    at hudson.model.Descriptor.newInstance(Descriptor.java:577)
    at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:915)
    at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:900)
    at hudson.util.DescribableList.rebuildHetero(DescribableList.java:203)
    at hudson.model.Project.submit(Project.java:232)
    at hudson.model.Job.doConfigSubmit(Job.java:1188)
    at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:785)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
    at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
    at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
    at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
    ... 48 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate class org.jenkinsci.plugins.chroot.builders.ChrootBuilder from {"chrootName":"test-pbuilder","clear":false,"loginAsRoot":false,"command":"pwd\nls -lA\nenv|sort\nsleep 300","packagesFile":"install-me.txt","additionalPackages":"","ignoreExit":false,"noUpdate":false,"forceInstall":false,"stapler-class":"org.jenkinsci.plugins.chroot.builders.ChrootBuilder","kind":"org.jenkinsci.plugins.chroot.builders.ChrootBuilder"}
    at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:598)
    at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400)
    at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:396)
    at hudson.model.Descriptor.newInstance(Descriptor.java:568)
    ... 64 more
Caused by: java.lang.IllegalArgumentException: java.io.FileNotFoundException: File 'install-me.txt' does not exist
    at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:462)
    at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:699)
    at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:81)
    at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:596)
    ... 67 more
Caused by: java.io.FileNotFoundException: File 'install-me.txt' does not exist
    at org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:299)
    at org.apache.commons.io.FileUtils.readFileToString(FileUtils.java:1711)
    at org.apache.commons.io.FileUtils.readFileToString(FileUtils.java:1748)
    at org.jenkinsci.plugins.chroot.builders.ChrootBuilder.<init>(ChrootBuilder.java:92)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:447)
    ... 70 more

Instead of "crashing", I would expect the plugin to accept the filename and allow the file to be created either from source control or generation.
I have this same error on two different installations. This one here is running Jenkins LTS 1.596.1 and chroot plugin SNAPSHOT. Other installation is running with plugin 0.1.4.

File ... does not yet exist - Requirements file for build chroot configuration

I'm trying to replace the hardcoded requirements in our jenkins build specification with a requirements file.

We have already configured and used chroot plugin to run a build process which itself requires root permissions. However we don't want to manage the setup of that chroot environment in the job spec and instead control it from files in git.

In the job configuration, the chroot builder has a field for "Requirements Files". This appears to be the right thing to use. But when I fill this in I'm just given an error and cannot save the configuration:

File ImageBuilder/jenkins_env_requirements.txt does not yet exist.

I've confirmed that the file does exist in the repository and run a build against that repo for good measure:

$ ls -lh ImageBuilder/jenkins_env_requirements.txt
-rw-r--r-- 1 philip philip 28 Nov 25 14:56 ImageBuilder/jenkins_env_requirements.txt

It seems odd that this plugin tries to verify the existence of a file in a git repository while configuring the build, rather than while running the build. Have I misinterpreted where this file is supposed to live?

ChrootBuilder option "forceInstall" does not what the help file says

Hey,

I checked the code behind the "Force installation of packages" option in the [Job -> Configure -> Chroot Build -> Advanced] form. The help file states that it does whatever it can to achieve the installation of packages, but in reality it just ticks the pbuilder option "--allow-untrusted"

--allow-untrusted
              Allow untrusted (no key installed) and unsigned repositories.  Warning: Enabling this option may allow remote attackers to compromise the system.  Better use signed repositories and --keyring to add the key(s).```

"Requirement files" field claims "File xx does not yet exist"

There's a yellow warning text under the field with that text, regardless of whether the file actually exists or not. Maybe it's related to my earlier problem (#8), but fortunately it does not interfere with the actual working of the plugin. It's only annoying.

Extract *.zip/*.tar.gz issues

Hi,

  1. "Download URL for binary archive" does not work:

    Unpacking http://server.net/releases/myos1.0.tgz to /var/lib/jenkins/tools/org.jenkinsci.plugins.chroot.tools.ChrootToolset/myos on Jenkins
    FATAL: Failed to copy /var/lib/jenkins/tools/myos to /var/lib/jenkins/workspace/chroot_test2/myos/myos
    [...]
    Caused by: java.io.FileNotFoundException: /var/lib/jenkins/tools/myos (Is a directory)

    Either the plugin wants the tool tarball as an argument (it's a file), or the copy method is not sufficient (has to be recursive then).

  2. If giving a 'Subdirectory of extracted archive', the plugin behaves strangely: It will always unpack the tarball given in the subdir, even though the tarball from the url was successfully downloaded (in case it was newer/differs). I 've tested with a newer tarball at the url including more packages than the local one from the subdir. The packages are not available in the build.

  3. Help text of 'Subdirectory of extracted archive' is misleading. Clearly, the plugin is searching for the tarball, not the "unpacked archive". Also not mentioned: the required md5 file.

Regards, Holger

Compile error due to missing com.google.guava dependency

After a fresh git clone on current master (5904208) the plugin fails to compile due to missing com.google.guava dependency, see mvn output below

$ mvn package
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Chroot Plugin
[INFO] task-segment: [package]
[INFO] ------------------------------------------------------------------------
[INFO] [hpi:validate {execution: default-validate}]
[INFO] [enforcer:display-info {execution: default}]
[INFO] Maven Version: 2.2.1
[INFO] JDK Version: 1.8.0_45 normalized as: 1.8.0-45
[INFO] OS Info: Arch: amd64 Family: unix Name: linux Version: 3.19.0-15-generic
[INFO] [localizer:generate {execution: default}]
[debug] execute contextualize
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 20 resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 14 source files to /home/zgyarmati/projects/chroot-plugin/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/tools/ChrootToolset.java:[26,29] error: package com.google.common.base does not exist
[ERROR] /home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/extensions/MockWorker.java:[26,32] error: package com.google.common.collect does not exist
[ERROR] /home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/util/ChrootUtil.java:[26,29] error: package com.google.common.base does not exist
[ERROR] /home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/util/ChrootUtil.java:[27,29] error: package com.google.common.base does not exist
[ERROR] /home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/util/ChrootUtil.java:[28,32] error: package com.google.common.collect does not exist
[ERROR] /home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/util/ChrootUtil.java:[40,25] error: cannot find symbol
[ERROR] class ChrootUtil
/home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/extensions/PBuilderWorker.java:[26,29] error: package com.google.common.base does not exist
[ERROR] /home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/extensions/PBuilderWorker.java:[27,32] error: package com.google.common.collect does not exist
[ERROR] error: Bad service configuration file, or exception thrown while constructing Processor object: javax.annotation.processing.Processor: Provider org.kohsuke.stapler.jsr269.ExportedBeanAnnotationProcessor could not be instantiated: java.lang.NoClassDefFoundError: com/google/common/collect/Multimap
[INFO] 9 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

/home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/tools/ChrootToolset.java:[26,29] error: package com.google.common.base does not exist
/home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/extensions/MockWorker.java:[26,32] error: package com.google.common.collect does not exist
/home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/util/ChrootUtil.java:[26,29] error: package com.google.common.base does not exist
/home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/util/ChrootUtil.java:[27,29] error: package com.google.common.base does not exist
/home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/util/ChrootUtil.java:[28,32] error: package com.google.common.collect does not exist
/home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/util/ChrootUtil.java:[40,25] error: cannot find symbol
class ChrootUtil
/home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/extensions/PBuilderWorker.java:[26,29] error: package com.google.common.base does not exist
/home/zgyarmati/projects/chroot-plugin/src/main/java/org/jenkinsci/plugins/chroot/extensions/PBuilderWorker.java:[27,32] error: package com.google.common.collect does not exist
error: Bad service configuration file, or exception thrown while constructing Processor object: javax.annotation.processing.Processor: Provider org.kohsuke.stapler.jsr269.ExportedBeanAnnotationProcessor could not be instantiated: java.lang.NoClassDefFoundError: com/google/common/collect/Multimap

[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8 seconds
[INFO] Finished at: Sun Jul 05 20:34:10 CEST 2015
[INFO] Final Memory: 72M/700M
[INFO] ------------------------------------------------------------------------

"Install packages"" setting seems to be broken

For version 1.4, if one tries to create a new chroot the packages added to the Install packages setting in the Advanced configuration section don't actually get installed.

Downgrading to version 1.3 fixes this issue, so it must be a recent regression.

chroot2078368272464017165.sh: line 84: unexpected EOF while looking for matching `''

Question1: Is there a way to get this plugin to use an existing pre-prepared tgz file with the required chroot?
In my case even if I replace the tgz file in the workspace it seems that the next run deletes the tgz file I want to use..

Question2: This might be finger trouble but when I attempt to use this plugin this is the message I get. "unexpected EOF while looking for matching " see the Log file output: $ sudo /usr/sbin/pbuilder --update --basetgz /home1/pas/Build/ci/workspace/myschroot/test-pbuilder/test-pbuilder.tgz
W: No local /etc/mailname to copy, relying on /home1/pas/Build/pbuilder/build/22005/etc/mailname to be correct
debconf: delaying package configuration, since apt-utils is not installed

$ whoami
$ id -n -g pas
$ id -u pas
$ id -g pas
$ sudo /usr/sbin/pbuilder --execute --bindmounts /home1/pas/Build/ci/workspace/myschroot --basetgz /home1/pas/Build/ci/workspace/myschroot/test-pbuilder/test-pbuilder.tgz -- /home1/pas/Build/ci/workspace/myschroot/chroot6240260719095386981.sh
I: Building the build Environment
I: extracting base tarball [/home1/pas/Build/ci/workspace/myschroot/test-pbuilder/test-pbuilder.tgz]

I: copying local configuration
W: No local /etc/mailname to copy, relying on /home1/pas/Build/pbuilder/build/22587/etc/mailname to be correct
I: mounting /proc filesystem
I: mounting /run/shm filesystem
I: mounting /dev/pts filesystem
I: Mounting /home1/pas/Build/ci/workspace/myschroot
I: policy-rc.d already exists
I: Obtaining the cached apt archive contents

/home1/pas/Build/ci/workspace/myschroot/chroot2078368272464017165.sh: line 84: unexpected EOF while looking for matching '' /home1/pas/Build/ci/workspace/myschroot/chroot2078368272464017165.sh: line 97: syntax error: unexpected end of file I: Copying back the cached apt archive contents I: unmounting /home1/pas/Build/ci/workspace/myschroot filesystem I: unmounting dev/pts filesystem I: unmounting run/shm filesystem I: unmounting proc filesystem I: cleaning the build env I: removing directory /home1/pas/Build/pbuilder/build/22587 and its subdirectories Build step 'Chroot Builder' marked build as failure Finished: FAILURE

Caught the shell script as well.. this is the offending section in the shell script.. noteCOMP_WORDBREAKS=" is followed by a new line and the ' does not have a matching ':
if [ -z ${COMPIZ_CONFIG_PROFILE} ]; then export COMPIZ_CONFIG_PROFILE="ubuntu"; fi; if [ -z ${COMP_WORDBREAKS} ]; then export COMP_WORDBREAKS=" "'><;|&(:"; fi; if [ -z ${CLUTTER_IM_MODULE} ]; then export CLUTTER_IM_MODULE="xim"; fi; if [ -z ${CLASSPATH} ]; then export CLASSPATH=""; fi; if [ -z ${BUILD_URL} ]; then export BUILD_URL="http://localhost/jenkins/job/myschroot/5/"; fi; if [ -z ${BUILD_TAG} ]; then export BUILD_TAG="jenkins-myschroot-5"; fi; if [ -z ${BUILD_NUMBER} ]; then export BUILD_NUMBER="5"; fi; if [ -z ${BUILD_ID} ]; then export BUILD_ID="5"; fi; if [ -z ${BUILD_DISPLAY_NAME} ]; then export BUILD_DISPLAY_NAME="#5"; fi; if [ -z ${_} ]; then export _="/usr/bin/java"; fi; set -e set -x verbose cd /home1/pas/Build/ci/workspace/myschroot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.