Commit Graph

4408 Commits

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