Commit Graph

1014 Commits

Author SHA1 Message Date
Fabio Erculiani
3f046e6c07 [entropy.client.package] _garbage_collect_preserved_libs: remove library iff there are no owners 2013-11-27 18:18:33 +01:00
Fabio Erculiani
dfb6fadf99 [entropy.client.package] PreservedLibraries: fix insertPreservedLibraries() call 2013-11-27 17:38:57 +01:00
Fabio Erculiani
2b3b2d0f27 [entropy.client.package] PreservedLibraries: tweak API 2013-11-27 17:29:52 +01:00
Fabio Erculiani
67443f1645 [entropy.client.package] PreservedLibraries: accept any provider as valid 2013-11-27 16:46:14 +01:00
Fabio Erculiani
97f2e47438 [entropy.client.package] simplify PreservedLibraries.remove() 2013-11-27 12:37:05 +01:00
Fabio Erculiani
e7c482ac21 [entropy.db] add atom field to preserved_libs metadata 2013-11-27 12:30:09 +01:00
Fabio Erculiani
334172f8f9 [entropy.client.package] expose a list() method, wrap listAllPreservedLibraries() 2013-11-27 12:18:07 +01:00
Fabio Erculiani
87d375e9ec [entropy.client.package] force self._root to unicode 2013-11-27 12:17:45 +01:00
Fabio Erculiani
fa97583cac [entropy.client.package] initial preserved libraries support 2013-11-27 11:25:47 +01:00
Fabio Erculiani
5efdb31903 [entropy.client.package] correctly handle symlinks to hardlinks, see Gentoo bug #406837 2013-11-27 11:22:31 +01:00
Fabio Erculiani
81cf0befe4 [entropy.client.package] extend the preservedlibs module with more methods 2013-11-27 10:31:23 +01:00
Fabio Erculiani
3c8f5ae812 [entropy.client.package] remove useless del calls 2013-11-26 22:32:56 +01:00
Fabio Erculiani
68f3db82d6 [entropy.client.package] add metadata parameter to _get_system_root() 2013-11-26 22:31:08 +01:00
Fabio Erculiani
0a948b8784 [entropy.client.package] move self._meta to _PackageInstallRemoveAction 2013-11-26 22:26:32 +01:00
Fabio Erculiani
548d579d2f [entropy.client.package] add initial preserved libraries support class 2013-11-26 20:53:00 +01:00
Fabio Erculiani
86cdf058a3 [entropy.tools] move struct import to global scope 2013-11-26 11:18:34 +01:00
Fabio Erculiani
ff461f4676 [entropy.client.package] add _PackageFetchAction.package_path() for PackageKit 2013-11-23 20:24:22 +01:00
Fabio Erculiani
70a0a1c983 [entropy.client.interfaces.package] drop unused metadata 2013-11-23 14:15:05 +01:00
Fabio Erculiani
005ac42610 [tests] port code to the new PackageActionFactory API 2013-11-23 13:58:39 +01:00
Fabio Erculiani
453481204d [entropy.client.interfaces.package] split Package class, create new API
The Package has been split into multiple PackageAction based classes.
The new interface uses a factory (PackageActionFactory) to build
the PackageAction objects on behalf of the caller.

The new factory-based interface is clean, modular and faster than
the old Package spaghetti class.

Backward compatibility has been preserved, as long as caller doesn't
peek into internal structures and metadata. The old interface has
been deprecated and a new Entropy Client method called PackageActionFactory()
has been added.

