Merge lp:~townsend/libertine/fix-missing-dbus-env-var into lp:libertine

Proposed by Christopher Townsend
Status: Merged
Approved by: Larry Price
Approved revision: 276
Merged at revision: 275
Proposed branch: lp:~townsend/libertine/fix-missing-dbus-env-var
Merge into: lp:libertine
Diff against target: 50 lines (+20/-7)
1 file modified
tools/update-puritine-containers (+20/-7)
To merge this branch: bzr merge lp:~townsend/libertine/fix-missing-dbus-env-var
Reviewer Review Type Date Requested Status
Larry Price Approve
Libertine CI Bot continuous-integration Approve
Review via email: mp+301291@code.launchpad.net

Commit message

Fix crash where /run/user/$UID/dbus-session doesn't exist when the update-puritine-containers click hook runs.

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

PASSED: Continuous integration, rev:275
https://jenkins.canonical.com/libertine/job/lp-libertine-ci/61/
Executed test runs:
    SUCCESS: https://jenkins.canonical.com/libertine/job/build/211
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=default/171
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=default/171
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=default/171
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=vivid+overlay,testname=default/171
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=xenial+overlay,testname=default/171
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=yakkety,testname=default/171
    None: https://jenkins.canonical.com/libertine/job/lp-generic-update-mp/161/console
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-0-fetch/214
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-1-sourcepkg/release=vivid+overlay/199
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-1-sourcepkg/release=xenial+overlay/199
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-1-sourcepkg/release=yakkety/199
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/192
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/192/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/192
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/192/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=yakkety/192
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=yakkety/192/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/192
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/192/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/192
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/192/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=yakkety/192
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=yakkety/192/artifact/output/*zip*/output.zip

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

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

see inline

review: Needs Information
276. By Christopher Townsend

Put the session DBus check in a function.
Also, only favorite the Libertine Scope is the session DBus env var is set.

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

PASSED: Continuous integration, rev:276
https://jenkins.canonical.com/libertine/job/lp-libertine-ci/62/
Executed test runs:
    SUCCESS: https://jenkins.canonical.com/libertine/job/build/212
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=default/172
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=default/172
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=default/172
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=vivid+overlay,testname=default/172
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=xenial+overlay,testname=default/172
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=yakkety,testname=default/172
    None: https://jenkins.canonical.com/libertine/job/lp-generic-update-mp/162/console
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-0-fetch/215
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-1-sourcepkg/release=vivid+overlay/200
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-1-sourcepkg/release=xenial+overlay/200
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-1-sourcepkg/release=yakkety/200
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/193
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/193/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/193
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/193/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=yakkety/193
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=yakkety/193/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/193
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/193/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/193
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/193/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=yakkety/193
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=yakkety/193/artifact/output/*zip*/output.zip

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

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

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tools/update-puritine-containers'
2--- tools/update-puritine-containers 2016-07-18 21:00:04 +0000
3+++ tools/update-puritine-containers 2016-07-27 15:52:25 +0000
4@@ -29,6 +29,22 @@
5 puritine_symlink_farm_file = os.path.join(puritine_hook_dir, 'PuritineSymlinkFarm.json')
6 puritine_click_config_file = os.path.join('libertine-config', 'libertine', 'ContainersConfig.json')
7
8+def set_session_dbus_env_var():
9+ if not 'DBUS_SESSION_BUS_ADDRESS' in os.environ:
10+ dbus_session_path = os.path.join('/', 'run', 'user', str(os.getuid()), 'dbus-session')
11+
12+ if os.path.exists(dbus_session_path):
13+ with open(dbus_session_path, 'r') as fd:
14+ dbus_session_str = fd.read()
15+
16+ os.environ['DBUS_SESSION_BUS_ADDRESS'] = dbus_session_str.partition('DBUS_SESSION_BUS_ADDRESS=')[2].rstrip('\n')
17+
18+ return True
19+ else:
20+ return False
21+
22+ return True
23+
24 def symlink_farm_entries_count():
25 if (puritine_symlink_farm_list and
26 puritine_symlink_farm_list['customContainers']):
27@@ -152,11 +168,7 @@
28
29 if __name__ == '__main__':
30 puritine_symlink_farm_list = {}
31-
32- with open(os.path.join('/', 'run', 'user', str(os.getuid()), 'dbus-session'), 'r') as fd:
33- dbus_session_str = fd.read()
34-
35- os.environ['DBUS_SESSION_BUS_ADDRESS'] = dbus_session_str.partition('DBUS_SESSION_BUS_ADDRESS=')[2].rstrip('\n')
36+ update_libertine_scope = set_session_dbus_env_var()
37
38 if not os.path.exists(puritine_hook_dir):
39 os.makedirs(puritine_hook_dir)
40@@ -179,7 +191,8 @@
41 json.dump(puritine_symlink_farm_list, fd, sort_keys=True, indent=4)
42 fd.write('\n')
43
44- if count_at_start == 0 and count_at_finish > 0:
45+ if count_at_start == 0 and count_at_finish > 0 and update_libertine_scope:
46 favorite_libertine_scope()
47
48- libertine.utils.refresh_libertine_scope()
49+ if update_libertine_scope:
50+ libertine.utils.refresh_libertine_scope()

Subscribers

People subscribed via source and target branches