Commit Graph

345 Commits

Author SHA1 Message Date
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
Fabio Erculiani
f8ea2dffbe [entropy.output] declare EOFError exception in readtext() docstring 2012-05-22 12:50:38 +02:00
Fabio Erculiani
2bf8286a0f Release Entropy 1.0_rc115 2012-05-22 12:38:03 +02:00
Fabio Erculiani
ef4a174f58 [entropy*] migrate to const_is_python3() 2012-05-20 14:16:13 +02:00
Fabio Erculiani
87f2cb6f75 [entropy.const] add const_is_python3() 2012-05-20 13:28:14 +02:00
Fabio Erculiani
dbc324d15e Release Entropy 1.0_rc114 2012-05-18 12:34:43 +02:00
Fabio Erculiani
5dc080d475 [entropy.spm] PortagePlugin: generate a dynamic config_file_map
Generate config_file_map dinamically by considering config file paths
as potential directories and if available, by adding the collected
subpaths to it
2012-05-17 22:53:10 +02:00
Fabio Erculiani
dbd34912a2 [entropy.spm] PortagePlugin: remove _get_package_use_file, no longer used 2012-05-17 22:49:49 +02:00
Fabio Erculiani
38c5560b9a [entropy.const] initconfig_entropy_constants: always print dir creation warnings to stderr 2012-05-16 14:32:53 +02:00
Fabio Erculiani
91d85740a8 [entropy.const] use const_setup_directory() when creating pidfiledir 2012-05-16 14:32:53 +02:00
Fabio Erculiani
fafc598928 [entropy.const] always create /var/tmp/entropy if it doesn't exist 2012-05-16 14:32:52 +02:00
Fabio Erculiani
755b2612fe [entropy.const] dump_signal: add "stderr" keyword argument 2012-05-11 06:41:20 +02:00
Fabio Erculiani
111060eef4 Release Entropy 1.0_rc113 2012-05-09 16:44:25 +02:00
Fabio Erculiani
4cbb30f6c2 [entropy.client] catch OSError and IOError exceptions at chown(), see bug 3300 2012-05-06 15:10:06 +02:00
Fabio Erculiani
6c4ecffcd7 [entropy.spm] PortagePlugin: __source_env_get_var: return unicode, do not leak fds 2012-05-05 08:49:26 +02:00
Fabio Erculiani
990eac2911 [entropy.i18n] fixup change_language wrt Python3 2012-05-05 00:51:41 +02:00
Fabio Erculiani
be5df20352 [entropy.tools] apply_tarball_ownership: raise IOError, catch it 2012-05-02 20:18:29 +02:00
Fabio Erculiani
0d1905f7fa [entropy.security] Security: catch KeyError raised by get_key_metadata() 2012-04-30 09:59:16 +02:00
Fabio Erculiani
04b7c60eea Release Entropy 1.0_rc112 2012-04-29 18:50:12 +02:00
Fabio Erculiani
b00e29c89a [entropy.client] improve reliability of the dep conflict replacement routine
When an available conflict replacement is found, it is better to
enforce its installation before the actual conflicting pkg, in order
to avoid to have the conflict removed for some time during the
transaction phase. Moreover, if the transaction is interrupted
after the conflict removal but before the new pkg install, this
pkg won't be upgraded anymore, because it would become not installed.

Scenario:
net-tools conflicts with old sys-apps/openrc. sys-apps/openrc gets
removed during net-tools install phase. sys-apps/openrc is scheduled
for install a lot later. This also introduced a glitch with base-gcc,
triggering gcc-config, which complained about missing /etc/init.d/functions.sh
2012-04-29 18:33:14 +02:00
Fabio Erculiani
2ac29a5429 [entropy.client] fix broken soname dependencies runtime routine wrt virtual pkgs
Virtual are not directly owning sonames reverse dependencies need.
For this reason, when a virtual package is encountered, its direct
dependencies must be taken into consideration in the soname bump
routine.
Moreover, pkgs requiring newer (or older?) sonames, must be bound
to soname providers on the graph, as direct dependency. Not doing
so would lead pkg_* phases to fail.

Scenario:
dev-libs/glib wants newer libffi.so.x, but the pkg depends against
virtual/libffi. If virtual/libffi dependencies are not taken into
consideration, _lookup_library_breakages() would fail to detect
the need of a bump.
2012-04-29 17:37:16 +02:00
Fabio Erculiani
10f3a6577b [entropy.server] do not print about wildcard-based dep_rewrites 2012-04-29 17:36:46 +02:00
Fabio Erculiani
263f640ab0 Release Entropy 1.0_rc110 2012-04-25 20:32:20 +02:00
Fabio Erculiani
e8b5eb83dc [entropy.spm] PortagePlugin: rewrite StdoutSplitter
Rewrite StdoutSplitter in order to make possible to catch full Portage
stdout/stderr redirecting it to Entropy log file.
2012-04-25 18:04:02 +02:00
Fabio Erculiani
4c043b55e7 Release Entropy 1.0_rc109 2012-04-23 23:24:11 +02:00
Fabio Erculiani
a64f88b2a4 [entropy.db] atomMatch: fix disabled USE flags matching 2012-04-23 23:07:39 +02:00
Fabio Erculiani
3d52ee3c7d [entropy.spm] PortagePlugin.generate_package: prevent potential temp file leak 2012-04-23 14:09:26 +02:00