portage.git
16 years agoInstead of calling sys.exit when a ParseError occurs in the config
Zac Medico [Tue, 11 Dec 2007 23:46:11 +0000 (23:46 -0000)]
Instead of calling sys.exit when a ParseError occurs in the config
constructor, raise a ParseError and make emerge and portageq handle
the error. This way consumers of the portage api can handle the
ParseError rather than have their application exit. Thanks to lxnay
for reporting. (trunk r8884)

svn path=/main/branches/2.1.2/; revision=8886

16 years ago* Raise PermissionDenied from getconfig() when appropriate.
Zac Medico [Tue, 11 Dec 2007 23:44:59 +0000 (23:44 -0000)]
* Raise PermissionDenied from getconfig() when appropriate.
* When available, make getconfig() include an invalid token
  in a ParseError message.
(trunk r8883)

svn path=/main/branches/2.1.2/; revision=8885

16 years ago* When installing a binary package, export the file name of the package
Zac Medico [Tue, 11 Dec 2007 21:41:55 +0000 (21:41 -0000)]
* When installing a binary package, export the file name of the package
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

16 years agoAdd a "Quality Assurance" <part> tag so that all chapters are
Zac Medico [Tue, 11 Dec 2007 21:33:50 +0000 (21:33 -0000)]
Add a "Quality Assurance" <part> tag so that all chapters are
consistently nested inside <part> tags. (trunk r8877)

svn path=/main/branches/2.1.2/; revision=8880

16 years agoAdd some documentation for ebuild phases and pre/post phase
Zac Medico [Tue, 11 Dec 2007 21:32:44 +0000 (21:32 -0000)]
Add some documentation for ebuild phases and pre/post phase
hooks that can be defined via bashrc. (trunk r8876)

svn path=/main/branches/2.1.2/; revision=8879

16 years agoDo an EBUILD_EXIT_STATUS_FILE sanity check in spawnebuild()
Zac Medico [Sat, 8 Dec 2007 23:02:45 +0000 (23:02 -0000)]
Do an EBUILD_EXIT_STATUS_FILE sanity check in spawnebuild()
where it spawns misc-functions.sh after the install phase.
(trunk r8874)

svn path=/main/branches/2.1.2/; revision=8875

16 years agoQuote $PORTDIR. Thanks to Chris Kerr in bug #52208.
Zac Medico [Sat, 8 Dec 2007 19:23:12 +0000 (19:23 -0000)]
Quote $PORTDIR. Thanks to Chris Kerr in bug #52208.

svn path=/main/branches/2.1.2/; revision=8873

16 years agoBug #189417 - Explicitly whitelist any remaining variables that are
Zac Medico [Fri, 7 Dec 2007 23:03:39 +0000 (23:03 -0000)]
Bug #189417 - Explicitly whitelist any remaining variables that are
allowed to leak into the ebuild environment. Also, fix spawnebuild
to properly filter the env when it spawns misc-functions.sh after
the install phase. (trunk r8863:8867)

svn path=/main/branches/2.1.2/; revision=8868

16 years agoDeclare retval as a local variable. (trunk r8859)
Zac Medico [Thu, 6 Dec 2007 23:38:00 +0000 (23:38 -0000)]
Declare retval as a local variable. (trunk r8859)

svn path=/main/branches/2.1.2/; revision=8860

16 years agoPrevent the filter_opts local variable from leaking into the
Zac Medico [Thu, 6 Dec 2007 23:29:03 +0000 (23:29 -0000)]
Prevent the filter_opts local variable from leaking into the
environment in preprocess_ebuild_env(). (trunk r8857)

svn path=/main/branches/2.1.2/; revision=8858

16 years agoRemove redundant successful exit call from the "depend" phase
Zac Medico [Thu, 6 Dec 2007 23:13:04 +0000 (23:13 -0000)]
Remove redundant successful exit call from the "depend" phase
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

16 years agoTo avoid false positives during the transition
Zac Medico [Thu, 6 Dec 2007 23:02:03 +0000 (23:02 -0000)]
To avoid false positives during the transition
period, don't show ? if the installed package
is missing a repository label. Stages starting
with 2007.1 will come with repository lables.

svn path=/main/branches/2.1.2/; revision=8855

16 years agoBug #201506 - Make preprocess_ebuild_env() preserve
Zac Medico [Thu, 6 Dec 2007 22:29:48 +0000 (22:29 -0000)]
Bug #201506 - Make preprocess_ebuild_env() preserve
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

