summaryrefslogtreecommitdiffstats
path: root/pym/portage
Commit message (Collapse)AuthorAgeFilesLines
* Add backward compatible config.pmaskdict and punmaskdict propertiesZac Medico2010-09-021-0/+8
| | | | | | that return copies of the corresponding MaskManager attributes. This is safe since MaskManager now stores the values in these dicts as immutable tuples.
* Make MaskManager use tuples for values inside _pmaskdict andZac Medico2010-09-021-0/+4
| | | | _punmaskdict.
* Implement ExtendedAtomDict.copy().Zac Medico2010-09-021-0/+6
|
* Bug #335620 - Add backward compatible config.virtuals and virts_pZac Medico2010-09-021-0/+14
| | | | properties, and trigger a DeprecationWarning if they are accessed.
* Filter more variables that don't need to end up in environment.bz2.Zac Medico2010-09-021-5/+9
|
* Fix breakage for python3 from trying to mix bytes and unicode inZac Medico2010-09-021-1/+1
| | | | load_default_config().
* Add a _SANDBOX_COMPAT_LEVEL constant which will be used to enableZac Medico2010-09-023-2/+8
| | | | a workaround for bug #288863 in the stable branch.
* Omit dotfiles in /usr/share/portage/config/sets (e.g. vim swapfiles).Michał Górny2010-09-021-1/+2
|
* Bug #248603 - Add a _ENABLE_REPO_NAME_WARN constant that's used toZac Medico2010-09-021-0/+1
| | | | | disable warnings about "missing repo_name entries" for the stable branch.
* Add support to config.setcpv() for caching USE settings from builtZac Medico2010-09-013-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | packages, and use it for evaluating conditional USE deps in atoms passed via IPC to helpers like has_version and best_version. Since the pickled object that contains the IPC command will no longer contain USE, it should solve cases that have been reported in which large USE strings trigger poor handling of non-blocking read in pickle.load(): Traceback (most recent call last): File "/usr/bin/emerge", line 43, in <module> retval = emerge_main() File "/usr/lib64/portage/pym/_emerge/main.py", line 1649, in emerge_main myopts, myaction, myfiles, spinner) File "/usr/lib64/portage/pym/_emerge/actions.py", line 437, in action_build retval = mergetask.merge() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1033, in merge rval = self._merge() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1349, in _merge self._main_loop() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1498, in _main_loop self._poll_loop() File "/usr/lib64/portage/pym/_emerge/PollScheduler.py", line 139, in _poll_loop handler(f, event) File "/usr/lib64/portage/pym/_emerge/EbuildIpcDaemon.py", line 36, in _input_handler obj = pickle.load(self._files.pipe_in) File "/usr/lib64/python2.6/pickle.py", line 1370, in load return Unpickler(file).load() File "/usr/lib64/python2.6/pickle.py", line 858, in load dispatch[key](self) File "/usr/lib64/python2.6/pickle.py", line 1195, in load_setitem value = stack.pop() IndexError: pop from empty list
* Make atomic directory creation code in dblink.mergeme() use equivalentZac Medico2010-09-011-4/+16
| | | | error handling to portage.util.ensure_dirs().
* Add a note to the ensure_dirs() docstring about atomic directory creation.Zac Medico2010-09-011-1/+6
|
* Make ensure_dirs() use os.path.isdir() to verify that the directoryZac Medico2010-09-011-2/+3
| | | | exists when EISDIR is raised, since this is abnormal behavior.
* In ensure_dirs(), only call apply_permissions() when keyword argumentsZac Medico2010-09-011-2/+5
| | | | for it are given.
* Make more doebuild() commands exempt from _check_temp_dir().Zac Medico2010-09-011-2/+8
|
* In doebuild(), don't call _check_temp_dir() for pseudo-phases such asZac Medico2010-09-011-3/+5
| | | | 'manifest' and 'digest' that don't require a temp dir.
* In dblink.mergeme(), handle EISDIR which can be raised from mkdir callsZac Medico2010-08-312-2/+5
| | | | on FreeBSD (see bug #187518).
* Fix WorldSelectedSet._load2() to always return a list instead of aZac Medico2010-08-311-1/+1
| | | | | set for nonatoms so that we don't trigger 'TypeError: can only concatenate list (not "set") to list'.
* Fix portage to create directories atomically in fast build.David James2010-08-311-9/+20
| | | | | | | | | | | | | | If multiple ebuild processes create the same directory, portage should not exit with an error message. Instead we should just be okay with the fact that another process created the directory. This is only necessary for fast build because we eliminate the giant lock that surrounds package merges. TEST=Create fresh chroot and do full build from source start to finish BUG=none Review URL: http://codereview.chromium.org/2998002
* Update portage to create directories atomically.David James2010-08-311-4/+4
| | | | | | | | | | | | | | | | | | | | | | | Portage should use the ensure_dirs function instead of os.makedirs to create directories, because this function ensures atomicity. It prevents failures when more than one process tries to create the same directory. This fixes a crash bug reported by msb: [...] File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 3258, in _merge self.vartree.dbapi._bump_mtime(self.mycpv) File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 152, in _bump_mtime os.makedirs(catdir) File "/usr/lib64/portage/pym/portage/__init__.py", line 210, in __call__ rval = self._func(*wrapped_args, **wrapped_kwargs) File "/usr/lib64/python2.6/os.py", line 157, in makedirs mkdir(name, mode) OSError: [Errno 17] File exists: '/home/msb/trunk/src/build/images/x86-generic/0.8.63.2010_08_03_1844-a1/rootfs//var/db/pkg/x11-proto' BUG=chromium-os:5366 TEST=build_packages && build_image Review URL: http://codereview.chromium.org/3113014
* Simplify the vartree constructor usage in config.getvirtuals().Zac Medico2010-08-311-2/+1
|
* Use self.dbapi.getpath() to simplify code in vartree.get_provide().Zac Medico2010-08-311-1/+1
|
* Bug #335439 - Fix "AttributeError: 'vartree' object has no attributeZac Medico2010-08-311-1/+1
| | | | '_eroot'" in vartree.get_provide().
* When portage updates itself and the new version either inheritsZac Medico2010-08-311-1/+3
| | | | | | | | | git.eclass or has 9999 in its version, trigger the 'use copy of current sources for install, then restart portage' routine. This is required since with the live git portage-9999 ebuild we can't use the version to detect incompatible changes to ebuild.sh. This issue was noticed due to recent versions of ebuild.sh expecting PORTAGE_BZIP2_COMMAND to be set, causing incompatibility with installed portage-9999 instances.
* Fix ResolverPlayground.cleanup() to cleanup the portdbapi instance.Zac Medico2010-08-311-0/+3
|
* Fix bugs in features_set._prune_overrides() and add another test case.Zac Medico2010-08-302-12/+19
|
* Add testcase to check that features_set._prune_overrides() is workingZac Medico2010-08-301-1/+8
| | | | correctly.
* Bug #335340 - Add support for PORTAGE_BZIP2_COMMAND andZac Medico2010-08-303-6/+70
| | | | | | PORTAGE_BUNZIP2_COMMAND settings in make.conf. This only adds support for binary packages, since that's where pbzip2 can provide the most benefit in common cases.
* Bug #326561 - Implement FEATURES=unknown-features-filter. This is notZac Medico2010-08-303-15/+65
| | | | | enabled by default now, but it may be in the future, depending on feedback from unknown-features-warn.
* Move FEATURES=unknown-features-warn code to config.regenerate() soZac Medico2010-08-301-12/+21
| | | | | that it shows warnings for unknown FEATURES settings from package.env, and keep a record of shown warnings in config._unknown_features.
* When _ENABLE_SET_CONFIG is False, disable reading/writing of theZac Medico2010-08-301-7/+21
| | | | world_sets file in WorldSelectedSet.
* When _ENABLE_SET_CONFIG is False, make load_default_config() createZac Medico2010-08-301-1/+42
| | | | | a default hardcoded set configuration that will be used by the upcoming 2.1.9 branch.
* Use _ENABLE_PRESERVE_LIBS and _ENABLE_DYN_LINK_MAP constants to controlZac Medico2010-08-301-7/+13
| | | | instantiation of vardbapi._plib_registry and vardbapi._linkmap.
* Add some private constants for use in conditional code in order toZac Medico2010-08-301-0/+18
| | | | minimize the diff between branches.
* Make match_from_list() strip "!!" when appropriate for strong blocks.Zac Medico2010-08-301-1/+4
|
* Rename the portage.sets module to portage._sets since it will be usefulZac Medico2010-08-3013-20/+25
| | | | | in the upcoming 2.1.9 branch which will not have sets support but will still have the code in private and disabled form.
* Always check if vardbapi._linkmap and vardbapi._plib_registry areZac Medico2010-08-292-41/+93
| | | | | | None before trying to use them. This will be useful in the upcoming 2.1.9 branch which will not have preserve-libs support but will still have the code in private and disabled form.
* Rename vardbapi.linkmap to vardbapi._linkmap since I'mZac Medico2010-08-292-12/+12
| | | | | | trying to minimize the diff between the master branch and upcoming 2.1.9 branch which will not have preserve-libs support but will still have the code in private and disabled form.
* Rename vardbapi.plib_registry to vardbapi._plib_registry since I'mZac Medico2010-08-293-18/+18
| | | | | | trying to minimize the diff between the master branch and upcoming 2.1.9 branch which will not have preserve-libs support but will still have the code in private and disabled form.
* Move LinkageMap to a new portage.util._dyn_libs.LinkageMapELF module.Zac Medico2010-08-292-614/+636
|
* Move PreservedLibsRegistry to a new ↵Zac Medico2010-08-293-117/+141
| | | | portage.util._dyn_libs.PreservedLibsRegistry module.
* Remove unused imports found by pylint.Arfrever Frehtes Taifersar Arahesis2010-08-2919-37/+23
|
* Fix import.Arfrever Frehtes Taifersar Arahesis2010-08-291-2/+2
|
* Add LocationsManager.profile_and_user_locations for use with ↵Sebastian Luther2010-08-292-8/+12
| | | | config.categories and archlist.
* Simplify the empty USE conditional /var/db/pkg metadata code inZac Medico2010-08-281-8/+6
| | | | _post_src_install_uid_fix(), and handle one more case.
* When evaluating USE conditional metadata for /var/db/pkg insideZac Medico2010-08-281-0/+11
| | | | | _post_src_install_uid_fix(), ensure non-empty entries are removed if the evaluation results in an empty value.
* Bug #335055 - Fix "TypeError: argument of type 'NoneType' is notZac Medico2010-08-281-4/+5
| | | | | iterable" raised from first call to VirtualsManager.get_virts_p() when trying to expand the category for a package name.
* Bug #334935 - Fix broken reference to config.pmaskdict insidev2.2_rc71Zac Medico2010-08-271-2/+3
| | | | getmaskingreason().
* Use StopIteration to exit nested loops.v2.2_rc70Zac Medico2010-08-271-5/+9
|
* Add support for IUSE.missing checks in conditional USE dependencies.Zac Medico2010-08-271-3/+35
|