Commit Graph

9601 Commits

Author SHA1 Message Date
Fabio Erculiani
6ada5a9c5c [Rigo] AppDetails: add fullname property returning package atom 2012-03-31 12:56:03 +02:00
Fabio Erculiani
aed0867d6e [Rigo] fix typo in method name 2012-03-31 12:49:11 +02:00
Fabio Erculiani
be95f30356 [equo] make use of Client.calculate_orphaned_packages() 2012-03-31 12:01:29 +02:00
Fabio Erculiani
374845e913 [entropy.client] introduce Client.calculate_orphaned_packages()
This method has been introduced in order to remove this calculation
logic from Sulfur, Equo and RigoDaemon that resulted in unwanted
code duplication.
2012-03-31 11:59:21 +02:00
Fabio Erculiani
c3bba9a10d [Rigo] ReadersWritersSemaphore is not reentrant for readers
Nested acquire_reader() calls can cause deadlock in this scenario:

Thread 1 calls acquire_reader() twice (or more)
Thread 2 calls acquire_writer() once
2012-03-31 11:12:08 +02:00
Fabio Erculiani
7829eee1dc [todo] update TODO 2012-03-30 21:00:33 +02:00
Fabio Erculiani
56264f3a40 [Rigo] remove activity_rwsem usage from updates calculation code (experimental) 2012-03-30 20:58:43 +02:00
Fabio Erculiani
790f212121 [Rigo] several misc bugfixes related to recent code dump 2012-03-30 20:55:53 +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
0cfbd6a3bc [todo] update TODO 2012-03-30 18:06:45 +02:00
Fabio Erculiani
fe5e723d8a [Rigo] implement License management code for System Upgrade activity 2012-03-30 18:05:54 +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
154d038b7f [todo] update TODO 2012-03-29 19:44:35 +02:00
Fabio Erculiani
e6b24784ba [Rigo] notify user about apps being removed due to conflict 2012-03-29 19:43:14 +02:00
Fabio Erculiani
b62e46abfc [Rigo] fixup several undefined references (thanks pylint)
Did I mention I hate Python?
2012-03-29 19:42:29 +02:00
Fabio Erculiani
b928757e57 [todo] update TODO 2012-03-29 19:08:36 +02:00
Fabio Erculiani
96842e5043 [RigoDaemon] always write debug messages to stdout 2012-03-29 19:08:16 +02:00
Fabio Erculiani
1084359821 [entropy.const] const_debug_write: make posible to write to arbitrary files 2012-03-29 19:07:23 +02:00
Fabio Erculiani
3c5f2bf8b6 [Rigo/RigoDaemon] move authentication in RigoDaemon's security domain 2012-03-29 18:57:27 +02:00
Fabio Erculiani
892a2d5eae [Rigo] during App management, show the remaining enqueue actions 2012-03-29 13:51:11 +02:00
Fabio Erculiani
59b0aae5b1 [Rigo/RigoDaemon] complete initial application install implementation 2012-03-29 13:33:31 +02:00
Fabio Erculiani
ada9d15f68 [Rigo] if --dumper is passed, test main thread health status before dumping threads state 2012-03-28 23:35:32 +02:00
Fabio Erculiani
1dcff4ce0a [entropy.client.interfaces.package] better handle download when network is unavailable
When network is unavailable, the package file fetch function returns an error
whilst the file itself has been completely and successfully downloaded already.
With this commit it is ensured that the event is correctly handled.
2012-03-28 23:21:31 +02:00
Fabio Erculiani
e25ebbb59e [entropy.const] dump_signal: print stack variables if extended=True 2012-03-28 23:14:43 +02:00
Fabio Erculiani
0e3b18be2f [entropy.client] only setup differential download when edelta support is available 2012-03-28 18:24:49 +02:00
Fabio Erculiani
940b99b656 [entropy.client] trivial code style update 2012-03-28 18:23:54 +02:00
Fabio Erculiani
1b7ad171df [todo] update TODO 2012-03-27 19:25:35 +02:00
Fabio Erculiani
f07e53c597 [RigoDaemon] implement stdout and stderr redirection to Rigo 2012-03-27 19:24:21 +02:00
Fabio Erculiani
3ee2e5cd56 [todo] update TODO 2012-03-27 18:27:45 +02:00
Fabio Erculiani
da1a55a57f [Rigo] add app removal simulation cheatcode 2012-03-27 18:27:23 +02:00
Fabio Erculiani
b58d1164c1 [todo] update TODO 2012-03-27 18:16:42 +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
4c954a9194 [entropy.client] _lock_resource: always increase lock reference count
Entropy Resouce Locks are reentrant, thus reference counted on lock()
and unlock() operations. For this reason, the counter must be increased
on every lock() request. This did not happen if the lock was already
held by the process with the unwanted effect of improperly releasing it.
This caused the "Calculating dependencies" glitch on each package
transaction.
2012-03-26 14:03:43 +02:00
Fabio Erculiani
a20d8da868 [Rigo] ask for exit confirmation when there is local activity 2012-03-26 13:46:12 +02:00
Fabio Erculiani
c659d4cbb4 [Rigo] dump threads every 30 seconds if --dumper is passed 2012-03-26 10:11:58 +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
794e3a9134 [todo] update TODO 2012-03-24 20:15:07 +01: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
f2f58e8616 [Rigo] list Application dependencies in App View 2012-03-24 17:30:46 +01:00
Fabio Erculiani
228e0a7da1 [entropy.db] add EntropyRepository.retrieveRuntimeDependencies() 2012-03-24 17:29:41 +01:00
Fabio Erculiani
d1965b71ac [Rigo] show installed Application version if available 2012-03-24 16:35:12 +01:00
Fabio Erculiani
47b9570224 [Rigo] implement centralized Application transaction state 2012-03-24 16:07:39 +01:00
Fabio Erculiani
dd46c23b20 [entropy.spm] PortagePlugin.add_installed_package: make sure to always run os.utime 2012-03-23 10:35:47 +01:00
Fabio Erculiani
99b20257a4 [entropy.client] handle _repodb_cache atomically
This prevents close_repositories() and _open_repository()
to concurrently mess with _repodb_cache, which is a dict, thus
not thread-safe.
2012-03-23 10:14:06 +01:00
Fabio Erculiani
115988a08c [entropy.client,entropy.server] drop __del__(), can be racey 2012-03-23 10:13:01 +01:00
Fabio Erculiani
d465bb56e2 [entropy.db] EntropyRepository: use RLock() to handle connection pooling
This is much safer than being fault tolerant and shouldn't have any
tangible impact on performance
2012-03-23 10:07:48 +01:00