Merge lp:~townsend/libertine/support-chroot-in-snap into lp:libertine

Proposed by Christopher Townsend
Status: Merged
Approved by: Christopher Townsend
Approved revision: 338
Merged at revision: 339
Proposed branch: lp:~townsend/libertine/support-chroot-in-snap
Merge into: lp:libertine
Diff against target: 39 lines (+12/-3)
1 file modified
python/libertine/ChrootContainer.py (+12/-3)
To merge this branch: bzr merge lp:~townsend/libertine/support-chroot-in-snap
Reviewer Review Type Date Requested Status
Libertine CI Bot continuous-integration Approve
Larry Price Approve
Review via email: mp+312059@code.launchpad.net

Commit message

Support creating a Libertine chroot in a snap environment.

To post a comment you must log in.
Revision history for this message
Libertine CI Bot (libertine-ci-bot) wrote :

PASSED: Continuous integration, rev:338
https://jenkins.canonical.com/libertine/job/lp-libertine-ci/238/
Executed test runs:
    SUCCESS: https://jenkins.canonical.com/libertine/job/build/497
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=default/392
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=default/392
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=zesty,testname=default/392
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=vivid+overlay,testname=default/392
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=xenial+overlay,testname=default/392
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=zesty,testname=default/392
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-0-fetch/506
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/490
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/490/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/490
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/490/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=zesty/490
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=zesty/490/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/490
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/490/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/490
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/490/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=zesty/490
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=zesty/490/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/libertine/job/lp-libertine-ci/238/rebuild

review: Approve (continuous-integration)
Revision history for this message
Larry Price (larryprice) wrote :

lgtm

review: Approve
Revision history for this message
Libertine CI Bot (libertine-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://jenkins.canonical.com/libertine/job/lp-libertine-autoland/88/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/libertine/job/build/499/console
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-0-fetch/508
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/492
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/492/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/492
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/492/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=zesty/492
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=zesty/492/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/492/console
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/492
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/492/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=zesty/492
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=zesty/492/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
Libertine CI Bot (libertine-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://jenkins.canonical.com/libertine/job/lp-libertine-autoland/89/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/libertine/job/build/500/console
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-0-fetch/509
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/493
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/493/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/493
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/493/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=zesty/493/console
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/493
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/493/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/493
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/493/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=zesty/493
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=zesty/493/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
Libertine CI Bot (libertine-ci-bot) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'python/libertine/ChrootContainer.py'
2--- python/libertine/ChrootContainer.py 2016-11-22 18:20:55 +0000
3+++ python/libertine/ChrootContainer.py 2016-11-29 15:58:18 +0000
4@@ -56,7 +56,8 @@
5
6 def run_in_container(self, command_string):
7 cmd_args = shlex.split(command_string)
8- command_prefix = "fakechroot fakeroot chroot " + self.root_path
9+ command_prefix = "{} fakeroot chroot {}".format(
10+ self._build_fakechroot_command(), self.root_path)
11 args = shlex.split(command_prefix + ' ' + command_string)
12 cmd = subprocess.Popen(args)
13 return cmd.wait()
14@@ -72,8 +73,8 @@
15
16 def create_libertine_container(self, password=None, multiarch=False, verbosity=1):
17 # Create the actual chroot
18- command_line = "fakechroot fakeroot debootstrap --verbose --variant=fakechroot {} {}".format(
19- self.installed_release, self.root_path)
20+ command_line = "{} fakeroot debootstrap --verbose --variant=fakechroot {} {}".format(
21+ self._build_fakechroot_command(), self.installed_release, self.root_path)
22 args = shlex.split(command_line)
23 cmd = subprocess.Popen(args)
24 cmd.wait()
25@@ -160,6 +161,14 @@
26
27 return returncode
28
29+ def _build_fakechroot_command(self):
30+ cmd = 'fakechroot'
31+
32+ if 'SNAP' in os.environ:
33+ cmd = "{} -b {}/usr/sbin".format(cmd, os.environ['SNAP'])
34+
35+ return cmd
36+
37 def _build_proot_command(self):
38 proot_cmd = shutil.which('proot')
39 if not proot_cmd:

Subscribers

People subscribed via source and target branches