portage.git
16 years agoMake EbuildFetcher pass a copy of os.environ to the ebuild(1) subprocess so v2.2_rc6
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

16 years agoUpdate the Parallel Scheduling section to describe the current algorithm.
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

16 years agoAdd DowngradeSet and OwnerSet to __all__.
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

16 years agoBug #233252 - Handle InvalidAtom exceptions that can be raised from
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

16 years agoMake InheritSet more like DowngradeSet, and check INHERITED from the highest
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

16 years agoOptimize `emaint` --fix binhost so that it the Packages file isn't re-read
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

16 years agoFix new rejects in cnf/make.conf.*.diff.
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

16 years agoRemove the list of FEATURES descriptions from make.conf.example and replace
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

16 years agoBug #229033 - Use `svn propget -R svn:keywords` to detect which will have
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

16 years agoBug #233487 - Fix --fetch-all-uri breakage:
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

16 years agoFix DowngradeSet so it's safe for cases when no ebuild is available.
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

16 years agoBug #233253 - Implement a @downgrade set which selects packages for which
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

16 years agoAlways invalidate results from _userpriv_test_write_file_cache when
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

16 years agoBug #233458 - Fix AsynchronousTask exit listener handling so that an exit
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

16 years agoDescribe InheritSet and OwnerSet.
Zac Medico [Thu, 31 Jul 2008 07:25:35 +0000 (07:25 -0000)]
Describe InheritSet and OwnerSet.

svn path=/main/trunk/; revision=11296

16 years ago* Rename @live-ebuilds to @live-rebuild, for consistency with the other
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

16 years agoRemove quotes since the seem to cause incorrect results.
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

16 years agoAdd a new @module-rebuild set which emulates the behavior of the
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

16 years agoImplement a new @live-ebuilds which is generated from installed packages
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

16 years agodisable default IONICE command as it breaks for non-root, and ionice might not always...
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

16 years agoFixes in portage.fetch() for bugs #233303 and #94133:
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

16 years agoSplit out a _spawn_fetch() function that will be useful for implementing a
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

16 years agoBug #233421 - Fix grammar, missing "be" in --update description. Thanks to
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

16 years agoFix typo. v2.2_rc5
Zac Medico [Wed, 30 Jul 2008 09:21:27 +0000 (09:21 -0000)]
Fix typo.

svn path=/main/trunk/; revision=11284

16 years agoUpdate foo[!bar=] syntax.
Zac Medico [Wed, 30 Jul 2008 09:04:22 +0000 (09:04 -0000)]
Update foo[!bar=] syntax.

svn path=/main/trunk/; revision=11283

16 years ago* Fix Scheduler._restart_if_necessary() breakage so that the given package
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

16 years agoRemove redundant use dep validation code that's handled by regular expression
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

16 years agoRemove unused variable.
Zac Medico [Wed, 30 Jul 2008 06:07:55 +0000 (06:07 -0000)]
Remove unused variable.

svn path=/main/trunk/; revision=11280

16 years ago* Add more use dep validation.
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

16 years agoWhen checking for news items in --pretend mode, pass update=False into
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

16 years agoPut a 5 second cap on the delay produced by Scheduler._job_delay().
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

16 years agoJust return a boolean "state changed" value from
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

16 years ago* Optimize SequentialTaskQueue.schedule() by using a _dirty attribute
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

16 years agoChange conditional USE deps syntax and expermental EAPI from 2_pre0 to 2_pre1.
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

16 years agoCount state changes in Scheduler._schedule_tasks() and avoid some extra calls
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

16 years agoFix _choose_pkg() to always return something if nothing is running or merging.
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

16 years agoAvoid triggering a tight loop AssertionError in Scheduler._main_loop().
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

16 years agoFix the last part of Scheduler._main_loop() to work correctly now that
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

16 years agoDisable auto_schedule on all of Scheduler._task_queues and schedule them
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

16 years agoAdd a quiet signal handler for SIGINT and SIGTERM since emerge calls ebuild
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

16 years agoFix Scheduler._set_digraph() to correctly handle cases when max_jobs is True.
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

16 years agoMake sure Scheduler._choose_pkg() doesn't return a package too early when
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

16 years agoFix Scheduler._choose_pkg() so that it doesn't choose packages prematurely
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

16 years agoEnable Scheduler._job_delay() whenever --load-average is enabled, for whole
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

16 years agoDuring the first minute of entering the main scheduler loop, if --load-average
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

16 years agoFix slightly broken loop logic in insert_optional_args() by converting it to
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

16 years agoAdd support for the --jobs option to be specified without an
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

16 years agoIn apply_recursive_permissions(), ignore InvalidLocation exceptions such as
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

