Commit Graph

95 Commits

Author SHA1 Message Date
Fabio Erculiani 4c20a308f4 [RigoDaemon] always spawn dbus signals from the MainThread 2012-04-03 18:04:04 +02:00
Fabio Erculiani 316893517d [RigoDaemon] add free disk space checks before starting to install 2012-04-03 14:59:01 +02:00
Fabio Erculiani 4dcafcbc1d [RigoDaemon] fix a bunch of undefined references 2012-04-03 14:58:41 +02:00
Fabio Erculiani 98742665a5 [RigoDaemon] fix undefined reference 2012-04-02 21:43:47 +02:00
Fabio Erculiani 759fe17059 [RigoDaemon] implement custom MultipleUrlFetcher 2012-04-02 21:35:16 +02:00
Fabio Erculiani e0a9a6c0d6 [RigoDaemon] devel-start-daemon.sh: add instructions to run app inside gdb 2012-04-02 21:20:04 +02:00
Fabio Erculiani 16e16f8711 [RigoDaemon] rework polkit auth mechanism to be more responsive and robust 2012-04-02 21:19:31 +02:00
Fabio Erculiani c70420a69d [RigoDaemon] get client PID as soon as possible in order to avoid SIGSEGV 2012-04-02 20:19:50 +02:00
Fabio Erculiani f716248e91 [RigoDaemon] wrap the dbus service executable around a script, source /etc/env.d/02locale 2012-04-02 15:18:53 +02:00
Fabio Erculiani e6fa2fb1cf [RigoDaemon] automatically shutdown on executable change 2012-04-02 14:09:21 +02:00
Fabio Erculiani 2d3def6d44 [RigoDaemon] get client PID from DBus and use it with PolicyKit auth mechanism 2012-04-01 19:06:40 +02:00
Fabio Erculiani 0640d7ee43 [RigoDaemon] enable daemon logging by default 2012-04-01 19:05:46 +02:00
Fabio Erculiani 3a43bb7e13 [RigoDaemon] integrate with build system 2012-04-01 01:18:30 +02:00
Fabio Erculiani 610cdec16a [RigoDaemon] override the default gettext domain, set it to "rigo" 2012-03-31 20:03:16 +02:00
Fabio Erculiani 76a5a326e9 [RigoDaemon] respawn System Upgrade if more updates are available
Also introducing restarting_system_upgrade() signal.
2012-03-31 18:13:45 +02:00
Fabio Erculiani 64a0665db7 [RigoDaemon] trivial: send message to debug 2012-03-31 16:51:30 +02:00
Fabio Erculiani 776933daba [RigoDaemon] add unsupported_applications() signal
This signal is raised after a System Upgrade when Applications
no longer supported by us are found on the Installed Apps Repository
2012-03-31 12:56:35 +02:00
Fabio Erculiani f193f44f0d [RigoDaemon] acquire exclusive lock after polkit auth request (to avoid UI lag) 2012-03-30 20:54:28 +02:00
Fabio Erculiani e35b225d26 [Rigo/RigoDaemon] implement basic support to System Upgrade 2012-03-30 17:15:56 +02:00
Fabio Erculiani 34ee151d9a [Rigo/RigoDaemon] implement Application removal support 2012-03-30 07:13:25 +02:00
Fabio Erculiani 96842e5043 [RigoDaemon] always write debug messages to stdout 2012-03-29 19:08:16 +02:00
Fabio Erculiani 3c5f2bf8b6 [Rigo/RigoDaemon] move authentication in RigoDaemon's security domain 2012-03-29 18:57:27 +02:00
Fabio Erculiani 59b0aae5b1 [Rigo/RigoDaemon] complete initial application install implementation 2012-03-29 13:33:31 +02:00
Fabio Erculiani f07e53c597 [RigoDaemon] implement stdout and stderr redirection to Rigo 2012-03-27 19:24:21 +02:00
Fabio Erculiani 0c506f5164 [RigoDaemon/Rigo] first chunk of App management code (install action only, incomplete) 2012-03-27 18:15:11 +02:00
Fabio Erculiani ee25f790af [Rigo/RigoDaemon] implement transaction state update notifications 2012-03-26 10:00:29 +02:00
Fabio Erculiani 72def71a07 [Rigo/RigoDaemon] implement Application License management 2012-03-25 18:02:54 +02:00
Fabio Erculiani ac8358772e [RigoDaemon] transaction_finished(): return AppTransactionOutcome struct 2012-03-25 11:02:04 +02:00
Fabio Erculiani abdb7dc53f [RigoDaemon] add reload() Dbus method
reload() is going to be used during RigoDaemon package
upgrade to kindly ask the Dbus service to reload itself as soon as
no more clients are connected.
2012-03-24 20:12:29 +01:00
Fabio Erculiani a3d82ff44f [RigoDaemon] expose daemon API version to Rigo 2012-03-24 19:53:08 +01:00
Fabio Erculiani 47b9570224 [Rigo] implement centralized Application transaction state 2012-03-24 16:07:39 +01:00
Fabio Erculiani ef28caff3b [RigoDaemon] reduce fake app management time 2012-03-23 10:03:51 +01:00
Fabio Erculiani 1c8872d610 [RigoDaemon] add action_queue_length() dbus method 2012-03-20 19:43:29 +01:00
Fabio Erculiani b4e9f9f78f [RigoDaemon] fix _busy(), also raise SameError (which is actually expected) 2012-03-20 14:33:02 +01:00
Fabio Erculiani b400b4bfea [RigoDaemon] rename is_exclusive() to exclusive() 2012-03-19 21:32:26 +01:00
Fabio Erculiani 7c132a9bf4 [RigoDaemon] drop text-based UrlFetcher progress output 2012-03-19 21:31:55 +01:00
Fabio Erculiani aa49714d45 [RigoDaemon] simplify ping/pong protocol
Now that Entropy Resources are completely handled by RigoDaemon
in its activity code, there is no need to keep pinging clients
unless SIGUSR2 arrived.
SIGUSR2 signal will be later used to force RigoDaemon shutdown
in case of rigo package updates via Entropy, to avoid having incompatible
RigoDaemon versions running.
2012-03-19 18:51:00 +01:00
Fabio Erculiani 5f63057c05 [Rigo/RigoDaemon] first chunk of code related to Application Management, WIP 2012-03-18 18:32:26 +01:00
Fabio Erculiani efde0c2ec3 [Rigo/RigoDaemon] greatly simplify resource passing rendezvous
Completely move the arbitration to RigoDaemon, making Rigo passively
accepting the former requests.
Moreover, complete support for bottom notification area and start
implementing app management events.
2012-03-18 07:57:57 +01:00
Fabio Erculiani ab0e36a313 [RigoDaemon] move PolicyKit actions to RigoDaemon 2012-03-15 17:42:57 +01:00
Fabio Erculiani 543fbda4f4 [RigoDaemon] implement PolicyKit support 2012-03-15 17:30:15 +01:00
Fabio Erculiani 1affa249ca [RigoDaemon] move dbus configuration to separate module 2012-03-15 15:20:49 +01:00
Fabio Erculiani b2f3bd5b8c [Rigo*] fifth daemon architectural design
- Introduce Activity states and busy(), unbusy() methods to allocate
and deallocate Daemon activities from the Clients, concurrently.

- Tokenize acquire_resources() and release_resources() to filter out
older events. The same token is returned to Clients via signals whenever
it makes sense (repositories_updated() is one of them).

- Implement Repositories Update Activity resume functionality in Rigo.
It is possible to close Rigo during a repo update and reopen it afterwards.
Multiple Rigo instances are allowed as well.

- Implement the ability for RigoDaemon to kindly request Rigo Clients
to release their locks (either shared or exclusive) due to new activity
being scheduled.

All the races and possible deadlocks should be handled correctly,
but due to the actual complexity, only time will tell.
2012-03-14 17:47:34 +01:00
Fabio Erculiani 5d42022464 [RigoDaemon] wait on activity_mutex before releasing resources lock 2012-03-13 23:34:42 +01:00
Fabio Erculiani 6a4da6c261 [rigo] fifth architectural design iteration, things should work now 2012-03-13 16:05:40 +01:00