summaryrefslogtreecommitdiffstats
path: root/bin/ebuild.sh
Commit message (Collapse)AuthorAgeFilesLines
* Add support to config.setcpv() for caching USE settings from builtZac Medico2010-09-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | packages, and use it for evaluating conditional USE deps in atoms passed via IPC to helpers like has_version and best_version. Since the pickled object that contains the IPC command will no longer contain USE, it should solve cases that have been reported in which large USE strings trigger poor handling of non-blocking read in pickle.load(): Traceback (most recent call last): File "/usr/bin/emerge", line 43, in <module> retval = emerge_main() File "/usr/lib64/portage/pym/_emerge/main.py", line 1649, in emerge_main myopts, myaction, myfiles, spinner) File "/usr/lib64/portage/pym/_emerge/actions.py", line 437, in action_build retval = mergetask.merge() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1033, in merge rval = self._merge() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1349, in _merge self._main_loop() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1498, in _main_loop self._poll_loop() File "/usr/lib64/portage/pym/_emerge/PollScheduler.py", line 139, in _poll_loop handler(f, event) File "/usr/lib64/portage/pym/_emerge/EbuildIpcDaemon.py", line 36, in _input_handler obj = pickle.load(self._files.pipe_in) File "/usr/lib64/python2.6/pickle.py", line 1370, in load return Unpickler(file).load() File "/usr/lib64/python2.6/pickle.py", line 858, in load dispatch[key](self) File "/usr/lib64/python2.6/pickle.py", line 1195, in load_setitem value = stack.pop() IndexError: pop from empty list
* Add a fallback PORTAGE_BZIP2_COMMAND setting in ebuild.sh, as aZac Medico2010-08-311-0/+6
| | | | workaround for portage-9999 users.
* Bug #335340 - Use PORTAGE_BUNZIP2_COMMAND and PORTAGE_BZIP2_COMMAND inZac Medico2010-08-301-9/+9
| | | | | | ebuild.sh where appropriate: * unpack() * environment.bz2 compression
* Invert _ebuild_helpers_path EAPI conditional in ebuild.sh.Zac Medico2010-08-301-3/+3
|
* Implement controllable compression and docompress, bug #273633.Ulrich Mueller2010-08-281-0/+28
|
* Handle SIGPIPE when unpack() extracts tar files through a pipe (bug #309001).Zac Medico2010-08-231-2/+2
| | | | | | | When checking ${PIPESTATUS[@]} for extraction of tar files in unpack(), use a new assert_sigpipe_ok() function which behaves the same as the existing assert() function except that it tolerates pipe writers being killed by SIGPIPE.
* Quote arrays in QA_PREBUILT handling.Zac Medico2010-08-211-1/+1
|
* Add support for a QA_PREBUILT variable should contain a list ofZac Medico2010-08-211-0/+20
| | | | | | pre-built binaries. Paths listed here will be appended to each of the other QA_* variables. Thanks to Diego Pettenò <flameeyes@g.o> for the suggestion.
* At some point we may want to stop exporting FEATURES to the ebuildZac Medico2010-08-201-1/+1
| | | | | | | environment, in order to prevent ebuilds from abusing it. In preparation for that, export it as PORTAGE_FEATURES so that bashrc users will be able to migrate any FEATURES conditional code to use this alternative variable.
* * In helpers_die arguments, display ${0##*/} instead of $0 since $0Zac Medico2010-08-181-4/+4
| | | | | | is needlessly long. * When calling helpers_die from a function, use ${FUNCNAME[0]} in arguments instead of $0.
* DoebuildSpawnTestCase: Invoke portage.package.ebuild.doebuild.spawn()Zac Medico2010-08-151-0/+2
| | | | | | with a minimal environment. This gives coverage to some of the ebuild execution internals, like ebuild.sh, EbuildSpawnProcess, and EbuildIpcDaemon.
* Disable EbuildIpcDaemon for now, since it seems to be triggeringZac Medico2010-08-141-1/+3
| | | | | intermittent build failures in my stage builds. For testing purposes set PORTAGE_IPC_DAEMON_ENABLE=1 to enable EbuildIpcDaemon.
* Pass $USE via IPC in order to ensure that we have the correct value forZac Medico2010-08-141-2/+2
| | | | | | built/installed packages, since the config class doesn't currently provide a way to access built/installed $USE that would work in all possible scenarios.
* Add a QueryCommand.settings attribute and use it so that $USEZac Medico2010-08-141-2/+2
| | | | | doesn't have to be passed to the daemon in has_version and best_version calls.
* Don't call exit after pkg_nofetch since that prevents the ebuild-ipcZac Medico2010-08-131-1/+0
| | | | callback from executing.
* Use /usr/bin/python when PORTAGE_PYTHON variable is empty.Arfrever Frehtes Taifersar Arahesis2010-08-141-4/+4
| | | | It avoids some errors during upgrade from older Portage versions.
* Ensure that all Python processes use the same version of Python.Arfrever Frehtes Taifersar Arahesis2010-08-141-14/+8
|
* Setup EBUILD_MASTER_PID at the bottom, for scripts that sourceZac Medico2010-08-131-0/+4
| | | | ebuild.sh.
* Bug #315615 - Use EbuildIpcDaemon to implement has_version and best_version.Zac Medico2010-08-131-0/+10
| | | | | This provides performance benefits and also avoids permissions issues with FEATURES=userpriv.
* Move EBUILD_MASTER_PID and associated SIGTERM trap into ebuild_main()Zac Medico2010-08-131-4/+5
| | | | | | | since it seems more reliable this way. This helps us avoid having EbuildIpcDaemon need to send a kill signal (and triggering the zombie message too). This is especially important for the die helper which is called by other helpers for EAPI 4.
* Use EbuildIpcDaemon to replace the functionality ofZac Medico2010-08-131-10/+4
| | | | EBUILD_EXIT_STATUS_FILE.
* Fix faulty $? handling in *into functions (from previous commit).Zac Medico2010-08-121-12/+16
|
* Make utilities die on failure in EAPI 4, bug 273651Dror Levin2010-08-121-4/+20
|
* Make sure we don't allow REQUIRED_USE in EAPIs that don't support itSebastian Luther2010-08-111-5/+0
|
* Don't cache REQUIRED_USE for EAPIs 1-3 which don't support it.Zac Medico2010-08-101-1/+5
|
* Add REQUIRED_USE to metadata keys, caches, etc.Sebastian Luther2010-08-101-9/+16
|
* Bug #308835: Support options in shebang and terminate 's' option of sed.Arfrever Frehtes Taifersar Arahesis2010-08-071-2/+2
|
* Bug #308835 - Make econf() use sed to substitute $CONFIG_SHELL inZac Medico2010-08-041-0/+5
| | | | the shebang of configure scripts when appropriate.
* Patch ebuild.sh to not nuke the WORKDIR if FEATURES="keepwork".Christopher Covington2010-07-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | This allows make to do its thing when using Portage in a development workflow, although the change also exposes how ebuild clean doesn't clear out the WORKDIR. TEST=`rm -rf /build/$board/tmp/portage/chromeos-base/kernel-0.0.1 && [ -e /build/$board/tmp/portage/chromeos-base/kernel-0.0.1/.unpacked ] && rm /build/$board/tmp/portage/chromeos-base/kernel-0.0.1/.unpacked && FEATURES=keepwork ebuild-$board kernel-0.0.1.ebuild install` Then modify some of the source (preferably in the git repository rather than the WORKDIR). `[ -e /build/$board/tmp/portage/chromeos-base/kernel-0.0.1/.unpacked ] && rm /build/$board/tmp/portage/chromeos-base/kernel-0.0.1/.unpacked && FEATURES=keepwork ebuild-$board kernel-0.0.1.ebuild install &&` On the second ebuild operation, make should be able to tell what exactly, or if nothing at all, has changed, and rebuild only the necessary object files. http://codereview.chromium.org/2922001
* Bug #322049 - Make use_with() and use_enable() handling of emptyZac Medico2010-05-301-2/+10
| | | | | | 3rd argument conditional on EAPI in order to ensure backward compatibility. This reverts the behavior change from commit a05bba76435d94407fd25549d0552902962baf62 for EAPI 0, 1, 2, and 3.
* Fix handling of empty third argument of use_with() and use_enable().Arfrever Frehtes Taifersar Arahesis2010-05-271-2/+2
|
* Use 'assert' to check ${PIPESTATUS[@]} from save_ebuild_env calls.Zac Medico2010-05-251-0/+3
|
* Bug #321145: Don't ignore exit status of filter-bash-environment.py and ↵Arfrever Frehtes Taifersar Arahesis2010-05-251-1/+1
| | | | check-implicit-pointer-usage.py.
* Bug #320755 - Make sure src_test only runs once when ebuild(1)Zac Medico2010-05-211-5/+8
| | | | | is used to explicitly run the test phase along with other phases.
* Update comment in econf about --disable-dependency-tracking to refer toZac Medico2010-05-061-1/+1
| | | | EAPI 4 instead of 3.
* Support per-package bashrc files.Michał Górny2010-04-291-10/+13
| | | | | | | Support loading per-package bashrc files from the /etc/portage/env directory. The invidual files should reside in a directory matching ${CATEGORY}, with names matching ${PN}, ${PN}:${SLOT}, ${P} and/or ${PF} (which are applied in that order).
* Remove unsed check_KV() function. Thanks to Brian Harring.Zac Medico2010-03-251-14/+0
|
* Add back executable bits, accidentally removed in previous commit.Zac Medico2010-03-241-0/+0
|
* Remove all svn $Id keywords.Zac Medico2010-03-241-1/+0
|
* Fix breakage from previous commit.Zac Medico2010-03-151-0/+1
| | | | svn path=/main/trunk/; revision=15830
* Add a TODO note about adding a registration interface for eclasses to registerZac Medico2010-03-151-6/+7
| | | | | | phase hooks, in order to migrate away from global scope useq() calls. svn path=/main/trunk/; revision=15829
* Revert tar error handling changes from bug #309001 since we can't necessarilyZac Medico2010-03-141-2/+4
| | | | | | trust tar exist status alone (reverts r15820 and r15821). svn path=/main/trunk/; revision=15827
* Bug #309001 - Only trust tar exit status (ignore decompressor exit status)Zac Medico2010-03-111-4/+2
| | | | | | when unpacking tar files. svn path=/main/trunk/; revision=15820
* After src_install, save fewer variables when writing the vdb entry for aZac Medico2010-02-141-3/+9
| | | | | | virtual package. svn path=/main/trunk/; revision=15349
* Evaluate USE conditionals when writing vdb entries after src_install.Zac Medico2010-02-141-3/+2
| | | | svn path=/main/trunk/; revision=15348
* Bug #297364 - Only set EAPI conditional PATH once after sourcing the ebuildv2.2_rc61Zac Medico2009-12-241-39/+48
| | | | | | (when the EAPI is first known) rather than for each phase. svn path=/main/trunk/; revision=15149
* Remove stray echo.Zac Medico2009-12-241-1/+0
| | | | svn path=/main/trunk/; revision=15147
* Remove obsolete backing up of ROOTPATH via PORTAGE_ROOTPATH.Zac Medico2009-12-241-7/+1
| | | | svn path=/main/trunk/; revision=15143
* Bug #297933: Filter BASHOPTS variable for compatibility with bash-4.1.Arfrever Frehtes Taifersar Arahesis2009-12-221-2/+2
| | | | svn path=/main/trunk/; revision=15130
* Bug #296710 - Add equery to QA_INTERCEPTORS since it can trigger a fork bomb.Zac Medico2009-12-161-1/+1
| | | | svn path=/main/trunk/; revision=15098