Author: jsuchome
Date: Thu Oct 6 16:10:29 2011
New Revision: 66305
URL: http://svn.opensuse.org/viewcvs/yast?rev=66305&view=rev
Log:
- support more snapper configurations (bnc#719482)
- 2.17.5
Modified:
branches/SuSE-Code-11-SP2-Branch/snapper/VERSION
branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.cc
branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.h
branches/SuSE-Code-11-SP2-Branch/snapper/package/yast2-snapper.changes
branches/SuSE-Code-11-SP2-Branch/snapper/src/Snapper.ycp
branches/SuSE-Code-11-SP2-Branch/snapper/src/dialogs.ycp
Modified: branches/SuSE-Code-11-SP2-Branch/snapper/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/snapper/VERSION?rev=66305&r1=66304&r2=66305&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/snapper/VERSION (original)
+++ branches/SuSE-Code-11-SP2-Branch/snapper/VERSION Thu Oct 6 16:10:29 2011
@@ -1 +1 @@
-2.17.4
+2.17.5
Modified: branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.cc
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.cc?rev=66305&r1=66304&r2=66305&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.cc (original)
+++ branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.cc Thu Oct 6 16:10:29 2011
@@ -18,13 +18,13 @@
/*
* search the map for value of given key; both key and value have to be strings
*/
-string SnapperAgent::getValue (const YCPMap map, const string key)
+string SnapperAgent::getValue (const YCPMap map, const string key, string deflt)
{
if (!map->value(YCPString(key)).isNull()
&& map->value(YCPString(key))->isString())
return map->value(YCPString(key))->asString()->value();
else
- return "";
+ return deflt;
}
/**
@@ -132,14 +132,14 @@
*/
YCPValue SnapperAgent::Read(const YCPPath &path, const YCPValue& arg, const YCPValue& opt) {
- y2debug ("path in Read: '%s'.", path->toString().c_str());
+ y2internal ("path in Read: '%s'.", path->toString().c_str());
YCPValue ret = YCPVoid();
YCPMap argmap;
if (!arg.isNull() && arg->isMap())
argmap = arg->asMap();
- if (!snapper_initialized && PC(0) != "error") {
+ if (!snapper_initialized && PC(0) != "error" && PC(0) != "configs") {
y2error ("snapper not initialized: use Execute (.snapper) first!");
snapper_error = "not_initialized";
return YCPVoid();
@@ -147,6 +147,24 @@
if (path->length() == 1) {
+ if (PC(0) == "configs") {
+ YCPList retlist;
+
+ try {
+ list<ConfigInfo> configs = Snapper::getConfigs();
+ for (list<ConfigInfo>::const_iterator it = configs.begin(); it != configs.end(); ++it)
+ {
+ retlist->add (YCPString (it->config_name));
+ }
+ }
+ catch (const ListConfigsFailedException& e)
+ {
+ y2error ("sysconfig file not found.");
+ snapper_error = "sysconfig_not_found";
+ return YCPVoid();
+ }
+ return retlist;
+ }
/**
* Read (.snapper.error) -> returns last error message
*/
@@ -201,7 +219,7 @@
s->add (YCPString ("pre_num"), YCPInteger (it->getPreNum()));
}
- y2debug ("snapshot %s", s.toString().c_str());
+ y2internal ("snapshot %s", s.toString().c_str());
retlist->add (s);
}
return retlist;
@@ -242,7 +260,10 @@
for (Files::const_iterator it = files.begin(); it != files.end(); ++it)
{
- retmap->add (YCPString (it->getName()), YCPString (statusToString (it->getPreToPostStatus())));
+ YCPMap file_map;
+ file_map->add (YCPString ("status"), YCPString (statusToString (it->getPreToPostStatus())));
+ file_map->add (YCPString ("full_path"), YCPString (it->getAbsolutePath (LOC_SYSTEM)));
+ retmap->add (YCPString (it->getName()), file_map);
}
return retmap;
}
@@ -294,7 +315,7 @@
YCPBoolean SnapperAgent::Write(const YCPPath &path, const YCPValue& arg,
const YCPValue& arg2)
{
- y2debug ("path in Write: '%s'.", path->toString().c_str());
+ y2internal ("path in Write: '%s'.", path->toString().c_str());
YCPBoolean ret = YCPBoolean(true);
return ret;
@@ -306,7 +327,7 @@
YCPValue SnapperAgent::Execute(const YCPPath &path, const YCPValue& arg,
const YCPValue& arg2)
{
- y2debug ("path in Execute: '%s'.", path->toString().c_str());
+ y2internal ("path in Execute: '%s'.", path->toString().c_str());
YCPValue ret = YCPBoolean (true);
YCPMap argmap;
@@ -317,9 +338,17 @@
* Execute (.snapper) call: Initialize snapper object
*/
if (path->length() == 0) {
+
+ snapper_initialized = false;
+ if (sh)
+ {
+ y2milestone ("deleting existing snapper object");
+ deleteSnapper(sh);
+ }
+ string config_name = getValue (argmap, "config", "root");
try {
- sh = createSnapper();
+ sh = createSnapper (config_name);
}
catch (const ConfigNotFoundException& e)
{
@@ -363,7 +392,7 @@
if (selected.value(i)->isString())
{
string name = selected->value(i)->asString()->value();
- y2debug ("file to rollback: %s", name.c_str());
+ y2internal ("file to rollback: %s", name.c_str());
Files::iterator it = files.find(name);
if (it == files.end())
{
Modified: branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.h
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.h?rev=66305&r1=66304&r2=66305&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.h (original)
+++ branches/SuSE-Code-11-SP2-Branch/snapper/agent-snapper/src/SnapperAgent.h Thu Oct 6 16:10:29 2011
@@ -35,9 +35,9 @@
/**
* search the map for value of given key; both key and value have to be strings
- * when key is not present, empty string is returned
+ * when key is not present, default value is returned
*/
- string getValue (const YCPMap map, const string key);
+ string getValue (const YCPMap map, const string key, string deflt);
/**
* Search the map for value of given key
Modified: branches/SuSE-Code-11-SP2-Branch/snapper/package/yast2-snapper.changes
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/snapper/package/yast2-snapper.changes?rev=66305&r1=66304&r2=66305&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/snapper/package/yast2-snapper.changes (original)
+++ branches/SuSE-Code-11-SP2-Branch/snapper/package/yast2-snapper.changes Thu Oct 6 16:10:29 2011
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Wed Sep 21 16:07:48 CEST 2011 - jsuchome@suse.cz
+
+- support more snapper configurations (bnc#719482)
+- 2.17.5
+
+-------------------------------------------------------------------
Tue Aug 30 11:40:52 CEST 2011 - jsuchome@suse.cz
- added icon (bnc#711193)
Modified: branches/SuSE-Code-11-SP2-Branch/snapper/src/Snapper.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/snapper/src/Snapper.ycp?rev=66305&r1=66304&r2=66305&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/snapper/src/Snapper.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/snapper/src/Snapper.ycp Thu Oct 6 16:10:29 2011
@@ -51,12 +51,17 @@
// index to snapshots list
global integer selected_snapshot_index = 0;
+// list of configurations
+global list<string> configs = [ "root" ];
+
+global string current_config = "root";
+
/**
* Return map of files modified between given snapshots
* Return structure has just one level, and maps each modified file to it's modification map
*/
-global map