- Prevent target::unload from creating a system repo in order
authorMichael Andres <ma@suse.de>
Fri, 25 Apr 2008 14:21:25 +0000 (14:21 +0000)
committerMichael Andres <ma@suse.de>
Fri, 25 Apr 2008 14:21:25 +0000 (14:21 +0000)
  to unload it. (bnc 382297)

VERSION.cmake
package/libzypp.changes
zypp/sat/Pool.h
zypp/target/TargetImpl.cc

index fdb74d65fd8a3a72ced6c9be15d249b32cb29ae9..9f50277e7a2850cea96adb7e32e043ec5e3e6489 100644 (file)
@@ -47,4 +47,4 @@
 SET(LIBZYPP_MAJOR "4")
 SET(LIBZYPP_MINOR "15")
 SET(LIBZYPP_COMPATMINOR "14")
-SET(LIBZYPP_PATCH "1")
+SET(LIBZYPP_PATCH "2")
index db13a86daa0446965145369709547c662e7734ce..f9bc4c2d6f479d3fd62af05cb95d719ad44cf5e1 100644 (file)
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Fri Apr 25 16:12:12 CEST 2008 - ma@suse.de
+
+- Prevent target::unload from creating a system repo in order 
+  to unload it. (bnc 382297)
+- version 4.15.2
+- revision 9822
+
 -------------------------------------------------------------------
 Fri Apr 25 14:15:17 CEST 2008 - ma@suse.de
 
index dc3daded3e3dab5869e4e01c2d69563c1c69183d..57662153a0429a9c35d06692d324a18d888ead75 100644 (file)
@@ -43,7 +43,7 @@ namespace zypp
     {
       public:
         typedef detail::SolvableIterator SolvableIterator;
-       typedef zypp::detail::RepositoryIterator     RepositoryIterator;        
+       typedef zypp::detail::RepositoryIterator     RepositoryIterator;
         typedef detail::size_type        size_type;
 
       public:
@@ -99,7 +99,11 @@ namespace zypp
         /** Reserved system repository name \c @System. */
         static const std::string & systemRepoName();
 
-        /** Return the system repository. */
+        /** Return the system repository if it is on the pool. */
+        Repository findSystemRepo() const
+        { return reposFind( systemRepoName() ); }
+
+        /** Return the system repository, create it if missing. */
         Repository systemRepo()
         { return reposInsert( systemRepoName() ); }
 
index 790dac88663efc36793055e1618a1a7973121b47..48ec3f990eadf9f2fd875414d4356c9841f26850 100644 (file)
@@ -404,9 +404,9 @@ namespace zypp
 
     void TargetImpl::unload()
     {
-      sat::Pool satpool( sat::Pool::instance() );
-      Repository system( satpool.systemRepo() );
-      system.eraseFromPool();
+      Repository system( sat::Pool::instance().findSystemRepo() );
+      if ( system )
+        system.eraseFromPool();
     }