16 years agoShow ? if the installed package is missing a
Zac Medico [Wed, 5 Dec 2007 03:48:02 +0000 (03:48 -0000)]
Show ? if the installed package is missing a
repository label. The stable version of portage
creates these labels now, so false positives
won't be as common as they used to be. (trunk
r8846)

svn path=/main/branches/2.1.2/; revision=8847

16 years agoRemove redundant config.load_infodir() calls from
Zac Medico [Mon, 3 Dec 2007 23:27:42 +0000 (23:27 -0000)]
Remove redundant config.load_infodir() calls from
portage.pkgmerge() and dblink.unmerge() since it's
already called in doebuild(). (trunk r8835)

svn path=/main/branches/2.1.2/; revision=8836

16 years agoSynchronize the conditional that triggers "${T}"/environment
Zac Medico [Mon, 3 Dec 2007 23:07:18 +0000 (23:07 -0000)]
Synchronize the conditional that triggers "${T}"/environment
generation with the conditional that triggers distcc and
ccache FEATURES setup. (trunk r8833)

svn path=/main/branches/2.1.2/; revision=8834

16 years ago* Don't load the CATEGORY in config.load_infodir() since this value is
Zac Medico [Mon, 3 Dec 2007 22:09:26 +0000 (22:09 -0000)]
* Don't load the CATEGORY in config.load_infodir() since this value is
  critical for doebuild() operation and we already know the category.
* Always call config.setcpv() prior to config.load_infodir() so that
  the CATEGORY is always known.
