| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
This brings portage into agreement with PMS. Also, for existing EAPIs,
if the source file is in a writable directory then this will create a
symlink for backward-compatible emulation of tools like gunzip and
bunzip2.
|
| |
|
|
|
|
|
| |
This prevents some more false alarms from commit
4bb08136f073024c5d31dceb1618b6f4e7246369.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This is a minimal fix for bug #376577.
|
|
|
|
|
|
| |
This is a regression from commit
1fdeb78d08bac14f3f999f112499d179a87cf342 and it can only be triggered
when repo-level package.use is present.
|
|
|
|
|
| |
This is required for compliance with PMS section 13.4 as discussed in
bug #326685.
|
| |
|
|
|
|
|
| |
This makes contradictory things like `emerge -e @system --exclude gcc`
work as expected.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This was an error in commit f393413c3f823ef4a60acfcc41c3920933510fc1.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This simplifies the interface, avoiding the need for hardcoded indexes
and making it easy to add new attributes.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Thanks to Sven Vermeulen <sven.vermeulen@siphos.be> for the initial
patch posted on bug #375835.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
If there are no non-excluded providers then there's no need to search
for satisfied consumers.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This avoids a redundant pordbapi.findname() call.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This should also fix bugs related to CompositeTask instances waiting
for queued tasks to start and not being properly terminated in this
case.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is analogous to commit f07f8386e945b48358c11c121960e4833c539752
for bug #375331, but for fetching from binhosts.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Since commit f07f8386e945b48358c11c121960e4833c539752, the first will
have to wait for later ones to fetch unless we start its prefetcher
first.
|
|
|
|
| |
This will fix bug #375331.
|
| |
|
| |
|
| |
|
|
|
|
| |
This allows us to avoid parsing the Manifest twice.
|
|
|
|
|
| |
When we call digestgen(), it can regenerate our distfiles digests and
we don't wan to cache stale values in this case.
|
|
|
|
| |
This allows us to avoid parsing the Manifest twice.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
These belong in the blacklist, in order to avoid potential interference
from the calling environment.
|
|
|
|
|
| |
This should fix "Insufficient data for checksum verification" errors
triggered by ebuild --skip-manifest.
|
| |
|
| |
|