16 years agoTweak table alignment.
Zac Medico [Tue, 29 Jul 2008 07:15:22 +0000 (07:15 -0000)]
Tweak table alignment.

svn path=/main/trunk/; revision=11259

16 years agoImplement _use_dep.__nonzero__().
Zac Medico [Tue, 29 Jul 2008 07:10:40 +0000 (07:10 -0000)]
Implement _use_dep.__nonzero__().

svn path=/main/trunk/; revision=11258

16 years agoFix _use_dep.__str__() to work correctly in the case when conditional USE
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

16 years agoRedirect the FEATURES=buildsyspkg message to the log when in background mode.
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

16 years agoAdd syntax examples for unconditional USE deps.
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

16 years agoFix alignment.
Zac Medico [Mon, 28 Jul 2008 22:50:17 +0000 (22:50 -0000)]
Fix alignment.

svn path=/main/trunk/; revision=11254

16 years agoTweak the conditional USE deps examples.
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

16 years agoDocument the doman language code path translation extension from bug #222439.
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

16 years agoMake use of the new config.iteritems() method.
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

16 years agoFix broken reference to "categories" in CategorySet.singleBuilder(). Thanks
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

16 years agoBug #233165 - When waiting for jobs and merges to finish in
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

16 years agoBug #233103 - In portage.fetch(), pass all config variables instead of just
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

16 years agoEven though the message is split on $'\n' in elog_base(), it's still
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

16 years agoRemove pointless generator expression.
Zac Medico [Mon, 28 Jul 2008 11:00:42 +0000 (11:00 -0000)]
Remove pointless generator expression.

svn path=/main/trunk/; revision=11238

16 years agoAdd note about support for EAPI="2_pre0". v2.2_rc4
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

16 years agoCreate a table to document conditional USE dependency syntax.
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

16 years agoFix arg count when constructing a TypeError in the SlotDict constructor.
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

16 years agoAdd support for an new EAPI="2_pre0" value so that people who want to test
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

16 years agoDisable the multi-bracket USE deps syntax, so only the comma separated syntax
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

16 years agoImplement new conditional USE dep syntax:
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

16 years agoCreate a SlotDict constructor which can take an optional positional arg that
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

16 years ago* Add support in dep_getusedeps() and isvalidatom() for comma separated USE
Zac Medico [Mon, 28 Jul 2008 01:42:06 +0000 (01:42 -0000)]
* Add support in dep_getusedeps() and isvalidatom() for comma separated USE
  deps that only have one set of square brackets.
* Add test cases for the new comma separated USE deps syntax.

svn path=/main/trunk/; revision=11229

16 years agoBug #233137 - Implement Atom.split().
Zac Medico [Mon, 28 Jul 2008 01:05:28 +0000 (01:05 -0000)]
Bug #233137 - Implement Atom.split().

svn path=/main/trunk/; revision=11228

16 years agoFix incorrect logging.exception() arguments. The exception instance is not
Zac Medico [Sun, 27 Jul 2008 23:30:06 +0000 (23:30 -0000)]
Fix incorrect logging.exception() arguments. The exception instance is not
supposed to be passed into this function.

svn path=/main/trunk/; revision=11227

16 years agoFix the new glep56 code to handle missing metadata.xml. Thanks to jmbsvicetto
Zac Medico [Sun, 27 Jul 2008 23:09:23 +0000 (23:09 -0000)]
Fix the new glep56 code to handle missing metadata.xml. Thanks to jmbsvicetto
for reporting.

svn path=/main/trunk/; revision=11226

16 years agoFix EbuildFetcher to pass all config variables to the fetcher so things
Zac Medico [Sun, 27 Jul 2008 14:23:34 +0000 (14:23 -0000)]
Fix EbuildFetcher to pass all config variables to the fetcher so things
like http_proxy are included.

svn path=/main/trunk/; revision=11223

16 years agoUpdate path to make.conf.example. Thanks to Arfrever.
Zac Medico [Sun, 27 Jul 2008 14:13:07 +0000 (14:13 -0000)]
Update path to make.conf.example. Thanks to Arfrever.

svn path=/main/trunk/; revision=11222

16 years agoUse ${NORMAL} to properly restore color when necessary.
Zac Medico [Sun, 27 Jul 2008 14:10:00 +0000 (14:10 -0000)]
Use ${NORMAL} to properly restore color when necessary.

svn path=/main/trunk/; revision=11221

16 years agoMake elog_base() just use \n as the delimiter in the file since it's safe
Zac Medico [Sun, 27 Jul 2008 14:07:28 +0000 (14:07 -0000)]
Make elog_base() just use \n as the delimiter in the file since it's safe
now that lines are always split.

svn path=/main/trunk/; revision=11220

