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
=== modified file 'tools/update-puritine-containers'
--- tools/update-puritine-containers 2016-07-18 21:00:04 +0000
+++ tools/update-puritine-containers 2016-07-27 15:52:25 +0000
@@ -29,6 +29,22 @@
29puritine_symlink_farm_file = os.path.join(puritine_hook_dir, 'PuritineSymlinkFarm.json')29puritine_symlink_farm_file = os.path.join(puritine_hook_dir, 'PuritineSymlinkFarm.json')
30puritine_click_config_file = os.path.join('libertine-config', 'libertine', 'ContainersConfig.json')30puritine_click_config_file = os.path.join('libertine-config', 'libertine', 'ContainersConfig.json')
3131
32def set_session_dbus_env_var():
33 if not 'DBUS_SESSION_BUS_ADDRESS' in os.environ:
34 dbus_session_path = os.path.join('/', 'run', 'user', str(os.getuid()), 'dbus-session')
35
36 if os.path.exists(dbus_session_path):
37 with open(dbus_session_path, 'r') as fd:
38 dbus_session_str = fd.read()
39
40 os.environ['DBUS_SESSION_BUS_ADDRESS'] = dbus_session_str.partition('DBUS_SESSION_BUS_ADDRESS=')[2].rstrip('\n')
41
42 return True
43 else:
44 return False
45
46 return True
47
32def symlink_farm_entries_count():48def symlink_farm_entries_count():
33 if (puritine_symlink_farm_list and49 if (puritine_symlink_farm_list and
34 puritine_symlink_farm_list['customContainers']):50 puritine_symlink_farm_list['customContainers']):
@@ -152,11 +168,7 @@
152168
153if __name__ == '__main__':169if __name__ == '__main__':
154 puritine_symlink_farm_list = {}170 puritine_symlink_farm_list = {}
155171 update_libertine_scope = set_session_dbus_env_var()
156 with open(os.path.join('/', 'run', 'user', str(os.getuid()), 'dbus-session'), 'r') as fd:
157 dbus_session_str = fd.read()
158
159 os.environ['DBUS_SESSION_BUS_ADDRESS'] = dbus_session_str.partition('DBUS_SESSION_BUS_ADDRESS=')[2].rstrip('\n')
160172
161 if not os.path.exists(puritine_hook_dir):173 if not os.path.exists(puritine_hook_dir):
162 os.makedirs(puritine_hook_dir)174 os.makedirs(puritine_hook_dir)
@@ -179,7 +191,8 @@
179 json.dump(puritine_symlink_farm_list, fd, sort_keys=True, indent=4)191 json.dump(puritine_symlink_farm_list, fd, sort_keys=True, indent=4)
180 fd.write('\n')192 fd.write('\n')
181193
182 if count_at_start == 0 and count_at_finish > 0:194 if count_at_start == 0 and count_at_finish > 0 and update_libertine_scope:
183 favorite_libertine_scope()195 favorite_libertine_scope()
184196
185 libertine.utils.refresh_libertine_scope()197 if update_libertine_scope:
198 libertine.utils.refresh_libertine_scope()

Subscribers

People subscribed via source and target branches