Warn if /etc/products.d/baseproduct symlink is missing.
authorMichael Andres <ma@suse.de>
Fri, 4 Apr 2014 09:21:24 +0000 (11:21 +0200)
committerMichael Andres <ma@suse.de>
Fri, 4 Apr 2014 09:21:24 +0000 (11:21 +0200)
src/Zypper.cc

index 72005dd..fc943c1 100644 (file)
@@ -564,6 +564,19 @@ void Zypper::processGlobalOptions()
     _gopts.rm_options = RepoManagerOptions(_gopts.root_dir);
   }
 
+  // on the fly check the baseproduct symlink
+  {
+    PathInfo pi( _gopts.root_dir + "/etc/products.d/baseproduct" );
+    if ( ! pi.isFile() && PathInfo( _gopts.root_dir + "/etc/products.d" ).isDir() )
+    {
+      ERR << "baseproduct symlink is dangling or missing: " << pi << endl;
+      out().warning(_(
+       "The /etc/products.d/baseproduct symlink is dangling or missing!\n"
+       "The link must point to your core products .prod file in /etc/products.d.\n"
+      ));
+    }
+  }
+
   if ((it = gopts.find("reposd-dir")) != gopts.end()) {
     _gopts.rm_options.knownReposPath = it->second.front();
   }