Commit Graph

350 Commits

Author SHA1 Message Date
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
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