(trunk r8830:88310

svn path=/main/branches/2.1.2/; revision=8832

16 years agoBug #201090 - When portage creates a temp PORTAGE_BIN_PATH, put it
Zac Medico [Mon, 3 Dec 2007 20:57:54 +0000 (20:57 -0000)]
Bug #201090 - When portage creates a temp PORTAGE_BIN_PATH, put it
inside PORTAGE_TMPDIR since, unlike /tmp, it can't be mounted with
the "noexec" option. (trunk r8828)

svn path=/main/branches/2.1.2/; revision=8829

16 years agoMake config.load_infodir() more fault tolerant for cases like bug
Zac Medico [Mon, 3 Dec 2007 20:01:42 +0000 (20:01 -0000)]
Make config.load_infodir() more fault tolerant for cases like bug
#201082. (trunk r8826)

svn path=/main/branches/2.1.2/; revision=8827

16 years agoBug #201082 - Don't call config.load_infodir() prior to pkg_postinst()
Zac Medico [Mon, 3 Dec 2007 19:13:41 +0000 (19:13 -0000)]
Bug #201082 - Don't call config.load_infodir() prior to pkg_postinst()
because it's not needed and the ebuild path that's passed in for
postinst is may be from the portage tree, which causes load_infodir()
to discard critical metadata such as CATEGORY without realoading
it. (trunk r8822)

svn path=/main/branches/2.1.2/; revision=8823

16 years ago* whitelist CCACHE_* and DISTCC_* variables in config.environ()
Zac Medico [Mon, 3 Dec 2007 06:23:45 +0000 (06:23 -0000)]
* whitelist CCACHE_* and DISTCC_* variables in config.environ()
* unset CCACHE_* and DISTCC_* variables in save_ebuild_env()
(trunk r8818)

svn path=/main/branches/2.1.2/; revision=8819

16 years agoFor compatibility with cvs.eclass, do not unset CVS_RSH in
Zac Medico [Sun, 2 Dec 2007 22:08:51 +0000 (22:08 -0000)]
For compatibility with cvs.eclass, do not unset CVS_RSH in
save_ebuild_env() since that variable may be initialized in
global scope. (trunk r8816)

svn path=/main/branches/2.1.2/; revision=8817

16 years agoFix useq() so that it won't generate a bogus IUSE QA Notice
Zac Medico [Sun, 2 Dec 2007 20:56:31 +0000 (20:56 -0000)]
Fix useq() so that it won't generate a bogus IUSE QA Notice
if called during the "depend" phase with a flag that uses
IUSE defaults. (trunk r8805)

svn path=/main/branches/2.1.2/; revision=8806

16 years agoSynchronize self-reinstallation logic so that emerge will always
Zac Medico [Sun, 2 Dec 2007 09:13:48 +0000 (09:13 -0000)]
Synchronize self-reinstallation logic so that emerge will always
restart itself when dblink.merge() creates temporary copies of
PORTAGE_{BIN,PYM}_PATH. (trunk r8803)

svn path=/main/branches/2.1.2/; revision=8804

16 years agoIn dblink.treewalk(), tweak the "Safely unmerging
Zac Medico [Sun, 2 Dec 2007 07:58:50 +0000 (07:58 -0000)]
In dblink.treewalk(), tweak the "Safely unmerging
already-installed instance" logic to make sure that
it works in all possible cases. (trunk r8801)

svn path=/main/branches/2.1.2/; revision=8802

16 years agoFix portage_exec namespace.
Zac Medico [Sun, 2 Dec 2007 07:08:13 +0000 (07:08 -0000)]
Fix portage_exec namespace.

svn path=/main/branches/2.1.2/; revision=8800

16 years agoFor portage.spawn() calls, use a _shell_quote() function to quote
Zac Medico [Sun, 2 Dec 2007 06:47:33 +0000 (06:47 -0000)]
For portage.spawn() calls, use a _shell_quote() function to quote
the path of the binary since. (trunk r8798)

svn path=/main/branches/2.1.2/; revision=8799

16 years ago* whitelist some misc variables from the calling environment
Zac Medico [Sat, 1 Dec 2007 22:29:33 +0000 (22:29 -0000)]
* whitelist some misc variables from the calling environment
* blacklist the same variables in save_ebuild_env() so that
  the latest values from the calling environment always
  override those from the ebuild environment
(trunk r8796)

svn path=/main/branches/2.1.2/; revision=8797

16 years agoShow the pid in the "starting parallel fetching" message. (trunk r8794)
Zac Medico [Sat, 1 Dec 2007 21:41:27 +0000 (21:41 -0000)]
Show the pid in the "starting parallel fetching" message. (trunk r8794)

svn path=/main/branches/2.1.2/; revision=8795

16 years agoAfter each merge, collect status from child processes
Zac Medico [Sat, 1 Dec 2007 21:26:08 +0000 (21:26 -0000)]
After each merge, collect status from child processes
in order to clean up zombies (such as the parallel-fetch
process). (trunk r8790:8792)

svn path=/main/branches/2.1.2/; revision=8793

16 years agoMove duplicate module loading code into a function. (trunk r8789)
Zac Medico [Sat, 1 Dec 2007 12:52:53 +0000 (12:52 -0000)]
Move duplicate module loading code into a function. (trunk r8789)

svn path=/main/branches/2.1.2/; revision=8790

16 years agoAdd missing newline after message. (trunk r8787)
Zac Medico [Sat, 1 Dec 2007 12:29:18 +0000 (12:29 -0000)]
Add missing newline after message. (trunk r8787)

svn path=/main/branches/2.1.2/; revision=8788

16 years agoIn create_trees(), when isolating the environment of the ROOT=/ config,
Zac Medico [Sat, 1 Dec 2007 08:39:33 +0000 (08:39 -0000)]
In create_trees(), when isolating the environment of the ROOT=/ config,
use it's env.d keys as a blacklist to make env.d override the calling
environment. (trunk r8785)

svn path=/main/branches/2.1.2/; revision=8786

16 years agoWhen die has been called and ${T}/environment does not exist,
Zac Medico [Sat, 1 Dec 2007 08:05:50 +0000 (08:05 -0000)]
When die has been called and ${T}/environment does not exist,
dump the current environment to ${T}/die.env in case it helps
for debugging. (trunk r8783)

svn path=/main/branches/2.1.2/; revision=8784

16 years ago* whitelist PREROOTPATH in config.environ()
Zac Medico [Sat, 1 Dec 2007 04:20:23 +0000 (04:20 -0000)]
* whitelist PREROOTPATH in config.environ()
* filter PREROOTPATH in save_ebuild_env()
(trunk r8781)

svn path=/main/branches/2.1.2/; revision=8782

16 years ago* whitelist DISTDIR, PORTDIR, and PORTAGE_TMPDIR, PORTAGE_WORKDIR_MODE.
Zac Medico [Sat, 1 Dec 2007 03:09:06 +0000 (03:09 -0000)]
* whitelist DISTDIR, PORTDIR, and PORTAGE_TMPDIR, PORTAGE_WORKDIR_MODE.
* whitelist RPMDIR just for the "rpm" phase. (trunk r8779)

svn path=/main/branches/2.1.2/; revision=8780

16 years agoUpdate comments about ROOTPATH:
Zac Medico [Sat, 1 Dec 2007 01:38:04 +0000 (01:38 -0000)]
Update comments about ROOTPATH:
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

16 years agoFix quoting for PORTAGE_ROOTPATH. (trunk r8774)
Zac Medico [Sat, 1 Dec 2007 00:46:38 +0000 (00:46 -0000)]
Fix quoting for PORTAGE_ROOTPATH. (trunk r8774)

svn path=/main/branches/2.1.2/; revision=8775

16 years agoIn doebuild_environment(), fix KV logic so that it
Zac Medico [Sat, 1 Dec 2007 00:35:46 +0000 (00:35 -0000)]
In doebuild_environment(), fix KV logic so that it
never gets set during the "depend" phase. Also, use
backup_changes() to properly cache the result.
(trunk r8771)

svn path=/main/branches/2.1.2/; revision=8773

16 years agoBug #200863 - Don't filter ${KV} since kernel-2.eclass uses that
Zac Medico [Sat, 1 Dec 2007 00:28:27 +0000 (00:28 -0000)]
Bug #200863 - Don't filter ${KV} since kernel-2.eclass uses that
variable and we don't want to interfere. (trunk r8770)

svn path=/main/branches/2.1.2/; revision=8772

16 years agosandbox unsets ROOTPATH, so we have to back it up on the python
Zac Medico [Fri, 30 Nov 2007 23:46:09 +0000 (23:46 -0000)]
sandbox unsets ROOTPATH, so we have to back it up on the python
side then restore it on the bash side. (trunk r8768)

svn path=/main/branches/2.1.2/; revision=8769

16 years agoFix broken module loading logic.
Zac Medico [Fri, 30 Nov 2007 19:38:48 +0000 (19:38 -0000)]
Fix broken module loading logic.

svn path=/main/branches/2.1.2/; revision=8767

16 years agoBug #200775 - Save more portage generated environment
Zac Medico [Fri, 30 Nov 2007 11:08:19 +0000 (11:08 -0000)]
Bug #200775 - Save more portage generated environment
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

16 years agoAdd some variables such as TERM to the whitelist of variables
Zac Medico [Fri, 30 Nov 2007 09:28:25 +0000 (09:28 -0000)]
Add some variables such as TERM to the whitelist of variables
from the calling environment that are allowed into the ebuild
environment. (trunk r8763)

svn path=/main/branches/2.1.2/; revision=8764

16 years agoDon't use sandbox's BASH_ENV for new shells because it does
Zac Medico [Fri, 30 Nov 2007 09:03:26 +0000 (09:03 -0000)]
Don't use sandbox's BASH_ENV for new shells because it does
'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

16 years agoMake config.environ() export PKGDIR to the ebuild environment
Zac Medico [Fri, 30 Nov 2007 07:21:13 +0000 (07:21 -0000)]
Make config.environ() export PKGDIR to the ebuild environment
during the "package" phase since it's currently referenced
there. (trunk r8759)

svn path=/main/branches/2.1.2/; revision=8760

16 years ago* After the initial setup phase, the original ebuild and eclasses are no
Zac Medico [Fri, 30 Nov 2007 02:00:27 +0000 (02:00 -0000)]
* After the initial setup phase, the original ebuild and eclasses are no
  longer needed because the same ebuild environment is reused for the
  entire lifecycle of the package, including uninstallation.

svn path=/main/branches/2.1.2/; revision=8758

16 years agoBug #189417 - When ${T}/environment exists, isolate the ebuild
Zac Medico [Fri, 30 Nov 2007 00:59:48 +0000 (00:59 -0000)]
Bug #189417 - When ${T}/environment exists, isolate the ebuild
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

16 years agoMake elog_process() pre-load log modules that it can be called
Zac Medico [Thu, 29 Nov 2007 09:35:50 +0000 (09:35 -0000)]
Make elog_process() pre-load log modules that it can be called
just for that purpose. (trunk r8751)

svn path=/main/branches/2.1.2/; revision=8752

16 years agoWhen portage reinstalls itself, pre-load elog modules in
Zac Medico [Thu, 29 Nov 2007 09:14:28 +0000 (09:14 -0000)]
When portage reinstalls itself, pre-load elog modules in
dblink.merge() since we won't be able to later if they get
unmerged (happens when namespace changes). (trunk r8749)

svn path=/main/branches/2.1.2/; revision=8750

16 years agoDon't modify sys.path inside dblink.merge() because it doesn't seem
Zac Medico [Thu, 29 Nov 2007 08:29:32 +0000 (08:29 -0000)]
Don't modify sys.path inside dblink.merge() because it doesn't seem
to help and it triggers import errors for elog modules when downgrading
to versions of portage that use the old namespace. (trunk r8745)

svn path=/main/branches/2.1.2/; revision=8748

16 years agoAdjust PYTHONPATH when calling portageq so that variable
Zac Medico [Thu, 29 Nov 2007 07:56:34 +0000 (07:56 -0000)]
Adjust PYTHONPATH when calling portageq so that variable
PORTAGE_PYM_PATH works. (trunk r8745)

svn path=/main/branches/2.1.2/; revision=8746

16 years agoWhen portage reinstalls itself, copy both the bin and pym
Zac Medico [Thu, 29 Nov 2007 06:30:55 +0000 (06:30 -0000)]
When portage reinstalls itself, copy both the bin and pym
directories to a temp dir. Insert the temporary PORTAGE_PYM_PATH
as the first element of sys.path and register an atexit hook to
clean up the temporary directories. (trunk r8743)

svn path=/main/branches/2.1.2/; revision=8744

16 years agoIn dblink.treewalk(), make portage unmerge multiple instances
Zac Medico [Thu, 29 Nov 2007 03:12:15 +0000 (03:12 -0000)]
In dblink.treewalk(), make portage unmerge multiple instances
os sys-apps/portage in the same slot if necessary (needed when
AUTOCLEAN=no is set).

svn path=/main/branches/2.1.2/; revision=8742

16 years agoIf portage is reinstalling itself, create a temporary
Zac Medico [Thu, 29 Nov 2007 02:40:41 +0000 (02:40 -0000)]
If portage is reinstalling itself, create a temporary
copy of PORTAGE_BIN_PATH in order to avoid relying on
on the new versions which may be incompatible.
(trunk r8730:8739)

svn path=/main/branches/2.1.2/; revision=8740

16 years agoBug #200652 - Skip ${T}/environment handling for pkg_nofetch(). (trunk r8729)
Zac Medico [Wed, 28 Nov 2007 18:58:19 +0000 (18:58 -0000)]
Bug #200652 - Skip ${T}/environment handling for pkg_nofetch(). (trunk r8729)

svn path=/main/branches/2.1.2/; revision=8730

16 years agoCondense duplicate eerror log generation code into a single
Zac Medico [Wed, 28 Nov 2007 09:25:09 +0000 (09:25 -0000)]
Condense duplicate eerror log generation code into a single
_eerror() function.

svn path=/main/branches/2.1.2/; revision=8728

16 years agoIn chk_updated_cfg_files(), avoid scanning for config files for
Zac Medico [Wed, 28 Nov 2007 08:28:20 +0000 (08:28 -0000)]
In chk_updated_cfg_files(), avoid scanning for config files for
paths that aren't writable by the current user. This prevents
Permission denied errors from being triggered later when trying
to scan subdirectories that are inaccessible. (trunk r8726)

svn path=/main/branches/2.1.2/; revision=8727

16 years agoDisable PORTAGE_PACKAGE_EMPTY_ABORT by default since
Zac Medico [Wed, 28 Nov 2007 05:53:11 +0000 (05:53 -0000)]
Disable PORTAGE_PACKAGE_EMPTY_ABORT by default since
the scrollkeeper-9999 upgrade will trigger a false
positive. Thanks to leio for reporting. (trunk r8724)

svn path=/main/branches/2.1.2/; revision=8725

16 years agoAdd a sanity check in dblink.treewalk() so that a broken ebuild
Zac Medico [Wed, 28 Nov 2007 05:25:17 +0000 (05:25 -0000)]
Add a sanity check in dblink.treewalk() so that a broken ebuild
that doesn't install any files will not be able to replace a
package in the same slot that really installs files.

This check can be bypassed by manually unmerging the old package
or by setting PORTAGE_PACKAGE_EMPTY_ABORT="0" in /etc/make.conf.
(trunk r8720)

svn path=/main/branches/2.1.2/; revision=8723

16 years agoDon't export PORTAGE_PACKAGE_EMPTY_ABORT to the
Zac Medico [Wed, 28 Nov 2007 04:17:23 +0000 (04:17 -0000)]
Don't export PORTAGE_PACKAGE_EMPTY_ABORT to the
ebuild environment. (trunk r8721).

svn path=/main/branches/2.1.2/; revision=8722

16 years agoIn the preprocess_ebuild_env() subshell, check for errors and
Zac Medico [Wed, 28 Nov 2007 00:04:49 +0000 (00:04 -0000)]
In the preprocess_ebuild_env() subshell, check for errors and
return early when necessary. (trunk r8718)

svn path=/main/branches/2.1.2/; revision=8719

16 years agoJust use ${PN} instead of catpkgsplit().
Zac Medico [Tue, 27 Nov 2007 22:12:21 +0000 (22:12 -0000)]
Just use ${PN} instead of catpkgsplit().

svn path=/main/branches/2.1.2/; revision=8717

16 years agoportage upgrade or downgrade invalidates EBUILD_EXIT_STATUS_FILE
Zac Medico [Tue, 27 Nov 2007 21:58:30 +0000 (21:58 -0000)]
portage upgrade or downgrade invalidates EBUILD_EXIT_STATUS_FILE
sanity checks since ebuild.sh portage version may differ from the
current instance that is running in python. (trunk r8714)

svn path=/main/branches/2.1.2/; revision=8715

16 years agoRemove a redundant os.EX_OK check that exit_status_check() already
Zac Medico [Tue, 27 Nov 2007 21:17:21 +0000 (21:17 -0000)]
Remove a redundant os.EX_OK check that exit_status_check() already
handles internally. (trunk r8712)

svn path=/main/branches/2.1.2/; revision=8713

16 years agoFix logic wrt exit_status_check and elog_process in doebuild(). (trunk r8710)
Zac Medico [Tue, 27 Nov 2007 21:12:26 +0000 (21:12 -0000)]
Fix logic wrt exit_status_check and elog_process in doebuild(). (trunk r8710)

svn path=/main/branches/2.1.2/; revision=8711

16 years agoBug #200229 - The gimp ebuild defines AA as a local variable. In order
Zac Medico [Tue, 27 Nov 2007 18:53:55 +0000 (18:53 -0000)]
Bug #200229 - The gimp ebuild defines AA as a local variable. In order
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

16 years agoDon't forget to unlink ${EBUILD_EXIT_STATUS_FILE} before each phase.
Zac Medico [Tue, 27 Nov 2007 08:21:19 +0000 (08:21 -0000)]
Don't forget to unlink ${EBUILD_EXIT_STATUS_FILE} before each phase.
(trunk r8706)

svn path=/main/branches/2.1.2/; revision=8707

16 years agoFix config.pop() so that is will properly raise a KeyError. (trunk r8704)
Zac Medico [Tue, 27 Nov 2007 02:08:53 +0000 (02:08 -0000)]
Fix config.pop() so that is will properly raise a KeyError. (trunk r8704)

svn path=/main/branches/2.1.2/; revision=8705

16 years agoBug #200231 - Make dir_get_metadata() handle an exception thrown
Zac Medico [Tue, 27 Nov 2007 01:13:20 +0000 (01:13 -0000)]
Bug #200231 - Make dir_get_metadata() handle an exception thrown
from dir_get_list() when there's a problem connection problem.
(trunk r8702)

svn path=/main/branches/2.1.2/; revision=8703

16 years agoMake the environment handling code detect errors and die if
Zac Medico [Mon, 26 Nov 2007 23:59:01 +0000 (23:59 -0000)]
Make the environment handling code detect errors and die if
necessary. (trunk r8700)

svn path=/main/branches/2.1.2/; revision=8701

16 years agoMake doebuild() use EBUILD_EXIT_STATUS_FILE sanity checks for the
Zac Medico [Mon, 26 Nov 2007 22:19:55 +0000 (22:19 -0000)]
Make doebuild() use EBUILD_EXIT_STATUS_FILE sanity checks for the
extra misc-functions.sh preinst/postinst shell code. (trunk r8698)

svn path=/main/branches/2.1.2/; revision=8699

16 years agoMake doebuild skip directory creation for the "cleanrm" command. (trunk r8696)
Zac Medico [Mon, 26 Nov 2007 22:05:50 +0000 (22:05 -0000)]
Make doebuild skip directory creation for the "cleanrm" command. (trunk r8696)

svn path=/main/branches/2.1.2/; revision=8697

16 years agoFix grammar. (trunk r8694)
Zac Medico [Mon, 26 Nov 2007 20:34:47 +0000 (20:34 -0000)]
Fix grammar. (trunk r8694)

svn path=/main/branches/2.1.2/; revision=8695

16 years ago* In doebuild(), don't create directories for the "clean" or "unmerge".
Zac Medico [Mon, 26 Nov 2007 19:05:27 +0000 (19:05 -0000)]
* In doebuild(), don't create directories for the "clean" or "unmerge".
* Fix dyn_clean() to clean the status file and return early when appropriate.
(trunk r8692)

svn path=/main/branches/2.1.2/; revision=8693

16 years agoMake config.pop() properly call config.modifying(). (trunk r8690)
Zac Medico [Mon, 26 Nov 2007 17:36:35 +0000 (17:36 -0000)]
Make config.pop() properly call config.modifying(). (trunk r8690)

svn path=/main/branches/2.1.2/; revision=8691

16 years agoImplement config.pop(). (trunk r8688)
Zac Medico [Mon, 26 Nov 2007 17:31:40 +0000 (17:31 -0000)]
Implement config.pop(). (trunk r8688)

svn path=/main/branches/2.1.2/; revision=8689

16 years agoCheck if ${EBUILD_EXIT_STATUS_FILE} is empty before
Zac Medico [Mon, 26 Nov 2007 12:06:58 +0000 (12:06 -0000)]
Check if ${EBUILD_EXIT_STATUS_FILE} is empty before
attempting to use it. (trunk r8686)

svn path=/main/branches/2.1.2/; revision=8687

16 years ago--buildpkgonly will not merge anything, so
Zac Medico [Mon, 26 Nov 2007 11:59:47 +0000 (11:59 -0000)]
--buildpkgonly will not merge anything, so
it cancels all binary package options.

svn path=/main/branches/2.1.2/; revision=8685

16 years agoBug #200313 - Detect and report when an ebuild phase
Zac Medico [Mon, 26 Nov 2007 11:58:31 +0000 (11:58 -0000)]
Bug #200313 - Detect and report when an ebuild phase
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

16 years agoAutomatically try to load environment.bz2 whenever
Zac Medico [Mon, 26 Nov 2007 05:51:11 +0000 (05:51 -0000)]
Automatically try to load environment.bz2 whenever
"${T}/environment" does not exist, except for "clean"
and "depend" phases. (trunk r8680)

svn path=/main/branches/2.1.2/; revision=8681

16 years agoMake diefunc() show the path of ${T}/environment since it's usually
Zac Medico [Mon, 26 Nov 2007 04:40:44 +0000 (04:40 -0000)]
Make diefunc() show the path of ${T}/environment since it's usually
in the stack trace and the user is likely to be interested in it.
(trunk r8678)

svn path=/main/branches/2.1.2/; revision=8679

16 years agoFilter more misc environment variables. (trunk r8676)
Zac Medico [Mon, 26 Nov 2007 04:08:39 +0000 (04:08 -0000)]
Filter more misc environment variables. (trunk r8676)

svn path=/main/branches/2.1.2/; revision=8677

16 years agounset ECLASS along with the other variables from inherit(). (trunk r8674)
Zac Medico [Mon, 26 Nov 2007 02:52:47 +0000 (02:52 -0000)]
unset ECLASS along with the other variables from inherit(). (trunk r8674)

svn path=/main/branches/2.1.2/; revision=8675

16 years agoAdd NOCONFMEM to config._environ_filter. (trunk r8672)
Zac Medico [Mon, 26 Nov 2007 02:44:37 +0000 (02:44 -0000)]
Add NOCONFMEM to config._environ_filter. (trunk r8672)

svn path=/main/branches/2.1.2/; revision=8673

16 years ago* Move filtering of a bunch of portage config variables from
Zac Medico [Mon, 26 Nov 2007 02:11:56 +0000 (02:11 -0000)]
* Move filtering of a bunch of portage config variables from
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

16 years agoBug #124041 - Make emerge show an informative warning message when one
Zac Medico [Mon, 26 Nov 2007 01:16:16 +0000 (01:16 -0000)]
Bug #124041 - Make emerge show an informative warning message when one
or more eclasses override eclasses from PORTDIR. The warning can be
permanently disabled by setting PORTAGE_ECLASS_WARNING_ENABLE="0" in
/etc/make.conf. (trunk r8668)

svn path=/main/branches/2.1.2/; revision=8669

16 years agoFilter _RC_GET_KV_CACHE from the saved environment. (trunk r8666)
Zac Medico [Sun, 25 Nov 2007 23:05:30 +0000 (23:05 -0000)]
Filter _RC_GET_KV_CACHE from the saved environment. (trunk r8666)

svn path=/main/branches/2.1.2/; revision=8667

16 years agoMake preprocess_ebuild_env() reload a known good version of
Zac Medico [Sun, 25 Nov 2007 22:56:57 +0000 (22:56 -0000)]
Make preprocess_ebuild_env() reload a known good version of
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

16 years agoRemove some unsafe assumptions from preprocess_ebuild_env() and
Zac Medico [Sun, 25 Nov 2007 22:50:38 +0000 (22:50 -0000)]
Remove some unsafe assumptions from preprocess_ebuild_env() and
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

16 years agoAllow the pkg_info and pkg_config pre/post hooks to run even
Zac Medico [Sun, 25 Nov 2007 09:30:57 +0000 (09:30 -0000)]
Allow the pkg_info and pkg_config pre/post hooks to run even
when the ebuild function is not defined. (trunk r8659)

svn path=/main/branches/2.1.2/; revision=8660

16 years agoRemove the empty default pkg_setup, src_install, pkg_preinst,
Zac Medico [Sun, 25 Nov 2007 09:12:46 +0000 (09:12 -0000)]
Remove the empty default pkg_setup, src_install, pkg_preinst,
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

16 years agoTest if ebuild functions are defined before calling them. This
Zac Medico [Sun, 25 Nov 2007 09:10:14 +0000 (09:10 -0000)]
Test if ebuild functions are defined before calling them. This
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

16 years agoThe qa_call() function and anything before it are portage internals
Zac Medico [Sun, 25 Nov 2007 09:09:02 +0000 (09:09 -0000)]
The qa_call() function and anything before it are portage internals
that the user will not be interested in. Therefore, the stack trace
should only show calls that come after qa_call(). (trunk r8653)

svn path=/main/branches/2.1.2/; revision=8656

16 years ago* Load environment.bz2 for the pkg_config() phase.
Zac Medico [Sun, 25 Nov 2007 06:58:24 +0000 (06:58 -0000)]
* Load environment.bz2 for the pkg_config() phase.
* Run the "clean" phase if pkg_config() succeeds.
(trunk r8651)

svn path=/main/branches/2.1.2/; revision=8652

16 years agoImplement loading of environment.bz2 for the pkg_info() phase.
Zac Medico [Sun, 25 Nov 2007 06:33:40 +0000 (06:33 -0000)]
Implement loading of environment.bz2 for the pkg_info() phase.
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

16 years agoBug #200238 - Make ebuild.sh properly bail out when the pkg_info()
Zac Medico [Sat, 24 Nov 2007 22:26:41 +0000 (22:26 -0000)]
Bug #200238 - Make ebuild.sh properly bail out when the pkg_info()
function doesn't exist. (trunk r8647)

svn path=/main/branches/2.1.2/; revision=8648

16 years agoBug #140180 - Never trigger a LICENSE.missing violation for old style
Zac Medico [Sat, 24 Nov 2007 22:12:26 +0000 (22:12 -0000)]
Bug #140180 - Never trigger a LICENSE.missing violation for old style
virtuals since they don't directly install anything. (trunk r8645)

svn path=/main/branches/2.1.2/; revision=8646

16 years agoUse `md5` if `md5sum` is not available (useful for FreeBSD users).
Zac Medico [Sat, 24 Nov 2007 18:32:26 +0000 (18:32 -0000)]
Use `md5` if `md5sum` is not available (useful for FreeBSD users).
(trunk r8643)

svn path=/main/branches/2.1.2/; revision=8644

16 years agoFix quoting to work properly with eval. (trunk r8640)
Zac Medico [Sat, 24 Nov 2007 05:43:13 +0000 (05:43 -0000)]
Fix quoting to work properly with eval. (trunk r8640)

svn path=/main/branches/2.1.2/; revision=8641