Commit Graph

371 Commits

Author SHA1 Message Date
Fabio Erculiani fa35eadf47 [entropy.fetchers] do not generate two separate requests per download
It has been discovered that each download() call (urllib handler)
caused the code to generate two separete HTTP requests for the same
URL. This commit hopefully fixes it without causing any regression
2012-07-23 19:20:29 +02:00
Fabio Erculiani ef64634def [entropy.dump] dumpobj: use temporary files, fixes possible races when MT 2012-07-23 15:47:19 +02:00
Fabio Erculiani f301ae60c7 [entropy.graph] Graph: drop __del__ (just use destroy() instead) to help automatic GC 2012-07-23 13:10:49 +02:00
Fabio Erculiani 61950f3af0 [entropy.client.interfaces.db] sort added list to improve determinism (good for caches) 2012-07-23 13:08:25 +02:00
Fabio Erculiani e8c6af8331 [entropy.misc] LogFile: remove __del__ 2012-07-23 13:08:00 +02:00
Fabio Erculiani defb58574d [entropy.cache] EntropyCacher: remove __del__ 2012-07-23 13:07:51 +02:00
Fabio Erculiani db5265e3d5 [entropy.client.package] use retrieveContentIter() 2012-07-23 00:29:27 +02:00
Fabio Erculiani a1c5e2bc12 [entropy.db] introduce retrieveContentIter() 2012-07-23 00:29:11 +02:00
Fabio Erculiani ce4d28ef47 [entropy.client] if xcache=False, force EntropyCacher "stashing cache" to OFF 2012-07-22 19:59:37 +02:00
Fabio Erculiani 9472978e60 [entropy.cache] EntropyCacher: make possible to disable the "stashing cache" at runtime 2012-07-22 19:44:18 +02:00
Fabio Erculiani ae94f49e79 Release Entropy 1.0_rc126 2012-07-20 12:59:20 +02:00
Fabio Erculiani dc27444749 [entropy.server] use Server.repositories() 2012-07-19 21:10:26 +02:00
Fabio Erculiani 499aee4feb [entropy.server] automatically cleanup the list of trashed SPM UIDs
This commit tries to safely reduce the amount of entries inside the
Trashed SPM UIDs table. At least, the entries are now kept under
control.
2012-07-19 21:09:10 +02:00
Fabio Erculiani 2f9fafc128 [entropy.db] EntropyRepository: create index for trashedcounters 2012-07-19 21:08:38 +02:00
Fabio Erculiani 3dc413e80f [entropy.server] fix typo in comment 2012-07-19 20:59:48 +02:00
Fabio Erculiani b9b5157817 [entropy.server] resolve_spm_package_uid() already returns int() 2012-07-19 20:49:31 +02:00
Fabio Erculiani c2c0787169 [entropy.spm] PortagePlugin: resolve_spm_package_uid() must return int 2012-07-19 20:48:53 +02:00
Fabio Erculiani 8b5606ea06 [entropy.server] use resolve_spm_package_uid() 2012-07-19 20:27:47 +02:00
Fabio Erculiani 00a3d87b7d [entropy.spm] PortagePlugin: add resolve_spm_package_uid() 2012-07-19 20:27:15 +02:00
Fabio Erculiani 5a0d8cf7f5 [entropy.db] add removeTrashedUids() and listAllTrashedSpmUids() methods 2012-07-19 20:10:52 +02:00
Fabio Erculiani 749e3ff29d [entropy.client] do not remove current repository database before download
As reported in bug #3495, do not remove the old repository database
file before validating the download outcome (UrlFetcher download
result)
2012-07-17 11:12:40 +02:00
Fabio Erculiani 60d4de50e7 [entropy.client] change error string
"repository does not exist online" is for some people confusing,
better saying "cannot download the repository".
2012-07-17 10:53:56 +02:00
Fabio Erculiani ece0b58858 [entropy.client] remove orphan function 2012-07-17 10:51:38 +02:00
Fabio Erculiani 60fce6a94b Release Entropy 1.0_rc125 2012-07-16 10:40:35 +02:00
Fabio Erculiani 0ce6633733 [entropy.client] add public method: close_installed_repository() 2012-07-14 16:05:50 +02:00
Fabio Erculiani 9b673fad9b [entropy.output] fix is_stdout_a_tty when sys.stdout has no fileno() 2012-07-07 18:15:34 +02:00
Fabio Erculiani 89713f2528 Release Entropy 1.0_rc124 2012-07-07 14:11:58 +02:00
Fabio Erculiani 0e54ec96ec Revert "[entropy.server] keep repo closed during early init stages"
This reverts commit 4c8d6c74e3.
It is no longer needed.
2012-07-07 14:05:57 +02:00
Fabio Erculiani a312a6146e [entropy.server] reimplement connection pooling
This commit should hopefully fix any deadlock reported in
Entropy Server due to weird sqlite3 behaviours when multiple
idle connections are open on the same file
2012-07-07 13:58:25 +02:00
Fabio Erculiani b8976f4c0c [entropy.db] EntropyRepository: expose connection and cursor pools
This commit makes possible for subclasses to reimplement the
connection and cursor pool logic.
2012-07-07 13:29:29 +02:00
Fabio Erculiani 017f2b162c [entropy.db] EntropyRepository: hold __connlock during pool setup
This commit ensures that __connlock is held during the whole
__cursor_cache and __connection_cache initialization. This avoids
any possible race condition, especially on dbapi2.connect() which
could cause weird random anomalies
2012-07-07 09:34:21 +02:00
Fabio Erculiani 9d2b329836 Release Entropy 1.0_rc123 2012-07-06 21:43:31 +02:00
Fabio Erculiani 4c8d6c74e3 [entropy.server] keep repo closed during early init stages 2012-07-06 21:30:22 +02:00
Fabio Erculiani 15349565a9 [entropy.*] rework EntropyRepository.commit() usage
Using the new baseinfo/extrainfo SCHEMA, several deadlocks were
found when using Eit (thus Entropy Server), due to aggressive
sqlite3 object caching.
This commit removes almost every implicit commit() call from the
EntropyRepository code, forcing the caller to properly handle
transactions. This will hopefully fix any deadlock problem observed
inside our chroots.
2012-07-06 21:10:56 +02:00
Fabio Erculiani 01a8f3e586 Release Entropy 1.0_rc122 2012-07-02 23:41:31 +02:00
Fabio Erculiani fb5cb00b9d [entropy.db] make sure to commit() at the end of createAllIndexes()
It has been found that with the new baseinfo, extrainfo SCHEMA,
createAllIndexes() deadlocks at the ANALYZE statement. Committing
any previous transaction before calling ANALYZE fixes the issue.
2012-07-02 23:40:03 +02:00
Fabio Erculiani 703f2ff929 Release Entropy 1.0_rc121 2012-07-02 11:47:09 +02:00
Fabio Erculiani 853359c208 [entropy.client] make sure to drop any reference to disabled repo when enabling 2012-06-28 15:47:24 +02:00
Fabio Erculiani 18f422a680 [entropy.client] bump configuration file mtime when enabling/disabling repositories
This is useful for any mtime-based cache around. os.rename() doesn't
affect mtime.
2012-06-28 15:46:07 +02:00
Fabio Erculiani 83c69da974 [entropy.core] SystemSettings: remove mtime cache for repositories.conf.*
The code only checked for repositories.conf mtime, completely ignoring
any mtime change inside repositories.conf.d/. Drop for now.
2012-06-28 15:45:09 +02:00
Fabio Erculiani a1ba8b983a enable baseinfo-extrainfo-2010 database schema by default
After 2 years, we are ready to enable it by default
2012-06-21 11:47:59 +02:00
Fabio Erculiani 1f83831ed8 ignore hidden files when generating the SPM config files list 2012-06-21 11:47:55 +02:00
Fabio Erculiani 979369d5d5 [entropy.spm] add support for ENTROPY_*DEPEND variables inside ebuilds 2012-06-10 12:28:47 +02:00
Fabio Erculiani 595d5ed7c4 Release Entropy 1.0_rc120 2012-06-06 14:54:21 +02:00
Fabio Erculiani 959abae8b2 Release Entropy 1.0_rc119 2012-06-04 12:12:46 +02:00
Fabio Erculiani 859cb562ed [entropy.spm] PortagePlugin: rewrite _bump_vartree_mtime(), fix Portage cache corruption
It has been found that pkg vdb entry mtime was not properly updated,
which resulted in the following Portage cache corruption:

>>> Auto-cleaning packages...
portage: COUNTER for net-libs/gnutls-2.12.18 was corrupted; resetting to value of 0
2012-06-04 12:09:13 +02:00
Fabio Erculiani 8da07e1f03 Release Entropy 1.0_rc118 2012-06-03 23:15:30 +02:00
Fabio Erculiani 1e4718de7a Release Entropy 1.0_rc117 2012-05-28 15:46:27 +02:00
Fabio Erculiani 44d6c0a9de [entropy.client] Package: always create image/ directory before uncompress_tarball
Packages not providing any file don't get the image/ directory created
by uncompress_tarball, resulting in Portage pkg_preinst code to complain
about that, with something like:

  $ find: `/var/tmp/entropy/.../c++-tr1-functional-0/image/': No such file or directory
2012-05-24 12:14:49 +02:00
Fabio Erculiani 82984b88da Release Entropy 1.0_rc116 2012-05-22 13:28:42 +02:00