portage.git
13 years agoPackageUninstall: return early if pkg is missing
Zac Medico [Wed, 25 May 2011 00:45:06 +0000 (17:45 -0700)]
PackageUninstall: return early if pkg is missing

13 years agoPackageUninstall: remove extra cat/pf var init
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.

13 years agotest_merge_order: test asap PDEPEND (bug #180045)
Zac Medico [Tue, 24 May 2011 23:59:13 +0000 (16:59 -0700)]
test_merge_order: test asap PDEPEND (bug #180045)

13 years agotreewalk: fix PORTAGE_BUILDIR_LOCKED state
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.

13 years agoPackageUninstall: log more output
Zac Medico [Tue, 24 May 2011 05:54:57 +0000 (22:54 -0700)]
PackageUninstall: log more output

13 years agoPackageUninstall: make async with MergeProcess
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.

13 years agodoebuild_environment: move EAPI code later
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.

13 years agoMergeProcess: remove unnecessary dblink attribute
Zac Medico [Tue, 24 May 2011 00:33:15 +0000 (17:33 -0700)]
MergeProcess: remove unnecessary dblink attribute

13 years agoPackageUninstall: use _unmerge_display()
Zac Medico [Mon, 23 May 2011 22:12:24 +0000 (15:12 -0700)]
PackageUninstall: use _unmerge_display()

This is preparation for asynchronous support.

13 years agounmerge: split out _unmerge_display() function
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.

13 years agorepoman: pass type_name to Package constructor v2.2.0_alpha35
Zac Medico [Mon, 23 May 2011 07:05:05 +0000 (00:05 -0700)]
repoman: pass type_name to Package constructor

13 years agotest_merge_order: add more asap libc deps
Zac Medico [Mon, 23 May 2011 05:59:16 +0000 (22:59 -0700)]
test_merge_order: add more asap libc deps

13 years ago_serialize_tasks: prefer unsatisfied asap child
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.

13 years agotest_depth: use merge_order_assertions
Zac Medico [Mon, 23 May 2011 00:44:49 +0000 (17:44 -0700)]
test_depth: use merge_order_assertions

13 years ago_add_pkg_dep_string: handle satisfied virt_dep
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.

13 years agotest_merge_order: test asap LIBC_PACKAGE_ATOM
Zac Medico [Sun, 22 May 2011 22:01:21 +0000 (15:01 -0700)]
test_merge_order: test asap LIBC_PACKAGE_ATOM

13 years ago_validate_blockers: reference bug 128809
Zac Medico [Sun, 22 May 2011 21:20:56 +0000 (14:20 -0700)]
_validate_blockers: reference bug 128809

13 years agotest_merge_order: test asap PORTAGE_PACKAGE_ATOM
Zac Medico [Sun, 22 May 2011 21:01:18 +0000 (14:01 -0700)]
test_merge_order: test asap PORTAGE_PACKAGE_ATOM

13 years agotest_merge_order: test case for bug 250286
Zac Medico [Sun, 22 May 2011 20:36:18 +0000 (13:36 -0700)]
test_merge_order: test case for bug 250286

13 years agotest_merge_order: test hard block resolution
Zac Medico [Sun, 22 May 2011 20:02:26 +0000 (13:02 -0700)]
test_merge_order: test hard block resolution

13 years agotest_merge_order: test many-to-one blocks
Zac Medico [Sun, 22 May 2011 19:43:03 +0000 (12:43 -0700)]
test_merge_order: test many-to-one blocks

13 years agoPackage: add new _gen_hash_key method
Zac Medico [Sun, 22 May 2011 18:53:41 +0000 (11:53 -0700)]
Package: add new _gen_hash_key method

13 years agotest_depth: use ambiguous_merge_order
Zac Medico [Sun, 22 May 2011 17:03:05 +0000 (10:03 -0700)]
test_depth: use ambiguous_merge_order

13 years agoambiguous_merge_order: set match = False more
Zac Medico [Sun, 22 May 2011 09:05:15 +0000 (02:05 -0700)]
ambiguous_merge_order: set match = False more

13 years agoFix spelling of "ambiguous".
Zac Medico [Sun, 22 May 2011 09:03:04 +0000 (02:03 -0700)]
Fix spelling of "ambiguous".

13 years agoDepPriority: remove "rebuild" attribute
Zac Medico [Sun, 22 May 2011 00:46:11 +0000 (17:46 -0700)]
DepPriority: remove "rebuild" attribute

Since the addition of DepPriorityNormalRange and
DepPrioritySatisfiedRange in commit
bd369956b2a2fbc019a655a372628998499156c0, which solves most cases of
bug 199856, the Depriority.rebuild attribute doesn't appear to make any
difference. The edges that this attribute differentiates are already
naturally differentiated by the fact that the child node of a satisfied
buildtime dependency that's not being rebuilt will naturally be
identified as a leaf node earlier and removed from the graph, thereby
eliminating the edge before there's an opportunity to compare it with
a higher priority rebuild edge. The addition of the "optional"
attribute (in commit 15476805a156acd11fdaaa19212691e8ee09b309) also
plays a role here, since it converts some satisfied buildtime edges to
optional edges, thereby reducing their priority.

13 years agotest_merge_order: fix bugs in previous commit
Zac Medico [Sat, 21 May 2011 22:36:41 +0000 (15:36 -0700)]
test_merge_order: fix bugs in previous commit

13 years agotest_merge_order: test solve blocker no-overlap
Zac Medico [Sat, 21 May 2011 22:15:42 +0000 (15:15 -0700)]
test_merge_order: test solve blocker no-overlap

13 years agotreewalk: force AUTOCLEAN=yes if libs preserved
Zac Medico [Sat, 21 May 2011 14:22:00 +0000 (07:22 -0700)]
treewalk: force AUTOCLEAN=yes if libs preserved

13 years ago_prune_plib_registry: correct _match_contents use
Zac Medico [Sat, 21 May 2011 13:09:46 +0000 (06:09 -0700)]
_prune_plib_registry: correct _match_contents use

13 years agomerge_order_assertions: fix string format error
Zac Medico [Sat, 21 May 2011 10:34:30 +0000 (03:34 -0700)]
merge_order_assertions: fix string format error

13 years agotest_merge_order: test satisfied circular DEPEND
Zac Medico [Sat, 21 May 2011 10:30:05 +0000 (03:30 -0700)]
test_merge_order: test satisfied circular DEPEND

13 years agotest_merge_order: test unsolvable buildtime cycle
Zac Medico [Sat, 21 May 2011 09:20:55 +0000 (02:20 -0700)]
test_merge_order: test unsolvable buildtime cycle

13 years agotest_merge_order: test circular RDEPEND + DEPEND
Zac Medico [Sat, 21 May 2011 09:10:57 +0000 (02:10 -0700)]
test_merge_order: test circular RDEPEND + DEPEND

13 years agotest_merge_order: make cycles indirect
Zac Medico [Sat, 21 May 2011 08:47:13 +0000 (01:47 -0700)]
test_merge_order: make cycles indirect

13 years agoTask.__eq__: allow _hash_key as input
Zac Medico [Sat, 21 May 2011 08:40:30 +0000 (01:40 -0700)]
Task.__eq__: allow _hash_key as input

This is used by depgraph._pkg() for lookups.

13 years agoambigous_merge_order: handle more failure modes
Zac Medico [Sat, 21 May 2011 04:14:49 +0000 (21:14 -0700)]
ambigous_merge_order: handle more failure modes

13 years agotest_merge_order: test hard buildtime blockers
Zac Medico [Sat, 21 May 2011 04:01:31 +0000 (21:01 -0700)]
test_merge_order: test hard buildtime blockers

13 years agotest_merge_order: test hard blocker resolution
Zac Medico [Sat, 21 May 2011 03:49:08 +0000 (20:49 -0700)]
test_merge_order: test hard blocker resolution

13 years agotest_merge_order: test blocker resolution
Zac Medico [Sat, 21 May 2011 03:30:30 +0000 (20:30 -0700)]
test_merge_order: test blocker resolution

13 years agotest_merge_order: remove uneeded ambigous flag
Zac Medico [Sat, 21 May 2011 01:16:46 +0000 (18:16 -0700)]
test_merge_order: remove uneeded ambigous flag

13 years agotest_merge_order: fix ambigous_merge_order bug
Zac Medico [Sat, 21 May 2011 01:11:56 +0000 (18:11 -0700)]
test_merge_order: fix ambigous_merge_order bug

13 years agotest_merge_order: test circular RDEPEND + PDEPEND
Zac Medico [Sat, 21 May 2011 01:00:02 +0000 (18:00 -0700)]
test_merge_order: test circular RDEPEND + PDEPEND

13 years agoResolverPlayground: support ambigous_merge_order
Zac Medico [Sat, 21 May 2011 00:51:09 +0000 (17:51 -0700)]
ResolverPlayground: support ambigous_merge_order

13 years agoFix grammar in previous commit.
Zac Medico [Fri, 20 May 2011 22:01:21 +0000 (15:01 -0700)]
Fix grammar in previous commit.

13 years agodepclean: adjust failure message wrt --with-bdeps
Zac Medico [Fri, 20 May 2011 21:56:08 +0000 (14:56 -0700)]
depclean: adjust failure message wrt --with-bdeps

We need to be more explicit about using --with-bdeps=y, since this
subtlety often leads to confusion.

13 years agoTask: optimize == and != _hash_key comparison
Zac Medico [Fri, 20 May 2011 20:40:13 +0000 (13:40 -0700)]
Task: optimize == and != _hash_key comparison

13 years agoAdd FEATURES=distcc-pump support.
MATSUU Takuto [Fri, 20 May 2011 19:20:58 +0000 (12:20 -0700)]
Add FEATURES=distcc-pump support.

This will fix bug #288597.

13 years agoTask: precalculate _hash_value
Zac Medico [Fri, 20 May 2011 06:31:55 +0000 (23:31 -0700)]
Task: precalculate _hash_value

13 years agoTask: remove unnecessary _get_hash_key() method
Zac Medico [Fri, 20 May 2011 06:23:51 +0000 (23:23 -0700)]
Task: remove unnecessary _get_hash_key() method

13 years agoPackage: precalculate _hash_key
Marat Radchenko [Fri, 20 May 2011 04:25:17 +0000 (08:25 +0400)]
Package: precalculate _hash_key

This eliminates an expensive getattr call in _get_hash_key(), which
greatly improves depgraph performance on a weak ARM cpu.

13 years agoFix typos in comments.
Arfrever Frehtes Taifersar Arahesis [Wed, 18 May 2011 19:46:09 +0000 (21:46 +0200)]
Fix typos in comments.

13 years ago_find_libs_to_preserve: always return set v2.2.0_alpha34
Zac Medico [Wed, 18 May 2011 05:38:07 +0000 (22:38 -0700)]
_find_libs_to_preserve: always return set

13 years agopreserve-libs: check for broken linkmap more
Zac Medico [Wed, 18 May 2011 05:27:07 +0000 (22:27 -0700)]
preserve-libs: check for broken linkmap more

13 years ago_pkg_visibility_check: if in graph then visible
Zac Medico [Wed, 18 May 2011 04:37:08 +0000 (21:37 -0700)]
_pkg_visibility_check: if in graph then visible

13 years ago_LockProcess.unlock: assert successful returncode
Zac Medico [Wed, 18 May 2011 04:00:39 +0000 (21:00 -0700)]
_LockProcess.unlock: assert successful returncode

13 years agoetc-update: clear term when appropriate
Zac Medico [Wed, 18 May 2011 03:46:36 +0000 (20:46 -0700)]
etc-update: clear term when appropriate

This solves an issue like bug #142508, but involving etc-update instead
of dispatch-conf. This is also relevant to bug #70668, which is the
same issue, though the reporter suggested to use colors to delimit the
output instead of using clear.

13 years ago--autounmask-write: use CONFIGROOT more
Zac Medico [Wed, 18 May 2011 02:15:58 +0000 (19:15 -0700)]
--autounmask-write: use CONFIGROOT more

13 years agoFix a typo in a comment.
Zac Medico [Wed, 18 May 2011 01:49:57 +0000 (18:49 -0700)]
Fix a typo in a comment.

13 years agodigraph: implement __bool__
Zac Medico [Wed, 18 May 2011 01:43:32 +0000 (18:43 -0700)]
digraph: implement __bool__

13 years agodepgraph._resolve: use temp set for autounmask
Zac Medico [Wed, 18 May 2011 01:31:15 +0000 (18:31 -0700)]
depgraph._resolve: use temp set for autounmask

13 years agodisplay_autounmask: optimize check_if_latest
Zac Medico [Wed, 18 May 2011 00:54:34 +0000 (17:54 -0700)]
display_autounmask: optimize check_if_latest

13 years agotest_asynchronous_lock: simulate SIGINT from tty
Zac Medico [Tue, 17 May 2011 22:19:20 +0000 (15:19 -0700)]
test_asynchronous_lock: simulate SIGINT from tty

13 years agoAsynchronousTask: tweak poll() logic
Zac Medico [Tue, 17 May 2011 21:32:33 +0000 (14:32 -0700)]
AsynchronousTask: tweak poll() logic

13 years agoAsynchronousLock: implement _poll() and test
Zac Medico [Tue, 17 May 2011 21:25:47 +0000 (14:25 -0700)]
AsynchronousLock: implement _poll() and test

13 years agotest_asynchronous_lock: test returncode more
Zac Medico [Tue, 17 May 2011 21:14:20 +0000 (14:14 -0700)]
test_asynchronous_lock: test returncode more

13 years agotest_asynchronous_lock: test wait and cancel
Zac Medico [Tue, 17 May 2011 21:02:12 +0000 (14:02 -0700)]
test_asynchronous_lock: test wait and cancel

13 years agotest_asynchronous_lock: test waiting
Zac Medico [Tue, 17 May 2011 20:56:15 +0000 (13:56 -0700)]
test_asynchronous_lock: test waiting

13 years agotest_autounmask: test missing keyword
Zac Medico [Tue, 17 May 2011 20:33:10 +0000 (13:33 -0700)]
test_autounmask: test missing keyword

13 years agoUpdate timestamps in headers of modified files.
Zac Medico [Tue, 17 May 2011 19:50:38 +0000 (12:50 -0700)]
Update timestamps in headers of modified files.

13 years ago--autounmask-write: don't write hidden files
Zac Medico [Tue, 17 May 2011 19:43:48 +0000 (12:43 -0700)]
--autounmask-write: don't write hidden files

13 years ago--autounmask-write: use CONFIGROOT and EROOT
Zac Medico [Tue, 17 May 2011 07:10:21 +0000 (00:10 -0700)]
--autounmask-write: use CONFIGROOT and EROOT

13 years ago--autounmask-write: handle non-existent file
Zac Medico [Tue, 17 May 2011 06:54:52 +0000 (23:54 -0700)]
--autounmask-write: handle non-existent file

13 years ago--autounmask-write: only prompt when necessary
Zac Medico [Tue, 17 May 2011 06:29:21 +0000 (23:29 -0700)]
--autounmask-write: only prompt when necessary

13 years ago--autounmask-write: handle config file recursion
Zac Medico [Tue, 17 May 2011 06:10:38 +0000 (23:10 -0700)]
--autounmask-write: handle config file recursion

13 years agoDocument that --autounmask is enabled by default.
Zac Medico [Tue, 17 May 2011 04:30:08 +0000 (21:30 -0700)]
Document that --autounmask is enabled by default.

13 years agoEnable --autounmask by default
Sebastian Luther [Mon, 16 May 2011 20:06:40 +0000 (22:06 +0200)]
Enable --autounmask by default

13 years ago--autounmask-write: respect --ask
Sebastian Luther [Mon, 16 May 2011 19:21:12 +0000 (21:21 +0200)]
--autounmask-write: respect --ask

13 years agoBinpkgFetcher: handle AsynchronousLock failure
Zac Medico [Mon, 16 May 2011 07:21:03 +0000 (00:21 -0700)]
BinpkgFetcher: handle AsynchronousLock failure

13 years agoEbuildBuildDir: handle AsynchronousLock failure
Zac Medico [Mon, 16 May 2011 07:10:07 +0000 (00:10 -0700)]
EbuildBuildDir: handle AsynchronousLock failure

13 years ago_LockProcess: handle process failure more
Zac Medico [Mon, 16 May 2011 06:54:49 +0000 (23:54 -0700)]
_LockProcess: handle process failure more

13 years ago_LockProcess: handle process failure if cancelled
Zac Medico [Mon, 16 May 2011 06:17:27 +0000 (23:17 -0700)]
_LockProcess: handle process failure if cancelled

13 years agopreserve-libs: lock vardb for removeFromContents
Zac Medico [Mon, 16 May 2011 01:25:59 +0000 (18:25 -0700)]
preserve-libs: lock vardb for removeFromContents

13 years agoRevert "counter_tick_core: don't lock if parallel-install"
Zac Medico [Sun, 15 May 2011 23:28:32 +0000 (16:28 -0700)]
Revert "counter_tick_core: don't lock if parallel-install"

This reverts commit 405ad9eed65393205ec28af8772f7ea45ce0371e.
The root problem is fixed by commit
8380ec9d7590a47b912e0d1e1db2ebb6049b903b.

13 years agotreewalk: unlockdb/lockdb typo triggers EDEADLK
Zac Medico [Sun, 15 May 2011 23:17:36 +0000 (16:17 -0700)]
treewalk: unlockdb/lockdb typo triggers EDEADLK

13 years agomake.conf.txt: remove because unused/unmaintained
Zac Medico [Sun, 15 May 2011 22:29:15 +0000 (15:29 -0700)]
make.conf.txt: remove because unused/unmaintained

13 years agoFix some typos.
Arfrever Frehtes Taifersar Arahesis [Sun, 15 May 2011 21:24:31 +0000 (23:24 +0200)]
Fix some typos.

13 years ago--autounmask: Treat missing keywords as masks
Sebastian Luther [Sun, 15 May 2011 19:05:19 +0000 (12:05 -0700)]
--autounmask: Treat missing keywords as masks

13 years ago--autounmask: Allow package.mask changes
Sebastian Luther [Sun, 15 May 2011 19:03:20 +0000 (12:03 -0700)]
--autounmask: Allow package.mask changes

13 years agoImplement --autounmask-write
Sebastian Luther [Sun, 15 May 2011 19:01:03 +0000 (12:01 -0700)]
Implement --autounmask-write

Enabling this option together with --autounmask writes proposed
changes to config files, honoring CONFIG_PROTECT.

13 years agocounter_tick_core: don't lock if parallel-install
Zac Medico [Sun, 15 May 2011 09:30:15 +0000 (02:30 -0700)]
counter_tick_core: don't lock if parallel-install

This is the same as commit 461564ae94ff936918eeaa18493bc1da3846796f
but this time with comments that make sense.

13 years agoEbuildMerge: inherit from CompositeTask
Zac Medico [Sun, 15 May 2011 09:02:08 +0000 (02:02 -0700)]
EbuildMerge: inherit from CompositeTask

13 years agoEbuildPhase: fix locking for setup phase
Zac Medico [Sun, 15 May 2011 08:14:09 +0000 (01:14 -0700)]
EbuildPhase: fix locking for setup phase

13 years agoEbuildPhase: AsynchronousLock for ebuild-locks
Zac Medico [Sun, 15 May 2011 08:03:14 +0000 (01:03 -0700)]
EbuildPhase: AsynchronousLock for ebuild-locks

13 years agoUse vardbapi.lock() where applicable.
Zac Medico [Sun, 15 May 2011 05:21:08 +0000 (22:21 -0700)]
Use vardbapi.lock() where applicable.

13 years agomovefile: handle EEXIST when os.symlink fails
Zac Medico [Sun, 15 May 2011 04:39:26 +0000 (21:39 -0700)]
movefile: handle EEXIST when os.symlink fails

13 years agoRevert "counter_tick_core: don't lock if parallel-install"
Zac Medico [Sun, 15 May 2011 04:29:48 +0000 (21:29 -0700)]
Revert "counter_tick_core: don't lock if parallel-install"

This reverts commit 461564ae94ff936918eeaa18493bc1da3846796f.
Disabling the lock here doesn't really make sense, and I'm still
triggering EDEADLK is some other places.

13 years agopreserve-libs: use vardbapi _fs_lock/unlock
Zac Medico [Sun, 15 May 2011 02:55:24 +0000 (19:55 -0700)]
preserve-libs: use vardbapi _fs_lock/unlock

The preserve-libs code is too dependent on the filesystem state to
allow merging/unmerge/env_update to execute concurrently.

13 years agovardbapi: add reentrant _fs_lock/unlock methods
Zac Medico [Sun, 15 May 2011 02:43:12 +0000 (19:43 -0700)]
vardbapi: add reentrant _fs_lock/unlock methods

13 years ago_LibGraphNode: re-use the _key attribute
Zac Medico [Sun, 15 May 2011 01:56:39 +0000 (18:56 -0700)]
_LibGraphNode: re-use the _key attribute

This allows us to avoid repeating any previous stat calls, which helps
to avoid potential race conditions due to inconsistent stat results
when the file system is being modified concurrently.