summaryrefslogtreecommitdiffstats
path: root/bin/ebuild.sh
Commit message (Collapse)AuthorAgeFilesLines
* Fix useq() so that it won't generate a bogus IUSE QA NoticeZac Medico2007-12-021-0/+2
| | | | | | | if called during the "depend" phase with a flag that uses IUSE defaults. svn path=/main/trunk/; revision=8805
* Update comments about ROOTPATH:Zac Medico2007-12-011-1/+2
| | | | | | | sandbox's bashrc sources /etc/profile which unsets ROOTPATH, so we have to back it up and restore it. svn path=/main/trunk/; revision=8776
* Fix quoting for PORTAGE_ROOTPATH.Zac Medico2007-12-011-1/+1
| | | | svn path=/main/trunk/; revision=8774
* sandbox unsets ROOTPATH, so we have to back it up on the pythonZac Medico2007-11-301-0/+6
| | | | | | side then restore it on the bash side. svn path=/main/trunk/; revision=8768
* Bug #200775 - Save more portage generated environmentZac Medico2007-11-301-7/+20
| | | | | | | variables that are in environment.bz2 so that they are available for use by tools such as epm. svn path=/main/trunk/; revision=8765
* Don't use sandbox's BASH_ENV for new shells because it doesZac Medico2007-11-301-0/+4
| | | | | | | 'source /etc/profile' which can interfere with the build environment by modifying our PATH. svn path=/main/trunk/; revision=8761
* Remove unused EBUILD_ENV_FILE variable.Zac Medico2007-11-301-1/+1
| | | | svn path=/main/trunk/; revision=8755
* Bug #189417 - When ${T}/environment exists, isolate the ebuildZac Medico2007-11-301-1/+1
| | | | | | | | | environment from the calling environment. This makes it possible for the build to unset a variable that was inherited from the calling environment, and the variable will remain unset between phases. svn path=/main/trunk/; revision=8754
* Move environment.bz2 extraction from ebuild.sh to doebuild() onZac Medico2007-11-291-23/+5
| | | | | | | | | | | | the python side. The python will be able to use it's awareness of the ${T}/environment to decide what type of ebuild environment should be generated. For example, if the ebuild environment should be able to unset variables that have been inherited from the calling environment, the existence of ${T}/environment will indicate that the ebuild environment should be isolated from the calling environment. svn path=/main/trunk/; revision=8753
* Adjust PYTHONPATH when calling portageq so that variableZac Medico2007-11-291-0/+3
| | | | | | PORTAGE_PYM_PATH works. svn path=/main/trunk/; revision=8745
* Bug #200652 - Skip ${T}/environment handling for pkg_nofetch().Zac Medico2007-11-281-3/+4
| | | | svn path=/main/trunk/; revision=8729
* In the preprocess_ebuild_env() subshell, check for errors andZac Medico2007-11-281-4/+4
| | | | | | return early when necessary. svn path=/main/trunk/; revision=8718
* Bug #200229 - The gimp ebuild defines AA as a local variable. In orderZac Medico2007-11-271-8/+11
| | | | | | | | | | 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
* Make the environment handling code detect errors and die ifZac Medico2007-11-261-7/+24
| | | | | | necessary. svn path=/main/trunk/; revision=8700
* * In doebuild(), don't create directories for the "clean" or "unmerge".Zac Medico2007-11-261-1/+3
| | | | | | * Fix dyn_clean() to clean the status file and return early when appropriate. svn path=/main/trunk/; revision=8692
* Check if ${EBUILD_EXIT_STATUS_FILE} is empty beforeZac Medico2007-11-261-2/+4
| | | | | | attempting to use it. svn path=/main/trunk/; revision=8686
* Bug #200313 - Detect and report when an ebuild phaseZac Medico2007-11-261-1/+2
| | | | | | | | | | | | | | | | 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
* Automatically try to load environment.bz2 wheneverZac Medico2007-11-261-2/+4
| | | | | | | "${T}/environment" does not exist, except for "clean" and "depend" phases. svn path=/main/trunk/; revision=8680
* unset ECLASS along with the other variables from inherit().Zac Medico2007-11-261-1/+1
| | | | svn path=/main/trunk/; revision=8674
* * Move filtering of a bunch of portage config variables fromZac Medico2007-11-261-2/+3
| | | | | | | | save_ebuild_env() to config.environ(). * Add EMERGE_FROM to the READONLY_PORTAGE_VARS list. svn path=/main/trunk/; revision=8670
* Make preprocess_ebuild_env() reload a known good version ofZac Medico2007-11-251-70/+11
| | | | | | | save_ebuild_env() in order to avoid making an assumption that it hasn't been overridden. svn path=/main/trunk/; revision=8663
* Remove some unsafe assumptions from preprocess_ebuild_env() andZac Medico2007-11-251-2/+4
| | | | | | | note the remaining assumption that save_ebuild_env() is not overridden by the environment being loaded. svn path=/main/trunk/; revision=8662
* Allow the pkg_info and pkg_config pre/post hooks to run evenZac Medico2007-11-251-1/+0
| | | | | | when the ebuild function is not defined. svn path=/main/trunk/; revision=8659
* Remove the empty default pkg_setup, src_install, pkg_preinst,Zac Medico2007-11-251-29/+1
| | | | | | | 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
* Test if ebuild functions are defined before calling them. ThisZac Medico2007-11-251-25/+21
| | | | | | | | | 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
* * Load environment.bz2 for the pkg_config() phase.Zac Medico2007-11-251-1/+1
| | | | | | * Run the "clean" phase if pkg_config() succeeds. svn path=/main/trunk/; revision=8651
* Implement loading of environment.bz2 for the pkg_info() phase.Zac Medico2007-11-251-1/+2
| | | | | | | | | | | 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
* Bug #200238 - Make ebuild.sh properly bail out when the pkg_info()Zac Medico2007-11-241-1/+1
| | | | | | function doesn't exist. svn path=/main/trunk/; revision=8647
* Fix quoting to work properly with eval.Zac Medico2007-11-241-3/+3
| | | | svn path=/main/trunk/; revision=8640
* Unconditionally filter some of the SANDBOX_* variables from theZac Medico2007-11-241-1/+7
| | | | | | | | 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
* Fix the var_grep variable in filter_readonly_variables() so thatZac Medico2007-11-241-1/+1
| | | | | | it's properly local. svn path=/main/trunk/; revision=8634
* In the grep expression that's generated in filter_readonly_variables(),Zac Medico2007-11-241-8/+10
| | | | | | condense redundant identical expressions into a single one. svn path=/main/trunk/; revision=8630
* Filter _E_DOCDESTTREE_ and _E_EXEDESTTREE_ from environment.bz2.Zac Medico2007-11-241-1/+1
| | | | svn path=/main/trunk/; revision=8629
* Add support for persistence of colon separatedZac Medico2007-11-241-8/+27
| | | | | | | | 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
* Make save_ebuild_env() filter the new source_all_bashrcs() functionZac Medico2007-11-231-1/+2
| | | | | | from the environment. svn path=/main/trunk/; revision=8623
* Try again to make bashrc sourcing compatible with previousZac Medico2007-11-231-32/+37
| | | | | | | 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
* unset x to avoid global env pollution.Zac Medico2007-11-231-0/+1
| | | | svn path=/main/trunk/; revision=8619
* For compatibility with previous behavior, so the bashrc sourcingZac Medico2007-11-231-33/+31
| | | | | | after the ebuild environment is fully loaded. svn path=/main/trunk/; revision=8617
* Make the sed expression in filter_readonly_variables() handleZac Medico2007-11-231-1/+3
| | | | | | '^declare -r ' by simply removing it. svn path=/main/trunk/; revision=8611
* Allow any errors from save_ebuild_env() to go to stderr instead ofZac Medico2007-11-221-1/+1
| | | | | | directing them to /dev/null. svn path=/main/trunk/; revision=8607
* Generalize the sed expression in filter_readonly_variables() so thatZac Medico2007-11-221-1/+1
| | | | | | it will work with things like 'declare -xr' as well as 'declare -rx'. svn path=/main/trunk/; revision=8605
* Don't call preprocess_ebuild_env() unless EBUILD_SH_ARGS is setZac Medico2007-11-221-1/+1
| | | | | | | since otherwise it can interfere with the environment for things like the "package" phase. svn path=/main/trunk/; revision=8603
* When portage reinstalls itself, during inst/rm phases, theZac Medico2007-11-221-0/+7
| | | | | | | | 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
* Filter HOSTTYPE, MACHTYPE, and OSTYPE vars that are set by bash.Zac Medico2007-11-221-1/+2
| | | | svn path=/main/trunk/; revision=8595
* Replace usage of the "myarg" global variable with the equivalentZac Medico2007-11-211-34/+27
| | | | | | readonly EBUILD_SH_ARGS variable. svn path=/main/trunk/; revision=8585
* In dyn_install(), don't cleanse S from the global environment,Zac Medico2007-11-211-5/+9
| | | | | | | | 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
* * Make save_ebuild_env() filter some more variables.Zac Medico2007-11-211-2/+8
| | | | | | * Make dyn_install() filter S when it's no longer needed. svn path=/main/trunk/; revision=8581
* Move environment saving from dyn_compile() to dyn_install()Zac Medico2007-11-211-27/+27
| | | | | | so that state from src_install() is saved. svn path=/main/trunk/; revision=8575
* Clean up some local variables that are needlessly savedZac Medico2007-11-211-2/+6
| | | | | | in the environment. svn path=/main/trunk/; revision=8573
* Move preinst IMAGE initialzation before bashrc handling.Zac Medico2007-11-211-4/+4
| | | | svn path=/main/trunk/; revision=8569