portage.git
16 years agoFix the check for bug #198398 so that it works even when running
Zac Medico [Wed, 12 Dec 2007 09:25:49 +0000 (09:25 -0000)]
Fix the check for bug #198398 so that it works even when running
repoman from the root of the repo.

svn path=/main/trunk/; revision=8888

16 years agoBug #198398 - Make repoman bail out if support for RMD160 hash
Zac Medico [Wed, 12 Dec 2007 08:06:01 +0000 (08:06 -0000)]
Bug #198398 - Make repoman bail out if support for RMD160 hash
creation appears to be missing.

svn path=/main/trunk/; revision=8887

16 years agoInstead of calling sys.exit when a ParseError occurs in the config
Zac Medico [Tue, 11 Dec 2007 23:26:05 +0000 (23:26 -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.

svn path=/main/trunk/; revision=8884

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

svn path=/main/trunk/; revision=8883

16 years agoFirst import the main portage module without legacy globals since it
Zac Medico [Tue, 11 Dec 2007 23:09:09 +0000 (23:09 -0000)]
First import the main portage module without legacy globals since it
is almost certain to succeed in that case. This provides access to
the portage.exception namespace which is needed for later exception
handling, like if portage.exception.PermissionDenied is raised when
constructing the legacy global config instance.

svn path=/main/trunk/; revision=8882

16 years ago* When installing a binary package, export the file name of the package
Zac Medico [Tue, 11 Dec 2007 06:36:48 +0000 (06:36 -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.

svn path=/main/trunk/; revision=8878

16 years agoAdd a "Quality Assurance" <part> tag so that all chapters are
Zac Medico [Sun, 9 Dec 2007 05:58:32 +0000 (05:58 -0000)]
Add a "Quality Assurance" <part> tag so that all chapters are
consistently nested inside <part> tags.

svn path=/main/trunk/; revision=8877

16 years agoAdd some documentation for ebuild phases and pre/post phase
Zac Medico [Sun, 9 Dec 2007 05:50:48 +0000 (05:50 -0000)]
Add some documentation for ebuild phases and pre/post phase
hooks that can be defined via bashrc.

svn path=/main/trunk/; revision=8876

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

svn path=/main/trunk/; revision=8874

16 years agoBug #189417 - Comment on how the whitelist and BASH_ENV are used to
Zac Medico [Fri, 7 Dec 2007 22:21:24 +0000 (22:21 -0000)]
Bug #189417 - Comment on how the whitelist and BASH_ENV are used to
prevent environment leakage.

svn path=/main/trunk/; revision=8867

16 years agoBug #189417 - Whitelist BASH_ENV since we need to have it set in order
Zac Medico [Fri, 7 Dec 2007 22:08:25 +0000 (22:08 -0000)]
Bug #189417 - Whitelist BASH_ENV since we need to have it set in order
to prevent sandbox from causing env leakage by sourcing /etc/profile
via it's bashrc.

svn path=/main/trunk/; revision=8866

16 years agoBug #189417 - Explicitly whitelist any remaining variables that are
Zac Medico [Fri, 7 Dec 2007 22:03:05 +0000 (22: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.  There is still some remaining leakage that seems
to come from something in the ebuild environment sourcing
/etc/profile.

svn path=/main/trunk/; revision=8865

16 years agoAdd a TODO note about remaining work for bug #189417.
Zac Medico [Fri, 7 Dec 2007 09:59:48 +0000 (09:59 -0000)]
Add a TODO note about remaining work for bug #189417.

svn path=/main/trunk/; revision=8864

16 years agoPerform set argument validation in emerge_main() even for
Zac Medico [Fri, 7 Dec 2007 05:42:19 +0000 (05:42 -0000)]
Perform set argument validation in emerge_main() even for
values actions that need to expland sets themselves.

svn path=/main/trunk/; revision=8863

16 years agoRemove automatic "system" and "world" set creation since we can
Zac Medico [Fri, 7 Dec 2007 05:33:52 +0000 (05:33 -0000)]
Remove automatic "system" and "world" set creation since we can
probably rely on having a complete config.

svn path=/main/trunk/; revision=8862

16 years agoBug #201513 - Fix typos for preserve-libs and PreservedLibraryConsumerSet.
Zac Medico [Fri, 7 Dec 2007 01:25:08 +0000 (01:25 -0000)]
Bug #201513 - Fix typos for preserve-libs and PreservedLibraryConsumerSet.
Thanks to Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA@GMail.Com> for
this patch.

svn path=/main/trunk/; revision=8861

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

svn path=/main/trunk/; revision=8859

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

svn path=/main/trunk/; revision=8857

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

svn path=/main/trunk/; revision=8853

16 years agoRemove redundant successful exit call from the "depend" phase
Zac Medico [Thu, 6 Dec 2007 21:55:31 +0000 (21:55 -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.

svn path=/main/trunk/; revision=8852

16 years agoFix broken timestamp logic in do_snapshot(). Thanks to Alon
Zac Medico [Thu, 6 Dec 2007 00:19:28 +0000 (00:19 -0000)]
Fix broken timestamp logic in do_snapshot(). Thanks to Alon
Bar-Lev <alonbl@gentoo.org> for this patch.

svn path=/main/trunk/; revision=8851

16 years agoKeep the RootConfig.sets attribute in sync with the SetConfig.
Zac Medico [Wed, 5 Dec 2007 08:54:00 +0000 (08:54 -0000)]
Keep the RootConfig.sets attribute in sync with the SetConfig.

svn path=/main/trunk/; revision=8850

16 years agoMake SetConfig.getSets() return a copy of the psets attribute
Zac Medico [Wed, 5 Dec 2007 08:46:03 +0000 (08:46 -0000)]
Make SetConfig.getSets() return a copy of the psets attribute
instead of a direct reference. Fix the to stop relying on
having the direct reference.

svn path=/main/trunk/; revision=8849

16 years ago- repository configuration file and `emerge --sync [repo_set]... [repo]...`
Zac Medico [Wed, 5 Dec 2007 04:42:09 +0000 (04:42 -0000)]
- repository configuration file and `emerge --sync [repo_set]... [repo]...`
  support for overlays and binhosts (zmedico)

svn path=/main/trunk/; revision=8848

16 years agoShow ? if the installed package is missing a
Zac Medico [Wed, 5 Dec 2007 03:42:30 +0000 (03:42 -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.

svn path=/main/trunk/; revision=8846

16 years agobootstrap.sh expects that the "system" set always exists, so create
Zac Medico [Wed, 5 Dec 2007 03:32:31 +0000 (03:32 -0000)]
bootstrap.sh expects that the "system" set always exists, so create
it automatically if necessary.

svn path=/main/trunk/; revision=8845

16 years agoIn order to know exactly which atoms/sets should be added to the
Zac Medico [Wed, 5 Dec 2007 00:52:24 +0000 (00:52 -0000)]
In order to know exactly which atoms/sets should be added to the
world file, the depgraph performs set expansion later. It will get
confused about where the atoms came from if it's not allowed to
expand them itself.

svn path=/main/trunk/; revision=8844

16 years agofix another typo
Marius Mauch [Tue, 4 Dec 2007 10:46:23 +0000 (10:46 -0000)]
fix another typo

svn path=/main/trunk/; revision=8841

16 years agoperform sanity checks for set configuration even if myaction is None
Marius Mauch [Tue, 4 Dec 2007 10:14:38 +0000 (10:14 -0000)]
perform sanity checks for set configuration even if myaction is None

svn path=/main/trunk/; revision=8840

16 years agoFix setconfig loader to use config files instead of hardcoded fallbacks
Marius Mauch [Tue, 4 Dec 2007 09:58:22 +0000 (09:58 -0000)]
Fix setconfig loader to use config files instead of hardcoded fallbacks

svn path=/main/trunk/; revision=8839

16 years agoenable FEATURES=preserve-libs globally for extended testing
Marius Mauch [Tue, 4 Dec 2007 09:29:06 +0000 (09:29 -0000)]
enable FEATURES=preserve-libs globally for extended testing

svn path=/main/trunk/; revision=8838

16 years agomake sure we only remove files that were previously preserved
Marius Mauch [Tue, 4 Dec 2007 09:28:00 +0000 (09:28 -0000)]
make sure we only remove files that were previously preserved

svn path=/main/trunk/; revision=8837

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

svn path=/main/trunk/; revision=8835

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

svn path=/main/trunk/; revision=8833

16 years agoFix typo in config.load_infodir() return value logic.
Zac Medico [Mon, 3 Dec 2007 21:49:44 +0000 (21:49 -0000)]
Fix typo in config.load_infodir() return value logic.

svn path=/main/trunk/; revision=8831

16 years ago* Don't load the CATEGORY in config.load_infodir() since this value is
Zac Medico [Mon, 3 Dec 2007 21:46:01 +0000 (21:46 -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.

svn path=/main/trunk/; revision=8830

16 years agoBug #201090 - When portage creates a temp PORTAGE_BIN_PATH, put it
Zac Medico [Mon, 3 Dec 2007 20:53:29 +0000 (20:53 -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.

svn path=/main/trunk/; revision=8828

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

svn path=/main/trunk/; revision=8826

16 years agoupdate TODO list
Marius Mauch [Mon, 3 Dec 2007 19:34:29 +0000 (19:34 -0000)]
update TODO list

svn path=/main/trunk/; revision=8825

16 years agorevert accidential commit
Marius Mauch [Mon, 3 Dec 2007 19:31:57 +0000 (19:31 -0000)]
revert accidential commit

svn path=/main/trunk/; revision=8824

16 years agoBug #201082 - Don't call config.load_infodir() prior to pkg_postinst()
Zac Medico [Mon, 3 Dec 2007 19:12:37 +0000 (19:12 -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.

svn path=/main/trunk/; revision=8822

16 years agoimplement the final part of FEATURES=preserved-libs and remove previously preserved...
Marius Mauch [Mon, 3 Dec 2007 19:09:20 +0000 (19:09 -0000)]
implement the final part of FEATURES=preserved-libs and remove previously preserved libs that don't have any consumers left. Also fix the notice if preserved libs are found to use the preserved-rebuild package set instead of revdep-rebuild.

svn path=/main/trunk/; revision=8821

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

svn path=/main/trunk/; revision=8818

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

svn path=/main/trunk/; revision=8816

16 years agoConvert caterror() to call warn() instead of err() since
Zac Medico [Sun, 2 Dec 2007 21:12:33 +0000 (21:12 -0000)]
Convert caterror() to call warn() instead of err() since
we don't want to exit here.

svn path=/main/trunk/; revision=8808

16 years agoAdd back missing err() function.
Zac Medico [Sun, 2 Dec 2007 21:07:30 +0000 (21:07 -0000)]
Add back missing err() function.

svn path=/main/trunk/; revision=8807

16 years agoFix useq() so that it won't generate a bogus IUSE QA Notice
Zac Medico [Sun, 2 Dec 2007 20:55:48 +0000 (20:55 -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.

svn path=/main/trunk/; revision=8805

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

svn path=/main/trunk/; revision=8803

16 years agoIn dblink.treewalk(), tweak the "Safely unmerging
Zac Medico [Sun, 2 Dec 2007 07:58:07 +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.

svn path=/main/trunk/; revision=8801

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

svn path=/main/trunk/; revision=8798

16 years ago* whitelist some misc variables from the calling environment
Zac Medico [Sat, 1 Dec 2007 22:26:29 +0000 (22:26 -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

svn path=/main/trunk/; revision=8796

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

svn path=/main/trunk/; revision=8794

16 years agoWhen os.waitid() raises OSError, discard the pid since there's
Zac Medico [Sat, 1 Dec 2007 21:23:40 +0000 (21:23 -0000)]
When os.waitid() raises OSError, discard the pid since there's
no need to wait on it again.

svn path=/main/trunk/; revision=8792

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

svn path=/main/trunk/; revision=8791

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

svn path=/main/trunk/; revision=8789

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

svn path=/main/trunk/; revision=8787

16 years agoIn create_trees(), when isolating the environment of the ROOT=/ config,
Zac Medico [Sat, 1 Dec 2007 08:38:31 +0000 (08:38 -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.

svn path=/main/trunk/; revision=8785

16 years agoWhen die has been called and ${T}/environment does not exist,
Zac Medico [Sat, 1 Dec 2007 08:04:46 +0000 (08:04 -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.

svn path=/main/trunk/; revision=8783

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

svn path=/main/trunk/; revision=8781

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

svn path=/main/trunk/; revision=8779

16 years agoUpdate comments about ROOTPATH:
Zac Medico [Sat, 1 Dec 2007 01:36:05 +0000 (01:36 -0000)]
Update comments about ROOTPATH:
sandbox's bashrc sources /etc/profile which unsets ROOTPATH,
so we have to back it up and restore it

svn path=/main/trunk/; revision=8777

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

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

svn path=/main/trunk/; revision=8774

16 years agoIn doebuild_environment(), fix KV logic so that it never
Zac Medico [Sat, 1 Dec 2007 00:25:53 +0000 (00:25 -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.

svn path=/main/trunk/; revision=8771

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

svn path=/main/trunk/; revision=8770

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

svn path=/main/trunk/; revision=8768

16 years agoBug #200775 - Save more portage generated environment
Zac Medico [Fri, 30 Nov 2007 11:05:59 +0000 (11:05 -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.

svn path=/main/trunk/; revision=8765

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

svn path=/main/trunk/; revision=8763

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

svn path=/main/trunk/; revision=8761

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

svn path=/main/trunk/; revision=8759

16 years ago* After the initial setup phase, the original ebuild and eclasses are no
Zac Medico [Fri, 30 Nov 2007 01:58:10 +0000 (01:58 -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/trunk/; revision=8757

16 years agoRemove unused EBUILD_ENV_FILE variable.
Zac Medico [Fri, 30 Nov 2007 00:54:26 +0000 (00:54 -0000)]
Remove unused EBUILD_ENV_FILE variable.

svn path=/main/trunk/; revision=8755

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

svn path=/main/trunk/; revision=8754

16 years agoMove environment.bz2 extraction from ebuild.sh to doebuild() on
Zac Medico [Thu, 29 Nov 2007 20:24:05 +0000 (20:24 -0000)]
Move environment.bz2 extraction from ebuild.sh to doebuild() on
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

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

svn path=/main/trunk/; revision=8751

16 years agoWhen portage reinstalls itself, pre-load elog modules in
Zac Medico [Thu, 29 Nov 2007 09:06:52 +0000 (09:06 -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).

svn path=/main/trunk/; revision=8749

16 years agoDon't modify sys.path inside dblink.merge() because it doesn't seem
Zac Medico [Thu, 29 Nov 2007 08:28:40 +0000 (08:28 -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.

svn path=/main/trunk/; revision=8747

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

svn path=/main/trunk/; revision=8745

16 years agoWhen portage reinstalls itself, copy both the bin and pym
Zac Medico [Thu, 29 Nov 2007 06:06:08 +0000 (06:06 -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.

svn path=/main/trunk/; revision=8743

16 years agoIn dblink.treewalk(), make portage unmerge multiple instances
Zac Medico [Thu, 29 Nov 2007 03:11:18 +0000 (03:11 -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/trunk/; revision=8741

16 years agoRemove stray print statement.
Zac Medico [Thu, 29 Nov 2007 02:37:34 +0000 (02:37 -0000)]
Remove stray print statement.

svn path=/main/trunk/; revision=8739

16 years agoFix references to EBUILD_SH_BINARY so that they work properly
Zac Medico [Thu, 29 Nov 2007 02:19:39 +0000 (02:19 -0000)]
Fix references to EBUILD_SH_BINARY so that they work properly
with variable PORTAGE_BIN_PATH.

svn path=/main/trunk/; revision=8738

16 years agoMake dblink.treewalk() properly delete the installed instance after
Zac Medico [Thu, 29 Nov 2007 00:50:07 +0000 (00:50 -0000)]
Make dblink.treewalk() properly delete the installed instance after
it unmerges it.

svn path=/main/trunk/; revision=8737

16 years agoFix a typo.
Zac Medico [Thu, 29 Nov 2007 00:18:31 +0000 (00:18 -0000)]
Fix a typo.

svn path=/main/trunk/; revision=8736

16 years agoFix more references to MISC_SH_BINARY so that they work properly
Zac Medico [Thu, 29 Nov 2007 00:12:30 +0000 (00:12 -0000)]
Fix more references to MISC_SH_BINARY so that they work properly
with variable PORTAGE_BIN_PATH.

svn path=/main/trunk/; revision=8735

16 years agoIn doebuild, fix paths to ebuild.sh and misc-functions.sh so
Zac Medico [Wed, 28 Nov 2007 23:50:51 +0000 (23:50 -0000)]
In doebuild, fix paths to ebuild.sh and misc-functions.sh so
that they work with variable PORTAGE_BIN_PATH.

svn path=/main/trunk/; revision=8734

16 years agoFix references to PORTAGE_BIN_PATH in doebuild() to use the config
Zac Medico [Wed, 28 Nov 2007 22:57:31 +0000 (22:57 -0000)]
Fix references to PORTAGE_BIN_PATH in doebuild() to use the config
setting since it may be a temp directory when portage is reinstalling
itself.

svn path=/main/trunk/; revision=8733

16 years agoEnable the EBUILD_EXIT_STATUS_FILE sanity check when portage is
Zac Medico [Wed, 28 Nov 2007 22:35:30 +0000 (22:35 -0000)]
Enable the EBUILD_EXIT_STATUS_FILE sanity check when portage is
reinstalling itself since the check is reliable in this case now
that a temporary PORTAGE_BIN_PATH is created.

svn path=/main/trunk/; revision=8732

16 years agoIf portage is reinstalling itself, create a temporary
Zac Medico [Wed, 28 Nov 2007 22:29:06 +0000 (22:29 -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.

svn path=/main/trunk/; revision=8731

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

svn path=/main/trunk/; revision=8729

16 years agoIn chk_updated_cfg_files(), avoid scanning for config files for
Zac Medico [Wed, 28 Nov 2007 08:27:28 +0000 (08:27 -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.

svn path=/main/trunk/; revision=8726

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

svn path=/main/trunk/; revision=8724

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

svn path=/main/trunk/; revision=8721

16 years agoAdd a sanity check in dblink.treewalk() so that a broken ebuild
Zac Medico [Wed, 28 Nov 2007 03:45:40 +0000 (03:45 -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.

svn path=/main/trunk/; revision=8720

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

svn path=/main/trunk/; revision=8718

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

svn path=/main/trunk/; revision=8716

16 years agoportage upgrade or downgrade invalidates EBUILD_EXIT_STATUS_FILE
Zac Medico [Tue, 27 Nov 2007 21:56:58 +0000 (21:56 -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.

svn path=/main/trunk/; revision=8714

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

svn path=/main/trunk/; revision=8712

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

svn path=/main/trunk/; revision=8710

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

svn path=/main/trunk/; revision=8708