Commit Graph

434 Commits

Author SHA1 Message Date
Fabio Erculiani 2bac80d76a [entropy.db.sqlite] catch OperationalError instead of Error 2012-08-09 17:25:11 +02:00
Fabio Erculiani 37e1d0f465 [entropy.db.sqlite] always enforce LIMIT 1 when using Cursor.fetchone()
Certain adapters don't clear cursor data automatically if fetchone()
is used and LIMIT 1 is not enforced.
2012-08-09 15:05:06 +02:00
Fabio Erculiani ea17f96d99 [entropy.db.sqlite] check if settings table exists before spawning schema updates 2012-08-09 15:04:16 +02:00
Fabio Erculiani 690984caf4 [entropy.db.sqlite] fix query statement 2012-08-09 13:40:24 +02:00
Fabio Erculiani 7e6c9530c1 [entropy.db] move alignDatabases() to entropy.db.skel class 2012-08-09 13:40:04 +02:00
Fabio Erculiani 4ddc162428 [entropy.db.mysql] increase datatypes' size 2012-08-09 09:45:59 +02:00
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