- move all the code inside the entropy package
- add compat modules outside
Entropy/Transceivers/FtpInterface:
- fix is_file_available to work on more systems
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3146 cd1c1023-2f26-0410-ae45-c471fc1f0318
- remove all the compat imports
Entropy/Equo:
- move etpExitMessages to equo.py
Entropy/Activator:
- fix import order
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3135 cd1c1023-2f26-0410-ae45-c471fc1f0318
- move etpSQLInit and etpSQLDestroyAll inside EntropySQLSchema class
Entropy/*:
- use the new EntropySQLSchema class
Entropy/RepoInterface:
- fix possible infinite loop on handle_eapi3_database_sync
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3120 cd1c1023-2f26-0410-ae45-c471fc1f0318
- _create_metafiles_file: add file containing a list of files not available
Entropy/RepoInterface:
- do_standard_items_download: handle file that contains a list of files not available to avoid trying to fetch them and improve sync speed
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3116 cd1c1023-2f26-0410-ae45-c471fc1f0318
- TimeScheduled: optimize __do_delay
Entropy/EntropyCacher:
- stop(): use Thread.join instead of a while loop
Entropy:
- some minor changes
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3112 cd1c1023-2f26-0410-ae45-c471fc1f0318
- update TODO
Entropy/*:
- small code syntax update
Entropy/SystemSocketClientInterface:
- Python 2.6: remove deprecation warning, use ssl module if available and its wrap_socket function instead of socket.ssl
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3095 cd1c1023-2f26-0410-ae45-c471fc1f0318
- update TODO
Entropy/Spritz:
- wait for UGC to close cleanly
Entropy/entropyConstants:
- const_kill_threads: wait for threads to close cleanly
Entropy/MultipleUrlFetcher:
- beautify output
Entropy/EntropyCacher:
- on stop() wait for CacheWriter to close cleanly
Entropy/EquoInterface:
- fetch_files: minor updates and fixes
- fetch_files_on_mirrors: new method, that mimics the behaviour of fetch_file_on_mirrors but using MultipleUrlFetcher
- fetch_file_on_mirrors: some fixes
Entropy/PackageInterface:
- implement multi_fetch action
- match_checksum: update method adding arguments to ease code reuse
- new methods multi_match_checksum and multi_fetch_step
- new method multi_checksum_step
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3084 cd1c1023-2f26-0410-ae45-c471fc1f0318
- update TODO
Entropy/TriggerInterface:
- add support for bash based triggers (preliminary and incomplete)
- provide bash based trigger example
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3073 cd1c1023-2f26-0410-ae45-c471fc1f0318
- remove etpConst['packagestmpfile']
Entropy/entropyTools:
- getRandomNumber: if /dev/urandom is not available, fallback to random.randint
Entropy/*:
- when strictly required, if /dev/urandom is not available, fallback to random.randint
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3046 cd1c1023-2f26-0410-ae45-c471fc1f0318
- query style update
- new method retrieveManualDependencies, will be implemented the support of manually set dependencies soon
- some other misc updates
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3028 cd1c1023-2f26-0410-ae45-c471fc1f0318
- split const_HandleException creating const_kill_threads
Entropy/entropyTools:
- kill_threads uses const_kill_threads
- introduce movefile(), from Portage, that will be used to atomically move files
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3007 cd1c1023-2f26-0410-ae45-c471fc1f0318
- since it seems to not make sense to have a connection test link to check against on 'equo update', let's remove it and see how users react
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@3001 cd1c1023-2f26-0410-ae45-c471fc1f0318
- small fix, when upgrading branch, do not call RepoInterface.sync if an exception occured
Entropy/RepoInterface/EAPI3:
- handle get_eapi3_local_database correctly, can return None
Entropy/entropyConstants:
- new global method const_set_chmod
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2985 cd1c1023-2f26-0410-ae45-c471fc1f0318
- implement packages changelog support and their methods
- remove unused searchPackagesKeyVersion method
- remove checkReadOnly calls from most of the methods
Entropy/EquoInterface:
- implement support for package changelogs
Entropy/PortageInterface:
- implement support for package changelogs
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2956 cd1c1023-2f26-0410-ae45-c471fc1f0318
- update TODO
Entropy/entropyConstants:
- remove conflicting_tagged_packages from etpConst and move to a 'per-repo' config file
Entropy/SystemSettings:
- handle new conflicting tagged packages file per-repo
Entropy/RepoInterface:
- when syncing the repo, download the new conflicting tagged packages file
Entropy/ServerInterface:
- handle the new conflicting tagged packages file (upload/download)
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2911 cd1c1023-2f26-0410-ae45-c471fc1f0318
- generate_dependency_tree: added support for PDEPENDs, which will be sorted correctly now, after the package itself
Entropy/EntropyDatabaseInterface:
- new method retrievePostDependencies, useful to retrieve PDEPENDs
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2904 cd1c1023-2f26-0410-ae45-c471fc1f0318
- move cache files extension string to etpConst
- fix the Entropy code accordingly
Entropy/EntropyCacher:
- add sync method to force a cache flush
- implement a thread lock to be thread-safe
Entropy/EquoInterface:
- fix a bug with cache cleaning after masking/unmasking packages
- scan PackageSettings at every instance load to ensure proper settings reads
- get_masked_packages_tree: some speed improvements
- is_match_masked_by_user: new method, makes easy to check if a package has been masked by the user
- is_match_unmasked_by_user: same as above, new method
- mask_match, unmask_match: rewrite the management of package masking and make possible to mask a package from the interface too (only unmask was previously implemented)
- mask_match, unmask_match: make possible to mask/unmask by key + slot coupling (app-foo/foo:2)
Entropy/EntropyDatabaseInterface:
- improve speed of idpackageValidator child methods
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2886 cd1c1023-2f26-0410-ae45-c471fc1f0318
- applicationLockCheck: raise SystemExit exception instead of sys.exit
Entropy/EquoInterface:
- changed dependencies calculation results, always pull in updated dependencies, deep_deps now works with revisions, disabled 'needed' check
Entropy/entropyConstants:
- fix a small bug in const_setupEntropyPid: that caused to report entropy as locked if entropy.pid is found but empty
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2819 cd1c1023-2f26-0410-ae45-c471fc1f0318
- update TODO
Entropy/entropyConstants:
- say goodbye to etpRSSMessages
- other cosmetical fixes
Entropy/EquoInterface:
- close LogFile instance's file on instance delete
- wipe os.system() calls
- rewrite get_meant_packages() to use SOUNDEX features of SQLITE3
- replace old and slow filterSatisfiedDependencies with get_unsatisfied_dependencies, which is faster and more reliable (added NEEDED check by default)
- improve speed of generate_dependency_tree
- improve speed of get_required_packages
- fix get_world_update_cache_hash()
- improve speed of retrieveInstallQueue
- make __unpack_package reporting the right error on uncompressTarBz2 if this crashes
- remove Python 2.4/2.5 workarounds since they are not needed anymore, being entropyTools.uncompressTarBz2 fixed forever (handling UTF-8 filenames correctly)
- adjust __move_image_to_system for the changes above
- __move_image_to_system, if an error is caught on shutil.move, do not crash but report it to user instead
Entropy/TriggerInterface:
- replace os.system() with subprocess.call()
- remove unused nspluginwrapper trigger
Entropy/ErrorReportInterface:
- add locale output
- get the full content of ps auxf, not just the first 80 chars
- update handler accordingly (handlers/)
Entropy/LogFile:
- close log file on object deletion
Entropy:
- import subprocess by default
Entropy/EntropyDatabaseInterface:
- remove etpRSSMessages and use a ServerInterface variable instead
- add new method getVersioningData, useful to speed up other Entropy areas
- improving speed of other functions adding more one-liners conditionals
- add new method retrieveNeededRaw, useful to speed up other Entropy areas
- improve speed of retrieveDependenciesList, everything can be done at SQL level
- new method searchSimilarPackages that uses SOUNDEX to retrieve similar package/atom names
- improve speed of listAllCategories
- shrink databaseStructureUpdates
- remove old and dusted method
- improve speed of doDatabaseImport
- improve speed of database_checksum
- group multiple .cursor.execute using .cursor.executescript
- improve speed of __filterSlotTagUse
Entropy/entropyTools:
- improve speed and reliability of uncompressTarBz2
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2818 cd1c1023-2f26-0410-ae45-c471fc1f0318
- get rid of etpRemoteFailures and maskingReasonsStorage global variables
Entropy/EquoInterface:
- apply entropyConstants changes
- new method get_masked_package_reason
Entropy/EntropyDatabaseInterface:
- hack to control idpackageValidatorCache size
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2782 cd1c1023-2f26-0410-ae45-c471fc1f0318
- add support for package sets
Entropy/EquoInterface:
- group initConfig_entropyConstants calls in a stand-alone EquoInterface method
- half-implement in-memory repositories (will be completed upon request)
- atomMatch: support matchRepo for server-repos too
Entropy/TODO:
- update TODO
Entropy/EquoInterface:
- improve packageSetMatch method
- implement packagesExpand and packageSetExpand methods
Entropy/exceptionTools:
- implement new InvalidPackageSet exception
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2738 cd1c1023-2f26-0410-ae45-c471fc1f0318
- implement table structure for supporting package sets
- add methods to handle them: clearPackageSets(), insertPackageSets(), retrievePackageSets()
Entropy/Socket Server Interface:
- if command is not valid, return a CL answer
Entropy/Socket Server Client Interface:
- handle CL answers on receive()
Entropy/ServerInterface:
- add support for package sets, loading data from sets/ database dir subdirectory
- automatically handle them by updating the db at every change
Entropy/Repository Daemon:
- add EAPI3 support for package sets
Entropy/RepoInterface/EquoInterface:
- add support for package sets on sync
- add package sets match and search functions
more tomorrow
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2735 cd1c1023-2f26-0410-ae45-c471fc1f0318
- add extract_packages_from_set_file method, just a helper function
Entropy/Package Masking inteface reworked:
- etpConst['packagemasking'] is gone, the Package masking interface changed name, now it's called PackageSettings and is a standalone class that can work like a simple python dictionary object
- adapt all the code to the new interface, which is close to final and pretty solid if compared to the old one etpConst['packagemasking'] dict and its issues (like being un-initialized)
Entropy/Package sets support:
- implement server-side methods (ServerInterface) to collect repository-defined sets
Entropy/urlFetcher:
- move some init code to stand-alone functions (setup_proxy and setup_resume_support method)
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2733 cd1c1023-2f26-0410-ae45-c471fc1f0318
- empty system_packages list, we now have packages.db.system_mask, which is the best place to put system packages
Entropy/PortageInterface:
- add suport to package sets, introducing 3 new methods: get_set_config(), get_sets(), get_sets_expanded()
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2732 cd1c1023-2f26-0410-ae45-c471fc1f0318
- add caching infrastructure to avoid running long queries multiple times returning the same result
- set cache expiration to 1 day by default
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2724 cd1c1023-2f26-0410-ae45-c471fc1f0318
- remove the use of list.sort() method in favour of sorted(list)
- implement a per-repository system packages mask, to force clients to install specified packages (like one of the slotted sys-libs/db packages for convenience), consider this an extension to system packages
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2721 cd1c1023-2f26-0410-ae45-c471fc1f0318
- add search_iddoc_item method to search available document identifiers
Entropy/RepoInterface:
- implement system make.conf sanity check
- implement automatic /etc/make.profile updates
Entropy/entropyConstants:
- add rootdir prefix to spm configuration files
Entropy/entropy.py:
- general tidy
Entropy/entropyTools:
- add function to determine if a path is sane or not (is_valid_path)
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2658 cd1c1023-2f26-0410-ae45-c471fc1f0318
- write more info about portage exceptions on relevant triggers
Entropy/PortageInterface:
- add two helper methods write_traceback_to_log() and write_to_log()
- fix an issue causing Portage to raise UnsupportedAPIException, doebuild()'s mysettings must contain a valid EAPI string
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2631 cd1c1023-2f26-0410-ae45-c471fc1f0318
- introduce max connections per IP limit
- introduce automatic PID killer on handle() when time is over (default timeout = 120 seconds)
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2618 cd1c1023-2f26-0410-ae45-c471fc1f0318
- make possible to blacklist missing library dependencies at runtime and through packages.db.missing_deps_whitelist file inside the repository db directory
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2573 cd1c1023-2f26-0410-ae45-c471fc1f0318
- implement safe mode feature -> EquoInterface.safe_mode status integer, first function to use it is EquoInterface.openClientDatabase()
- openClientDatabase() make possible to start an EquoInterface instance with a corrupted/non-existant installed packages database (safe mode) which can be detected by client interfaces (Equo/Spritz)
Entropy/EntropyDatabaseInterface:
- improve branch support (and speed) for client database (installed packages db)
Entropy/rssFeed:
- make it a generic RSS handling class
Entropy/ServerInterface:
- make changes to rssFeed instances to reflect the change above
Entropy/Repository Manager:
- add support for notice boards handling
Entropy/ServerInterface:
- add support for notice boards handling
Entropy/EquoInterface:
- add support for notice boards
git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2521 cd1c1023-2f26-0410-ae45-c471fc1f0318