portage.git
16 years agoWhen portage reinstalls itself, copy both the bin and pym
Zac Medico [Thu, 29 Nov 2007 06:06:08 +0000 (06:06 -0000)]
When portage reinstalls itself, copy both the bin and pym
directories to a temp dir. Insert the temporary PORTAGE_PYM_PATH
as the first element of sys.path and register an atexit hook to
clean up the temporary directories.

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

16 years agoIn dblink.treewalk(), make portage unmerge multiple instances
Zac Medico [Thu, 29 Nov 2007 03:11:18 +0000 (03:11 -0000)]
In dblink.treewalk(), make portage unmerge multiple instances
os sys-apps/portage in the same slot if necessary (needed when
AUTOCLEAN=no is set).

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

16 years agoRemove stray print statement.
Zac Medico [Thu, 29 Nov 2007 02:37:34 +0000 (02:37 -0000)]
Remove stray print statement.

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

16 years agoFix references to EBUILD_SH_BINARY so that they work properly
Zac Medico [Thu, 29 Nov 2007 02:19:39 +0000 (02:19 -0000)]
Fix references to EBUILD_SH_BINARY so that they work properly
with variable PORTAGE_BIN_PATH.

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

16 years agoMake dblink.treewalk() properly delete the installed instance after
Zac Medico [Thu, 29 Nov 2007 00:50:07 +0000 (00:50 -0000)]
Make dblink.treewalk() properly delete the installed instance after
it unmerges it.

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

16 years agoFix a typo.
Zac Medico [Thu, 29 Nov 2007 00:18:31 +0000 (00:18 -0000)]
Fix a typo.

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

16 years agoFix more references to MISC_SH_BINARY so that they work properly
Zac Medico [Thu, 29 Nov 2007 00:12:30 +0000 (00:12 -0000)]
Fix more references to MISC_SH_BINARY so that they work properly
with variable PORTAGE_BIN_PATH.

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

16 years agoIn doebuild, fix paths to ebuild.sh and misc-functions.sh so
Zac Medico [Wed, 28 Nov 2007 23:50:51 +0000 (23:50 -0000)]
In doebuild, fix paths to ebuild.sh and misc-functions.sh so
that they work with variable PORTAGE_BIN_PATH.

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

16 years agoFix references to PORTAGE_BIN_PATH in doebuild() to use the config
Zac Medico [Wed, 28 Nov 2007 22:57:31 +0000 (22:57 -0000)]
Fix references to PORTAGE_BIN_PATH in doebuild() to use the config
setting since it may be a temp directory when portage is reinstalling
itself.

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

16 years agoEnable the EBUILD_EXIT_STATUS_FILE sanity check when portage is
Zac Medico [Wed, 28 Nov 2007 22:35:30 +0000 (22:35 -0000)]
Enable the EBUILD_EXIT_STATUS_FILE sanity check when portage is
reinstalling itself since the check is reliable in this case now
that a temporary PORTAGE_BIN_PATH is created.

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

16 years agoIf portage is reinstalling itself, create a temporary
Zac Medico [Wed, 28 Nov 2007 22:29:06 +0000 (22:29 -0000)]
If portage is reinstalling itself, create a temporary
copy of PORTAGE_BIN_PATH in order to avoid relying on
on the new versions which may be incompatible.

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

16 years agoBug #200652 - Skip ${T}/environment handling for pkg_nofetch().
Zac Medico [Wed, 28 Nov 2007 18:57:55 +0000 (18:57 -0000)]
Bug #200652 - Skip ${T}/environment handling for pkg_nofetch().

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

16 years agoIn chk_updated_cfg_files(), avoid scanning for config files for
Zac Medico [Wed, 28 Nov 2007 08:27:28 +0000 (08:27 -0000)]
In chk_updated_cfg_files(), avoid scanning for config files for
paths that aren't writable by the current user. This prevents
Permission denied errors from being triggered later when trying
to scan subdirectories that are inaccessible.

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

16 years agoDisable PORTAGE_PACKAGE_EMPTY_ABORT by default since
Zac Medico [Wed, 28 Nov 2007 05:49:27 +0000 (05:49 -0000)]
Disable PORTAGE_PACKAGE_EMPTY_ABORT by default since
the scrollkeeper-9999 upgrade will trigger a false
positive. Thanks to leio for reporting.

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

