summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove reference to nonexistent _unlock_builddir() method inv2.2_rc73Zac Medico2010-09-011-1/+0
| | | | EbuildPhase._env_extractor_exit().
* Add support to config.setcpv() for caching USE settings from builtZac Medico2010-09-014-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 depgraph._serialize_tasks() so that portage-9999 is always promotedZac Medico2010-08-311-1/+3
| | | | to the front of the merge list when it is reinstalled.
* 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
* Add comments about consumers of FakeVardbapi.getpath().Zac Medico2010-08-311-0/+4
|
* 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-313-5/+12
| | | | | | | | | 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
|
* Add a fallback PORTAGE_BZIP2_COMMAND setting in ebuild.sh, as aZac Medico2010-08-311-0/+6
| | | | workaround for portage-9999 users.
* Show PORTAGE_BZIP2_COMMAND and PORTAGE_BUNZIP2_COMMAND in emerge --info,Zac Medico2010-08-301-1/+11
| | | | in case it triggers mysterious unpack() issues or something.
* 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 - Use PORTAGE_BUNZIP2_COMMAND and PORTAGE_BZIP2_COMMAND inZac Medico2010-08-301-9/+9
| | | | | | ebuild.sh where appropriate: * unpack() * environment.bz2 compression
* Bug #335340 - Add support for PORTAGE_BZIP2_COMMAND andZac Medico2010-08-3010-10/+87
| | | | | | 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-304-15/+68
| | | | | 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_DYN_LINK_MAP is False, show additional --depclean helpZac Medico2010-08-302-0/+13
| | | | and warnings advising use of revdep-rebuild.
* 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.
* Replace the literal portage version in all man page headers with theZac Medico2010-08-3014-14/+14
| | | | | | string 'VERSION' which can be used as a sed template at install time. This will help avoid lots of merge conflicts since these header lines contain both a date and a portage version.
* Add a comment to make.globals noting that the preserve-libs FEATURESZac Medico2010-08-301-1/+2
| | | | setting will be commented out in versions that don't support it.
* 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.
* Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portageZac Medico2010-08-301-2/+2
|\
| * Fix typos.Arfrever Frehtes Taifersar Arahesis2010-08-301-2/+2
| |
* | Add some private constants for use in conditional code in order toZac Medico2010-08-301-0/+18
|/ | | | minimize the diff between branches.
* Add more new features to RELEASE-NOTES for portage-2.1.9.Zac Medico2010-08-301-0/+8
|
* Invert _ebuild_helpers_path EAPI conditional in ebuild.sh.Zac Medico2010-08-301-3/+3
|
* Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portageZac Medico2010-08-301-3/+3
|\
| * Bug fix in canonicalize() function.Ulrich Mueller2010-08-301-3/+3
| |
* | Split out a RELEASE-NOTES section for portage-2.1.9, composed of partsZac Medico2010-08-301-5/+10
|/ | | | from the 2.2 branch.
* Add a TODO note to AbstractEbuildProcess._can_log() about adding supportZac Medico2010-08-301-0/+3
| | | | for logging via named pipe (fifo) for sesandbox.
* Make match_from_list() strip "!!" when appropriate for strong blocks.Zac Medico2010-08-301-1/+4
|
* Remove duplicate real_vardb definition from merge in action_depclean().Zac Medico2010-08-301-1/+0
|
* Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portageZac Medico2010-08-302-2/+3
|\
| * Fix "UnboundLocalError: local variable 'real_vardb' referenced before ↵Arfrever Frehtes Taifersar Arahesis2010-08-301-1/+1
| | | | | | | | assignment".
| * Fix typo in comment.Arfrever Frehtes Taifersar Arahesis2010-08-301-1/+1
| |
| * Bug #335242: Fix typo in emerge(1) man page.Arfrever Frehtes Taifersar Arahesis2010-08-301-1/+1
| |
* | Fix broken reference to real_vardb in calc_depclean() from 2 commits ago.Zac Medico2010-08-301-1/+1
|/
* Rename the portage.sets module to portage._sets since it will be usefulZac Medico2010-08-3024-39/+44
| | | | | in the upcoming 2.1.9 branch which will not have sets support but will still have the code in private and disabled form.