16 years agoMake all the elog functions split lines when displaying output, just like
Zac Medico [Sun, 27 Jul 2008 13:59:29 +0000 (13:59 -0000)]
Make all the elog functions split lines when displaying output, just like
elog_base() does when saving it.

svn path=/main/trunk/; revision=11219

16 years agoAdd support to elog_base() to split messages on newlines automatically.
Zac Medico [Sun, 27 Jul 2008 13:31:56 +0000 (13:31 -0000)]
Add support to elog_base() to split messages on newlines automatically.
Thanks to Arfrever for the suggestion.

svn path=/main/trunk/; revision=11218

16 years agoFix breakage from r11213 in INHERITED values returned from portdbapi.aux_get().
Zac Medico [Sun, 27 Jul 2008 12:24:24 +0000 (12:24 -0000)]
Fix breakage from r11213 in INHERITED values returned from portdbapi.aux_get().

svn path=/main/trunk/; revision=11217

16 years agoFixes from Arfrever:
Zac Medico [Sun, 27 Jul 2008 12:02:36 +0000 (12:02 -0000)]
Fixes from Arfrever:
* Highlight the "Files built without respecting LDFLAGS" QA Notice with red.
* Remove scanelf-ignored-LDFLAGS.log when empty.

svn path=/main/trunk/; revision=11216

16 years agoSerialize src_unpack() $DISTDIR access for live ebuilds since otherwise they
Zac Medico [Sun, 27 Jul 2008 11:31:50 +0000 (11:31 -0000)]
Serialize src_unpack() $DISTDIR access for live ebuilds since otherwise they
can interfere with eachother. This will have to rely on a hardcoded list of
eclasses until we create way to properly tag this information in the metadata.

svn path=/main/trunk/; revision=11213

16 years ago* Define a frozenset of live eclasses for the LIVEVCS.stable check.
Zac Medico [Sun, 27 Jul 2008 10:42:30 +0000 (10:42 -0000)]
* Define a frozenset of live eclasses for the LIVEVCS.stable check.
* Add "mercurial" to the list of known live eclasses.

svn path=/main/trunk/; revision=11210