16 years agoDon't export PORTAGE_PACKAGE_EMPTY_ABORT to the ebuild environment.
Zac Medico [Wed, 28 Nov 2007 04:16:30 +0000 (04:16 -0000)]
Don't export PORTAGE_PACKAGE_EMPTY_ABORT to the ebuild environment.

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

16 years agoAdd a sanity check in dblink.treewalk() so that a broken ebuild
Zac Medico [Wed, 28 Nov 2007 03:45:40 +0000 (03:45 -0000)]
Add a sanity check in dblink.treewalk() so that a broken ebuild
that doesn't install any files will not be able to replace a
package in the same slot that really installs files.

This check can be bypassed by manually unmerging the old package
or by setting PORTAGE_PACKAGE_EMPTY_ABORT="0" in /etc/make.conf.

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

16 years agoIn the preprocess_ebuild_env() subshell, check for errors and
Zac Medico [Wed, 28 Nov 2007 00:02:21 +0000 (00:02 -0000)]
In the preprocess_ebuild_env() subshell, check for errors and
return early when necessary.

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

16 years agoJust use ${PN} instead of catpkgsplit().
Zac Medico [Tue, 27 Nov 2007 22:11:38 +0000 (22:11 -0000)]
Just use ${PN} instead of catpkgsplit().

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

16 years agoportage upgrade or downgrade invalidates EBUILD_EXIT_STATUS_FILE
Zac Medico [Tue, 27 Nov 2007 21:56:58 +0000 (21:56 -0000)]
portage upgrade or downgrade invalidates EBUILD_EXIT_STATUS_FILE
sanity checks since ebuild.sh portage version may differ from the
current instance that is running in python.

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

16 years agoRemove a redundant os.EX_OK check that exit_status_check() already
Zac Medico [Tue, 27 Nov 2007 21:16:53 +0000 (21:16 -0000)]
Remove a redundant os.EX_OK check that exit_status_check() already
handles internally.

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

16 years agoFix logic wrt exit_status_check and elog_process in doebuild().
Zac Medico [Tue, 27 Nov 2007 21:11:24 +0000 (21:11 -0000)]
Fix logic wrt exit_status_check and elog_process in doebuild().

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

16 years agoBug #200229 - The gimp ebuild defines AA as a local variable. In order
Zac Medico [Tue, 27 Nov 2007 18:52:26 +0000 (18:52 -0000)]
Bug #200229 - The gimp ebuild defines AA as a local variable. In order
to accomodate this, create a PORTAGE_MUTABLE_FILTERED_VARS list for
variables that portage sets but doesn't mark readonly. In order to
prevent changed values from causing unexpcted interference, they are
filtered out of the environment when it is saved or loaded (any
mutations do not persist).

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

16 years agoDon't forget to unlink ${EBUILD_EXIT_STATUS_FILE} before each phase.
Zac Medico [Tue, 27 Nov 2007 08:20:58 +0000 (08:20 -0000)]
Don't forget to unlink ${EBUILD_EXIT_STATUS_FILE} before each phase.

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

16 years agoFix config.pop() so that is will properly raise a KeyError.
Zac Medico [Tue, 27 Nov 2007 02:08:03 +0000 (02:08 -0000)]
Fix config.pop() so that is will properly raise a KeyError.

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

16 years agoBug #200231 - Make dir_get_metadata() handle an exception thrown
Zac Medico [Tue, 27 Nov 2007 01:11:10 +0000 (01:11 -0000)]
Bug #200231 - Make dir_get_metadata() handle an exception thrown
from dir_get_list() when there's a problem connection problem.

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

16 years agoMake the environment handling code detect errors and die if
Zac Medico [Mon, 26 Nov 2007 23:57:11 +0000 (23:57 -0000)]
Make the environment handling code detect errors and die if
necessary.

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

16 years agoMake doebuild() use EBUILD_EXIT_STATUS_FILE sanity checks for the
Zac Medico [Mon, 26 Nov 2007 22:19:15 +0000 (22:19 -0000)]
Make doebuild() use EBUILD_EXIT_STATUS_FILE sanity checks for the
extra misc-functions.sh preinst/postinst shell code.

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

16 years agoMake doebuild skip directory creation for the "cleanrm" command.
Zac Medico [Mon, 26 Nov 2007 22:05:10 +0000 (22:05 -0000)]
Make doebuild skip directory creation for the "cleanrm" command.

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

