summaryrefslogtreecommitdiffstats
path: root/pym
Commit message (Collapse)AuthorAgeFilesLines
...
* merge: handle symlink replacing dirZac Medico2011-07-231-5/+13
| | | | | | | | | | | | | Previously, these symlinks would trigger a file collision message and would then be silently dropped in cases when the file collsion did not cause emerge to bail out due to FEATURES=protect-owned or collision-protect. Now, if emerge doesn't bail out due to a file collision, it will trigger an eerror message and merge the symlink with a .backup.XXXX extension appended to the file name, similar to handling of regular files in commit 740f71301ed3daf44c0e77df5d5de39fe1438fb1. This will fix bug 326685.
* LinkageMapELF: remove 5-tuple unpack codeZac Medico2011-07-221-17/+22
|
* LinkageMapELF: add getOwners() method and use itZac Medico2011-07-224-19/+65
| | | | | | This preserves the owner information inside LinkageMap.rebuild() and uses it to implement a getOwners() method, which makes it possible to efficiently lookup owners of library providers and consumers.
* LinkageMapELF: use a class for _obj_properiesZac Medico2011-07-221-11/+31
| | | | | This simplifies the interface, avoiding the need for hardcoded indexes and making it easy to add new attributes.
* LinkageMapELF: optimize memory usageZac Medico2011-07-221-9/+20
| | | | | | | This reduces memory consumption by approximately 30%, by replacing mutable set instances with arrays, tuples, and frozensets where appropriate. Also, identical frozenset instances are shared when available.
* BinpkgFetcher: support selinux PORTAGE_FETCH_TZac Medico2011-07-212-2/+14
| | | | | Thanks to Sven Vermeulen <sven.vermeulen@siphos.be> for the initial patch posted on bug #375835.
* EverythingSet: always create SLOT atomsZac Medico2011-07-211-14/+6
| | | | | | Before it would only include the SLOT in the atom if there were multiple slots installed. However, taht could lead to unwanted upgrades as reported in bug #338959. Therefore, always create SLOT atoms.
* Optimize LinkageMapELF.findConsumers().Zac Medico2011-07-201-7/+8
| | | | | If there are no non-excluded providers then there's no need to search for satisfied consumers.
* Fix unused case in LinkageMapELF.findConsumers().Zac Medico2011-07-191-8/+12
| | | | | | Currently, we never pass in more that one package via the exclude_providers argument, so we never trigger the flaw in the logic that this fixes.
* Scheduler: fix _running_tasks for uninstallsv2.2.0_alpha46Zac Medico2011-07-191-1/+3
|
* EbuildBuild: pass ebuild_path to EbuildFetcherZac Medico2011-07-191-0/+1
| | | | This avoids a redundant pordbapi.findname() call.
* Make emerge --noreplace identical to --selective.Zac Medico2011-07-194-25/+6
| | | | | | This removes a very subtle difference in --noreplace package selection logic which is not very useful and triggers strange package selection choices in some cases, as reported in bug #375571.
* Scheduler: simplify _terminate_tasksZac Medico2011-07-181-19/+8
| | | | | | This should also fix bugs related to CompositeTask instances waiting for queued tasks to start and not being properly terminated in this case.
* preserve-libs: search for alt providers of sonameZac Medico2011-07-172-9/+52
| | | | | | This will fix bug #289180 by making LinkageMapELF.findconsumers() exclude consumers from the results in cases when they are satisfied by an alternative provider of the required soname.
* Scheduler: allow concurrent fetch with --jobs > 1Zac Medico2011-07-171-3/+12
| | | | | | | This reverts behavior from bug #375331 (commit f07f8386e945b48358c11c121960e4833c539752) for cases in which --jobs is greater than 1. We can add a separate --fetch-jobs option later, but for now, this preserves previous behavior for --jobs > 1.
* Fix a typo in a doc string.Arfrever Frehtes Taifersar Arahesis2011-07-171-1/+1
|
* EbuildFetcher: handle FileNotFoundZac Medico2011-07-161-0/+3
|
* Fix a typo in a comment.Zac Medico2011-07-161-1/+1
|
* Binpkg: use fetch queue to cap fetch threadsZac Medico2011-07-161-1/+6
| | | | | This is analogous to commit f07f8386e945b48358c11c121960e4833c539752 for bug #375331, but for fetching from binhosts.
* EbuildBuild: skip the fetch queue when possibleZac Medico2011-07-162-16/+129
| | | | | | | Since commit f07f8386e945b48358c11c121960e4833c539752, it was possible for EbuildBuild to wait on the fetch queue even in cases in which all required files had been previously fetched. Now this case is optimized to skip the fetch queue, as discribed in bug #375331, comment #2.
* Scheduler: enable prefetch for first packageZac Medico2011-07-161-4/+1
| | | | | | Since commit f07f8386e945b48358c11c121960e4833c539752, the first will have to wait for later ones to fetch unless we start its prefetcher first.
* EbuildBuild: use fetch queue to cap fetch threadsZac Medico2011-07-151-1/+5
| | | | This will fix bug #375331.
* Set PORTAGE_REPO_NAME for depend phase.Zac Medico2011-07-141-0/+1
|
* debuild: pass manifest to digestcheck()v2.2.0_alpha45Zac Medico2011-07-132-3/+4
| | | | This allows us to avoid parsing the Manifest twice.
* doebuild: discard cached manifest when necessaryZac Medico2011-07-131-1/+8
| | | | | When we call digestgen(), it can regenerate our distfiles digests and we don't wan to cache stale values in this case.
* debuild: pass dist digests to fetch()Zac Medico2011-07-132-2/+7
| | | | This allows us to avoid parsing the Manifest twice.
* Revert "ebuild(1): allow-missing-manifests for fetch"Zac Medico2011-07-131-4/+2
| | | | | | | | | | This reverts commit 62712db56bb863b4eb0a9d9c52e7b2c3ad38df66. This code already defaulted to the allow-missing-manifests behavior, since the fetch() allow_missing_digests argument default is true. By making the argument conditional on allow-missing-manifests, it changed the behavior in the default case where allow-missing-manifests is disabled.
* Protect EBUILD_{FORCE_TEST,SKIP_MANIFEST} vars.Zac Medico2011-07-131-1/+2
| | | | | These belong in the blacklist, in order to avoid potential interference from the calling environment.
* fetch: fix ebuild --skip-manifest behaviorZac Medico2011-07-131-0/+2
| | | | | This should fix "Insufficient data for checksum verification" errors triggered by ebuild --skip-manifest.
* BUILD_TIME: use string format op for time.time()v2.2.0_alpha44Zac Medico2011-07-121-1/+1
|
* Use portage.subprocess_getstatusoutput() more.Zac Medico2011-07-125-26/+10
|
* Avoid baseline subprocess import under python2.Zac Medico2011-07-121-2/+4
|
* emergelog: use string format op for time.time()Zac Medico2011-07-121-4/+7
|
* emergelog: remove unneeded seek for append modeZac Medico2011-07-121-3/+0
|
* Update timestamps in headers of modified files.Zac Medico2011-07-121-1/+1
|
* Use explicit 'mode' keyword arg with io.open().Zac Medico2011-07-121-3/+3
|
* Use explicit 'mode' keyword arg with io.open().Zac Medico2011-07-121-2/+2
|
* resume_depgraph: be careful with parent_node typeZac Medico2011-07-121-2/+3
|
* unmerge: reject USE conditionals in argumentsZac Medico2011-07-121-2/+12
|
* Remove unneeded _unicode_decode for io.StringIO.Zac Medico2011-07-125-22/+8
| | | | | | | Since StringIO.StringIO fallback was removed in commit 5df96179611ce0e98727945b1800b43daccedfc2, we can rely on io.StringIO.getoutput() to return unicode, so there's no need to call _unicode_decode on the result.
* Remove python-2.6 StringIO.StringIO fallback.Zac Medico2011-07-1211-33/+25
| | | | | | | | Since the io module in python-2.6 was broken when threading was disabled, we needed to fall back from io.StringIO to StringIO.StringIO in this case (typically just for Gentoo's stage1 and stage2 tarballs). Now that python-2.7 is stable in stages and we rely on io.open() being available, we can also rely on io.StringIO being available.
* autounmask-write: create /etc/portage if neededZac Medico2011-07-111-1/+3
|
* elog/mod_save: fix permissions for logrotateZac Medico2011-07-113-4/+13
| | | | | These permissions should be compatible with our default logrotate config as discussed in bug 374287.
* elog/mod_save: ensure parent logdir existsZac Medico2011-07-112-2/+16
|
* resume_depgraph: fix breakage from reposyntaxZac Medico2011-07-111-1/+3
| | | | | This is a major regression that has been triggering lots of complaints about emerge --keep-going.
* elog/mod_save: use _ensure_log_subdirsZac Medico2011-07-113-19/+27
| | | | | This fixes permission issues with category subdirectories created for FEATURES=split-elog.
* prepare_build_dirs: copy logdir group permissionsZac Medico2011-07-111-10/+33
| | | | | The gid of PORT_LOGDIR is copied to all subdirectories, along with 0x2070 mode bits if present.
* Log maintainer info for pretend and nofetch.Zac Medico2011-07-111-4/+11
| | | | | | Also, suppress this maintainer info from going to stdout since it's intended for the log and it doesn't necessarily need to be visible elsewhere. This will fix bug #374809.
* prepare_build_dirs: warn for logdir permissionZac Medico2011-07-111-2/+13
| | | | | | If there is insufficient permission to use PORT_LOGDIR or the required subdirectory, warn instead of raising an exception. Also, fall back to using $T/build.log as a last resort.
* is_valid_package_atom: fix circular importZac Medico2011-07-112-16/+15
| | | | | | Due to a quirk in python import behavior, this only failed nondeterministically. However, the new preinst sanity test in the portage-9999 ebuild tends to trigger it more often for some people.