Commit Graph

726 Commits

Author SHA1 Message Date
Fabio Erculiani ee38930096 Release Entropy 179 2013-03-02 18:58:16 +00:00
Fabio Erculiani 7bef53d99c [entropy.server] add "weak package files" support
Weak package files is a feature that makes possible to save a lot of
local space if enabled. Basically, all the package files no longer in
the repository are locally removed before their expiration. This reduces
local data redundancy with no real reliability impact.
2013-03-02 18:54:12 +00:00
Fabio Erculiani 17d19458a7 [entropy.client.dep] use set.clear and dict.clear instead of del 2013-02-28 13:48:30 +00:00
Fabio Erculiani d996460b30 [entropy.client.dep,solo] add support for --onlydeps, as per bug #3817
equo {install,source,download} now support --onlydeps.
Using --onlydeps, only dependencies of the selected packages are installed,
unless the selected packages are dependencies themselves.
2013-02-28 13:47:50 +00:00
Fabio Erculiani 5d315c70bd [entropy.const] drop /var/run/entropy/entropy.lock file and directory handling
This is no longer used by Entropy, which does use a more fine grained locking
instead.
2013-02-24 23:34:49 +01:00
Fabio Erculiani 7771d641e2 [entropy.client] extend Client.calculate_updates() to return critical updates info
calculate_updates() now returns a dictionary containing the same pieces of
information available before. In addition, it now also returns if critical
updates were found and returned by the method itself.
This is particularly useful for enforcing relaxed deps calculation in case
of critical updates (which is what happens now).

This commit breaks the Entropy Client API.
2013-02-24 13:30:28 +00:00
Fabio Erculiani 1fa5b9acf3 Release Entropy 178 2013-02-21 00:11:14 +01:00
Fabio Erculiani ac243067f3 [entropy.qa] fix the usage of get_deep_dependency_list 2013-02-21 00:09:47 +01:00
Fabio Erculiani 09adfa92e6 Release Entropy 177 2013-02-20 18:56:39 +01:00
Fabio Erculiani b3aad3da83 Revert "[entropy.qa] test_missing_dependencies: only consider direct dependencies"
This reverts commit a0037bfe76.
It turned out that only considering direct dependencies is a no-go.
Also see:
http://www.flameeyes.eu/autotools-mythbuster/pkgconfig/dependencies.html
2013-02-20 18:44:02 +01:00
Fabio Erculiani 65e5fcdb68 Release Entropy 176 2013-02-20 13:36:08 +01:00
Fabio Erculiani dc4f23ef01 [entropy.spm] PortagePlugin: fix xblast CONTENTS mangling when splitdebug=disabled
This is the exception generated by reading CONTENTS expecting valid UTF-8 encoded
text (while it currently is raw_unicode_escape):

stacktrace: Traceback (most recent call last):
  File "/usr/bin/equo", line 15, in <module>
    main()
  File "/usr/lib/entropy/client/solo/main.py", line 333, in main
    exit_st = func(*func_args)
  File "/usr/lib/entropy/client/solo/commands/command.py", line 335, in _call_locked
    return func(client)
  File "/usr/lib/entropy/client/solo/commands/install.py", line 183, in _install
    relaxed, multifetch, packages)
  File "/usr/lib/entropy/client/solo/commands/install.py", line 609, in _install_action
    exit_st = pkg.run(xterm_header=xterm_header)
  File "/usr/lib/entropy/lib/entropy/client/interfaces/package.py", line 4266, in run
    rc = self._stepper(xterm_header)
  File "/usr/lib/entropy/lib/entropy/client/interfaces/package.py", line 4251, in _stepper
    rc = steps_data.get(step)()
  File "/usr/lib/entropy/lib/entropy/client/interfaces/package.py", line 4153, in do_install_spm
    self.pkgmeta['installed_package_id'])
  File "/usr/lib/entropy/lib/entropy/client/interfaces/package.py", line 2262, in _spm_install_package
    spm_uid = Spm.add_installed_package(self.pkgmeta)
  File "/usr/lib/entropy/lib/entropy/spm/plugins/interfaces/portage_plugin/__init__.py", line 3078, in add_installed_package
    splitdebug_dirs)
  File "/usr/lib/entropy/lib/entropy/spm/plugins/interfaces/portage_plugin/__init__.py", line 2859, in __splitdebug_update_contents_file
    line = cont_f.readline()
  File "/usr/lib64/python2.7/codecs.py", line 675, in readline
    return self.reader.readline(size)
  File "/usr/lib64/python2.7/codecs.py", line 530, in readline
    data = self.read(readsize, firstline=True)
  File "/usr/lib64/python2.7/codecs.py", line 477, in read
    newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xee in position 30: invalid continuation byte
