Merge lp:~mvo/click/lp1394256-run-user-hooks-on-remove-too into lp:click/devel

Proposed by Michael Vogt
Status: Merged
Merged at revision: 553
Proposed branch: lp:~mvo/click/lp1394256-run-user-hooks-on-remove-too
Merge into: lp:click/devel
Prerequisite: lp:~mvo/click/lp1394256-run-user-hooks
Diff against target: 68 lines (+29/-7)
1 file modified
lib/click/user.vala (+29/-7)
To merge this branch: bzr merge lp:~mvo/click/lp1394256-run-user-hooks-on-remove-too
Reviewer Review Type Date Requested Status
click hackers Pending
Review via email: mp+243812@code.launchpad.net

This proposal supersedes a proposal from 2014-12-05.

Description of the change

This branch runs the click remove user hooks for all logged in users.
Based on lp:~mvo/click/lp1394256-run-user-hooks

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'lib/click/user.vala'
--- lib/click/user.vala 2014-12-05 15:11:52 +0000
+++ lib/click/user.vala 2014-12-05 15:11:52 +0000
@@ -612,13 +612,13 @@
612612
613 // run user hooks for all logged in users613 // run user hooks for all logged in users
614 if (name == ALL_USERS)614 if (name == ALL_USERS)
615 run_user_hooks_for_all_logged_in_users (package, old_version, version);615 run_user_install_hooks_for_all_logged_in_users (package, old_version, version);
616 }616 }
617617
618 private void618 private string[]
619 run_user_hooks_for_all_logged_in_users (string package, string? old_version,619 get_logged_in_users()
620 string version) throws IOError
621 {620 {
621 string[] logged_in_users = {};
622 try {622 try {
623 LogindManager logind = Bus.get_proxy_sync (623 LogindManager logind = Bus.get_proxy_sync (
624 BusType.SYSTEM,624 BusType.SYSTEM,
@@ -630,14 +630,32 @@
630 // FIXME: ideally we would read from /etc/adduser.conf630 // FIXME: ideally we would read from /etc/adduser.conf
631 if(user.uid >= 1000 && user.uid <= 30000)631 if(user.uid >= 1000 && user.uid <= 30000)
632 {632 {
633 package_install_hooks (db, package,633 logged_in_users += user.name;
634 old_version, version, user.name);
635 }634 }
636 }635 }
637 } catch (Error e) {636 } catch (Error e) {
638 warning ("Can not connect to logind");637 warning ("Can not connect to logind");
639 return;
640 }638 }
639 return logged_in_users;
640 }
641
642 private void
643 run_user_install_hooks_for_all_logged_in_users (string package,
644 string? old_version,
645 string version) throws IOError
646 {
647 foreach (string username in get_logged_in_users())
648 package_install_hooks (db, package,
649 old_version, version, username);
650 }
651
652 private void
653 run_user_remove_hooks_for_all_logged_in_users (string package,
654 string old_version) throws IOError
655 {
656 foreach (string username in get_logged_in_users())
657 package_remove_hooks (db, package,
658 old_version, username);
641 }659 }
642660
643 private bool661 private bool
@@ -730,6 +748,10 @@
730748
731 if (! is_pseudo_user)749 if (! is_pseudo_user)
732 package_remove_hooks (db, package, old_version, name);750 package_remove_hooks (db, package, old_version, name);
751
752 // run user hooks for all logged in users
753 if (name == ALL_USERS)
754 run_user_remove_hooks_for_all_logged_in_users (package, old_version);
733 }755 }
734756
735 /**757 /**

Subscribers

People subscribed via source and target branches

to all changes: