Zac Medico [Mon, 6 Jun 2011 10:29:48 +0000 (03:29 -0700)]
getmaskingreason: assume myrepo arg is valid
Zac Medico [Mon, 6 Jun 2011 10:09:51 +0000 (03:09 -0700)]
config: add missing Package import
Zac Medico [Mon, 6 Jun 2011 10:03:58 +0000 (03:03 -0700)]
Use Package.UNKNOWN_REPO where appropriate.
Zac Medico [Mon, 6 Jun 2011 09:11:31 +0000 (02:11 -0700)]
getmaskingreason: add myrepo argument
Zac Medico [Mon, 6 Jun 2011 02:52:42 +0000 (19:52 -0700)]
portageq: support --version
Zac Medico [Mon, 6 Jun 2011 02:24:29 +0000 (19:24 -0700)]
Scheduler: init _fetch_log in constructor
This ensures that we account for EMERGE_LOG_DIR.
Zac Medico [Mon, 6 Jun 2011 02:01:02 +0000 (19:01 -0700)]
InternalPackageSet: default allow_repo=True
Repo atoms are allowed more often than not, so it makes sense for this
class to allow them by default. The Atom constructor and isvalidatom()
functions default to allow_repo=False, which is sufficient to ensure
that repo atoms are prohibited when necessary.
Zac Medico [Sun, 5 Jun 2011 16:31:33 +0000 (09:31 -0700)]
create_world_atom: fix slot/repo atom logic
Zac Medico [Sun, 5 Jun 2011 16:13:35 +0000 (09:13 -0700)]
Enable atom::repo in the @selected package set.
Zac Medico [Sun, 5 Jun 2011 15:12:18 +0000 (08:12 -0700)]
MergeListItem: fix "unknown repo" display
The Package class uses an UNKNOWN_REPO constant so that MergeListItem
can distinguish this case.
Zac Medico [Sun, 5 Jun 2011 09:15:54 +0000 (02:15 -0700)]
match-all-cpv-only: share match-all cache when ok
Zac Medico [Sun, 5 Jun 2011 08:59:49 +0000 (01:59 -0700)]
portdbapi.xmatch: remove redundant myval check
Zac Medico [Sun, 5 Jun 2011 08:55:27 +0000 (01:55 -0700)]
portdbapi.xmatch: always pass mytree to cp_list
Zac Medico [Sun, 5 Jun 2011 08:14:07 +0000 (01:14 -0700)]
dbapi._iter_match: remove redundant myrepo args
The myrepo arguments are redundant since the Atom.repo attribute
carries the same information.
Zac Medico [Sun, 5 Jun 2011 07:23:33 +0000 (00:23 -0700)]
dep_expand: fix orig_dep for previous commit
Zac Medico [Sun, 5 Jun 2011 07:10:17 +0000 (00:10 -0700)]
dep_expand: optimize away cpv_expand if possible
Zac Medico [Sun, 5 Jun 2011 00:08:08 +0000 (17:08 -0700)]
Uniformly check EAPI when avoiding setcpv calls.
Zac Medico [Sat, 4 Jun 2011 13:18:34 +0000 (06:18 -0700)]
--ask: show group warning before pretend prompt
Zac Medico [Sat, 4 Jun 2011 13:01:26 +0000 (06:01 -0700)]
autounmask: reference EMERGE_DEFAULT_OPTS in docs
Zac Medico [Sat, 4 Jun 2011 03:48:55 +0000 (20:48 -0700)]
Binpkg: cleanup PORTAGE_BINPKG_FILE code
Zac Medico [Sat, 4 Jun 2011 03:08:35 +0000 (20:08 -0700)]
Fix a typo in a comment.
Zac Medico [Sat, 4 Jun 2011 02:37:45 +0000 (19:37 -0700)]
autounmask: include comments from package.mask
This will fix bug #369985.
Zac Medico [Sat, 4 Jun 2011 02:31:20 +0000 (19:31 -0700)]
emergelog: tweak _disabled comment
Zac Medico [Sat, 4 Jun 2011 02:11:09 +0000 (19:11 -0700)]
emergelog: only enable when called by emerge
We disable emergelog by default, since it's called from dblink.merge()
and we don't want that to trigger log writes unless it's really called
via emerge.
Zac Medico [Sat, 4 Jun 2011 01:49:02 +0000 (18:49 -0700)]
Revert "dblink.merge: remove autoclean emergelog calls"
This reverts commit
352280549c9b72e7b916803dc6b03b959d0817e3.
I'm planning to fix this so the emergelog calls are only enabled when
emerge is the caller.
Zac Medico [Sat, 4 Jun 2011 01:38:40 +0000 (18:38 -0700)]
portdbapi: cleanup when base module is reloaded
This prevents memory leaks via portdbapi.portdbapi_instances when the
module is reloaded. Also, there's no need for ebuild(1) to call
close_portdbapi_caches() since it's now handled automatically during
the reload.
Zac Medico [Sat, 4 Jun 2011 00:10:41 +0000 (17:10 -0700)]
Update timestamps in headers of modified files.
Zac Medico [Sat, 4 Jun 2011 00:01:13 +0000 (17:01 -0700)]
Move pickle import out of base portage module.
Zac Medico [Fri, 3 Jun 2011 23:03:40 +0000 (16:03 -0700)]
--ask: prompt for --pretend mode when necessary
Zac Medico [Fri, 3 Jun 2011 22:27:24 +0000 (15:27 -0700)]
--autounmask: show note suggesting how to disable
Now that --autounmask is enabled by default, people are dealing with
local masks that trigger unsatisfied dependencies often complain about
--autounmask behavior being inappropriate for their situation.
Therefore, show a helpful note when the autounmask code is triggered
and --quiet is not enabled:
NOTE: This --autounmask behavior can be disabled by setting
EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf.
Zac Medico [Fri, 3 Jun 2011 21:47:55 +0000 (14:47 -0700)]
make_http_request: fix request arguments
This will fix "TypeError: must be string or buffer, not dict" with
python 2.7, as reported in bug #369913.
Zac Medico [Fri, 3 Jun 2011 11:20:27 +0000 (04:20 -0700)]
dblink.merge: remove autoclean emergelog calls
This logging is non-essential, and it's somewhat out of place to call
emergelog from dblink.merge since emerge is not the only caller of
this code.
Zac Medico [Fri, 3 Jun 2011 10:16:16 +0000 (03:16 -0700)]
dblink.merge: remove unused scheduler callbacks
Zac Medico [Fri, 3 Jun 2011 10:13:23 +0000 (03:13 -0700)]
dblink.unmerge: fix some background logic cases
Zac Medico [Fri, 3 Jun 2011 05:40:39 +0000 (22:40 -0700)]
autounmask-write: mention --ask in docs
Zac Medico [Fri, 3 Jun 2011 05:24:10 +0000 (22:24 -0700)]
etc-update: disable clear_term by default
Zac Medico [Fri, 3 Jun 2011 05:20:51 +0000 (22:20 -0700)]
autounmask-write: force configpro if non-existent
We want to force new_protect_filename to ensure that the user will see
all our changes via etc-update, even if file_to_write_to doesn't exist
yet.
Zac Medico [Fri, 3 Jun 2011 03:47:09 +0000 (20:47 -0700)]
add_pkg_dep_string: fix reversed inst_pkgs order
This code was intended to iterate over packages in descending order,
but match_pkgs() returns them in ascending order, so we need to
reverse it.
Zac Medico [Fri, 3 Jun 2011 03:31:02 +0000 (20:31 -0700)]
add_pkg_dep_string: remove unused root_slot var
Zac Medico [Fri, 3 Jun 2011 03:09:42 +0000 (20:09 -0700)]
Use bool(digraph) instead of empty()/is_empty().
Zac Medico [Fri, 3 Jun 2011 02:35:05 +0000 (19:35 -0700)]
dblink.unmerge: init log_path earlier, don't pop
There's no need to pop PORTAGE_LOG_FILE here, since
PORTAGE_BACKGROUND=subprocess disables logging when necessary.
Zac Medico [Fri, 3 Jun 2011 00:36:33 +0000 (17:36 -0700)]
repository/config: PORTDIR/overlay priority tweak
This ensures compatibility with previous portage versions for cases in
which the user has added PORTDIR to PORTDIR_OVERLAY as a means to modify its
priority relative to overlays when selecting ebuilds.
Zac Medico [Thu, 2 Jun 2011 21:55:14 +0000 (14:55 -0700)]
NEWS: FEATURES=parallel-install and ebuild-locks
Zac Medico [Thu, 2 Jun 2011 21:43:56 +0000 (14:43 -0700)]
NEW/RELEASE-NOTES: add items for portage-2.1.10
Zac Medico [Thu, 2 Jun 2011 21:02:46 +0000 (14:02 -0700)]
portageq: exclude expand_new_virt from commands
This is necessary since portage probes functions in globals() and
treats functions it finds as commands. Also, use lazy import to
minimize global scope imports.
Zac Medico [Thu, 2 Jun 2011 12:50:54 +0000 (05:50 -0700)]
portageq: add new expand_virtual function
Something like this was requested in bug #157357. Now that Gentoo has
migrated all virtuals to GLEP 37 new-style virtuals, this kind of
function may be helpful in order to resolve the currently installed
provider of a particular virtual in scripts like bootstrap.sh.
Usage:
portageq expand_virtual <root> <atom>
Returns a \n separated list of atoms expanded from a
given virtual atom, excluding blocker atoms. Satisfied
virtual atoms are not included in the output, since
they are expanded to real atoms which are displayed.
Unsatisfied virtual atoms are displayed without
any expansion. The "match" command can be used to
resolve the returned atoms to specific installed
packages.
Example input/output:
$ portageq expand_virtual / virtual/jre
=dev-java/sun-jdk-1.6.0*
$ portageq expand_virtual / virtual/jre:1.5
dev-java/gcj-jdk
$ portageq expand_virtual / virtual/package-manager
sys-apps/portage
$ portageq expand_virtual / virtual/libc
sys-libs/glibc:2.2
$ portageq expand_virtual / virtual/os-headers
sys-kernel/linux-headers:0
Zac Medico [Tue, 31 May 2011 22:22:02 +0000 (15:22 -0700)]
repoman: disallow EMERGE_FROM in EAPI 4
We already have the Eapi4GoneVars check for AA and KV which were
removed in EAPI 4, so we can re-use it to disallow EMERGE_FROM.
This will fix bug #368865.
Zac Medico [Tue, 31 May 2011 21:48:55 +0000 (14:48 -0700)]
etc-update: add clear_term config for bug #142508
Zac Medico [Tue, 31 May 2011 02:16:43 +0000 (19:16 -0700)]
dep_zapdeps: use digraph for preference selection
This is required in order for dep_zapdeps to work as intended for
solving cases of bug #264434 in which there is an installed
package that may need to be uninstalled in order to resolve blockers.
It fixes a failure to resolve blockers when attempting to replace
media-video/ffmpeg with media-video/libav (symptom is similar to
bug #339164, but with new-style virtual instead of old-style PROVIDE
virtual).
Zac Medico [Mon, 30 May 2011 23:43:33 +0000 (16:43 -0700)]
test_merge_order: add USE deps to bug 264434 test
Zac Medico [Mon, 30 May 2011 22:56:29 +0000 (15:56 -0700)]
test_merge_order: test bug #264434 with virtual
Alexandre Rostovtsev [Mon, 30 May 2011 22:26:30 +0000 (15:26 -0700)]
man/ebuild.5: document DOCS variable for EAPI 4
This will fix bug #369383.
Zac Medico [Fri, 27 May 2011 23:17:09 +0000 (16:17 -0700)]
backtrack_depgraph: display_problems for each run
Zac Medico [Fri, 27 May 2011 22:53:21 +0000 (15:53 -0700)]
depclean: warn for each unmatched argument
This output is similar to that produced by unmerge().
Zac Medico [Fri, 27 May 2011 03:28:54 +0000 (20:28 -0700)]
_LockProcess: fix _poll returncode
We don't want to return the returncode directly from the
subprocess. Return self.returncode instead.
Zac Medico [Fri, 27 May 2011 02:38:00 +0000 (19:38 -0700)]
MergeProcess: populate vardbapi cache for new pkg
Zac Medico [Fri, 27 May 2011 02:14:20 +0000 (19:14 -0700)]
counter_tick_core: flush the cache (periodically)
Since we hold a lock, this is a good opportunity to flush the cache.
Note that this will only flush the cache periodically in the main
process when _aux_cache_threshold is exceeded.
Zac Medico [Fri, 27 May 2011 01:26:18 +0000 (18:26 -0700)]
autounmask_broke_use_dep: flag masked pkgs too
Zac Medico [Fri, 27 May 2011 00:38:45 +0000 (17:38 -0700)]
_LockProcess: remove redundant scheduler attrib
Zac Medico [Fri, 27 May 2011 00:00:22 +0000 (17:00 -0700)]
unmerge: remove redundant builddir_locked var
Zac Medico [Thu, 26 May 2011 22:14:07 +0000 (15:14 -0700)]
AsynchronousLock: check type in _poll and _cancel
Zac Medico [Thu, 26 May 2011 18:32:26 +0000 (11:32 -0700)]
man/emerge.1: refer to ebuild(5) for atom syntax
Zac Medico [Thu, 26 May 2011 13:02:11 +0000 (06:02 -0700)]
unmerge: pass through writemsg_level param
Zac Medico [Thu, 26 May 2011 12:22:18 +0000 (05:22 -0700)]
discardBlocker: fix bug in slot match code
Zac Medico [Thu, 26 May 2011 12:00:01 +0000 (05:00 -0700)]
discardBlocker: fix cpv match so it works
Zac Medico [Thu, 26 May 2011 06:40:47 +0000 (23:40 -0700)]
depgraph: always check for autounmask breakage
The 2.1.9 branch already does the same thing since commit
65736474c0d70cb10ff1290b3787b61d8a502aed.
Zac Medico [Thu, 26 May 2011 06:27:41 +0000 (23:27 -0700)]
Update timestamps in headers of modified files.
Zac Medico [Thu, 26 May 2011 02:32:42 +0000 (19:32 -0700)]
dblink.unmerge: always initialize myebuildpath
This is required for the doebuild_environment() call. Also, set
builddir_locked = True when appropriate.
Zac Medico [Thu, 26 May 2011 01:37:55 +0000 (18:37 -0700)]
counter_tick: respect incrementing param always
Every package install must have a unique counter, since a slotmove
update can move two packages into the same SLOT and in that case it's
important that both packages have different COUNTER metadata.
Zac Medico [Thu, 26 May 2011 01:04:33 +0000 (18:04 -0700)]
FakeVartree: use live meta if installed EAPI ok
This will fix bug #368725.
Zac Medico [Thu, 26 May 2011 00:57:05 +0000 (17:57 -0700)]
unmerge: fix logging for unsupported EAPI
Zac Medico [Thu, 26 May 2011 00:30:36 +0000 (17:30 -0700)]
rebuilt-binaries: prefer newer unbuilt
Zac Medico [Wed, 25 May 2011 06:33:12 +0000 (23:33 -0700)]
FakeVartree: tweak _aux_get_wrapper repo handling
Zac Medico [Wed, 25 May 2011 06:25:27 +0000 (23:25 -0700)]
FakeVartree: tweak _aux_get_wrapper EAPI handling
Zac Medico [Wed, 25 May 2011 05:42:24 +0000 (22:42 -0700)]
writedict: use write_atomic for exceptions
Also, fix calling code to handle InvalidLocation exceptions.
Zac Medico [Wed, 25 May 2011 05:09:43 +0000 (22:09 -0700)]
treewalk: reset cloned config instances
Zac Medico [Wed, 25 May 2011 05:01:35 +0000 (22:01 -0700)]
dblink: use config._init_dirs() when necessary
Zac Medico [Wed, 25 May 2011 04:55:59 +0000 (21:55 -0700)]
writedict: raise any exceptions
We don't have any code that checks the writedict return value, so we'd
better raise an exception if it fails.
Zac Medico [Wed, 25 May 2011 04:52:40 +0000 (21:52 -0700)]
atomic_ofstream: suppress redundant open error
Zac Medico [Wed, 25 May 2011 04:36:36 +0000 (21:36 -0700)]
vardbapi: use config._init_dirs() when necessary
Zac Medico [Wed, 25 May 2011 04:07:31 +0000 (21:07 -0700)]
cleanrm: handle UnsupportedAPIException
Zac Medico [Wed, 25 May 2011 03:57:33 +0000 (20:57 -0700)]
FakeVartree: preserve EAPI of installed package
If the corresponding unbuilt ebuild has a different EAPI than the
installed instance, then we want to preserve the EAPI meatadata from
the installed instance.
Zac Medico [Wed, 25 May 2011 03:10:56 +0000 (20:10 -0700)]
Fix a typo in last commit's debug message.
Zac Medico [Wed, 25 May 2011 02:52:17 +0000 (19:52 -0700)]
depgraph: detect deps broken by autounmask
This will fix bug #368429.
Zac Medico [Wed, 25 May 2011 00:45:06 +0000 (17:45 -0700)]
PackageUninstall: return early if pkg is missing
Zac Medico [Wed, 25 May 2011 00:29:27 +0000 (17:29 -0700)]
PackageUninstall: remove extra cat/pf var init
Also, add to comments about ebuild-locks.
Zac Medico [Tue, 24 May 2011 23:59:13 +0000 (16:59 -0700)]
test_merge_order: test asap PDEPEND (bug #180045)
Zac Medico [Tue, 24 May 2011 10:40:23 +0000 (03:40 -0700)]
treewalk: fix PORTAGE_BUILDIR_LOCKED state
This fixes breakage from commit
f0f1bbe8fa9d3f698cbe529d2a11eec1ce437119.
Zac Medico [Tue, 24 May 2011 05:54:57 +0000 (22:54 -0700)]
PackageUninstall: log more output
Zac Medico [Tue, 24 May 2011 05:31:20 +0000 (22:31 -0700)]
PackageUninstall: make async with MergeProcess
This fixes another ebuild-locks issue like the one fixed in commit
a81460175a441897282b0540cefff8060f2b92dc, but this time we use a
subprocess to ensure that the ebuild-locks for pkg_prerm and
pkg_postrm do not interfere with pkg_setup ebuild-locks held by
the main process.
Zac Medico [Tue, 24 May 2011 03:02:30 +0000 (20:02 -0700)]
doebuild_environment: move EAPI code later
All EAPI dependent code comes last, so that essential
variables like PORTAGE_BUILDDIR are still initialized even in
cases when UnsupportedAPIException needs to be raised, which
can be useful when uninstalling a package that has corrupt
EAPI metadata.
Zac Medico [Tue, 24 May 2011 00:33:15 +0000 (17:33 -0700)]
MergeProcess: remove unnecessary dblink attribute
Zac Medico [Mon, 23 May 2011 22:12:24 +0000 (15:12 -0700)]
PackageUninstall: use _unmerge_display()
This is preparation for asynchronous support.
Zac Medico [Mon, 23 May 2011 21:21:43 +0000 (14:21 -0700)]
unmerge: split out _unmerge_display() function
This will be useful for adding asynchronous support to the
PackageUninstall class, since it will be able to call
_unmerge_display() for the display portion, and then do the
actual unmerge asynchronously.
Zac Medico [Mon, 23 May 2011 07:05:05 +0000 (00:05 -0700)]
repoman: pass type_name to Package constructor
Zac Medico [Mon, 23 May 2011 05:59:16 +0000 (22:59 -0700)]
test_merge_order: add more asap libc deps
Zac Medico [Mon, 23 May 2011 05:39:57 +0000 (22:39 -0700)]
_serialize_tasks: prefer unsatisfied asap child
Optimally, satisfied deps are always merged after the asap nodes that
depend on them.
Zac Medico [Mon, 23 May 2011 00:44:49 +0000 (17:44 -0700)]
test_depth: use merge_order_assertions
Zac Medico [Sun, 22 May 2011 23:48:42 +0000 (16:48 -0700)]
_add_pkg_dep_string: handle satisfied virt_dep
This fixes a problem with the asap LIBC_PACKAGE_ATOM test case for
bug #303567.
Zac Medico [Sun, 22 May 2011 22:01:21 +0000 (15:01 -0700)]
test_merge_order: test asap LIBC_PACKAGE_ATOM