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. (trunk r9085) svn path=/main/branches/2.1.2/; revision=9086
* 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. (trunk r9063:9065) svn path=/main/branches/2.1.2/; revision=9076
* Bug #203239 - With FEATURES=noauto, always source ${EBUILD}.Zac Medico2007-12-281-4/+9
| | | | | | | | This will load the ${T}/environment file if available and then source ${EBUILD} to overwrite any functions that have changed. (trunk r9051 and r9062) svn path=/main/branches/2.1.2/; revision=9068
* 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. (trunk r8951) svn path=/main/branches/2.1.2/; revision=8952
* 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. (trunk r8945) svn path=/main/branches/2.1.2/; revision=8948
* 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. (trunk r8909) svn path=/main/branches/2.1.2/; revision=8910
* 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. (trunk r8905:8907) svn path=/main/branches/2.1.2/; revision=8908
* 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. (trunk r8896) svn path=/main/branches/2.1.2/; revision=8903
* * In filter_readonly_variables(), replace 'declare -r ' with 'declare 'Zac Medico2007-12-131-3/+3
| | | | | | | | | | | | | | | | instead of removing it completely. * Bug #202068 - In order to filter unwanted variable assignments out 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. * Use the sed -r option to enable extended regular expressions so that commonly used characters like (, ), and + don't have to be escaped. (trunk r8890:8893) svn path=/main/branches/2.1.2/; revision=8899
* * 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. (trunk r8878) svn path=/main/branches/2.1.2/; revision=8881
* Declare retval as a local variable. (trunk r8859)Zac Medico2007-12-061-0/+1
| | | | svn path=/main/branches/2.1.2/; revision=8860
* Prevent the filter_opts local variable from leaking into theZac Medico2007-12-061-1/+2
| | | | | | environment in preprocess_ebuild_env(). (trunk r8857) svn path=/main/branches/2.1.2/; revision=8858
* 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. (trunk r8852) svn path=/main/branches/2.1.2/; revision=8856
* 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. (trunk r8853) svn path=/main/branches/2.1.2/; revision=8854
* Synchronize the conditional that triggers "${T}"/environmentZac Medico2007-12-031-4/+3
| | | | | | | generation with the conditional that triggers distcc and ccache FEATURES setup. (trunk r8833) svn path=/main/branches/2.1.2/; revision=8834
* 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. (trunk r8805) svn path=/main/branches/2.1.2/; revision=8806
* 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. (trunk r8775:8777) svn path=/main/branches/2.1.2/; revision=8778
* Fix quoting for PORTAGE_ROOTPATH. (trunk r8774)Zac Medico2007-12-011-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=8775
* 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. (trunk r8768) svn path=/main/branches/2.1.2/; revision=8769
* 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. (trunk r8765) svn path=/main/branches/2.1.2/; revision=8766
* 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. (trunk r8761) svn path=/main/branches/2.1.2/; revision=8762
* Bug #189417 - When ${T}/environment exists, isolate the ebuildZac Medico2007-11-301-23/+5
| | | | | | | | | 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. (trunk r8752:8755) svn path=/main/branches/2.1.2/; revision=8756
* Adjust PYTHONPATH when calling portageq so that variableZac Medico2007-11-291-0/+3
| | | | | | PORTAGE_PYM_PATH works. (trunk r8745) svn path=/main/branches/2.1.2/; revision=8746
* Bug #200652 - Skip ${T}/environment handling for pkg_nofetch(). (trunk r8729)Zac Medico2007-11-281-3/+4
| | | | svn path=/main/branches/2.1.2/; revision=8730
* In the preprocess_ebuild_env() subshell, check for errors andZac Medico2007-11-281-4/+4
| | | | | | return early when necessary. (trunk r8718) svn path=/main/branches/2.1.2/; revision=8719
* 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). (trunk r8708) svn path=/main/branches/2.1.2/; revision=8709
* Make the environment handling code detect errors and die ifZac Medico2007-11-261-7/+24
| | | | | | necessary. (trunk r8700) svn path=/main/branches/2.1.2/; revision=8701
* * 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. (trunk r8692) svn path=/main/branches/2.1.2/; revision=8693
* Check if ${EBUILD_EXIT_STATUS_FILE} is empty beforeZac Medico2007-11-261-2/+4
| | | | | | attempting to use it. (trunk r8686) svn path=/main/branches/2.1.2/; revision=8687
* 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. (trunk r8682) svn path=/main/branches/2.1.2/; revision=8684
* Automatically try to load environment.bz2 wheneverZac Medico2007-11-261-2/+4
| | | | | | | "${T}/environment" does not exist, except for "clean" and "depend" phases. (trunk r8680) svn path=/main/branches/2.1.2/; revision=8681
* unset ECLASS along with the other variables from inherit(). (trunk r8674)Zac Medico2007-11-261-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=8675
* * 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. (trunk r8670) svn path=/main/branches/2.1.2/; revision=8671
* 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. (trunk r8663) svn path=/main/branches/2.1.2/; revision=8665
* 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. (trunk r8662) svn path=/main/branches/2.1.2/; revision=8664
* 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. (trunk r8659) svn path=/main/branches/2.1.2/; revision=8660
* 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. (trunk r8655) svn path=/main/branches/2.1.2/; revision=8658
* 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. (trunk r8654) svn path=/main/branches/2.1.2/; revision=8657
* * Load environment.bz2 for the pkg_config() phase.Zac Medico2007-11-251-1/+1
| | | | | | | * Run the "clean" phase if pkg_config() succeeds. (trunk r8651) svn path=/main/branches/2.1.2/; revision=8652
* 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. (trunk r8649) svn path=/main/branches/2.1.2/; revision=8650
* Bug #200238 - Make ebuild.sh properly bail out when the pkg_info()Zac Medico2007-11-241-1/+1
| | | | | | function doesn't exist. (trunk r8647) svn path=/main/branches/2.1.2/; revision=8648
* Fix quoting to work properly with eval. (trunk r8640)Zac Medico2007-11-241-3/+3
| | | | svn path=/main/branches/2.1.2/; revision=8641
* 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. (trunk r8636) svn path=/main/branches/2.1.2/; revision=8637
* Fix the var_grep variable in filter_readonly_variables() so thatZac Medico2007-11-241-1/+1
| | | | | | it's properly local. (trunk r8634) svn path=/main/branches/2.1.2/; revision=8635
* 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. (trunk r8630) svn path=/main/branches/2.1.2/; revision=8633
* Filter _E_DOCDESTTREE_ and _E_EXEDESTTREE_ from environment.bz2. (trunk r8629)Zac Medico2007-11-241-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=8632
* 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. (trunk r8628) svn path=/main/branches/2.1.2/; revision=8631
* Make save_ebuild_env() filter the new source_all_bashrcs() functionZac Medico2007-11-231-1/+2
| | | | | | from the environment. (trunk r8623) svn path=/main/branches/2.1.2/; revision=8624
* 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. (trunk r8621) svn path=/main/branches/2.1.2/; revision=8622
* unset x to avoid global env pollution. (trunk r8619)Zac Medico2007-11-231-0/+1
| | | | svn path=/main/branches/2.1.2/; revision=8620