summaryrefslogtreecommitdiffstats
path: root/bin/ebuild.sh
Commit message (Collapse)AuthorAgeFilesLines
* Bug #202697 - Add / to the default initial SANDBOX_READ in order toZac Medico2007-12-281-1/+1
| | | | | | | avoid a situation where attempts to read arbitrary files trigger sandbox violations. svn path=/main/trunk/; revision=9085
* Fixes for logic related to FEATURES=test to USE=test mapping:Zac Medico2007-12-281-3/+0
| | | | | | | | | | | | | | | * Add EBUILD_FORCE_TEST to the environment whitelist and filter it from the saved environment in save_ebuild_env(). * Tweak logic inside the ebuild command and config.regenerate() so that EBUILD_FORCE_TEST works even in odd cases like when USE=test is masked. * Only make FEATURES=test map to USE=test when "test" is actually in IUSE. * Remove USE=test from the set of implicit IUSE so that useq() calls in ebuild.sh properly generate a QA Notice when "test" is missing from IUSE. svn path=/main/trunk/; revision=9064
* Always make sure that the depend phase triggers a source ${EBUILD}Zac Medico2007-12-281-1/+5
| | | | | | call, even if "${T}"/environment happens to exist for some reason. svn path=/main/trunk/; revision=9062
* Bug #203239 - With FEATURES=noauto, always source ${EBUILD}.Zac Medico2007-12-251-4/+5
| | | | | | | This will load the ${T}/environment file if available and then source ${EBUILD} to overwrite any functions that have changed. svn path=/main/trunk/; revision=9051
* Only enable the PORTAGE_IUSE check during build time phasesZac Medico2007-12-181-1/+6
| | | | | | since that's the only time it's valid for now. svn path=/main/trunk/; revision=8951
* Create a PORTAGE_IUSE variable containing an egrep patternZac Medico2007-12-181-10/+6
| | | | | | | | for use by the QA check that's built into useq(). This allows the IUSE logic for this check to be isolated in the python code. svn path=/main/trunk/; revision=8945
* Allow FEATURES to persist between phases since the user mightZac Medico2007-12-131-3/+14
| | | | | | | | | | | want to modify it via bashrc to enable things like splitdebug and installsources for specific packages. They should be able to modify it in pre_pkg_setup() and have it persist all the way through the install phase. However, if FEATURES exist inside environment.bz2 then they should be overridden by current settings. svn path=/main/trunk/; revision=8909
* Remove extra _ typo.Zac Medico2007-12-131-2/+2
| | | | svn path=/main/trunk/; revision=8907
* Properly filter SANDBOX_ON from the environment. When sourcingZac Medico2007-12-131-1/+16
| | | | | | | | | ${T}/environment it's a bit tricky because we have to temporarily disable sandbox since the SANDBOX_{DENY,READ,PREDICT,_WRITE} values we've just loaded may be unusable (triggering in spurious sandbox violations) until we've merged them with our current values. svn path=/main/trunk/; revision=8906
* Bug #201771 - Make unpack() detect common errors such as absoluteZac Medico2007-12-131-5/+6
| | | | | | | paths that start with ${DISTDIR} and die an appropriate error message. Thanks to grobian for this patch. svn path=/main/trunk/; revision=8896
* Use the sed -r option to enable extended regular expressions so thatZac Medico2007-12-131-3/+3
| | | | | | commonly used characters like (, ), and + don't have to be escaped. svn path=/main/trunk/; revision=8893
* Bug #202068 - In order to filter unwanted variable assignments outZac Medico2007-12-131-1/+1
| | | | | | | | of the bash environment, use a filter-bash-environment.py script that behaves similar to egrep -v except that it leaves bash here- documents intact. svn path=/main/trunk/; revision=8892
* In filter_readonly_variables(), replace 'declare -r ' with 'declare 'Zac Medico2007-12-131-1/+1
| | | | | | instead of removing it completely. svn path=/main/trunk/; revision=8891
* * When installing a binary package, export the file name of the packageZac Medico2007-12-111-1/+6
| | | | | | | | | | | | | | as PORTAGE_BINPKG_FILE in order to give bashrc users an opportunity to do various things such as remove binary packages after they're installed. * Add a note in ebuild.sh explaining why hardcoded bash lists are needed for backward compatibility with <portage-2.1.4 since they assume that a newly installed version of ebuild.sh will work for pkg_postinst, pkg_prerm, and pkg_postrm when portage is upgrading itself. svn path=/main/trunk/; revision=8878
* Declare retval as a local variable.Zac Medico2007-12-061-0/+1
| | | | svn path=/main/trunk/; revision=8859
* Prevent the filter_opts local variable from leaking into theZac Medico2007-12-061-1/+2
| | | | | | environment in preprocess_ebuild_env(). svn path=/main/trunk/; revision=8857
* Bug #201506 - Make preprocess_ebuild_env() preserveZac Medico2007-12-061-9/+13
| | | | | | | | SANDBOX_{DENY,PREDICT,READ,WRITE} between all phases, except when the environment comes directly from environment.bz2. svn path=/main/trunk/; revision=8853
* Remove redundant successful exit call from the "depend" phaseZac Medico2007-12-061-3/+0
| | | | | | | and let it run to the bottom of ebuild.sh just like the other phases. svn path=/main/trunk/; revision=8852
* Synchronize the conditional that triggers "${T}"/environmentZac Medico2007-12-031-4/+3
| | | | | | | generation with the conditional that triggers distcc and ccache FEATURES setup. svn path=/main/trunk/; revision=8833
* 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