Commit Graph

478 Commits

Author SHA1 Message Date
Fabio Erculiani
56be066b5a Release Entropy 132 2012-08-09 01:07:48 +02:00
Fabio Erculiani
ac77ed6d9e [entropy.db.mysql] tweak some schema values 2012-08-09 01:01:41 +02:00
Fabio Erculiani
deb5947452 [entropy.db] expose EntropyRepositoryCacher via entropy.db 2012-08-09 01:01:41 +02:00
Fabio Erculiani
d71bf47e7d [entropy.client.package] relax "path" contraints and be tolerant against broken pkgs 2012-08-08 21:49:53 +02:00
Fabio Erculiani
ad74ade00c [entropy.db] add MySQL connector (barely tested !!!) 2012-08-08 18:47:25 +02:00
Fabio Erculiani
a1e7d92bfb [entropy.db.sqlite] trivial fixes (remove imports, catch IOError, etc) 2012-08-08 17:10:20 +02:00
Fabio Erculiani
a7f958afd1 [entropy.db] split entropy.db package module into cache and sqlite 2012-08-08 11:11:42 +02:00
Fabio Erculiani
0c15d697a3 [entropy.spm] PortagePlugin._extract_pkg_metadata_content: filter out empty path strings 2012-08-08 00:37:40 +02:00
Fabio Erculiani
3ffbbcb49d [entropy.client.package] _generate_content_file: do not catch Exception
Move the os.remove() call to the finally block and detect failures via
a status boolean. This way, warnings won't be raised as exceptions.
2012-08-07 22:02:37 +02:00
Fabio Erculiani
58cb8adf96 [entropy.client.package] _generate_content_safety_file: do not catch Exception
Move the os.remove() call to the finally block and detect failures via
a status boolean. This way, warnings won't be raised as exceptions.
2012-08-07 22:02:21 +02:00
Fabio Erculiani
55472f77e2 Release Entropy 1.0_rc131 2012-08-05 22:33:41 +02:00
Fabio Erculiani
cc93458fd1 [entropy.client.methods] optimize reorder_mirrors() configuration commit code
Move reorder_mirrors() logic to benchmark_mirrors() for easier code
reuse. Avoid touching Repository objects and clearing SystemSettings
metadata but rather atomically update them in place.
2012-08-03 15:41:39 +02:00
Fabio Erculiani
87f882357f [entropy.client.methods] reorder_mirrors: make it atomic 2012-08-03 14:19:02 +02:00
Fabio Erculiani
af5a573d23 [entropy.client.methods] reorder_mirrors: enforce a reasonable upper bound timeout value 2012-08-03 14:18:23 +02:00
Fabio Erculiani
4a77fd59dd [entropy.client.methods] fix typos in docstring 2012-08-03 14:17:58 +02:00
Fabio Erculiani
5a24d2c174 [entropy.fetchers] make possible to override the default timeout 2012-08-03 14:15:42 +02:00
Fabio Erculiani
a7358e63eb [entropy.client.methods] split internal add/remove repository functions 2012-08-03 13:50:11 +02:00
Fabio Erculiani
76e045d7b6 [entropy.client.methods] add "commit" keyword arg to reorder_mirrors() 2012-08-03 13:28:27 +02:00
Fabio Erculiani
eb71741246 [entropy.client.package] remove tmp_file_content in the finally statement
Doing so in the Exception "handler" code messes up the traceback
information useful for debugging other possible issues.
2012-08-02 00:36:19 +02:00
Fabio Erculiani
8dc597c19d Release Entropy 1.0_rc130 2012-08-01 22:41:09 +02:00
Fabio Erculiani
11d013094e [entropy.client] use bytestring when dealing with the os module functions
In Python 2.x, the os module only works with bytestring. Using unicode
with it causes errors with multibyte characters (test pkgs: aspell-es,
aspell-pt) resulting in leftover files when removing package content.
2012-08-01 22:37:55 +02:00
Fabio Erculiani
c803b94533 [entropy.client] generate items_installed with unicode objects, not bytestring 2012-08-01 22:37:25 +02:00
Fabio Erculiani
0eec9cd4e9 [entropy.client] file_items_installed Set is no longer used, remove 2012-08-01 22:34:21 +02:00
Fabio Erculiani
cf86ca664d [entropy.client.trigger] call environment_update() whenever ENV_DIRS have been touched 2012-08-01 18:48:12 +02:00
Fabio Erculiani
9c563f4bd6 [entropy.spm] expose the ENV_DIRS class variable, bump API 2012-08-01 18:47:45 +02:00
Fabio Erculiani
d08a02cf71 Release Entropy 1.0_rc129 2012-07-31 19:37:35 +02:00
Fabio Erculiani
3c57ec70c3 [entropy.client.interfaces.trigger] make "SPM" string translatable 2012-07-31 11:00:19 +02:00
Fabio Erculiani
8b8938116b Revert "[entropy.db] drop isPackageScopeAvailable(), unused"
This reverts commit 492ace12e8.
2012-07-30 22:19:05 +02:00
Fabio Erculiani
a43c399901 Release Entropy 1.0_rc128 2012-07-28 20:24:35 +02:00
Fabio Erculiani
2bdddef33e [entropy.client] speedup dependencies_test() with a bit of memoization 2012-07-28 20:01:56 +02:00
Fabio Erculiani
10bf68d6ee [entropy.server] _deps_tester: use memoization with dependency strings 2012-07-28 19:54:38 +02:00
Fabio Erculiani
1977decccd [entropy.client.package] reduce memory consumption by writing "content_safety" to disk 2012-07-28 19:45:36 +02:00
Fabio Erculiani
89e7fcf949 [entropy.db] add "get_content_safety" keyword argument to getPackageData() 2012-07-28 19:38:59 +02:00
Fabio Erculiani
044365876b [entropy.db] add EntropyRepository.retrieveContentSafetyIter() 2012-07-28 18:07:46 +02:00
Fabio Erculiani
79b3e129f5 [entropy.client] reduce the memory footprint greatly when installing big packages
This commit introduces a file-based iterator that can be used for
storing package file content objects. For packages like kernel
sources, the actual memory consumption caused by holding the whole
metadata in memory was quite big and not really nice wrt memory
constrained systems (ARM?).
This commit handles most (retrieveContentSafety() is also a friend
of malloc()) of the memory hogs activities.
2012-07-28 17:05:32 +02:00
Fabio Erculiani
ed5b2640ea [entropy.db] always commit() uncommitted transactions after _setSetting() 2012-07-28 16:37:42 +02:00
Fabio Erculiani
192bb79230 [entropy.db] always force unicode() on _setSettings() arguments
It looks like the "INSERT OR REPLACE" doesn't work when row elements
are non-unicode. It seems to be the "OR REPLACE" clause that is
flawed.
The outcome was that values didn't really get updated and a transaction
was left uncommitted. This commit fixes the unicode part of the
problem though.
2012-07-28 16:35:52 +02:00
Fabio Erculiani
5ece150aea [entropy.db] add "extended" keyword argument to contentDiff() 2012-07-28 15:32:45 +02:00
Fabio Erculiani
8f4b58b449 [entropy.db] EntropyRepository.retrieveContentIter: add reverse keyword argument 2012-07-28 10:48:52 +02:00
Fabio Erculiani
7058db3f0a [entropy.client] simplify content_file Trigger code by passing pre-made metadata 2012-07-28 10:40:29 +02:00
Fabio Erculiani
251d1afca3 [entropy.tools] use less memory when calling uncompress_tarball with huge tarballs 2012-07-28 10:14:20 +02:00
Fabio Erculiani
9c06a380f5 [entropy.client] use retrieveContentIter during Package install 2012-07-27 23:26:19 +02:00
Fabio Erculiani
abb9e515ad [tests] fix EntropyCacher test 2012-07-27 22:30:07 +02:00
Fabio Erculiani
9e819f8083 [entropy.db] EntropyRepository: when migrating to the new schema, drop _doesColumnInTableExist cache 2012-07-27 22:21:56 +02:00
Fabio Erculiani
a116bb7a92 [entropy.db] EntropyRepository.insertContent: improve memory consumption with iterators 2012-07-27 20:38:38 +02:00
Fabio Erculiani
8e5a062755 [entropy.db] reduce contentDiff() memory footprint by using retrieveContentIter() 2012-07-27 19:37:34 +02:00
Fabio Erculiani
a8d01a482f [entropy.client.package] reduce installed_repository() calls 2012-07-27 17:36:34 +02:00
Fabio Erculiani
ead457ef8d [entropy.qa] use retrieveContentIter() where possible 2012-07-27 17:05:35 +02:00
Fabio Erculiani
59aaafd3c3 [entropy.db] extend retrieveContentIter() docstring with important info 2012-07-27 16:34:43 +02:00
Fabio Erculiani
d75ce83086 [entropy.db] restructure indexes
This commits improves the sqlite3 db indexes used optimizing them
both in terms of quantity (dropping duplicate indexes) and in terms
of quality (add missing indexes)
2012-07-27 13:26:18 +02:00