Zac Medico [Fri, 8 Aug 2008 11:24:31 +0000 (11:24 -0000)]
Implement eapi$EAPI_* default phase functions that are equivalent to the
default_* functions for the given EAPI. For example, a function named
eapi0_src_compile provides access to the default src_compile implementation
that EAPI 0 provides. This feature is supported only when EAPI=2_pre2 is set.
Thanks to Brian Harring for suggesting this idea.
svn path=/main/trunk/; revision=11350
Zac Medico [Fri, 8 Aug 2008 11:01:22 +0000 (11:01 -0000)]
Handle missing ipv6 support (branches/prefix r11347).
svn path=/main/trunk/; revision=11348
Zac Medico [Fri, 8 Aug 2008 06:49:34 +0000 (06:49 -0000)]
* Fix the default() implementation so that it maps the ebuild argument to
the correct phase function.
* Add --exclude-init-phases option to save_ebuild_env() for filtering
out unnecessary functions and variables when creating environment.bz2.
* Add support for default() and default_* functions that die in all
ebuild phases so that improper use of these functions is quickly
discovered.
svn path=/main/trunk/; revision=11346
Zac Medico [Fri, 8 Aug 2008 00:43:06 +0000 (00:43 -0000)]
Shorten the scheduler status display in the xterm title by removing all
consecutive spaces.
svn path=/main/trunk/; revision=11345
Zac Medico [Thu, 7 Aug 2008 22:08:24 +0000 (22:08 -0000)]
When testing containment of elem[:1] in "MR", filter potential empty string
matches.
svn path=/main/trunk/; revision=11344
Zac Medico [Thu, 7 Aug 2008 14:00:24 +0000 (14:00 -0000)]
In order to properly preserve --jobs and --load-average settings for --resume
operations, store resume options in the mtimedb as a dict instead of a list.
The dict type is supported in >=portage-2.1.3_rc8 (2.1.4.4 is current stable)
so people switching between stable/unstable will be fine.
svn path=/main/trunk/; revision=11343
Zac Medico [Thu, 7 Aug 2008 12:50:08 +0000 (12:50 -0000)]
Add support in EAPI 2_pre2 for a function named "default" is redefined for
each phase so that it will call the default_* function corresponding to the
current phase. Thanks to Thomas Anderson <gentoofan23> for the initial
patch.
svn path=/main/trunk/; revision=11342
Zac Medico [Thu, 7 Aug 2008 11:22:40 +0000 (11:22 -0000)]
Fix a bug in vardbapi.removeFromContents() which sometimes prevents the
CONTENTS from being updated when it should.
svn path=/main/trunk/; revision=11341
Zac Medico [Thu, 7 Aug 2008 09:08:31 +0000 (09:08 -0000)]
In order to conserve some space, make _setitem() skip writing keys for which
the value is empty.
svn path=/main/trunk/; revision=11340
Zac Medico [Thu, 7 Aug 2008 00:32:19 +0000 (00:32 -0000)]
Replace call to `svn list` with a call to `svn status --depth=files --verbose`
since the former contacts the server while the latter does not. Thanks to
Arfrever for this patch.
svn path=/main/trunk/; revision=11339
Zac Medico [Wed, 6 Aug 2008 22:58:14 +0000 (22:58 -0000)]
Remove the "ebuild.disjointed" check because it's obsolete since we've
switched to manifest2 only. Thanks to Arfrever for this patch.
svn path=/main/trunk/; revision=11338
Zac Medico [Wed, 6 Aug 2008 03:30:32 +0000 (03:30 -0000)]
Fix `svn status` output parsing to account for "replaced" files indicated
by "R". Thanks to Arfrever.
svn path=/main/trunk/; revision=11337
Zac Medico [Wed, 6 Aug 2008 02:09:45 +0000 (02:09 -0000)]
Remove redundant 'local line' definition from previous commit.
svn path=/main/trunk/; revision=11336
Zac Medico [Wed, 6 Aug 2008 02:07:34 +0000 (02:07 -0000)]
Fix breakage in elog function newline handling with causes blank/empty
lines to get lost.
svn path=/main/trunk/; revision=11335
Zac Medico [Tue, 5 Aug 2008 08:28:13 +0000 (08:28 -0000)]
Make doebuild() display manifest verification failures for each corrupt
ebuild rather than just the first one.
svn path=/main/trunk/; revision=11332
Zac Medico [Tue, 5 Aug 2008 06:58:04 +0000 (06:58 -0000)]
When there is no build log to display, it means that fetch failed, so
display the fetch log in that case.
svn path=/main/trunk/; revision=11331
Zac Medico [Tue, 5 Aug 2008 02:20:56 +0000 (02:20 -0000)]
Remove unused parse_use_local_desc() function.
svn path=/main/trunk/; revision=11330
Zac Medico [Tue, 5 Aug 2008 02:15:16 +0000 (02:15 -0000)]
Remove the use.local.desc IUSE validation which is now replaced by glep56
metadata.xml validation. This was requested by Cardoe since he expects
to complete the gleep56 conversion process pretty soon.
svn path=/main/trunk/; revision=11329
Zac Medico [Mon, 4 Aug 2008 19:07:35 +0000 (19:07 -0000)]
Add some docs for EAPI 2_pre2.
svn path=/main/trunk/; revision=11328
Zac Medico [Mon, 4 Aug 2008 17:54:12 +0000 (17:54 -0000)]
Bug #233735 - Add support for src_configure and default_* functions with
new EAPI=2_pre2. Thanks to Arfrever Frehtes Taifersar Arahesis for the
initial patch which I've made a few adjustments to.
svn path=/main/trunk/; revision=11327
Zac Medico [Mon, 4 Aug 2008 15:46:24 +0000 (15:46 -0000)]
Remove code from bug #223447 which is now obsolete due to depclean using
the depgraph class.
svn path=/main/trunk/; revision=11326
Zac Medico [Mon, 4 Aug 2008 04:57:07 +0000 (04:57 -0000)]
Make the status display say "Emerging" and "Emerging binary" instead of
"Building" and "Extracting". Thanks to Joe Peterson <lavajoe> for the
suggestion (including extra newlines from previous commit).
svn path=/main/trunk/; revision=11325
Zac Medico [Mon, 4 Aug 2008 04:52:27 +0000 (04:52 -0000)]
Insert extra newline before status messages, since that's how it used to be.
svn path=/main/trunk/; revision=11324
Zac Medico [Mon, 4 Aug 2008 01:11:07 +0000 (01:11 -0000)]
Make dblink.unmerge() succeed even when ebuild phases are unsuccessful because
the current behavior is even worse (results in orphan files). Thanks to
Arfrever for this patch (UnsupportedAPIException hunk by me).
svn path=/main/trunk/; revision=11323
Zac Medico [Sun, 3 Aug 2008 05:51:33 +0000 (05:51 -0000)]
Add a more generic VariableSet to replace the InheritSet and RestrictSet
classes. Thanks to Arfrever Frehtes Taifersar Arahesis for this patch from
bug #233589 (with some minor adjustments from me).
svn path=/main/trunk/; revision=11320
Zac Medico [Sat, 2 Aug 2008 07:23:57 +0000 (07:23 -0000)]
Handle missing sets, to avoid KeyError raised from unmerge().
svn path=/main/trunk/; revision=11319
Zac Medico [Sat, 2 Aug 2008 01:35:40 +0000 (01:35 -0000)]
Document the fact that use of @installed/EverythingSet makes it impossible
for emerge to solve blockers by automatic uninstallation of blocked packages.
svn path=/main/trunk/; revision=11318
Zac Medico [Sat, 2 Aug 2008 01:27:52 +0000 (01:27 -0000)]
Add a new RestrictSet which contains all packages that match specified
RESTRICT values. This could be useful for implementing something like
a @live-rebuild based on RESTRICT metadata, as suggested in bug #233589.
svn path=/main/trunk/; revision=11317
Zac Medico [Sat, 2 Aug 2008 00:32:51 +0000 (00:32 -0000)]
In the file collision elog message, only say 'NOT merged' when
collision-protect is enabled. Thanks to dberkholz for reporting.
svn path=/main/trunk/; revision=11316
Zac Medico [Fri, 1 Aug 2008 22:22:29 +0000 (22:22 -0000)]
* Add INHERITED to vardbapi._aux_cache_keys since Package.metadata_keys also
includes this one now.
* Fix pull_me calculation inside vardbapi.aux_get() so that it correctly
subtracts _mtime_ from the list of keys to pull.
svn path=/main/trunk/; revision=11315
Zac Medico [Fri, 1 Aug 2008 21:56:26 +0000 (21:56 -0000)]
Add debug support to PackagesSystemSet since robbat2 is reporting an empty
set for some unknown reason.
svn path=/main/trunk/; revision=11314
Zac Medico [Fri, 1 Aug 2008 10:37:18 +0000 (10:37 -0000)]
Make EbuildFetcher pass a copy of os.environ to the ebuild(1) subprocess so
that any incremental variables have been overridden are correctly considered
by the config instance in the subproccess.
svn path=/main/trunk/; revision=11312
Zac Medico [Fri, 1 Aug 2008 10:14:39 +0000 (10:14 -0000)]
Update the Parallel Scheduling section to describe the current algorithm.
svn path=/main/trunk/; revision=11311
Zac Medico [Fri, 1 Aug 2008 07:33:15 +0000 (07:33 -0000)]
Add DowngradeSet and OwnerSet to __all__.
svn path=/main/trunk/; revision=11310
Zac Medico [Fri, 1 Aug 2008 07:05:00 +0000 (07:05 -0000)]
Bug #233252 - Handle InvalidAtom exceptions that can be raised from
depgraph._add_dep() calls inside _add_pkg_deps().
svn path=/main/trunk/; revision=11309
Zac Medico [Fri, 1 Aug 2008 04:51:07 +0000 (04:51 -0000)]
Make InheritSet more like DowngradeSet, and check INHERITED from the highest
visible ebuild in the portage tree rather than from the installed package
itself.
svn path=/main/trunk/; revision=11308
Zac Medico [Fri, 1 Aug 2008 04:13:23 +0000 (04:13 -0000)]
Optimize `emaint` --fix binhost so that it the Packages file isn't re-read
and re-written for each package that's updated. Instead, hold a lock for
the whole time the command is running and just update it once.
svn path=/main/trunk/; revision=11307
Zac Medico [Fri, 1 Aug 2008 02:22:06 +0000 (02:22 -0000)]
Fix new rejects in cnf/make.conf.*.diff.
svn path=/main/trunk/; revision=11306
Zac Medico [Fri, 1 Aug 2008 02:09:22 +0000 (02:09 -0000)]
Remove the list of FEATURES descriptions from make.conf.example and replace
it with a reference to the make.conf(5) man page.
svn path=/main/trunk/; revision=11305
Zac Medico [Fri, 1 Aug 2008 01:44:10 +0000 (01:44 -0000)]
Bug #229033 - Use `svn propget -R svn:keywords` to detect which will have
changed headers that require an additional manifest commit. Thanks to
Fabian Groffen for this patch which I've made some modifications to:
* For clarity, use separate "no_expansion" variable for cvs bin blobs.
* Fix svn keyword parsing to properly handle multiple keywords delimited
by newlines.
svn path=/main/trunk/; revision=11304
Zac Medico [Fri, 1 Aug 2008 00:47:23 +0000 (00:47 -0000)]
Bug #233487 - Fix --fetch-all-uri breakage:
* Make --fetch-all-uri imply --fetchonly so that all the --fetchonly
conditionals apply to --fetch-all-uri as well.
* Add an EbuildFetcher.fetchall attribute, and also add the required
support to portage.doebuild() for a "fetchall" phase that EbuildFetcher
can invoke in the background via the ebuild(1) command.
svn path=/main/trunk/; revision=11303
Zac Medico [Thu, 31 Jul 2008 12:58:57 +0000 (12:58 -0000)]
Fix DowngradeSet so it's safe for cases when no ebuild is available.
svn path=/main/trunk/; revision=11300
Zac Medico [Thu, 31 Jul 2008 12:47:17 +0000 (12:47 -0000)]
Bug #233253 - Implement a @downgrade set which selects packages for which
the highest visible ebuild version is lower than the currently installed
version. This is useful if you have installed packages from an overlay and
you want to downgrade to the highest visible after removing the overlay,
even though the packages that will be dowgraded are not necessarily masked
in any way.
svn path=/main/trunk/; revision=11299
Zac Medico [Thu, 31 Jul 2008 11:44:28 +0000 (11:44 -0000)]
Always invalidate results from _userpriv_test_write_file_cache when
adjusting permissions on a given directory.
svn path=/main/trunk/; revision=11298
Zac Medico [Thu, 31 Jul 2008 10:37:43 +0000 (10:37 -0000)]
Bug #233458 - Fix AsynchronousTask exit listener handling so that an exit
listener will never get called after it's been passed into
removeExitListener(), since the caller of removeExitListener() needs to
be able to be able to trust that the given exit listener will not be
called under any circumstances.
svn path=/main/trunk/; revision=11297
Zac Medico [Thu, 31 Jul 2008 07:25:35 +0000 (07:25 -0000)]
Describe InheritSet and OwnerSet.
svn path=/main/trunk/; revision=11296
Zac Medico [Thu, 31 Jul 2008 07:22:45 +0000 (07:22 -0000)]
* Rename @live-ebuilds to @live-rebuild, for consistency with the other
*-rebuild sets.
* Document the new sets.
svn path=/main/trunk/; revision=11295
Zac Medico [Thu, 31 Jul 2008 07:04:15 +0000 (07:04 -0000)]
Remove quotes since the seem to cause incorrect results.
svn path=/main/trunk/; revision=11294
Zac Medico [Thu, 31 Jul 2008 06:11:18 +0000 (06:11 -0000)]
Add a new @module-rebuild set which emulates the behavior of the
module-rebuild tool. The /lib/modules path is set in sets.conf
via a "files" attribute of an OwnerSet instance. This can be easily
used to define similar sets based on paths on installed files.
svn path=/main/trunk/; revision=11293
Zac Medico [Thu, 31 Jul 2008 05:45:56 +0000 (05:45 -0000)]
Implement a new @live-ebuilds which is generated from installed packages
that inherit from know live eclasses such as cvs, darcs, git, mercurial,
and subversion. The list of eclasses is controlled by an "inherits"
attribute that is configure in sets.conf for and instance of InheritSet.
This set serves a purpose similar to the -scm ebuild suffix that has
been proposed in GLEP 54.
svn path=/main/trunk/; revision=11292
Marius Mauch [Thu, 31 Jul 2008 04:51:33 +0000 (04:51 -0000)]
disable default IONICE command as it breaks for non-root, and ionice might not always be available
svn path=/main/trunk/; revision=11291
Zac Medico [Thu, 31 Jul 2008 03:46:10 +0000 (03:46 -0000)]
Fixes in portage.fetch() for bugs #233303 and #94133:
* Totally skip $DISTDIR creation if the fetch_to_ro feature is enabled.
* Don't touch $DISTDIR permissions unless unless usepriv and/or userfetch
are enabled.
* When usepriv and/or userfetch are enabled, test whether or not a process
that has dropped privileges is able to create a file in the directory,
and only adjust permissions if the test fails.
* Completely
svn path=/main/trunk/; revision=11290
Zac Medico [Thu, 31 Jul 2008 00:59:31 +0000 (00:59 -0000)]
Split out a _spawn_fetch() function that will be useful for implementing a
userpriv testcase for bug #233303.
svn path=/main/trunk/; revision=11289
Zac Medico [Wed, 30 Jul 2008 22:24:16 +0000 (22:24 -0000)]
Bug #233421 - Fix grammar, missing "be" in --update description. Thanks to
Mikael Magnusson for this patch.
svn path=/main/trunk/; revision=11288
Zac Medico [Wed, 30 Jul 2008 09:21:27 +0000 (09:21 -0000)]
Fix typo.
svn path=/main/trunk/; revision=11284
Zac Medico [Wed, 30 Jul 2008 09:04:22 +0000 (09:04 -0000)]
Update foo[!bar=] syntax.
svn path=/main/trunk/; revision=11283
Zac Medico [Wed, 30 Jul 2008 08:45:44 +0000 (08:45 -0000)]
* Fix Scheduler._restart_if_necessary() breakage so that the given package
is correctly compared to the last one in the merge list.
* Update code in depgraph.display() to be more consistent with the code
in Scheduler._is_restart_necessary().
svn path=/main/trunk/; revision=11282
Zac Medico [Wed, 30 Jul 2008 06:12:19 +0000 (06:12 -0000)]
Remove redundant use dep validation code that's handled by regular expression
now.
svn path=/main/trunk/; revision=11281
Zac Medico [Wed, 30 Jul 2008 06:07:55 +0000 (06:07 -0000)]
Remove unused variable.
svn path=/main/trunk/; revision=11280
Zac Medico [Wed, 30 Jul 2008 06:05:00 +0000 (06:05 -0000)]
* Add more use dep validation.
* Fix broken handling of !foo? reported by ABCD.
svn path=/main/trunk/; revision=11279
Zac Medico [Wed, 30 Jul 2008 04:57:34 +0000 (04:57 -0000)]
When checking for news items in --pretend mode, pass update=False into
the NewsManager.getUnreadItems() call. Emerge shouldn't have to update
anything anyway when in --pretend mode, and this helps to avoid potential
permission problems. In order to pass the relevant information about
options (--pretend state) to the new code, supporting function parameters
have been added to display_news_notification(), post_emerge(), and
checkUpdatedNewsItems().
svn path=/main/trunk/; revision=11278
Zac Medico [Wed, 30 Jul 2008 03:33:46 +0000 (03:33 -0000)]
Put a 5 second cap on the delay produced by Scheduler._job_delay().
svn path=/main/trunk/; revision=11277
Zac Medico [Wed, 30 Jul 2008 03:17:11 +0000 (03:17 -0000)]
Just return a boolean "state changed" value from
Scheduler._schedule_tasks_imp(), since the other
"remaining" part is now unused.
svn path=/main/trunk/; revision=11276
Zac Medico [Wed, 30 Jul 2008 03:07:40 +0000 (03:07 -0000)]
* Optimize SequentialTaskQueue.schedule() by using a _dirty attribute
to track whether anything relevant has changed since the last schedule
call. Since we can always rely on exist listeners being called, set of
running tasks is always pruned automatically and there is never any need
to actively prune it.
* Remove the unused SequentialTaskQueue.auto_schedule feature.
svn path=/main/trunk/; revision=11275
Zac Medico [Wed, 30 Jul 2008 02:27:53 +0000 (02:27 -0000)]
Change conditional USE deps syntax and expermental EAPI from 2_pre0 to 2_pre1.
Conditional syntax examples:
Compact Form Equivalent Expanded Form
foo[bar?] bar? ( foo[bar] ) !bar? ( foo )
foo[!bar?] bar? ( foo ) !bar? ( foo[-bar] )
foo[bar=] bar? ( foo[bar] ) !bar? ( foo[-bar] )
foo[!bar=] bar? ( foo[-bar] ) !bar? ( foo[bar] )
svn path=/main/trunk/; revision=11274
Zac Medico [Tue, 29 Jul 2008 21:27:59 +0000 (21:27 -0000)]
Count state changes in Scheduler._schedule_tasks() and avoid some extra calls
when nothing changes.
svn path=/main/trunk/; revision=11273
Zac Medico [Tue, 29 Jul 2008 20:52:05 +0000 (20:52 -0000)]
Fix _choose_pkg() to always return something if nothing is running or merging.
svn path=/main/trunk/; revision=11272
Zac Medico [Tue, 29 Jul 2008 20:24:43 +0000 (20:24 -0000)]
Avoid triggering a tight loop AssertionError in Scheduler._main_loop().
svn path=/main/trunk/; revision=11271
Zac Medico [Tue, 29 Jul 2008 19:54:52 +0000 (19:54 -0000)]
Fix the last part of Scheduler._main_loop() to work correctly now that
all the queues have auto_schedule disabled.
svn path=/main/trunk/; revision=11270
Zac Medico [Tue, 29 Jul 2008 19:30:37 +0000 (19:30 -0000)]
Disable auto_schedule on all of Scheduler._task_queues and schedule them
inside _schedule_tasks(). This should help solve a tight loop.
svn path=/main/trunk/; revision=11269
Zac Medico [Tue, 29 Jul 2008 18:31:19 +0000 (18:31 -0000)]
Add a quiet signal handler for SIGINT and SIGTERM since emerge calls ebuild
for fetchs and we don't want the user to see a traceback due to the ebuild
process getting killed.
svn path=/main/trunk/; revision=11268
Zac Medico [Tue, 29 Jul 2008 17:50:36 +0000 (17:50 -0000)]
Fix Scheduler._set_digraph() to correctly handle cases when max_jobs is True.
svn path=/main/trunk/; revision=11267
Zac Medico [Tue, 29 Jul 2008 17:13:52 +0000 (17:13 -0000)]
Make sure Scheduler._choose_pkg() doesn't return a package too early when
there's no digraph and the previous merge hasn't completed yet.
svn path=/main/trunk/; revision=11266
Zac Medico [Tue, 29 Jul 2008 16:51:33 +0000 (16:51 -0000)]
Fix Scheduler._choose_pkg() so that it doesn't choose packages prematurely
in some cases.
svn path=/main/trunk/; revision=11265
Zac Medico [Tue, 29 Jul 2008 15:17:07 +0000 (15:17 -0000)]
Enable Scheduler._job_delay() whenever --load-average is enabled, for whole
time the scheduler is running. This protects against too many jobs being
sheduled if the load average temporarily drops.
svn path=/main/trunk/; revision=11264
Zac Medico [Tue, 29 Jul 2008 14:34:55 +0000 (14:34 -0000)]
During the first minute of entering the main scheduler loop, if --load-average
is enabled then limit the rate that new jobs are spawned, so that the load
average measurement has time to respond to the new load introduced by the
new jobs. The time between spawning new jobs is proportional to the number
of currently running jobs.
svn path=/main/trunk/; revision=11263
Zac Medico [Tue, 29 Jul 2008 13:01:38 +0000 (13:01 -0000)]
Fix slightly broken loop logic in insert_optional_args() by converting it to
pop args off of a stack.
svn path=/main/trunk/; revision=11262
Zac Medico [Tue, 29 Jul 2008 12:05:43 +0000 (12:05 -0000)]
Add support for the --jobs option to be specified without an
argument, and also support -j as a short option. Since optparse
doesn't natively support options with non-required args, create an
insert_optional_args() function that inserts the required argument
into the args so that optparse is happy. The function inserts the
string True as a substitute for the argument that is required. This
string is later converted to the True constant when stored in
the emerge opts dict (similar to how normal boolean options are
stored). The PollScheduler and SequentialTaskQueue classes recognize
the meaning of the True constant to mean unlimited concurrent jobs.
svn path=/main/trunk/; revision=11261
Zac Medico [Tue, 29 Jul 2008 10:29:59 +0000 (10:29 -0000)]
In apply_recursive_permissions(), ignore InvalidLocation exceptions such as
FileNotFound and DirectoryNotFound since sometimes things disappear, like
when adjusting permissions on DISTCC_DIR.
svn path=/main/trunk/; revision=11260
Zac Medico [Tue, 29 Jul 2008 07:15:22 +0000 (07:15 -0000)]
Tweak table alignment.
svn path=/main/trunk/; revision=11259
Zac Medico [Tue, 29 Jul 2008 07:10:40 +0000 (07:10 -0000)]
Implement _use_dep.__nonzero__().
svn path=/main/trunk/; revision=11258
Zac Medico [Tue, 29 Jul 2008 06:44:49 +0000 (06:44 -0000)]
Fix _use_dep.__str__() to work correctly in the case when conditional USE
deps have evaluated to nothing (empty string rather than []). Thanks to
ABCD for reporting.
svn path=/main/trunk/; revision=11257
Zac Medico [Tue, 29 Jul 2008 00:46:54 +0000 (00:46 -0000)]
Redirect the FEATURES=buildsyspkg message to the log when in background mode.
svn path=/main/trunk/; revision=11256
Zac Medico [Mon, 28 Jul 2008 22:59:59 +0000 (22:59 -0000)]
Add syntax examples for unconditional USE deps.
svn path=/main/trunk/; revision=11255
Zac Medico [Mon, 28 Jul 2008 22:50:17 +0000 (22:50 -0000)]
Fix alignment.
svn path=/main/trunk/; revision=11254
Zac Medico [Mon, 28 Jul 2008 22:36:08 +0000 (22:36 -0000)]
Tweak the conditional USE deps examples.
svn path=/main/trunk/; revision=11253
Zac Medico [Mon, 28 Jul 2008 22:27:35 +0000 (22:27 -0000)]
Document the doman language code path translation extension from bug #222439.
svn path=/main/trunk/; revision=11252
Zac Medico [Mon, 28 Jul 2008 21:55:13 +0000 (21:55 -0000)]
Make use of the new config.iteritems() method.
svn path=/main/trunk/; revision=11251
Zac Medico [Mon, 28 Jul 2008 21:46:23 +0000 (21:46 -0000)]
Fix broken reference to "categories" in CategorySet.singleBuilder(). Thanks
to Thargor for reporting.
svn path=/main/trunk/; revision=11250
Zac Medico [Mon, 28 Jul 2008 21:31:51 +0000 (21:31 -0000)]
Bug #233165 - When waiting for jobs and merges to finish in
Scheduler._main_loop(), keep scheduling the merge queue since
it doesn't autoschedule, and skip the poll loop if there no
event handlers due to synchronous merge tasks being the only
things left to do.
svn path=/main/trunk/; revision=11249
Zac Medico [Mon, 28 Jul 2008 20:00:40 +0000 (20:00 -0000)]
Bug #233103 - In portage.fetch(), pass all config variables instead of just
those returned by the environ() method which is filtered.
svn path=/main/trunk/; revision=11245
Zac Medico [Mon, 28 Jul 2008 19:48:00 +0000 (19:48 -0000)]
Even though the message is split on $'\n' in elog_base(), it's still
not entirely safe to use it as a delimiter in the log file since
there can still be escaped newlines that will be expanded due to
the echo -e parameter.
svn path=/main/trunk/; revision=11244
Zac Medico [Mon, 28 Jul 2008 11:00:42 +0000 (11:00 -0000)]
Remove pointless generator expression.
svn path=/main/trunk/; revision=11238
Zac Medico [Mon, 28 Jul 2008 08:52:28 +0000 (08:52 -0000)]
Add note about support for EAPI="2_pre0".
svn path=/main/trunk/; revision=11236
Zac Medico [Mon, 28 Jul 2008 08:41:41 +0000 (08:41 -0000)]
Create a table to document conditional USE dependency syntax.
svn path=/main/trunk/; revision=11235
Zac Medico [Mon, 28 Jul 2008 07:51:12 +0000 (07:51 -0000)]
Fix arg count when constructing a TypeError in the SlotDict constructor.
svn path=/main/trunk/; revision=11234
Zac Medico [Mon, 28 Jul 2008 07:08:01 +0000 (07:08 -0000)]
Add support for an new EAPI="2_pre0" value so that people who want to test
USE deps can set the EAPI to something other than 0 or 1. We can support as
many different experimental EAPI values as we need, and drop support for them
when the final EAPI 2 is defined.
svn path=/main/trunk/; revision=11233
Zac Medico [Mon, 28 Jul 2008 06:43:29 +0000 (06:43 -0000)]
Disable the multi-bracket USE deps syntax, so only the comma separated syntax
is now valid.
svn path=/main/trunk/; revision=11232
Zac Medico [Mon, 28 Jul 2008 05:52:08 +0000 (05:52 -0000)]
Implement new conditional USE dep syntax:
Conditional evaluation behavior:
parent state conditional result
x x? x
-x x?
x -x?
-x -x? -x
x x= x
-x x= -x
x x!= -x
-x x!= x
Conditional syntax examples:
compact form equivalent expanded form
foo[bar?] foo bar? ( foo[bar] )
foo[-bar?] foo !bar? ( foo[-bar] )
foo[bar=] foo bar? ( foo[bar] ) !bar? ( foo[-bar] )
foo[bar!=] foo bar? ( foo[-bar] ) !bar? ( foo[bar] )
svn path=/main/trunk/; revision=11231
Zac Medico [Mon, 28 Jul 2008 05:34:07 +0000 (05:34 -0000)]
Create a SlotDict constructor which can take an optional positional arg that
is passed to the update() method (similar to the dict constructor), and also
pass keyword arguments into the update() method if any are given. This makes
it possible to use the constructor similarly to the way that the
_emerge.SlotObject constructor is used.
svn path=/main/trunk/; revision=11230