Please migrate your code to the new API, the old API will be dropped in 1
solar year.
2013-11-23 13:00:53 +01:00
Fabio Erculiani
44444b43d8 [entropy.client.misc] drop unused variables 2013-11-22 19:00:29 +01:00
Fabio Erculiani
8f083449a6 [entropy.client.misc] drop deprecated class, sulfur is dead 2013-11-22 18:12:23 +01:00
Fabio Erculiani
1b6e7ff2ff [entropy.client.package] move FileContent* classes to separate module 2013-11-22 15:17:38 +01:00
Fabio Erculiani
7fe3c021bd [entropy.client] move package.py to Python package 2013-11-22 15:00:14 +01:00
Fabio Erculiani
69fb71f957 [entropy.client.package] code style updates 2013-11-22 14:02:49 +01:00
Fabio Erculiani
c04f2c5a50 [entropy.client.package] pylint sweep 2013-11-22 13:57:14 +01:00
Fabio Erculiani
ddfdc51791 [entropy.client.package] make _handle_config_protect() faster, use sets 2013-11-22 13:42:06 +01:00
Fabio Erculiani
782ec72fd6 [entropy.const] drop all the config_protect+mask objects from etpConst 2013-11-22 13:40:13 +01:00
Fabio Erculiani
d41aa402ba [entropy.client.package] rewrite config_protect+mask handling code
Improve code quality, remove several redundant parts, use set()
objects instead of list() for both protect and mask data.
Improve speed, save the world.
2013-11-22 12:54:38 +01:00
Fabio Erculiani
36b38487a4 [entropy.client.package] some cleanups 2013-11-22 12:24:49 +01:00
Fabio Erculiani
41988b7002 [entropy.client.package] fix config protect and mask handling
We must collect the configuration protection and masking bits before
the installed package metadata goes away. This is true for both
install and removal paths.
2013-11-22 12:17:48 +01:00
Fabio Erculiani
9c73be1d03 [entropy.client.interfaces.package] drop type checking 2013-11-22 11:04:43 +01:00
Fabio Erculiani
3d7b00725b [entropy.tools] drop stale comments 2013-11-22 11:04:25 +01:00
Fabio Erculiani
7091c56fe0 [entropy.tools] rewrite read_elf_linker_paths(), improve speed, add tests 2013-11-21 16:43:18 +01:00
Fabio Erculiani
60af35b748 [entropy.tools] rewrite read_elf_broken_symbols(), add tests 2013-11-21 16:30:51 +01:00
Fabio Erculiani
70fc459840 [entropy.tools] rewrite read_elf_real_dynamic_libraries(), add tests 2013-11-21 16:05:29 +01:00
Fabio Erculiani
1f6805d389 [entropy.tools] fix FileNotFound exception handling 2013-11-21 15:48:36 +01:00
Fabio Erculiani
5509272fdd [entropy.tools] rewrite read_elf_dynamic_libraries(), make it use scanelf 2013-11-21 15:48:17 +01:00
Fabio Erculiani
efeefa1d7c Release Entropy 234 2013-11-21 13:05:33 +01:00
Fabio Erculiani
14f4b7b8c5 [entropy.spm] PortagePlugin: drop the old license setup code, fix portage >=2.2.0_alpha189 support
The old license setup code is no longer needed since 2009. EAPI < 3
use ACCEPT_PROPERTIES="* -interactive", which is now set in the environment
(note that we may want to reduce the scope of the variable to portage.config
in the future). EAPI >= 3 use ACCEPT_LICENSE. check_license() in
eutils.eclass is gone as well.
2013-11-21 12:39:05 +01:00
Fabio Erculiani
96ef5868f4 [entropy.db] initial repository database support for preserved libraries 2013-11-20 17:09:48 +01:00
Fabio Erculiani
66f1463488 Release Entropy 233 2013-11-20 12:34:41 +01:00
Fabio Erculiani
d089978b74 Revert "[entropy.db.cache] add timed expiration support for cached elements"
This reverts commit 8b7c48c2d9.
2013-11-20 11:42:51 +01:00
Fabio Erculiani
d786c403c8 [entropy.db.sqlite] fix the retrieveDependencies cache invalidation paths 2013-11-20 11:38:53 +01:00
Fabio Erculiani
8b7c48c2d9 [entropy.db.cache] add timed expiration support for cached elements 2013-11-20 11:25:02 +01:00
Fabio Erculiani
47657d6285 [entropy.misc] ParallelTask: code style update 2013-11-20 11:15:53 +01:00
Fabio Erculiani
8124d071d6 Release Entropy 232 2013-11-19 22:10:36 +01:00
Fabio Erculiani
275f4d4c74 [entropy.server] validate missing dependency string using searchPackageIdFromDependencyId() 2013-11-19 22:08:34 +01:00
Fabio Erculiani
650a462632 [€ntropy.client] s/idpackage/package_id/ 2013-11-19 21:46:27 +01:00
Fabio Erculiani
8ce1f920e0 [entropy.server] s/idpackage/package_id 2013-11-19 21:38:24 +01:00