Fabio Erculiani
f76ce71d83
[entropy.db] implement conditional dependencies support, break API on EntropyRepositoryBase
2010-11-23 21:13:41 +01:00
Fabio Erculiani
00cec97b2d
[entropy.dep] add helper function expand_dependencies()
2010-11-23 21:09:39 +01:00
Fabio Erculiani
8ab1d4645e
[entropy.dep] fix docstring on DependencyStringParser.parse()
2010-11-23 21:09:01 +01:00
Fabio Erculiani
e4f8d6250e
[entropy.spm] add Portage<->Entropy conditional dependency strings translator
2010-11-22 17:59:25 +01:00
Fabio Erculiani
13b54e938a
[entropy.dep] improve code of DependencyStringParser, remove duplications
2010-11-21 16:21:48 +01:00
Fabio Erculiani
4149bbd48e
[entropy.server] fix regression on repositories updates RSS files handling.
2010-11-21 16:13:59 +01:00
Fabio Erculiani
421b7cc041
[entropy.cache] add EntropyRepository.save()
...
save() guarantess that data is stored to disk in any case if the
disk operation completes without errors, otherwise IOError is raised.
2010-11-21 16:10:22 +01:00
Fabio Erculiani
da8e1435de
[entropy.dep] implement base classes for conditional dependency string evaluation
2010-11-20 17:38:50 +01:00
Fabio Erculiani
8e5623dccd
[entropy.{core,client,server}] port parsers' code to new entropy.tools functions and new config files syntax (keeping backward compat).
2010-11-17 18:46:10 +01:00
Fabio Erculiani
4b8d087850
[entropy.client.interfaces.methods] do not throw _enabled_repos reference away
2010-11-17 18:45:10 +01:00
Fabio Erculiani
e43a504801
[entropy.tools] several improvements to settings parsing functions
2010-11-17 16:27:30 +01:00
Fabio Erculiani
a3abde2599
[entropy.client.services] catch ConnectionError exception when using check_socket_connection(), always
2010-11-17 16:26:50 +01:00
Fabio Erculiani
57f6a4a1d2
[entropy.tools] port write_parameter_to_file to new configuration files syntax
2010-11-17 11:15:12 +01:00
Fabio Erculiani
126820a68b
[entropy.core] fix regression in configuration file parsing (repositories.conf).
...
Parse product and branch before any other parameter.
2010-11-17 08:38:20 +01:00
Fabio Erculiani
d81980027a
[entropy.*] rewrite configuration files parsing, make it more flexible and faster (and add key=value support)
2010-11-16 23:21:25 +01:00
Fabio Erculiani
6c1d8c40e2
[entropy.tools] tweaks inside extract_setting
2010-11-16 23:20:38 +01:00
Fabio Erculiani
f69d65f49e
[entropy.tools] add some configuration file parsing functions that will be used around the entropy library
2010-11-16 22:07:23 +01:00
Fabio Erculiani
b110f2df32
[entropy.server] remove repository remote download lock creation when uploading a new repository
...
The only case where repository is locked now, is in case of upload failure,
to try to protect users from downloading data in inconsistent state.
This last one cannot be atomic since it involves more files, but this way
should prevent most of the annoyances.
2010-11-13 14:43:02 +01:00
Fabio Erculiani
816bc45acb
[entropy.client.interfaces.db] remove repository lock thread check, server-side repository updates have been made atomic long time ago
2010-11-13 14:28:05 +01:00
Fabio Erculiani
75a00e6e5b
[entropy.services] code style update
2010-11-13 14:22:43 +01:00
Fabio Erculiani
9c64ff9dbd
Tagging Entropy version 0.99.50.16
2010-11-12 07:05:57 +01:00
Fabio Erculiani
dcbe7ff975
[entropy.db] catch OSError exceptions in EntropyRepository.importRepository, when instantiating Popen()
2010-11-12 06:45:37 +01:00
Fabio Erculiani
898eec10ac
[entropy.client.services.ugc] make set_gzip_compression more fault tolerant in regards to socket errors
2010-11-12 06:39:33 +01:00
Fabio Erculiani
43f573cd9a
[entropy.services.repository] fix MasterSlaveLock usage in EAPI3 service library class
2010-11-12 06:23:20 +01:00
Fabio Erculiani
b96020c108
Tagging Entropy version 0.99.50.15
2010-11-11 19:03:36 +01:00
Fabio Erculiani
50de1a7378
[entropy.services.repository] use MasterSlaveLock in EAPI3 repository daemon library code, make code stronger, avoid to depend on packages.db.download.lock
2010-11-11 19:00:06 +01:00
Fabio Erculiani
3cc05e408c
[entropy.misc] add MasterSlaveLock class
...
Useful for handling a certain kind of mutex, with some primitive
priority concept. There is a Master and several Slaves, Master
can block slaves from being able to acquire the lock, and take
the control itself once all slaves are done. Slaves share the same
lock, and can acquire every time they want, as many times as they want.
If you see the mutex object like a microphone, and more people talking
at a conference sharing it, where there's a boss that can hold his/her
employees from talking, you got it.
2010-11-09 19:20:30 +01:00
Fabio Erculiani
4b67cf4f53
[entropy.services.ugc] fix error output, undefined reference
2010-11-07 19:38:14 +01:00
Fabio Erculiani
9c717c50d0
[entropy.server] add EAPI3 signal file upload on every repository update.
...
This file will be used by EAPI3 service daemon to trigger local repository
cache data and repository data updates and serve new repository package
information to clients.
2010-11-07 16:50:19 +01:00
Fabio Erculiani
7d1ea41e1a
[entropy.server] make package sets update more verbose (warning developer for removed package sets)
2010-11-07 15:26:17 +01:00
Fabio Erculiani
1e18eb4f34
Tagging Entropy version 0.99.50.14
2010-11-07 13:05:30 +01:00
Fabio Erculiani
f3df3c0422
[entropy.db] EntropyRepository.listPackageIdsInCategory: fix undefined reference
2010-11-07 13:04:46 +01:00
Fabio Erculiani
be8d4f4079
Tagging Entropy version 0.99.50.13
2010-11-06 21:00:23 +01:00
Fabio Erculiani
0978ef9813
[entropy.client.interfaces.dep] filter out invalid package matches when calling _get_required_packages() and _generate_dependency_tree()
2010-11-06 20:56:29 +01:00
Fabio Erculiani
614bf6d436
[tests] add small sleep() to mitigate unittest multithreading bugs
2010-11-06 19:57:53 +01:00
Fabio Erculiani
13edb1c90a
[entropy.spm] re-add eclasses metadata, keep backward compatibility
2010-11-06 19:57:07 +01:00
Fabio Erculiani
e9dff807d2
[entropy.client.services.ugc] do not let socket exceptions going through, but rather return error on execution
2010-11-06 19:31:11 +01:00
Fabio Erculiani
32e6f4f1ab
[entropy.db] always discard live cache when closing repository, see bug #1638
2010-11-06 18:37:32 +01:00
Fabio Erculiani
99b7d2b454
[entropy.db.skel] add back 'eclasses' metadata for backward compatibility
2010-11-06 17:22:42 +01:00
Fabio Erculiani
811e6fec95
[entropy.server] implement packages.server.dep_rewrite conflicts add support
2010-11-06 15:12:09 +01:00
Fabio Erculiani
ac784b394c
[entropy.security] handle race condition in Security.clear() (os.makedirs())
2010-11-06 14:54:48 +01:00
Fabio Erculiani
53a27e0fd8
Tagging Entropy version 0.99.50.12
2010-11-03 21:16:52 +01:00
Fabio Erculiani
37dac7e029
[entropy.db] EntropyRepository.checksum(): when returning md5 hex digest, make sure to eat international food
...
hash() is platform, interpreter dependent.
2010-11-03 21:05:23 +01:00
Fabio Erculiani
6a21093ba4
[entropy.services.ugc.interfaces] catch select.error exception (interrupted system call, IO Error 4)
2010-11-01 22:27:19 +01:00
Fabio Erculiani
08c2979373
[entropy.client.interfaces.dep] when conflicting dependencies are pulled in, in the dep graph, bail out to avoid inconsistencies
2010-11-01 12:56:45 +01:00
Fabio Erculiani
722cec9bb7
Tagging Entropy version 0.99.50.11
2010-10-28 11:28:47 +02:00
Fabio Erculiani
2a131ad23b
Revert "[entropy.client.interfaces.dep] add logic that automatically filters out packages already pulled in, in the same slot, under certain corner case circumstances"
...
This reverts commit 97f481f3d5 .
2010-10-28 11:27:24 +02:00
Fabio Erculiani
fcbe6bde1d
Revert "[entropy.client.interfaces.dep] filter out packages in the same scope"
...
This reverts commit 73e9778f2f .
2010-10-28 11:27:11 +02:00
Fabio Erculiani
be98fa373b
Tagging Entropy version 0.99.50.10
2010-10-27 21:23:29 +02:00
Fabio Erculiani
5183d94fcf
[entropy.client.interfaces.trigger] always execute environment update before any other trigger
2010-10-27 21:18:41 +02:00