Zac Medico [Mon, 29 Aug 2011 15:57:55 +0000 (08:57 -0700)]
env_update: fix breakage in last commit
Zac Medico [Mon, 29 Aug 2011 07:40:11 +0000 (00:40 -0700)]
env_update: fix CHOST/CBUILD ldconfig code
This code never worked (since it was added in commit
751893b0272561eb9274110a474d5436a7d2bc76) due to a name collision
between the env argument and another variable with the same name.
Zac Medico [Mon, 29 Aug 2011 07:23:13 +0000 (00:23 -0700)]
Fix env interference in emerge/repoman tests.
Zac Medico [Mon, 29 Aug 2011 06:50:16 +0000 (23:50 -0700)]
emerge: add simple unit tests
These tests are similar to the repoman tests, using a
__PORTAGE_TEST_EPREFIX environment variable to make emerge confine
itself to a testing prefix so that things like install and uninstall
operations can be performed.
Zac Medico [Mon, 29 Aug 2011 06:49:04 +0000 (23:49 -0700)]
Send "Recording in world" msg to stdout.
Zac Medico [Mon, 29 Aug 2011 06:18:08 +0000 (23:18 -0700)]
ResolverPlayground: fix to make emerge happy
Zac Medico [Mon, 29 Aug 2011 06:12:52 +0000 (23:12 -0700)]
env_update: add minimal EPREFIX support
This takes EPREFIX from the env argument and uses it when joining all
paths. Also, ldconfig calls are disabled when EPREFIX is non-empty,
since it's inappropriate to update the global /etc/ld.so.cache in this
case.
Zac Medico [Mon, 29 Aug 2011 05:20:49 +0000 (22:20 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Mon, 29 Aug 2011 03:59:26 +0000 (20:59 -0700)]
test_poll: fix "ResourceWarning: unclosed file"
Zac Medico [Mon, 29 Aug 2011 02:59:01 +0000 (19:59 -0700)]
Sort test cases, for predictable order.
Zac Medico [Mon, 29 Aug 2011 00:04:47 +0000 (17:04 -0700)]
spawnebuild: skip previously executed phases
This simply checks of $PORTAGE_BUILDDIR/.${EBUILD_PHASE%e}ed and skips
the phase like ebuild.sh would. It preserves a special case for the
install phase with FEATURES=noauto, so that dyn_install in ebuild.sh
continues to work the same for this case.. Also, note that commit
ae9b6cb513c7b29376caecf3b4e52aac452e2b93 preserves the automatic
"recreating WORKDIR" behavior that used to be implemented in
dyn_unpack.
Zac Medico [Sun, 28 Aug 2011 23:29:49 +0000 (16:29 -0700)]
doebuild: avoid redundant distfiles checks
When the unpack phase is already marked as complete, it's wasteful to
check distfiles digests. In order to avoid this, we have to migrate the
distfiles/workdir timestamp comparisons from ebuild.sh to doebuild.py,
so that doebuild always knows when unpack will be triggered. This also
allows us to eliminate code in dyn_unpack that duplicated dyn_clean,
actually call dyn_clean instead.
Zac Medico [Sun, 28 Aug 2011 21:04:41 +0000 (14:04 -0700)]
Fix possible NameError in finally block.
Arfrever Frehtes Taifersar Arahesis [Sun, 28 Aug 2011 19:54:23 +0000 (21:54 +0200)]
Fix "ResourceWarning: unclosed file" with Python 3.2.
Arfrever Frehtes Taifersar Arahesis [Sat, 27 Aug 2011 20:16:14 +0000 (22:16 +0200)]
Fix "ResourceWarning: unclosed file" with Python 3.2.
Zac Medico [Sat, 27 Aug 2011 19:04:06 +0000 (12:04 -0700)]
egencache: don't require xml in global scope
Zac Medico [Sat, 27 Aug 2011 19:01:06 +0000 (12:01 -0700)]
egencache: implement XMLParser.doctype()
This is prevents "DeprecationWarning: This method of XMLParser is
deprecated. Define doctype() method on the TreeBuilder target."
warnings. The code is copied from repoman, commit
5a5e51a2737a0855bb562683f50c57cc31587460.
Zac Medico [Fri, 26 Aug 2011 19:53:55 +0000 (12:53 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
David James [Mon, 22 Aug 2011 23:29:13 +0000 (16:29 -0700)]
Update --rebuild-if-* flags to rebuild when build dependencies are changed.
Right now, the --rebuild-if-* flags only rebuild packages that are used at
both run-time and build-time. This doesn't help for packages that are used
only at build-time (for example, static libaries).
Rebuilding packages whenever a build-time dependency is changed is easier to
understand and explain, and it handles all cases correctly.
BUG=chromium-os:15517
TEST=Run emerge test suite.
Change-Id: Iae8dab24e8acb6625bc1a0ce41862e90b232eb84
Zac Medico [Fri, 26 Aug 2011 16:52:04 +0000 (09:52 -0700)]
Fix EPREFIX/EROOT typo in repoman test.
Zac Medico [Fri, 26 Aug 2011 15:43:02 +0000 (08:43 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Fri, 26 Aug 2011 15:12:47 +0000 (08:12 -0700)]
Add __test__ for repoman tests.
Zac Medico [Fri, 26 Aug 2011 06:12:27 +0000 (23:12 -0700)]
repoman: add a simple unit test
Zac Medico [Fri, 26 Aug 2011 06:07:39 +0000 (23:07 -0700)]
Add skipped test support (for python 2.6 compat)
Python supports skipped tests since 2.7, but we'll implement support
ourselves for python 2.6 compatibility. This is a simple extension of
the todo support that we have already implemented.
Zac Medico [Fri, 26 Aug 2011 05:47:45 +0000 (22:47 -0700)]
testLazyImport: fix PYTHONPATH setting
Zac Medico [Fri, 26 Aug 2011 03:44:58 +0000 (20:44 -0700)]
Add a copy of metadata.dtd, for repoman tests.
Since repoman uses metadata.dtd for metadata.xml checks, our sources
need to include a copy in order to test it.
Zac Medico [Thu, 25 Aug 2011 23:45:32 +0000 (16:45 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Thu, 25 Aug 2011 22:35:53 +0000 (15:35 -0700)]
Enable -Wd for tests, so DeprecationWarning works
DeprecationWarning is suppressed by default since Python 2.7, so it's
a good idea to explicitly enable it for tests.
Zac Medico [Thu, 25 Aug 2011 22:10:52 +0000 (15:10 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Thu, 25 Aug 2011 21:54:34 +0000 (14:54 -0700)]
TestCase: remove python 2.4 compat constructor
Zac Medico [Thu, 25 Aug 2011 21:48:45 +0000 (14:48 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Arfrever Frehtes Taifersar Arahesis [Thu, 25 Aug 2011 21:50:06 +0000 (23:50 +0200)]
Improve a comment.
Arfrever Frehtes Taifersar Arahesis [Thu, 25 Aug 2011 21:35:48 +0000 (23:35 +0200)]
Add some comments, which will allow to easier find code, which should be
removed when support for older versions of Python is removed.
Zac Medico [Thu, 25 Aug 2011 16:37:11 +0000 (09:37 -0700)]
die: defer die hooks for EAPI 4 helpers_die
This will fix bug #380625.
Zac Medico [Thu, 25 Aug 2011 03:29:04 +0000 (20:29 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Thu, 25 Aug 2011 02:48:17 +0000 (19:48 -0700)]
python3.2 fixes: use array.tobytes()
Zac Medico [Thu, 25 Aug 2011 02:25:59 +0000 (19:25 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Thu, 25 Aug 2011 01:02:40 +0000 (18:02 -0700)]
ElementTree: use iter if available (bug #380565)
Zac Medico [Thu, 25 Aug 2011 00:32:30 +0000 (17:32 -0700)]
SafeConfigParser: renamed to ConfigParser in 3.2
Zac Medico [Mon, 22 Aug 2011 20:35:59 +0000 (13:35 -0700)]
make.conf.5: document EMERGE_WARNING_DELAY
Zac Medico [Mon, 22 Aug 2011 17:35:44 +0000 (10:35 -0700)]
dosym: QA warn if target is existing dir
Zac Medico [Mon, 22 Aug 2011 16:06:13 +0000 (09:06 -0700)]
dosym: QA warn if basename omitted (bug #379899)
Zac Medico [Sat, 20 Aug 2011 21:09:03 +0000 (14:09 -0700)]
ebuild(1): show merge/noauto msg only if needed
Mark Wagner [Tue, 16 Aug 2011 05:38:00 +0000 (22:38 -0700)]
Improve the invalid profile msg (bug 379327).
Zac Medico [Sun, 14 Aug 2011 23:49:57 +0000 (16:49 -0700)]
emerge --search: account for USE in fetch size
Zac Medico [Sat, 13 Aug 2011 13:51:43 +0000 (06:51 -0700)]
egencache: add --portdir-overlay option
This will fix bug #353648.
Zac Medico [Sat, 13 Aug 2011 12:54:21 +0000 (05:54 -0700)]
config: blacklist vars loaded from profile.env
Zac Medico [Sat, 13 Aug 2011 12:23:39 +0000 (05:23 -0700)]
config: blacklist GREP_OPTIONS variable
This variable could cause interference with the ebuild environment and
portage shell code, like in bug 370085.
Zac Medico [Fri, 12 Aug 2011 11:43:40 +0000 (04:43 -0700)]
repoman: tweak --if-modified help output
Zac Medico [Fri, 12 Aug 2011 11:21:53 +0000 (04:21 -0700)]
repoman: warn when --if-modified finds nothing
Zac Medico [Fri, 12 Aug 2011 09:47:04 +0000 (02:47 -0700)]
Fix log uid for logrotate-3.8 compat (bug 378451)
If PORT_LOGDIR is writable by the portage group but its uid is not
portage_uid, then set the uid to portage_uid if we have privileges to
do so, and also copy the uid to the logfile. This fixes logrotate
chown failures during the compression phase, when it attempts to copy
the uid from the logfile to a temp file. With the "su portage portage"
directive and logrotate-3.8.0, logrotate's chown call during the
compression phase will only succeed if the log file's uid is
portage_uid.
Zac Medico [Thu, 11 Aug 2011 03:27:45 +0000 (20:27 -0700)]
resume_depgraph: prune all indirect unsatisfied
This should fix some cases of bug 378187.
Zac Medico [Thu, 11 Aug 2011 03:00:11 +0000 (20:00 -0700)]
repoman: add --if-modified option to check less
This is useful if you want to do a repo-level or category-level commit
but you only want to run checks for the packages that have uncommitted
modifications.
Zac Medico [Tue, 9 Aug 2011 06:44:17 +0000 (23:44 -0700)]
repoman: check more helper calls for $D, $ED...
This adds docinto, docompress, fowners and fperms to the
variable.usedwithhelpers check. Notably absent is dosed since that
supports mixed input. This will fix bug #377303.
Zac Medico [Tue, 9 Aug 2011 05:58:54 +0000 (22:58 -0700)]
Package: remove unused profile.system mask type
Zac Medico [Tue, 9 Aug 2011 05:35:38 +0000 (22:35 -0700)]
Remove "profile" mask support as per PMS 5.2.7.
Since this is considered a "legacy" feature by PMS 5.2.7, there
shouldn't be any need to support it anymore. Profiles can use
package.mask to get similar results, and package.mask additionally
allows for comments which are conveniently displayed by emerge. This
will fix bug #377907.
Zac Medico [Tue, 9 Aug 2011 00:14:15 +0000 (17:14 -0700)]
_check_temp_dir: check for 'portage' symlink
This will fix bug #378403.
Zac Medico [Sun, 7 Aug 2011 05:59:26 +0000 (22:59 -0700)]
fetch: handle non-essential statvfs failure
Zac Medico [Sat, 6 Aug 2011 11:09:51 +0000 (04:09 -0700)]
unmerge: remove more info dir files for #323213
Treat any directory named "info" as a candidate here, since it might
have been in INFOPATH previously even though it may not be there now.
Zac Medico [Sat, 6 Aug 2011 05:16:31 +0000 (22:16 -0700)]
portageq: fix short help display for leading \n
Zac Medico [Thu, 4 Aug 2011 23:09:36 +0000 (16:09 -0700)]
unmerge: remove generated info "dir" files
These files are generated by emerge, so we need to remove them
when they are the only thing left in the directory. This will fix
bug #323213.
Zac Medico [Thu, 4 Aug 2011 22:17:34 +0000 (15:17 -0700)]
action_info: don't mix print with writemsg_stdout
This should prevent strange output buffering/order issues reported when
piping output to head.
Zac Medico [Thu, 4 Aug 2011 21:26:12 +0000 (14:26 -0700)]
portageq best_visible: support optional pkgtype
Zac Medico [Wed, 3 Aug 2011 05:10:47 +0000 (22:10 -0700)]
Scheduler: fix parallel-fetch order with --jobs=1
This avoids a case where the first prefetcher is discarded, causing
the second prefetcher to occupy the fetch queue before the first
fetcher has an opportunity to execute.
Zac Medico [Tue, 2 Aug 2011 18:25:58 +0000 (11:25 -0700)]
unpack: remove backward compat for bug #376741
This case is extremely rare, since the most common practice is to
unpack source files that are already in the cwd. The only Gentoo
packages that needed to be fixed were games-arcade/tuxpuck and
www-plugins/google-talkplugin.
Zac Medico [Tue, 2 Aug 2011 08:56:11 +0000 (01:56 -0700)]
unmerge: display preserved syms in ascending ord
Zac Medico [Mon, 1 Aug 2011 23:48:07 +0000 (16:48 -0700)]
unpack: always unpack to cwd (bug #376741)
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.
Zac Medico [Mon, 1 Aug 2011 22:57:04 +0000 (15:57 -0700)]
depgraph: fix duplicate zero pkg count display
Zac Medico [Mon, 1 Aug 2011 12:32:00 +0000 (05:32 -0700)]
unmerge: unmerge symlinks broken by rmdir
This prevents some more false alarms from commit
4bb08136f073024c5d31dceb1618b6f4e7246369.
Zac Medico [Mon, 1 Aug 2011 11:18:54 +0000 (04:18 -0700)]
post_emerge: just return instead of sys.exit()
Zac Medico [Fri, 29 Jul 2011 20:16:34 +0000 (13:16 -0700)]
unmerge: fix false alarm about protected symlinks
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.
Zac Medico [Fri, 29 Jul 2011 07:22:19 +0000 (00:22 -0700)]
Fix a typo in a comment.
Zac Medico [Thu, 28 Jul 2011 11:29:25 +0000 (04:29 -0700)]
emerge: protect symlinks to directories sometimes
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.
Zac Medico [Wed, 27 Jul 2011 10:34:09 +0000 (03:34 -0700)]
depgraph: handle invalid SRC_URI
This is a minimal fix for bug #376577.
Zac Medico [Wed, 27 Jul 2011 09:53:40 +0000 (02:53 -0700)]
config: fix AttributeError: 'NoneType' errors
This is a regression from commit
1fdeb78d08bac14f3f999f112499d179a87cf342 and it can only be triggered
when repo-level package.use is present.
Zac Medico [Wed, 27 Jul 2011 01:51:25 +0000 (18:51 -0700)]
merge: abort if symlink replacing dir
This is required for compliance with PMS section 13.4 as discussed in
bug #326685.
Zac Medico [Tue, 26 Jul 2011 00:44:31 +0000 (17:44 -0700)]
NEWS: Add note about EAPI 3 in portage-2.1.7.17.
Zac Medico [Mon, 25 Jul 2011 20:54:46 +0000 (13:54 -0700)]
depgraph: make --exclude handle contradictions
This makes contradictory things like `emerge -e @system --exclude gcc`
work as expected.
Zac Medico [Sun, 24 Jul 2011 02:58:43 +0000 (19:58 -0700)]
Fix a typo in the previous commit.
Zac Medico [Sun, 24 Jul 2011 02:57:52 +0000 (19:57 -0700)]
LinkageMapELF.getOwners(): add note about plibs
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.
Zac Medico [Sun, 24 Jul 2011 02:14:52 +0000 (19:14 -0700)]
LinkageMapELF: fix reversed x, cpv var refs
This was an error in commit
f393413c3f823ef4a60acfcc41c3920933510fc1.
Zac Medico [Sun, 24 Jul 2011 01:34:29 +0000 (18:34 -0700)]
LibraryConsumerSet: handle KeyError from dbapi
Zac Medico [Sat, 23 Jul 2011 18:46:41 +0000 (11:46 -0700)]
merge: handle symlink replacing dir
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.
Zac Medico [Sat, 23 Jul 2011 06:22:52 +0000 (23:22 -0700)]
LinkageMapELF: remove 5-tuple unpack code
Zac Medico [Fri, 22 Jul 2011 22:59:13 +0000 (15:59 -0700)]
LinkageMapELF: add getOwners() method and use it
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.
Zac Medico [Fri, 22 Jul 2011 20:38:04 +0000 (13:38 -0700)]
LinkageMapELF: use a class for _obj_properies
This simplifies the interface, avoiding the need for hardcoded indexes
and making it easy to add new attributes.
Zac Medico [Fri, 22 Jul 2011 07:58:56 +0000 (00:58 -0700)]
LinkageMapELF: optimize memory usage
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.
Zac Medico [Thu, 21 Jul 2011 16:56:33 +0000 (09:56 -0700)]
BinpkgFetcher: support selinux PORTAGE_FETCH_T
Thanks to Sven Vermeulen <sven.vermeulen@siphos.be> for the initial
patch posted on bug #375835.
Zac Medico [Thu, 21 Jul 2011 16:14:50 +0000 (09:14 -0700)]
EverythingSet: always create SLOT atoms
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.
Zac Medico [Wed, 20 Jul 2011 08:04:00 +0000 (01:04 -0700)]
Optimize LinkageMapELF.findConsumers().
If there are no non-excluded providers then there's no need to search
for satisfied consumers.
Zac Medico [Wed, 20 Jul 2011 04:44:14 +0000 (21:44 -0700)]
Fix unused case in LinkageMapELF.findConsumers().
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.
Zac Medico [Tue, 19 Jul 2011 20:23:35 +0000 (13:23 -0700)]
Scheduler: fix _running_tasks for uninstalls
Zac Medico [Tue, 19 Jul 2011 19:52:29 +0000 (12:52 -0700)]
EbuildBuild: pass ebuild_path to EbuildFetcher
This avoids a redundant pordbapi.findname() call.
Zac Medico [Tue, 19 Jul 2011 08:36:58 +0000 (01:36 -0700)]
Make emerge --noreplace identical to --selective.
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.
Zac Medico [Mon, 18 Jul 2011 08:21:39 +0000 (01:21 -0700)]
Scheduler: simplify _terminate_tasks
This should also fix bugs related to CompositeTask instances waiting
for queued tasks to start and not being properly terminated in this
case.
Zac Medico [Mon, 18 Jul 2011 05:30:54 +0000 (22:30 -0700)]
preserve-libs: search for alt providers of soname
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.
Zac Medico [Sun, 17 Jul 2011 18:16:20 +0000 (11:16 -0700)]
Scheduler: allow concurrent fetch with --jobs > 1
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.
Arfrever Frehtes Taifersar Arahesis [Sun, 17 Jul 2011 04:35:26 +0000 (06:35 +0200)]
Fix a typo in a doc string.
Zac Medico [Sun, 17 Jul 2011 00:32:10 +0000 (17:32 -0700)]
EbuildFetcher: handle FileNotFound
Zac Medico [Sun, 17 Jul 2011 00:10:36 +0000 (17:10 -0700)]
Fix a typo in a comment.