2013-02-20 13:05:36 +01:00
Fabio Erculiani 9eb56dbc14 [entropy.const] drop several etpConst constants, replace with more OO vars
etpConst['clientdbid'] is kept for backward compatibility, but will be removed soon
While etpConst['serverdbid'] and etpConst['clientserverrepoid'] are gone.
2013-02-20 00:56:52 +00:00
Fabio Erculiani 3695655e66 [entorpy.client] fix Logger.log() usage in entropy.client.interfaces.package 2013-02-17 19:04:20 +00:00
Fabio Erculiani e66ec77a67 [entropy.qa] warn_missing_dependencies: stop using get_deep_dependency_list, too slow and unwanted 2013-02-10 19:01:35 +00:00
Fabio Erculiani a0037bfe76 [entropy.qa] test_missing_dependencies: only consider direct dependencies
Any missing ELF level dependency should be always satisfied by direct
dependencies.
2013-02-10 18:47:12 +00:00
Fabio Erculiani c5e1908a89 [entropy.server] fix undefined reference in drained_dependencies_test 2013-02-09 16:46:51 +00:00
Fabio Erculiani dffebc80dd [entropy.server] drained_dependencies_test: improve readability of the output 2013-02-09 16:33:12 +00:00
Fabio Erculiani 8c5113743f [entropy.server] tweak output of injected_library_dependencies_test 2013-02-09 16:30:14 +00:00
Fabio Erculiani bc9db04990 [entropy.qa] test_missing_dependencies: cosmetic changes to the generated output 2013-02-09 16:19:11 +00:00
Fabio Erculiani 860e791635 [entropy.qa] fix typo in test_missing_dependencies() 2013-02-09 15:32:11 +00:00
Fabio Erculiani b9347cc181 [entropy.qa] improve output of test_missing_dependencies() 2013-02-09 15:29:19 +00:00
Fabio Erculiani 0002f75982 [entropy.qa] split test_missing_dependencies, move ldd-based scan to warn_missing_dependencies 2013-02-09 15:08:09 +00:00
Fabio Erculiani ddff9fde6a [entropy.server] add QA test for library linking of injected packages
This test must pass before being able to push new packages and it ensures
that injected packages are kept consistent.
2013-02-09 14:38:57 +00:00
Fabio Erculiani f15efc018d [entropy.qa] remove unwanted output message from test_missing_dependencies.
The message heavily depends on the context in where test_missing_dependencies
is executed.
2013-02-09 14:27:01 +00:00
Fabio Erculiani d2babac662 [entropy.qa] _get_missing_libraries: cache the list of system packages 2013-02-09 13:54:03 +00:00
Fabio Erculiani 952c361c5a [entropy.db] add listAllSystemPackageIds() method 2013-02-09 13:53:11 +00:00
Fabio Erculiani a499cf0de5 [entropy.qa] rewrite _get_missing_rdepends, now _get_missing_libraries
This commit dramatically improves the speed of _get_missing_libraries,
by using provided_libs metadata instead of content, removing any live
system dependencies (collect_linker_paths()), and improving method
readability.
2013-02-09 13:30:23 +00:00
Fabio Erculiani fa3f2df372 [entropy.qa] _get_missing_rdepends: if package does not need any library, return straight away 2013-02-09 11:04:08 +00:00
Fabio Erculiani 28ce290999 [entropy.db] add listAllInjectedPackageIds 2013-02-09 10:50:11 +00:00
Fabio Erculiani 877cf926d8 Release Entropy 175 2013-02-08 17:14:22 +01:00
Fabio Erculiani 172fe3a2ea [entropy.client] Trigger: _trigger_env_update must return an integer 2013-02-08 17:12:49 +01:00
Fabio Erculiani 88ac77e8a9 [entropy.spm] PortagePlugin: environment_update() must return an execution status int 2013-02-08 17:12:04 +01:00
Fabio Erculiani c028464ebe Release Entropy 174 2013-02-07 08:43:33 +01:00
Fabio Erculiani 10fbf275e6 [entropy.spm] rework SpmPlugin.execute_package_phase API specifications
This makes phase execution and error handling more fine grained and on the
long run more robust as well.
Any exception raised by SPM is now considered fatal, while phase execution
failures (execution with error code != 0) are still considered non-fatal for now.
2013-02-07 08:33:29 +01:00
Fabio Erculiani 88c0e7ef6c [entropy.spm] create SpmPlugin.Error base exception class for all SPM issues 2013-02-07 08:33:29 +01:00
Fabio Erculiani 9c5ec4c7cb [entropy.fetchers] drop UrlFetcher.output, deprecated in 2010 2013-02-06 07:44:33 +00:00
Fabio Erculiani 69a2e0e8c0 [entropy.client] drop get_file_permissions, deprecated 2013-02-06 07:44:33 +00:00
Fabio Erculiani 8807ff8ba7 [entropy.tools] drop get_random_temp_file, deprecated 2013-02-06 07:44:33 +00:00
Fabio Erculiani 86821d408b [entropy.client] drop deprecated methods 2013-02-06 07:44:33 +00:00
Fabio Erculiani e34ee97cdc [entropy.db] drop deprecated methods closeDB() and commitChanges() 2013-02-06 07:44:32 +00:00
Fabio Erculiani c2f82543fc [entropy.i18n] try recover from invalid filesystem encoding
This should also help with invalid UTF-8 characters returned by _()
2013-02-06 07:44:32 +00:00
Fabio Erculiani 4f8205323f [entropy.i18n] try recover from invalid filesystem encoding
This should also help with invalid UTF-8 characters returned by _()
2013-02-05 08:29:37 +00:00
Fabio Erculiani cf4b066dbf [entropy.server] cleanup _move_package and fix a potential variable name collision 2013-02-04 13:46:00 +00:00
Fabio Erculiani 2b4b258e8f Release Entropy 173 2013-02-04 08:53:43 +00:00
Fabio Erculiani c9977d1244 [entropy.server] fix dep_rewrites package additions handling 2013-01-29 09:03:16 +00:00
Fabio Erculiani 4426b93254 Release Entropy 172 2013-01-24 22:18:43 +00:00
Fabio Erculiani b40c10af3d Release Entropy 171 2013-01-24 00:40:21 +00:00
Fabio Erculiani 9a2f4c00cd Release Entropy 170 2013-01-21 09:12:37 +00:00
Fabio Erculiani 7afc6979e1 [entropy.spm] _extract_pkg_metadata_provided_libs: consider symlinks valid
This has caused a meltdown of the metadata and QA failures all around
2013-01-21 09:11:09 +00:00