summaryrefslogtreecommitdiff
path: root/pym
Commit message (Collapse)AuthorAgeFilesLines
* unmerge: fix false alarm about protected symlinksv2.2.0_alpha49Zac Medico2011-07-291-1/+1
| | | | | | | The error message about preserved symlinks, from commit 4bb08136f073024c5d31dceb1618b6f4e7246369, should only be triggered in cases when the package being unmerged has the given path listed as a symlink in its CONTENTS.
* Fix a typo in a comment.v2.2.0_alpha48Zac Medico2011-07-291-1/+1
|
* emerge: protect symlinks to directories sometimesZac Medico2011-07-281-2/+88
| | | | | | | | | | | | | | Before, it was possible to unmerge a symlink to a directory, such that files installed via the path of the symlink could become inaccessible via that path (and also making it impossible to unmerge them via that path). Now, the symlink will only be unmerged if the directory that it points to only contains regular files which are all being unmerged. In any other case, the symlink will be preserved and an eerror log message will record the event. This will give the user an opportunity to take further action if they deem it necessary, and such symlink preservation will not be silent as it was reported in bug #326685, comment #3.
* depgraph: handle invalid SRC_URIZac Medico2011-07-271-2/+7
| | | | This is a minimal fix for bug #376577.
* config: fix AttributeError: 'NoneType' errorsZac Medico2011-07-271-1/+1
| | | | | | This is a regression from commit 1fdeb78d08bac14f3f999f112499d179a87cf342 and it can only be triggered when repo-level package.use is present.
* merge: abort if symlink replacing dirZac Medico2011-07-261-8/+30
| | | | | This is required for compliance with PMS section 13.4 as discussed in bug #326685.
* depgraph: make --exclude handle contradictionsZac Medico2011-07-251-1/+7
| | | | | This makes contradictory things like `emerge -e @system --exclude gcc` work as expected.
* Fix a typo in the previous commit.v2.2.0_alpha47Zac Medico2011-07-231-1/+1
|
* LinkageMapELF.getOwners(): add note about plibsZac Medico2011-07-231-0/+5
| | | | | | For preserved libraries, the owner(s) may have been been previously uninstalled, but these uninstalled owners can be returned by this method since they are registered in the PreservedLibsRegistry.
* LinkageMapELF: fix reversed x, cpv var refsZac Medico2011-07-231-1/+1
| | | | This was an error in commit f393413c3f823ef4a60acfcc41c3920933510fc1.
* LibraryConsumerSet: handle KeyError from dbapiZac Medico2011-07-231-8/+13
|
* 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
|