aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar David Leverton <levertond@googlemail.com> 2009-07-26 13:15:26 +0100
committerAvatar David Leverton <levertond@googlemail.com> 2009-07-26 13:16:15 +0100
commit151afc05fdf5f72292bc74207bc83904f2c96d05 (patch)
tree4851c1d81be6a8ced0812c35654816c3cf2777c3
parent1893433261e14b5d655f821f1a833fe551268815 (diff)
downloadpaludis-151afc05fdf5f72292bc74207bc83904f2c96d05.tar.gz
paludis-151afc05fdf5f72292bc74207bc83904f2c96d05.tar.xz
FAAAAAAAAAAIL
-rw-r--r--NEWS3
-rw-r--r--paludis/util/system.cc11
2 files changed, 9 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index 213ce40..05e3121 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,9 @@ News for Paludis
This file lists the major changes between versions. For a more detailed list
of every change, see the ChangeLog.
+0.38.2:
+ * Failures installing qt-core on Gentoo have been fixed.
+
0.38.1:
* Various fixes when using the Portage configuration.
diff --git a/paludis/util/system.cc b/paludis/util/system.cc
index b6494f4..21480ab 100644
--- a/paludis/util/system.cc
+++ b/paludis/util/system.cc
@@ -167,7 +167,7 @@ namespace paludis
std::ostream * captured_stderr_stream;
bool ptys;
- Implementation(const std::string & c,
+ Implementation(const std::string & c, bool cl = false,
const std::map<std::string, std::string> & s = make_me_a_frickin_map_because_gcc_sucks(),
const std::string & d = "", bool e = false,
std::tr1::shared_ptr<uid_t> u = std::tr1::shared_ptr<uid_t>(),
@@ -178,7 +178,7 @@ namespace paludis
std::ostream * cs = 0,
std::ostream * ds = 0) :
command(c),
- clearenv(false),
+ clearenv(cl),
setenv_values(s),
chdir(d),
echo_to_stderr(e),
@@ -209,7 +209,7 @@ Command::Command(const char * const s) :
Command::Command(const Command & other) :
PrivateImplementationPattern<Command>(new Implementation<Command>(other._imp->command,
- other._imp->setenv_values, other._imp->chdir, other._imp->echo_to_stderr,
+ other._imp->clearenv, other._imp->setenv_values, other._imp->chdir, other._imp->echo_to_stderr,
other._imp->uid, other._imp->gid, other._imp->stdout_prefix, other._imp->stderr_prefix,
other._imp->prefix_discard_blank_output,
other._imp->prefix_blank_lines, other._imp->pipe_command_handler, other._imp->captured_stdout_stream,
@@ -222,7 +222,7 @@ Command::operator= (const Command & other)
{
if (this != &other)
{
- _imp.reset(new Implementation<Command>(other._imp->command, other._imp->setenv_values,
+ _imp.reset(new Implementation<Command>(other._imp->command, other._imp->clearenv, other._imp->setenv_values,
other._imp->chdir, other._imp->echo_to_stderr,
std::tr1::shared_ptr<uid_t>(),
std::tr1::shared_ptr<gid_t>(),
@@ -464,12 +464,13 @@ paludis::run_command(const Command & cmd)
if (cmd.clearenv())
{
std::map<std::string, std::string> setenvs;
- for (const char * const * it(environ); 0 != it; ++it)
+ for (const char * const * it(environ); 0 != *it; ++it)
{
std::string var(*it);
if (std::string::npos != var.find('=') &&
("PALUDIS_" == var.substr(0, 8) ||
"PATH=" == var.substr(0, 5) ||
+ "HOME=" == var.substr(0, 5) ||
"LD_LIBRARY_PATH=" == var.substr(0, 16)))
setenvs.insert(std::make_pair(var.substr(0, var.find('=')), var.substr(var.find('=') + 1)));
}