16 years agoFix repoman not seeing subversion auto-ignored files (such as patch rejects and edito...
Zac Medico [Sun, 27 Jul 2008 10:23:49 +0000 (10:23 -0000)]
Fix repoman not seeing subversion auto-ignored files (such as patch rejects and editor backup copies), thereby causing messed up Manifests.  This fix should be merged in the trunk.
(branches/prefix r11208)

svn path=/main/trunk/; revision=11209

16 years agoTemporarily `set -o noglob` when splitting QA_DT_HASH.
Zac Medico [Sun, 27 Jul 2008 06:02:05 +0000 (06:02 -0000)]
Temporarily `set -o noglob` when splitting QA_DT_HASH.

svn path=/main/trunk/; revision=11206

16 years agoBug #233077 - Add QA check which verifies that LDFLAGS are respected. For now
Zac Medico [Sun, 27 Jul 2008 05:08:32 +0000 (05:08 -0000)]
Bug #233077 - Add QA check which verifies that LDFLAGS are respected. For now
this only works when LDFLAGS contains --hash-style=gnu since in this case the
the elf files should not contain .hash sections and we can use scanelf to
check whether or not the those sections exist. This adds a QA_DT_HASH variable
that is analogous to existing QA control variables documented in the ebuild.5
man page. There is also a complementary QA_STRICT_DT_HASH variable that can
be set in make.conf in order to ignore QA_DT_HASH settings in ebuilds. Thanks
to Arfrever Frehtes Taifersar Arahesis for this patch which I've tweaked in
just a few minor ways.

svn path=/main/trunk/; revision=11205

16 years agoSchedule ebuild pkg_setup phases on the merge queue,
Zac Medico [Sun, 27 Jul 2008 02:23:40 +0000 (02:23 -0000)]
Schedule ebuild pkg_setup phases on the merge queue,
in order to serialize unsandboxed access to the live
filesystem.

svn path=/main/trunk/; revision=11204

16 years agoIn PollScheduler._poll(), add a call to _schedule() in order to ensure that
Zac Medico [Sun, 27 Jul 2008 02:16:04 +0000 (02:16 -0000)]
In PollScheduler._poll(), add a call to _schedule() in order to ensure that
event handlers are registered if possible. If not, raise StopIteration in
order to avoid endless blocking in a poll call with no file descriptors
registered. Add StopIteration exception handling for all
PollScheduler._poll._next_poll_event() calls.

svn path=/main/trunk/; revision=11203

16 years agoFix AsynchronousTask.removeStartListener() and removeExitListener() to return
Zac Medico [Sun, 27 Jul 2008 01:31:33 +0000 (01:31 -0000)]
Fix AsynchronousTask.removeStartListener() and removeExitListener() to return
early if there are no listeners.

svn path=/main/trunk/; revision=11202

16 years agoFix LinkageMap.findConsumers() to check whether the master link for a lib
Zac Medico [Sat, 26 Jul 2008 11:33:18 +0000 (11:33 -0000)]
Fix LinkageMap.findConsumers() to check whether the master link for a lib
providing a given soname actually points to that lib. If there is another
version of this lib with the same soname and the master link points to
that other version, this lib will be shadowed and won't have any consumers.
By eliminating false, positives this way, we avoid the following state
after upgrade from media-libs/mesa-7.0.3 to media-libs/mesa-7.1_rc3:

# scanelf -S /usr/lib64/libGLU.so*
 TYPE   SONAME FILE
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so.1
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so.1.3
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so.1.3.070003
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so.1.3.070100 <- shadowed lib

Thanks to Diego "Flameeyes" Pettenò for reporting this issue.

svn path=/main/trunk/; revision=11200

16 years ago* Use pure bash ${PARAMETER%/*} instead of spawing`dirname`.
Zac Medico [Sat, 26 Jul 2008 10:31:59 +0000 (10:31 -0000)]
* Use pure bash ${PARAMETER%/*} instead of spawing`dirname`.
* Break out of loop as early as possible when searching for libs in ${D}.

svn path=/main/trunk/; revision=11199

16 years agoSplit out an apply_priorities() function to apply nice and ionice settings.
Zac Medico [Sat, 26 Jul 2008 09:33:28 +0000 (09:33 -0000)]
Split out an apply_priorities() function to apply nice and ionice settings.

svn path=/main/trunk/; revision=11198

16 years agoBug #232924 - When the user specifies a non-existent set, display a list of
Zac Medico [Sat, 26 Jul 2008 07:56:06 +0000 (07:56 -0000)]
Bug #232924 - When the user specifies a non-existent set, display a list of
existing sets.

svn path=/main/trunk/; revision=11197

16 years agoBug #228085 - In the event of a file collision, the explanation about the
Zac Medico [Sat, 26 Jul 2008 07:22:06 +0000 (07:22 -0000)]
Bug #228085 - In the event of a file collision, the explanation about the
collision and how to solve it may not be visible via a scrollback buffer,
especially if the number of file collisions is large. Therefore, show a
summary at the end and refer the user to the elog messages.

svn path=/main/trunk/; revision=11196

16 years agoReplace hardcoded i386 machine name in dyn_rpm() with the result of `uname -m`.
Zac Medico [Sat, 26 Jul 2008 06:36:28 +0000 (06:36 -0000)]
Replace hardcoded i386 machine name in dyn_rpm() with the result of `uname -m`.

svn path=/main/trunk/; revision=11195

16 years ago* For bug 227625, automatically create the /usr/src/rpm/SOURCES directory when
Zac Medico [Sat, 26 Jul 2008 06:17:54 +0000 (06:17 -0000)]
* For bug 227625, automatically create the /usr/src/rpm/SOURCES directory when
  necessary.

* Add `cd "${T}"` at the beginning of dyn_rpm() since the spec file is written
  to $PWD.

svn path=/main/trunk/; revision=11194

16 years agoReduce the default PORTAGE_IONICE_COMMAND priority to "idle" priority since
Zac Medico [Sat, 26 Jul 2008 04:20:04 +0000 (04:20 -0000)]
Reduce the default PORTAGE_IONICE_COMMAND priority to "idle" priority since
it's probably suitable for most people. This way, even when the IO load is
very high, the impact on system responsiveness should be practically
unnoticeable.

svn path=/main/trunk/; revision=11193

16 years agoAdd PORTAGE_IONICE_COMMAND setting for make.conf which is called to adjust
Zac Medico [Fri, 25 Jul 2008 22:59:52 +0000 (22:59 -0000)]
Add PORTAGE_IONICE_COMMAND setting for make.conf which is called to adjust
IO priority on portage and it's subprocesses.

svn path=/main/trunk/; revision=11192

16 years agoSuppress "for /" and "to /" in status messages when ROOT=/. Thanks to
Zac Medico [Fri, 25 Jul 2008 22:48:57 +0000 (22:48 -0000)]
Suppress "for /" and "to /" in status messages when ROOT=/. Thanks to
Thargor for the suggestion.

svn path=/main/trunk/; revision=11191

16 years agoFix PORTAGE_BIN_PATH typo in EbuildFetcher._start().
Zac Medico [Fri, 25 Jul 2008 21:36:03 +0000 (21:36 -0000)]
Fix PORTAGE_BIN_PATH typo in EbuildFetcher._start().

svn path=/main/trunk/; revision=11190