Commit Graph

10886 Commits

Author SHA1 Message Date
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 ecb0914084 [Rigo] add "in:exact" command to allow users to match packages, use it for lts kernels 2013-12-07 20:30:06 +01:00
Fabio Erculiani b7eeb5ce8a [Rigo] use context manager with Entropy.rwsem() 2013-12-07 20:30:06 +01:00
Fabio Erculiani 7378906396 [entropy.misc] ReadersWritersSemaphore: add reader() and writer() context managers 2013-12-07 20:29:20 +01:00
Fabio Erculiani 68f5fd0320 [entropy.client] Trigger: lazily load the Source Package Manager instance object 2013-12-07 20:29:20 +01:00
Fabio Erculiani 6af6a2115e [entropy.client] move Trigger class under package.actions, make it "private" 2013-12-07 20:29:20 +01:00
Fabio Erculiani c8a0377845 [solo.commands.cache] add concurrency support 2013-12-07 20:29:20 +01:00
Fabio Erculiani 818f96fdf7 [entropy.db.sqlite] increase sqlite3 internal lock timeout to 60 seconds 2013-12-07 20:29:20 +01:00
Fabio Erculiani 8c73f9b24c [matter] lazily load the Entropy Server instance object 2013-12-07 20:29:19 +01:00
Fabio Erculiani b886d7e3fc [matter] use Server class with acquire_entropy_locks 2013-12-07 20:29:19 +01:00
Fabio Erculiani 0725612508 [kernel-switcher] use Client class with acquire_entropy_locks 2013-12-07 20:29:19 +01:00
Fabio Erculiani 6e81d188c3 [kernel-switcher] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani a8fcfd7b15 [kswitch] add concurrency support 2013-12-07 20:29:19 +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 9c38af6a34 [entropy.security] document installed repository lock usage requirements
entropy.Security will undergo a complete overhaul in the next months.
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 53a1b117ae [entropy.client.package] preservedlibs: update API documentation 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 1c7b684aa4 [entropy.client.misc] make ConfigurationFiles process and thread safe wrt inst_repo 2013-12-07 20:29:19 +01:00
Fabio Erculiani 2393f5dda2 [entropy.client] update API documentation with information regarding repository locking 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 d802bb8186 [entropy.db.skel] clarify the cases where locking could be avoided 2013-12-07 20:29:18 +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 fa68f56545 [entropy.client.package.actions] install: pass remove_package_id to _install_package_unlocked 2013-12-07 20:29:18 +01:00
Fabio Erculiani 95c69168c5 [entropy.db.sqlite] make possible to acquire the repository lock file in shared mode by users 2013-12-07 20:29:18 +01:00
Fabio Erculiani 86b25739c7 [entropy.client.package.actions] remove: add concurrency support 2013-12-07 20:29:18 +01:00
Fabio Erculiani e6e020e404 [entropy.client.package.actions] _manage: move _get_remove_trigger_data() here 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 8111284a4f [entropy.client.package.actions] config: add concurrency support 2013-12-07 20:29:18 +01:00
Fabio Erculiani 12e4c4a7a3 [entropy.client.package.actions] install: rewrite lock handling
This is a complete rewrite of the PackageInstallAction class, due to
potentially state data collected on setup() that should be rather
collected with the lock held for the whole install transaction.
2013-12-07 20:29:18 +01:00