16 years agoFix grammar.
Zac Medico [Mon, 26 Nov 2007 20:34:09 +0000 (20:34 -0000)]
Fix grammar.

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

16 years ago* In doebuild(), don't create directories for the "clean" or "unmerge".
Zac Medico [Mon, 26 Nov 2007 19:02:05 +0000 (19:02 -0000)]
* In doebuild(), don't create directories for the "clean" or "unmerge".
* Fix dyn_clean() to clean the status file and return early when appropriate.

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

16 years agoMake config.pop() properly call config.modifying().
Zac Medico [Mon, 26 Nov 2007 17:35:59 +0000 (17:35 -0000)]
Make config.pop() properly call config.modifying().

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

16 years agoImplement config.pop().
Zac Medico [Mon, 26 Nov 2007 17:28:51 +0000 (17:28 -0000)]
Implement config.pop().

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

16 years agoCheck if ${EBUILD_EXIT_STATUS_FILE} is empty before
Zac Medico [Mon, 26 Nov 2007 12:06:12 +0000 (12:06 -0000)]
Check if ${EBUILD_EXIT_STATUS_FILE} is empty before
attempting to use it.

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

16 years ago--buildpkgonly will not merge anything, so
Zac Medico [Mon, 26 Nov 2007 11:38:06 +0000 (11:38 -0000)]
--buildpkgonly will not merge anything, so
it cancels all binary package options.

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

