[paludis-commits] r4568 - in trunk: . paludis/repositories/e
ciaranm at svn.pioto.org
ciaranm at svn.pioto.org
Wed Apr 16 06:54:18 UTC 2008
Author: ciaranm
Date: 2008-04-16 06:54:17 +0000 (Wed, 16 Apr 2008)
New Revision: 4568
Modified:
trunk/ChangeLog
trunk/NEWS
trunk/paludis/repositories/e/e_repository_profile_file.cc
Log:
Don't QA for failed lines in profiles if that line would have succeeded at any previous point.
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-04-15 18:35:12 UTC (rev 4567)
+++ trunk/ChangeLog 2008-04-16 06:54:17 UTC (rev 4568)
@@ -5,6 +5,11 @@
only listed in SVN log. For a summary of what has changed between releases,
see the NEWS file. This file is occasionally pruned to ChangeLog.old.bz2.
+2008-04-16 Ciaran McCreesh
+
+ * paludis/repositories/e/: Don't QA for failed -lines in profiles if
+ that line would have succeeded at any previous point.
+
2008-04-15 David Leverton
* paludis/, doc/configuration/: Support ?: lines in sets.
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2008-04-15 18:35:12 UTC (rev 4567)
+++ trunk/NEWS 2008-04-16 06:54:17 UTC (rev 4568)
@@ -4,7 +4,7 @@
This file lists the major changes between versions. For a more detailed list
of every change, see the ChangeLog.
-trunk/:
+0.26.0_pre2:
* paludis now supports ${root} in environment.conf. This can be
used when defining the "world" key, so that the configuration
works when the filesystem is mounted as a chroot as a seperate
@@ -15,6 +15,9 @@
* Sets can now contain ?: entries, which are like ? entries but also
consider the slot part of the dependency specification.
+ * We no longer issue a QA warning for E repository profiles that attempt to
+ remove the same line more than once from a parent profile's files.
+
0.26.0_pre1:
* paludis now rebuilds the VDB names and provides caches
incrementally after each install and uninstall. This can give a
Modified: trunk/paludis/repositories/e/e_repository_profile_file.cc
===================================================================
--- trunk/paludis/repositories/e/e_repository_profile_file.cc 2008-04-15 18:35:12 UTC (rev 4567)
+++ trunk/paludis/repositories/e/e_repository_profile_file.cc 2008-04-16 06:54:17 UTC (rev 4568)
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,6 +28,7 @@
#include <paludis/util/options.hh>
#include <paludis/mask.hh>
#include <list>
+#include <set>
#include <algorithm>
using namespace paludis;
@@ -82,6 +83,8 @@
typedef std::list<typename tr1::remove_const<typename tr1::remove_reference<
typename F_::ConstIterator::value_type>::type>::type> Lines;
Lines lines;
+
+ std::set<std::string> removed;
};
}
@@ -105,14 +108,25 @@
std::find_if(this->_imp->lines.begin(), this->_imp->lines.end(),
MatchesKey<std::string>(key.substr(1))));
if (this->_imp->lines.end() == i)
- Log::get_instance()->message(ll_qa, lc_context, "No match for '" + key + "'");
+ {
+ /* annoying: Gentoo profiles like to remove the same mask entry
+ * more than once, especially when a particular subprofile
+ * section is inherited more than once. Don't warn when this
+ * happens. */
+ if (this->_imp->removed.end() == this->_imp->removed.find(key.substr(1)))
+ Log::get_instance()->message(ll_qa, lc_context, "No match for '" + key + "'. This usually indicates a "
+ "bug in your profile.");
+ }
else
+ {
+ this->_imp->removed.insert(key.substr(1));
while (this->_imp->lines.end() != i)
{
this->_imp->lines.erase(i++);
i = std::find_if(i, this->_imp->lines.end(),
MatchesKey<std::string>(key.substr(1)));
}
+ }
}
else
this->_imp->lines.push_back(*line);
More information about the paludis-commits
mailing list