Commit Graph

177 Commits

Author SHA1 Message Date
Fabio Erculiani f1a925c220 [solo.commands.install] acquire the notification lock in shared NB mode
This should avoid starvation in the scenario outlined in code comments.
2013-12-26 22:52:12 +01:00
Fabio Erculiani 00f43b043c [solo.commands.install] acquire the UpdatesNotificationResourceLock in shared mode
This will temporarily disable available updates notifications from
RigoDaemon
2013-12-26 22:52:12 +01:00
Fabio Erculiani beff483d19 [solo.commands] remove leading ">>" string from ask_question() message. 2013-12-16 19:53:11 +01:00
Fabio Erculiani 3e528ae1ae [solo.commands.*] rename call_unlocked to call_shared, call_locked to call_exclusive 2013-12-12 22:15:47 +01:00
Fabio Erculiani 162c08961f [solo.utils] use the public message header variable 2013-12-12 19:27:19 +01:00
Fabio Erculiani fc597d04c5 [entropy.security] refactor System, add internal locking support, improve speed 2013-12-10 16:39:17 +01:00
Fabio Erculiani ebf63e6060 [entropy.locks] fix shared/exclusive locking mix due to reentrancy, add tests 2013-12-08 16:15:39 +01:00
Fabio Erculiani 1917771b54 [entropy.locks] move Entropy Resources Lock code to a separate module 2013-12-08 14:37:57 +01:00
Fabio Erculiani 76df355ca4 [solo.commands.pkg] add concurrency support 2013-12-07 20:30:06 +01:00
Fabio Erculiani 53b5d9cddc [solo.commands.unused] add concurrency support 2013-12-07 20:30:06 +01:00
Fabio Erculiani e0142412d8 [solo.commands.mask] acquire the Entropy Resources Lock in shared mode 2013-12-07 20:30:06 +01:00
Fabio Erculiani 25d88d95b6 [solo.commands.conf] acquire the Entropy Resources Lock in shared mode 2013-12-07 20:30:06 +01:00
Fabio Erculiani 9298c740fe [solo.commands.ugc] acquire the Entropy Resources Lock in shared mode 2013-12-07 20:30:06 +01:00
Fabio Erculiani c8a0377845 [solo.commands.cache] add concurrency support 2013-12-07 20:29:20 +01:00
Fabio Erculiani e7555f4127 [solo.commands.manage] allow concurrency, use the Entropy Resources Lock in shared mode 2013-12-07 20:29:19 +01:00
Fabio Erculiani 19439db61c [solo.commands.security] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 13af91c7ba [solo.commands.libtest] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani e317a71524 [solo.commands.deptest] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani f4a25af5d0 [solo.commands.upgrade] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 5dfcdb2794 [solo.commands.remove] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 3e97a39779 [solo.commands.preservedlibs] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 008b65d11b [solo.commands.download] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 55d1b8aa8f [solo.commands.source] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 7046aedc52 [solo.commands.config] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani ac0e1ca28e [solo.commands._manage] make _show_preserved_libraries process and thread safe 2013-12-07 20:29:19 +01:00
Fabio Erculiani 24993db8bb [solo.commands.remove] remove _prompt_removal(), old heritage 2013-12-07 20:29:19 +01:00
Fabio Erculiani 87ef9a169d [solo.commands.install] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 72069d4227 [solo.commands._manage] remove _show_packages_info(), old heritage 2013-12-07 20:29:19 +01:00
Fabio Erculiani 5094085916 [solo.commands.query] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani fc686c9c09 [solo.commands.match] use the sharedlock decorator 2013-12-07 20:29:19 +01:00
Fabio Erculiani 7b0dbac6eb [solo.commands.search] use the sharedlock decorator 2013-12-07 20:29:19 +01:00
Fabio Erculiani 6b3f25a8ef [solo.commands.command] add sharedlock and exclusivelock decorators 2013-12-07 20:29:19 +01:00
Fabio Erculiani 20a3cc3525 [solo.commands.query] rename entropy_repository to inst_repo for consistency 2013-12-07 20:29:18 +01:00
Fabio Erculiani 532c71261b [solo.utils] print_package_info: improve ability to deal with stale data 2013-12-07 20:29:18 +01:00
Fabio Erculiani d5d5ef11ea [solo.commands.match] add concurrency support 2013-12-07 20:29:18 +01:00
Fabio Erculiani b0c85ffcce [solo.commands.search] do not hold the inst_repo lock while using stdio functions
print_package_info is already able to deal with stale data and we
better not deadlock other threads or processes there.
2013-12-07 20:29:18 +01:00
Fabio Erculiani aa30310ae2 [solo.commands.search] add concurrency support 2013-12-07 20:29:18 +01:00
Fabio Erculiani 1a8c291ae0 [solo.commands.query] acquire the Entropy Resources General Lock in shared mode 2013-12-07 20:29:18 +01:00
Fabio Erculiani c26b8fb971 [solo.commands.command] use the Entropy class object to acquire the Entropy Resources Lock 2013-12-05 22:14:18 +01:00
Fabio Erculiani 82b85704ce [entropy.output] make TextInterface methods classmethods
This makes possible to fix a circular dependency in the Entropy
Resources Lock management methods
2013-12-05 21:36:30 +01:00
Fabio Erculiani 57918399e4 [solo.commands.manage] inform user about preserved libraries 2013-11-27 19:05:24 +01:00
Fabio Erculiani c459d63fcc [client] translate file paths on "equo remove" to packages.
"equo remove /usr/bin/k3b" will remove app-cdr/k3b
2013-11-27 18:29:03 +01:00
Fabio Erculiani fe649e5f2b [solo.commands.preservedlibs] drop atom argument from PreservedLibs() 2013-11-27 17:36:24 +01:00
Fabio Erculiani 7cd5228b3a [solo.commands.preservedlibs] inform user about libraries owned by packages in gc 2013-11-27 17:27:39 +01:00
Fabio Erculiani 9d733afefb [solo.commands.preservedlibs] drop unused imports 2013-11-27 17:27:23 +01:00
Fabio Erculiani b548f4b357 [solo.commands.preservedlibs] add new command "preservedlibs" 2013-11-27 12:51:16 +01:00
Fabio Erculiani f10b9341f9 [client] migrate solo to the new PackageActionFactory API 2013-11-23 13:53:40 +01:00
Fabio Erculiani 08e4b487bf [entropy.db] API change, handlePackage(forcedRevision -> revision) 2013-11-18 15:09:28 +01:00
Fabio Erculiani 594656e03d [solo] try to append a category to package names in case of no match
When matching strings like "entropy" against the available packages
repositories, entropy may not be able to find the right package due
to name collisions (packages with same name and different categories).
So, try to guess the category part by looking at the installed packages
repository.
2013-10-24 11:16:17 +02:00
Fabio Erculiani 4313baf4b6 [solo.utils] enlightenatom: add slot substring support 2013-10-11 16:16:46 +02:00