summaryrefslogtreecommitdiffstats
path: root/bin/ebuild.sh
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Don't unset ${S} inside save_ebuild_env().Zac Medico2007-11-201-1/+1
| | | | svn path=/main/trunk/; revision=8543
* Instead of filtering out all readonly variables, make itZac Medico2007-11-201-25/+25
| | | | | | | selective so that any readonly variables that are not explicitly filtered are allowed to be saved. svn path=/main/trunk/; revision=8542
* Fix ${EBUILD_PHASE} quoting.Zac Medico2007-11-201-1/+1
| | | | svn path=/main/trunk/; revision=8541
* Don't make variables readonly during the "depend" phase.Zac Medico2007-11-201-1/+1
| | | | svn path=/main/trunk/; revision=8540
* When ${T}/environment is available, do not source the ebuild sinceZac Medico2007-11-201-73/+71
| | | | | | that is redundant. This solves bug #46223. svn path=/main/trunk/; revision=8538
* Now that save_ebuild_env() filters variables that could causeZac Medico2007-11-201-9/+2
| | | | | | | | 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
* Add some more variables to filter in filter_readonly_variables()Zac Medico2007-11-201-7/+10
| | | | | | and save_ebuild_env(). svn path=/main/trunk/; revision=8536
* Move LD_PRELOAD and FAKEROOTKEY filtering from filter_readonly_variables()Zac Medico2007-11-201-3/+3
| | | | | | to save_ebuild_env(). svn path=/main/trunk/; revision=8535
* Make AA, PF, and WORKDIR readonly.Zac Medico2007-11-191-1/+2
| | | | svn path=/main/trunk/; revision=8534
* Make save_ebuild_env() filter out lots of variables thatZac Medico2007-11-191-0/+32
| | | | | | don't need to be saved. svn path=/main/trunk/; revision=8533
* Make preprocess_ebuild_env() explicitly filter out FEATURESZac Medico2007-11-191-0/+1
| | | | | | | since the value for that variable should never come from a previously saved environment. svn path=/main/trunk/; revision=8532
* Implement loading of environment.bz2 from binary and installedZac Medico2007-11-191-14/+59
| | | | | | | | | | | | 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
* In bash-3.2_p20+ an attempt to assign BASH_*, FUNCNAME, GROUPS or anyZac Medico2007-11-191-27/+43
| | | | | | | | 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
* When creating environment.bz2 at the end of dyn_compile(),Zac Medico2007-11-191-2/+25
| | | | | | | | reduce bloat by filtering out functions that are defined internally by portage. This reduces the size of the resulting environment.bz2 file by approximately 10 KB. svn path=/main/trunk/; revision=8527
* Disable logging and ${T}/environment saving during theZac Medico2007-11-191-2/+1
| | | | | | pkg_info() phase. svn path=/main/trunk/; revision=8526
* Set IMAGE for minimal backward compatibility withZac Medico2007-11-161-0/+3
| | | | | | overlays or user's bashrc, but don't export it. svn path=/main/trunk/; revision=8513
* Fix quoting for `source ${EBUILD}`.Zac Medico2007-11-151-1/+1
| | | | svn path=/main/trunk/; revision=8503
* * Replace references to deprecated ${IMAGE} with equivalent ${D}.Zac Medico2007-11-141-6/+3
| | | | | | * Remove redundant trailing slashes and fix quoting. svn path=/main/trunk/; revision=8501
* Go ahead and exempt selected profile-specific USE_EXPANDZac Medico2007-11-061-1/+6
| | | | | | | | | | | | | flags from IUSE QA Notices since we are planning to make these particular flags into implicit members of IUSE. We can make this extensible later, but for now we just want to eliminate some useless QA Notices (a subset of bug #70648). We're not exempting any non profile- specific USE_EXPAND flags here. For non profile-specific flags, we intend to implement an IUSE syntax extension (bug #133327). svn path=/main/trunk/; revision=8442
* remove O and PPID from being readonly. O is set python side (and we will ↵Alec Warner2007-11-061-1/+1
| | | | | | hopefully stop being exported soon. PPID is ro by bash, so no need to declare it twice svn path=/main/trunk/; revision=8437