16 years agoBug #200313 - Detect and report when an ebuild phase
Zac Medico [Mon, 26 Nov 2007 11:23:17 +0000 (11:23 -0000)]
Bug #200313 - Detect and report when an ebuild phase
exits unexpectedly. This is type of behavior is known
to be triggered by things such as failed variable
assignments (bug #190128) or bad substitution errors
(bug #200313).

We use a EBUILD_EXIT_STATUS_FILE environment variable
to specify a file that the shell code is supposed to
create when it exits in a normal manner. If the file
does not get created like it's supposed to be then we
can conclude that the shell has exited in some
unexpected way.

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

16 years agoAutomatically try to load environment.bz2 whenever
Zac Medico [Mon, 26 Nov 2007 05:48:40 +0000 (05:48 -0000)]
Automatically try to load environment.bz2 whenever
"${T}/environment" does not exist, except for "clean"
and "depend" phases.

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

16 years agoMake diefunc() show the path of ${T}/environment since it's usually
Zac Medico [Mon, 26 Nov 2007 04:40:06 +0000 (04:40 -0000)]
Make diefunc() show the path of ${T}/environment since it's usually
in the stack trace and the user is likely to be interested in it.

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

16 years agoFilter more misc environment variables.
Zac Medico [Mon, 26 Nov 2007 04:05:43 +0000 (04:05 -0000)]
Filter more misc environment variables.

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

16 years agounset ECLASS along with the other variables from inherit().
Zac Medico [Mon, 26 Nov 2007 02:52:09 +0000 (02:52 -0000)]
unset ECLASS along with the other variables from inherit().

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

16 years agoAdd NOCONFMEM to config._environ_filter.
Zac Medico [Mon, 26 Nov 2007 02:44:08 +0000 (02:44 -0000)]
Add NOCONFMEM to config._environ_filter.

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

16 years ago* Move filtering of a bunch of portage config variables from
Zac Medico [Mon, 26 Nov 2007 02:05:16 +0000 (02:05 -0000)]
* Move filtering of a bunch of portage config variables from
save_ebuild_env() to config.environ().
* Add EMERGE_FROM to the READONLY_PORTAGE_VARS list.

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

16 years agoBug #124041 - Make emerge show an informative warning message when one
Zac Medico [Mon, 26 Nov 2007 01:05:35 +0000 (01:05 -0000)]
Bug #124041 - Make emerge show an informative warning message when one
or more eclasses override eclasses from PORTDIR. The warning can be
permanently disabled by setting PORTAGE_ECLASS_WARNING_ENABLE="0" in
/etc/make.conf.

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

16 years agoFilter _RC_GET_KV_CACHE from the saved environment.
Zac Medico [Sun, 25 Nov 2007 23:05:00 +0000 (23:05 -0000)]
Filter _RC_GET_KV_CACHE from the saved environment.

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

16 years agoMake preprocess_ebuild_env() reload a known good version of
Zac Medico [Sun, 25 Nov 2007 22:46:56 +0000 (22:46 -0000)]
Make preprocess_ebuild_env() reload a known good version of
save_ebuild_env() in order to avoid making an assumption that
it hasn't been overridden.

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

16 years agoRemove some unsafe assumptions from preprocess_ebuild_env() and
Zac Medico [Sun, 25 Nov 2007 21:34:44 +0000 (21:34 -0000)]
Remove some unsafe assumptions from preprocess_ebuild_env() and
note the remaining assumption that save_ebuild_env() is not
overridden by the environment being loaded.

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

16 years agoAllow the pkg_info and pkg_config pre/post hooks to run even
Zac Medico [Sun, 25 Nov 2007 09:30:24 +0000 (09:30 -0000)]
Allow the pkg_info and pkg_config pre/post hooks to run even
when the ebuild function is not defined.

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

16 years agoRemove the empty default pkg_setup, src_install, pkg_preinst,
Zac Medico [Sun, 25 Nov 2007 08:50:49 +0000 (08:50 -0000)]
Remove the empty default pkg_setup, src_install, pkg_preinst,
pkg_postinst, pkg_prerm, pkg_postrm, and pkg_config functions
since they do nothing more than clutter the environment.

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

16 years agoTest if ebuild functions are defined before calling them. This
Zac Medico [Sun, 25 Nov 2007 08:35:54 +0000 (08:35 -0000)]
Test if ebuild functions are defined before calling them. This
will be useful if an environment.bz2 has been loaded and it has
missing functions for some reason. For example, there are a lot
of default functions that are empty and could simply be omitted
from the environment.

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

16 years agoThe qa_call() function and anything before it are portage internals
Zac Medico [Sun, 25 Nov 2007 08:15:32 +0000 (08:15 -0000)]
The qa_call() function and anything before it are portage internals
that the user will not be interested in. Therefore, the stack trace
should only show calls that come after qa_call().

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

16 years ago* Load environment.bz2 for the pkg_config() phase.
Zac Medico [Sun, 25 Nov 2007 06:56:02 +0000 (06:56 -0000)]
* Load environment.bz2 for the pkg_config() phase.
* Run the "clean" phase if pkg_config() succeeds.

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

16 years agoImplement loading of environment.bz2 for the pkg_info() phase.
Zac Medico [Sun, 25 Nov 2007 06:26:29 +0000 (06:26 -0000)]
Implement loading of environment.bz2 for the pkg_info() phase.
Since a temporary directory is required for processing of
${T}/environment, and we want a user who's not in the portage
group to be able to run the pkg_info() phase, PORTAGE_TMPDIR
is temporarily overridden with a directory created by mkdtemp.
To make this work, doebuild() creates the tempdir and cleans
it up in a finally block.

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

16 years agoBug #200238 - Make ebuild.sh properly bail out when the pkg_info()
Zac Medico [Sat, 24 Nov 2007 22:25:45 +0000 (22:25 -0000)]
Bug #200238 - Make ebuild.sh properly bail out when the pkg_info()
function doesn't exist.

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

16 years agoBug #140180 - Never trigger a LICENSE.missing violation for old style
Zac Medico [Sat, 24 Nov 2007 22:11:14 +0000 (22:11 -0000)]
Bug #140180 - Never trigger a LICENSE.missing violation for old style
virtuals since they don't directly install anything.

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

16 years agoUse `md5` if `md5sum` is not available (useful for FreeBSD users).
Zac Medico [Sat, 24 Nov 2007 18:28:15 +0000 (18:28 -0000)]
Use `md5` if `md5sum` is not available (useful for FreeBSD users).

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

16 years agoFix quoting to work properly with eval.
Zac Medico [Sat, 24 Nov 2007 05:42:10 +0000 (05:42 -0000)]
Fix quoting to work properly with eval.

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

16 years agoWhen binarytree.populate() finds missing metadata, specify which keys
Zac Medico [Sat, 24 Nov 2007 04:47:12 +0000 (04:47 -0000)]
When binarytree.populate() finds missing metadata, specify which keys
are missing so that the user has a clue about what is wrong.

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

16 years agoUnconditionally filter some of the SANDBOX_* variables from the
Zac Medico [Sat, 24 Nov 2007 04:21:43 +0000 (04:21 -0000)]
Unconditionally filter some of the SANDBOX_* variables from the
environment in order to avoid potential interference problems.
For example, having an invalid value for SANDBOX_LOG prevents
the sandbox from killing the ebuild when a violation occurs.

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

16 years agoFix the var_grep variable in filter_readonly_variables() so that
Zac Medico [Sat, 24 Nov 2007 02:58:31 +0000 (02:58 -0000)]
Fix the var_grep variable in filter_readonly_variables() so that
it's properly local.

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

16 years agoIn the grep expression that's generated in filter_readonly_variables(),
Zac Medico [Sat, 24 Nov 2007 02:24:08 +0000 (02:24 -0000)]
In the grep expression that's generated in filter_readonly_variables(),
condense redundant identical expressions into a single one.

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

16 years agoFilter _E_DOCDESTTREE_ and _E_EXEDESTTREE_ from environment.bz2.
Zac Medico [Sat, 24 Nov 2007 01:56:06 +0000 (01:56 -0000)]
Filter _E_DOCDESTTREE_ and _E_EXEDESTTREE_ from environment.bz2.

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

16 years agoAdd support for persistence of colon separated
Zac Medico [Sat, 24 Nov 2007 01:50:10 +0000 (01:50 -0000)]
Add support for persistence of colon separated
SANDBOX_{DENY,READ,PREDICT,WRITE} variables between
phases so things like the global scope addpredict()
call in qt3.eclass will continue to work.

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

16 years agoMake save_ebuild_env() filter the new source_all_bashrcs() function
Zac Medico [Fri, 23 Nov 2007 11:07:47 +0000 (11:07 -0000)]
Make save_ebuild_env() filter the new source_all_bashrcs() function
from the environment.

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

16 years agoTry again to make bashrc sourcing compatible with previous
Zac Medico [Fri, 23 Nov 2007 10:53:48 +0000 (10:53 -0000)]
Try again to make bashrc sourcing compatible with previous
behavior. The bashrcs get an opportunity to set aliases that
will be expanded during sourcing of ebuilds and eclasses.

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

16 years agounset x to avoid global env pollution.
Zac Medico [Fri, 23 Nov 2007 10:32:46 +0000 (10:32 -0000)]
unset x to avoid global env pollution.

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

16 years agoFor compatibility with previous behavior, so the bashrc sourcing
Zac Medico [Fri, 23 Nov 2007 10:12:06 +0000 (10:12 -0000)]
For compatibility with previous behavior, so the bashrc sourcing
after the ebuild environment is fully loaded.

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

16 years agoSort hashes for predictable output from Manifest._createManifestEntries().
Zac Medico [Fri, 23 Nov 2007 02:37:11 +0000 (02:37 -0000)]
Sort hashes for predictable output from Manifest._createManifestEntries().

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

16 years agoUse %% instead of % parameter expansion where appropriate
Zac Medico [Fri, 23 Nov 2007 01:56:21 +0000 (01:56 -0000)]
Use %% instead of % parameter expansion where appropriate
for md5sum output.

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

16 years agoMake the sed expression in filter_readonly_variables() handle
Zac Medico [Fri, 23 Nov 2007 01:37:58 +0000 (01:37 -0000)]
Make the sed expression in filter_readonly_variables() handle
'^declare -r ' by simply removing it.

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

16 years agoWhen filtering the backupenv in create_trees(), be more
Zac Medico [Fri, 23 Nov 2007 00:08:00 +0000 (00:08 -0000)]
When filtering the backupenv in create_trees(), be more
selective and ensure that special variables that come from
the config constructor are preserved.

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

16 years agoAllow any errors from save_ebuild_env() to go to stderr instead of
Zac Medico [Thu, 22 Nov 2007 22:23:24 +0000 (22:23 -0000)]
Allow any errors from save_ebuild_env() to go to stderr instead of
directing them to /dev/null.

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

16 years agoGeneralize the sed expression in filter_readonly_variables() so that
Zac Medico [Thu, 22 Nov 2007 21:59:54 +0000 (21:59 -0000)]
Generalize the sed expression in filter_readonly_variables() so that
it will work with things like 'declare -xr' as well as 'declare -rx'.

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

16 years agoDon't call preprocess_ebuild_env() unless EBUILD_SH_ARGS is set
Zac Medico [Thu, 22 Nov 2007 20:19:22 +0000 (20:19 -0000)]
Don't call preprocess_ebuild_env() unless EBUILD_SH_ARGS is set
since otherwise it can interfere with the environment for things
like the "package" phase.

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

16 years agoWhen portage reinstalls itself, during inst/rm phases, the
Zac Medico [Thu, 22 Nov 2007 19:52:34 +0000 (19:52 -0000)]
When portage reinstalls itself, during inst/rm phases, the
environment may have been saved by a different version of ebuild.sh,
so it can't trusted that it's been properly filtered. Therefore,
always preprocess the environment when ${PN} == portage.

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

16 years agoDocument dohtml -p. Thanks to robbat2 for reporting.
Zac Medico [Thu, 22 Nov 2007 19:05:25 +0000 (19:05 -0000)]
Document dohtml -p. Thanks to robbat2 for reporting.

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

16 years agoMake dyn_package() create a /var/db/pkg/*/*/BINPKGMD5 entries
Zac Medico [Thu, 22 Nov 2007 08:21:17 +0000 (08:21 -0000)]
Make dyn_package() create a /var/db/pkg/*/*/BINPKGMD5 entries
so that packages installed via --buildpkg have a BINPKGMD5
entry matching the package built.

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

16 years agoFilter HOSTTYPE, MACHTYPE, and OSTYPE vars that are set by bash.
Zac Medico [Thu, 22 Nov 2007 07:41:00 +0000 (07:41 -0000)]
Filter HOSTTYPE, MACHTYPE, and OSTYPE vars that are set by bash.

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

16 years agoIn depgraph.altlist(), measure the bias of circular
Zac Medico [Thu, 22 Nov 2007 06:12:43 +0000 (06:12 -0000)]
In depgraph.altlist(), measure the bias of circular
RDEPEND <-> PDEPEND relationships and use it to
optimize merge order.

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

16 years agoReplace usage of the "myarg" global variable with the equivalent
Zac Medico [Wed, 21 Nov 2007 18:54:58 +0000 (18:54 -0000)]
Replace usage of the "myarg" global variable with the equivalent
readonly EBUILD_SH_ARGS variable.

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

16 years agoIn dyn_install(), don't cleanse S from the global environment,
Zac Medico [Wed, 21 Nov 2007 10:45:22 +0000 (10:45 -0000)]
In dyn_install(), don't cleanse S from the global environment,
in case the user wants to repeat the phase (like with
FEATURES=noauto and the ebuild command). Only cleanse it from
environment.bz2.

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

16 years ago* Make save_ebuild_env() filter some more variables.
Zac Medico [Wed, 21 Nov 2007 10:31:13 +0000 (10:31 -0000)]
* Make save_ebuild_env() filter some more variables.
* Make dyn_install() filter S when it's no longer needed.

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

16 years agoFix the diefunc overlay message so that it doesn't trigger
Zac Medico [Wed, 21 Nov 2007 08:29:52 +0000 (08:29 -0000)]
Fix the diefunc overlay message so that it doesn't trigger
falsely in prerm or postrm.

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

16 years agoGenerate an eerror elog message when an ebuild prerm or
Zac Medico [Wed, 21 Nov 2007 08:26:19 +0000 (08:26 -0000)]
Generate an eerror elog message when an ebuild prerm or
postrm phase fails.

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

16 years agoMove environment saving from dyn_compile() to dyn_install()
Zac Medico [Wed, 21 Nov 2007 08:00:19 +0000 (08:00 -0000)]
Move environment saving from dyn_compile() to dyn_install()
so that state from src_install() is saved.

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

16 years agoClean up some local variables that are needlessly saved
Zac Medico [Wed, 21 Nov 2007 07:38:24 +0000 (07:38 -0000)]
Clean up some local variables that are needlessly saved
in the environment.

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

16 years agoMove preinst IMAGE initialzation before bashrc handling.
Zac Medico [Wed, 21 Nov 2007 04:17:55 +0000 (04:17 -0000)]
Move preinst IMAGE initialzation before bashrc handling.

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

16 years ago* Remove bogus "ci" mode.
Zac Medico [Tue, 20 Nov 2007 23:47:08 +0000 (23:47 -0000)]
* Remove bogus "ci" mode.
* Sync "scan" mode description with 2.1.2 branch.

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

16 years agoDon't unset ${S} inside save_ebuild_env().
Zac Medico [Tue, 20 Nov 2007 11:39:43 +0000 (11:39 -0000)]
Don't unset ${S} inside save_ebuild_env().

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

16 years agoInstead of filtering out all readonly variables, make it
Zac Medico [Tue, 20 Nov 2007 10:41:41 +0000 (10:41 -0000)]
Instead of filtering out all readonly variables, make it
selective so that any readonly variables that are not
explicitly filtered are allowed to be saved.

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

16 years agoFix ${EBUILD_PHASE} quoting.
Zac Medico [Tue, 20 Nov 2007 07:09:55 +0000 (07:09 -0000)]
Fix ${EBUILD_PHASE} quoting.

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

16 years agoDon't make variables readonly during the "depend" phase.
Zac Medico [Tue, 20 Nov 2007 06:31:36 +0000 (06:31 -0000)]
Don't make variables readonly during the "depend" phase.

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

16 years agoWhen ROOT != "/" we only want overrides from the calling
Zac Medico [Tue, 20 Nov 2007 05:49:37 +0000 (05:49 -0000)]
When ROOT != "/" we only want overrides from the calling
environment to apply to the config that's associated
with ROOT != "/", so we wipe out the "backupenv" for the
config that is associated with ROOT == "/" and regenerate
it's incrementals. Thanks to solar for the suggestion.

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

16 years agoWhen ${T}/environment is available, do not source the ebuild since
Zac Medico [Tue, 20 Nov 2007 05:21:10 +0000 (05:21 -0000)]
When ${T}/environment is available, do not source the ebuild since
that is redundant. This solves bug #46223.

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

16 years agoNow that save_ebuild_env() filters variables that could cause
Zac Medico [Tue, 20 Nov 2007 02:33:28 +0000 (02:33 -0000)]
Now that save_ebuild_env() filters variables that could cause
interference, preprocess_ebuild_env() can rely on it to clean
up the environment enough so that anything left can be allowed
to override variables or functions from the current environment.

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

16 years agoAdd some more variables to filter in filter_readonly_variables()
Zac Medico [Tue, 20 Nov 2007 02:17:31 +0000 (02:17 -0000)]
Add some more variables to filter in filter_readonly_variables()
and save_ebuild_env().

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

16 years agoMove LD_PRELOAD and FAKEROOTKEY filtering from filter_readonly_variables()
Zac Medico [Tue, 20 Nov 2007 01:00:29 +0000 (01:00 -0000)]
Move LD_PRELOAD and FAKEROOTKEY filtering from filter_readonly_variables()
to save_ebuild_env().

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

16 years agoMake AA, PF, and WORKDIR readonly.
Zac Medico [Mon, 19 Nov 2007 23:03:43 +0000 (23:03 -0000)]
Make AA, PF, and WORKDIR readonly.

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

16 years agoMake save_ebuild_env() filter out lots of variables that
Zac Medico [Mon, 19 Nov 2007 22:57:31 +0000 (22:57 -0000)]
Make save_ebuild_env() filter out lots of variables that
don't need to be saved.

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

16 years agoMake preprocess_ebuild_env() explicitly filter out FEATURES
Zac Medico [Mon, 19 Nov 2007 22:08:07 +0000 (22:08 -0000)]
Make preprocess_ebuild_env() explicitly filter out FEATURES
since the value for that variable should never come from a
previously saved environment.

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

16 years agoImplement loading of environment.bz2 from binary and installed
Zac Medico [Mon, 19 Nov 2007 21:41:54 +0000 (21:41 -0000)]
Implement loading of environment.bz2 from binary and installed
packages. For binary packages, it's loaded prior to pkg_setup().
For installed packages, it's loaded prior to pkg_prerm().

For simplicity, the current implementation will cause the current
environment to override *everything* in the environment that is
being processed. In the future, it should be more selective and
only override the parts that are strictly necessary.

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

16 years agoIn bash-3.2_p20+ an attempt to assign BASH_*, FUNCNAME, GROUPS or any
Zac Medico [Mon, 19 Nov 2007 10:16:25 +0000 (10:16 -0000)]
In bash-3.2_p20+ an attempt to assign BASH_*, FUNCNAME, GROUPS or any
readonly variable cause the shell to exit while executing the "source"
builtin command. To avoid this problem, a new save_ebuild_env() function
filters those variables out and discards them. See bug #190128.

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