Accepting request 39402 from home:dimstar:branches:GNOME:Factory
Copy from home:dimstar:branches:GNOME:Factory/PackageKit via accept of submit request 39402 revision 3. Request was accepted with message: Forwarding to openSUSE:Factory OBS-URL: https://build.opensuse.org/request/show/39402 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/PackageKit?expand=0&rev=62
This commit is contained in:
parent
e1eeeaf8b8
commit
bef851da21
69
0001-zypp-fix-memeory-leaks.patch
Normal file
69
0001-zypp-fix-memeory-leaks.patch
Normal file
@ -0,0 +1,69 @@
|
||||
From 7f48336a852e584c43a1c34154ceb15b995f7e3d Mon Sep 17 00:00:00 2001
|
||||
From: Michael Andres <ma@suse.de>
|
||||
Date: Wed, 21 Apr 2010 17:35:57 +0200
|
||||
Subject: [PATCH 1/3] zypp: fix memeory leaks
|
||||
|
||||
---
|
||||
backends/zypp/pk-backend-zypp.cpp | 13 ++++++-------
|
||||
1 files changed, 6 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
|
||||
index a6b00b3..4486f25 100644
|
||||
--- a/backends/zypp/pk-backend-zypp.cpp
|
||||
+++ b/backends/zypp/pk-backend-zypp.cpp
|
||||
@@ -796,7 +796,7 @@ backend_install_files_thread (PkBackend *backend)
|
||||
zypp::target::rpm::RpmHeader::constPtr rpmHeader = zypp::target::rpm::RpmHeader::readPackage (rpmPath, zypp::target::rpm::RpmHeader::NOSIGNATURE);
|
||||
|
||||
// look for the packages and set them to toBeInstalled
|
||||
- std::vector<zypp::sat::Solvable> *solvables = new std::vector<zypp::sat::Solvable>;
|
||||
+ std::vector<zypp::sat::Solvable> *solvables = 0;
|
||||
solvables = zypp_get_packages_by_name (rpmHeader->tag_name ().c_str (), zypp::ResKind::package, FALSE);
|
||||
zypp::PoolItem *item = NULL;
|
||||
gboolean found = FALSE;
|
||||
@@ -1033,7 +1033,7 @@ backend_install_packages_thread (PkBackend *backend)
|
||||
for (guint i = 0; i < g_strv_length (package_ids); i++) {
|
||||
|
||||
gchar **id_parts = pk_package_id_split (package_ids[i]);
|
||||
-
|
||||
+
|
||||
// Iterate over the selectables and mark the one with the right name
|
||||
zypp::ui::Selectable::Ptr selectable;
|
||||
for (zypp::ResPoolProxy::const_iterator it = zypp->poolProxy().byKindBegin <zypp::Package>();
|
||||
@@ -1293,13 +1293,14 @@ backend_find_packages_thread (PkBackend *backend)
|
||||
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
|
||||
pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
|
||||
|
||||
- std::vector<zypp::sat::Solvable> *v = new std::vector<zypp::sat::Solvable>;
|
||||
- std::vector<zypp::sat::Solvable> *v2 = new std::vector<zypp::sat::Solvable>;
|
||||
+ std::vector<zypp::sat::Solvable> *v = 0;
|
||||
+ std::vector<zypp::sat::Solvable> *v2 = 0;
|
||||
|
||||
switch (mode) {
|
||||
case SEARCH_TYPE_NAME:
|
||||
v = zypp_get_packages_by_name (search, zypp::ResKind::package, TRUE);
|
||||
v2 = zypp_get_packages_by_name (search, zypp::ResKind::srcpackage, TRUE);
|
||||
+ v->insert (v->end (), v2->begin (), v2->end ());
|
||||
break;
|
||||
case SEARCH_TYPE_DETAILS:
|
||||
v = zypp_get_packages_by_details (search, TRUE);
|
||||
@@ -1309,8 +1310,6 @@ backend_find_packages_thread (PkBackend *backend)
|
||||
break;
|
||||
};
|
||||
|
||||
- v->insert (v->end (), v2->begin (), v2->end ());
|
||||
-
|
||||
zypp_emit_packages_in_list (backend, v, filters);
|
||||
delete (v);
|
||||
delete (v2);
|
||||
@@ -1591,7 +1590,7 @@ backend_update_packages_thread (PkBackend *backend)
|
||||
package_ids = pk_backend_get_strv (backend, "package_ids");
|
||||
PkRestartEnum restart = PK_RESTART_ENUM_NONE;
|
||||
|
||||
- zypp_get_patches (); // make sure _updating_self is set
|
||||
+ delete zypp_get_patches (); // make sure _updating_self is set
|
||||
|
||||
if (_updating_self) {
|
||||
egg_debug ("updating self and setting restart");
|
||||
--
|
||||
1.6.4.2
|
||||
|
396
0002-zypp-attempt-to-improve-backend_find_packages.patch
Normal file
396
0002-zypp-attempt-to-improve-backend_find_packages.patch
Normal file
@ -0,0 +1,396 @@
|
||||
From 3a26c7c8515df9dac1c60052213d721cd2fecf83 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Andres <ma@suse.de>
|
||||
Date: Wed, 21 Apr 2010 18:19:29 +0200
|
||||
Subject: [PATCH 2/3] zypp: attempt to improve backend_find_packages
|
||||
|
||||
---
|
||||
backends/zypp/pk-backend-zypp.cpp | 43 ++++++++++++----
|
||||
backends/zypp/zypp-utils.cpp | 101 +++++++++++++++---------------------
|
||||
backends/zypp/zypp-utils.h | 7 +--
|
||||
3 files changed, 77 insertions(+), 74 deletions(-)
|
||||
|
||||
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
|
||||
index 4486f25..8b54132 100644
|
||||
--- a/backends/zypp/pk-backend-zypp.cpp
|
||||
+++ b/backends/zypp/pk-backend-zypp.cpp
|
||||
@@ -1293,26 +1293,49 @@ backend_find_packages_thread (PkBackend *backend)
|
||||
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
|
||||
pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
|
||||
|
||||
- std::vector<zypp::sat::Solvable> *v = 0;
|
||||
- std::vector<zypp::sat::Solvable> *v2 = 0;
|
||||
+ std::vector<zypp::sat::Solvable> v;
|
||||
+
|
||||
+ zypp::PoolQuery q;
|
||||
+ q.addString( search ); // may be called multiple times (OR'ed)
|
||||
+ q.setCaseSensitive( true );
|
||||
+ q.setMatchSubstring();
|
||||
|
||||
switch (mode) {
|
||||
case SEARCH_TYPE_NAME:
|
||||
- v = zypp_get_packages_by_name (search, zypp::ResKind::package, TRUE);
|
||||
- v2 = zypp_get_packages_by_name (search, zypp::ResKind::srcpackage, TRUE);
|
||||
- v->insert (v->end (), v2->begin (), v2->end ());
|
||||
+ zypp_build_pool (TRUE); // seems to be necessary?
|
||||
+ q.addKind( zypp::ResKind::package );
|
||||
+ q.addKind( zypp::ResKind::srcpackage );
|
||||
+ q.addAttribute( zypp::sat::SolvAttr::name );
|
||||
+ // Note: The query result is NOT sorted packages first, then srcpackage.
|
||||
+ // If that's necessary you need to sort the vector accordongly or use
|
||||
+ // two separate queries.
|
||||
break;
|
||||
case SEARCH_TYPE_DETAILS:
|
||||
- v = zypp_get_packages_by_details (search, TRUE);
|
||||
+ zypp_build_pool (TRUE); // seems to be necessary?
|
||||
+ q.addKind( zypp::ResKind::package );
|
||||
+ //q.addKind( zypp::ResKind::srcpackage );
|
||||
+ q.addAttribute( zypp::sat::SolvAttr::name );
|
||||
+ q.addAttribute( zypp::sat::SolvAttr::description );
|
||||
+ // Note: Don't know if zypp_get_packages_by_details intentionally
|
||||
+ // did not search in srcpackages.
|
||||
break;
|
||||
case SEARCH_TYPE_FILE:
|
||||
- v = zypp_get_packages_by_file (search);
|
||||
+ {
|
||||
+ // zypp_build_pool (TRUE); called by zypp_get_packages_by_file
|
||||
+ std::vector<zypp::sat::Solvable> * r = zypp_get_packages_by_file (search);
|
||||
+ v.swap( *r );
|
||||
+ delete r;
|
||||
+ // zypp_get_packages_by_file does strange things :)
|
||||
+ // Maybe it would be sufficient to simply query
|
||||
+ // zypp::sat::SolvAttr::filelist instead?
|
||||
+ }
|
||||
break;
|
||||
};
|
||||
|
||||
- zypp_emit_packages_in_list (backend, v, filters);
|
||||
- delete (v);
|
||||
- delete (v2);
|
||||
+ if ( ! q.empty() ) {
|
||||
+ std::copy( q.begin(), q.end(), std::back_inserter( v ) );
|
||||
+ }
|
||||
+ zypp_emit_packages_in_list (backend, &v, filters);
|
||||
|
||||
pk_backend_finished (backend);
|
||||
return TRUE;
|
||||
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
|
||||
index d17a5af..4fbfee4 100644
|
||||
--- a/backends/zypp/zypp-utils.cpp
|
||||
+++ b/backends/zypp/zypp-utils.cpp
|
||||
@@ -90,7 +90,7 @@ get_zypp ()
|
||||
|
||||
try {
|
||||
zypp = zypp::ZYppFactory::instance ().getZYpp ();
|
||||
-
|
||||
+
|
||||
// TODO: Make this threadsafe
|
||||
if (initialized == FALSE) {
|
||||
zypp::filesystem::Pathname pathname("/");
|
||||
@@ -195,25 +195,25 @@ zypp_build_pool (gboolean include_local)
|
||||
return zypp->pool ();
|
||||
}
|
||||
|
||||
-void
|
||||
-warn_outdated_repos(PkBackend *backend, const zypp::ResPool & pool)
|
||||
-{
|
||||
- zypp::Repository repoobj;
|
||||
- zypp::ResPool::repository_iterator it;
|
||||
- for ( it = pool.knownRepositoriesBegin();
|
||||
- it != pool.knownRepositoriesEnd();
|
||||
- ++it )
|
||||
- {
|
||||
- zypp::Repository repo(*it);
|
||||
- if ( repo.maybeOutdated() )
|
||||
- {
|
||||
- // warn the user
|
||||
+void
|
||||
+warn_outdated_repos(PkBackend *backend, const zypp::ResPool & pool)
|
||||
+{
|
||||
+ zypp::Repository repoobj;
|
||||
+ zypp::ResPool::repository_iterator it;
|
||||
+ for ( it = pool.knownRepositoriesBegin();
|
||||
+ it != pool.knownRepositoriesEnd();
|
||||
+ ++it )
|
||||
+ {
|
||||
+ zypp::Repository repo(*it);
|
||||
+ if ( repo.maybeOutdated() )
|
||||
+ {
|
||||
+ // warn the user
|
||||
pk_backend_message (backend,
|
||||
PK_MESSAGE_ENUM_BROKEN_MIRROR,
|
||||
zypp::str::form("The repository %s seems to be outdated. You may want to try another mirror.",
|
||||
repo.alias().c_str()).c_str() );
|
||||
- }
|
||||
- }
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
zypp::ResPool
|
||||
@@ -227,7 +227,7 @@ zypp_build_local_pool ()
|
||||
if (! it->isSystemRepo ())
|
||||
pool.reposErase(it->alias ());
|
||||
}
|
||||
-
|
||||
+
|
||||
if (zypp::sat::Pool::instance().reposFind( zypp::sat::Pool::systemRepoAlias() ).solvablesEmpty ())
|
||||
{
|
||||
// Add local resolvables
|
||||
@@ -255,7 +255,7 @@ zypp_get_rpmHeader (std::string name, zypp::Edition edition)
|
||||
|
||||
return result;
|
||||
}
|
||||
-
|
||||
+
|
||||
|
||||
std::string
|
||||
zypp_get_group (zypp::sat::Solvable item)
|
||||
@@ -277,7 +277,7 @@ zypp_get_group (zypp::sat::Solvable item)
|
||||
PkGroupEnum
|
||||
get_enum_group (std::string group)
|
||||
{
|
||||
-
|
||||
+
|
||||
// TODO Look for a faster and nice way to do this conversion
|
||||
std::transform(group.begin(), group.end(), group.begin(), tolower);
|
||||
|
||||
@@ -287,7 +287,7 @@ get_enum_group (std::string group)
|
||||
return PK_GROUP_ENUM_PROGRAMMING;
|
||||
} else if (group.find ("hardware") != std::string::npos) {
|
||||
return PK_GROUP_ENUM_SYSTEM;
|
||||
- } else if (group.find ("archiving") != std::string::npos
|
||||
+ } else if (group.find ("archiving") != std::string::npos
|
||||
|| group.find("clustering") != std::string::npos
|
||||
|| group.find("system/monitoring") != std::string::npos
|
||||
|| group.find("databases") != std::string::npos
|
||||
@@ -299,7 +299,7 @@ get_enum_group (std::string group)
|
||||
return PK_GROUP_ENUM_MULTIMEDIA;
|
||||
} else if (group.find ("network") != std::string::npos) {
|
||||
return PK_GROUP_ENUM_NETWORK;
|
||||
- } else if (group.find ("office") != std::string::npos
|
||||
+ } else if (group.find ("office") != std::string::npos
|
||||
|| group.find("text") != std::string::npos
|
||||
|| group.find("editors") != std::string::npos) {
|
||||
return PK_GROUP_ENUM_OFFICE;
|
||||
@@ -344,23 +344,6 @@ zypp_get_packages_by_name (const gchar *package_name, const zypp::ResKind kind,
|
||||
}
|
||||
|
||||
std::vector<zypp::sat::Solvable> *
|
||||
-zypp_get_packages_by_details (const gchar *search_term, gboolean include_local)
|
||||
-{
|
||||
- std::vector<zypp::sat::Solvable> *v = new std::vector<zypp::sat::Solvable> ();
|
||||
-
|
||||
- zypp::ResPool pool = zypp_build_pool (include_local);
|
||||
-
|
||||
- std::string term (search_term);
|
||||
- for (zypp::ResPool::byKind_iterator it = pool.byKindBegin (zypp::ResKind::package);
|
||||
- it != pool.byKindEnd (zypp::ResKind::package); it++) {
|
||||
- if ((*it)->name ().find (term) != std::string::npos || (*it)->description ().find (term) != std::string::npos )
|
||||
- v->push_back ((*it)->satSolvable ());
|
||||
- }
|
||||
-
|
||||
- return v;
|
||||
-}
|
||||
-
|
||||
-std::vector<zypp::sat::Solvable> *
|
||||
zypp_get_packages_by_file (const gchar *search_file)
|
||||
{
|
||||
std::vector<zypp::sat::Solvable> *v = new std::vector<zypp::sat::Solvable> ();
|
||||
@@ -404,7 +387,7 @@ zypp_get_package_by_id (const gchar *package_id)
|
||||
std::vector<zypp::sat::Solvable> *v2 = zypp_get_packages_by_name (id_parts[PK_PACKAGE_ID_NAME], zypp::ResKind::patch, TRUE);
|
||||
|
||||
v->insert (v->end (), v2->begin (), v2->end ());
|
||||
-
|
||||
+
|
||||
if (v == NULL)
|
||||
return zypp::sat::Solvable::noSolvable;
|
||||
|
||||
@@ -432,7 +415,7 @@ gchar *
|
||||
zypp_build_package_id_from_resolvable (zypp::sat::Solvable resolvable)
|
||||
{
|
||||
gchar *package_id;
|
||||
-
|
||||
+
|
||||
package_id = pk_package_id_build (resolvable.name ().c_str (),
|
||||
resolvable.edition ().asString ().c_str (),
|
||||
resolvable.arch ().asString ().c_str (),
|
||||
@@ -490,14 +473,14 @@ gboolean
|
||||
zypp_signature_required (PkBackend *backend, const std::string &file, const std::string &id)
|
||||
{
|
||||
gboolean ok = FALSE;
|
||||
-
|
||||
+
|
||||
if (std::find (_signatures[backend]->begin (), _signatures[backend]->end (), id) == _signatures[backend]->end ()) {
|
||||
zypp::RepoInfo info = zypp_get_Repository (backend, _repoName);
|
||||
if (info.type () == zypp::repo::RepoType::NONE) {
|
||||
pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "Repository unknown");
|
||||
return FALSE;
|
||||
}
|
||||
-
|
||||
+
|
||||
pk_backend_repo_signature_required (backend,
|
||||
"dummy;0.0.1;i386;data",
|
||||
_repoName,
|
||||
@@ -526,7 +509,7 @@ zypp_signature_required (PkBackend *backend, const std::string &file)
|
||||
pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "Repository unknown");
|
||||
return FALSE;
|
||||
}
|
||||
-
|
||||
+
|
||||
pk_backend_repo_signature_required (backend,
|
||||
"dummy;0.0.1;i386;data",
|
||||
_repoName,
|
||||
@@ -590,7 +573,7 @@ zypp_emit_packages_in_list (PkBackend *backend, std::vector<zypp::sat::Solvable>
|
||||
//egg_debug ("my default arch is %s", myarch);
|
||||
}
|
||||
if (!print)
|
||||
- continue;
|
||||
+ continue;
|
||||
}
|
||||
|
||||
pk_backend_package (backend,
|
||||
@@ -636,7 +619,7 @@ zypp_get_updates (std::string repo)
|
||||
{
|
||||
std::set<zypp::PoolItem> *pks = new std::set<zypp::PoolItem> ();
|
||||
zypp::ResPool pool = zypp::ResPool::instance ();
|
||||
-
|
||||
+
|
||||
zypp::ResObject::Kind kind = zypp::ResTraits<zypp::Package>::kind;
|
||||
zypp::ResPool::byKind_iterator it = pool.byKindBegin (kind);
|
||||
zypp::ResPool::byKind_iterator e = pool.byKindEnd (kind);
|
||||
@@ -671,7 +654,7 @@ zypp_get_patches ()
|
||||
|
||||
for (zypp::ResPoolProxy::const_iterator it = zypp->poolProxy ().byKindBegin<zypp::Patch>();
|
||||
it != zypp->poolProxy ().byKindEnd<zypp::Patch>(); it ++) {
|
||||
- // check if patch is needed
|
||||
+ // check if patch is needed
|
||||
if((*it)->candidateObj ().isRelevant() && !((*it)->candidateObj ().isSatisfied())) {
|
||||
zypp::Patch::constPtr patch = zypp::asKind<zypp::Patch>((*it)->candidateObj ().resolvable ());
|
||||
if (_updating_self) {
|
||||
@@ -719,8 +702,8 @@ zypp_perform_execution (PkBackend *backend, PerformType type, gboolean force)
|
||||
if (force)
|
||||
zypp->resolver ()->setForceResolve (force);
|
||||
if (type == UPDATE) {
|
||||
- //zypp->resolver ()->setOnlyRequires (TRUE);
|
||||
- zypp->resolver ()->setIgnoreAlreadyRecommended (TRUE);
|
||||
+ //zypp->resolver ()->setOnlyRequires (TRUE);
|
||||
+ zypp->resolver ()->setIgnoreAlreadyRecommended (TRUE);
|
||||
}
|
||||
|
||||
// Gather up any dependencies
|
||||
@@ -756,7 +739,7 @@ zypp_perform_execution (PkBackend *backend, PerformType type, gboolean force)
|
||||
zypp->resolver ()->setForceResolve (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
-
|
||||
+
|
||||
switch (type) {
|
||||
case INSTALL:
|
||||
pk_backend_set_status (backend, PK_STATUS_ENUM_INSTALL);
|
||||
@@ -782,7 +765,7 @@ zypp_perform_execution (PkBackend *backend, PerformType type, gboolean force)
|
||||
eula_id,
|
||||
package_id,
|
||||
(*it)->vendor ().c_str (),
|
||||
- it->satSolvable ().lookupStrAttribute (zypp::sat::SolvAttr::eula).c_str ());
|
||||
+ it->satSolvable ().lookupStrAttribute (zypp::sat::SolvAttr::eula).c_str ());
|
||||
pk_backend_error_code (backend, PK_ERROR_ENUM_NO_LICENSE_AGREEMENT, "You've to agree/decline a license");
|
||||
g_free (package_id);
|
||||
g_free (eula_id);
|
||||
@@ -800,7 +783,7 @@ zypp_perform_execution (PkBackend *backend, PerformType type, gboolean force)
|
||||
zypp::ZYppCommitResult result = zypp->commit (policy);
|
||||
|
||||
if(!result._errors.empty () || !result._remaining.empty () || !result._srcremaining.empty ()){
|
||||
-
|
||||
+
|
||||
zypp::ZYppCommitResult::PoolItemList errors = result._errors;
|
||||
gchar *emsg = NULL, *tmpmsg = NULL;
|
||||
|
||||
@@ -813,7 +796,7 @@ zypp_perform_execution (PkBackend *backend, PerformType type, gboolean force)
|
||||
g_free (tmpmsg);
|
||||
}
|
||||
}
|
||||
-
|
||||
+
|
||||
zypp::ZYppCommitResult::PoolItemList remaining = result._remaining;
|
||||
for (zypp::ZYppCommitResult::PoolItemList::iterator it = remaining.begin (); it != remaining.end (); it++){
|
||||
if (emsg == NULL) {
|
||||
@@ -824,7 +807,7 @@ zypp_perform_execution (PkBackend *backend, PerformType type, gboolean force)
|
||||
g_free (tmpmsg);
|
||||
}
|
||||
}
|
||||
-
|
||||
+
|
||||
zypp::ZYppCommitResult::PoolItemList srcremaining = result._srcremaining;
|
||||
for (zypp::ZYppCommitResult::PoolItemList::iterator it = srcremaining.begin (); it != srcremaining.end (); it++){
|
||||
if (emsg == NULL) {
|
||||
@@ -847,7 +830,7 @@ zypp_perform_execution (PkBackend *backend, PerformType type, gboolean force)
|
||||
|
||||
zypp->resolver ()->setForceResolve (FALSE);
|
||||
if (type == UPDATE) {
|
||||
- zypp->resolver ()->setIgnoreAlreadyRecommended (FALSE);
|
||||
+ zypp->resolver ()->setIgnoreAlreadyRecommended (FALSE);
|
||||
}
|
||||
|
||||
} catch (const zypp::repo::RepoNotFoundException &ex) {
|
||||
@@ -859,8 +842,8 @@ zypp_perform_execution (PkBackend *backend, PerformType type, gboolean force)
|
||||
} catch (const zypp::Exception &ex) {
|
||||
pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, ex.asUserString().c_str() );
|
||||
return FALSE;
|
||||
- }
|
||||
-
|
||||
+ }
|
||||
+
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -890,7 +873,7 @@ zypp_build_package_id_capabilities (zypp::Capabilities caps)
|
||||
for (zypp::sat::WhatProvides::const_iterator it = provs.begin (); it != provs.end (); it++) {
|
||||
gchar *package_id = zypp_build_package_id_from_resolvable (*it);
|
||||
//package_ids = g_strconcat (package_ids, package_id, PK_PACKAGE_IDS_DELIM, (gchar *)NULL);
|
||||
- if (strlen (package_ids) == 0) {
|
||||
+ if (strlen (package_ids) == 0) {
|
||||
package_ids = g_strdup (package_id);
|
||||
} else {
|
||||
package_ids = g_strconcat (package_ids, PK_PACKAGE_IDS_DELIM, package_id, (gchar *)NULL);
|
||||
@@ -955,9 +938,9 @@ zypp_refresh_cache (PkBackend *backend, gboolean force)
|
||||
zypp::RepoManager::BuildIfNeeded);
|
||||
} catch (const zypp::Exception &ex) {
|
||||
if (repo_messages == NULL) {
|
||||
- repo_messages = g_strdup_printf ("%s: %s%s", repo.alias ().c_str (), ex.asUserString ().c_str (), "\n");
|
||||
+ repo_messages = g_strdup_printf ("%s: %s%s", repo.alias ().c_str (), ex.asUserString ().c_str (), "\n");
|
||||
}else{
|
||||
- repo_messages = g_strdup_printf ("%s%s: %s%s", repo_messages, repo.alias ().c_str (), ex.asUserString ().c_str (), "\n");
|
||||
+ repo_messages = g_strdup_printf ("%s%s: %s%s", repo_messages, repo.alias ().c_str (), ex.asUserString ().c_str (), "\n");
|
||||
}
|
||||
if (repo_messages == NULL || !g_utf8_validate (repo_messages, -1, NULL))
|
||||
repo_messages = g_strdup ("A repository could not be refreshed");
|
||||
diff --git a/backends/zypp/zypp-utils.h b/backends/zypp/zypp-utils.h
|
||||
index 450be80..ea75c57 100644
|
||||
--- a/backends/zypp/zypp-utils.h
|
||||
+++ b/backends/zypp/zypp-utils.h
|
||||
@@ -34,8 +34,10 @@
|
||||
#include <zypp/media/MediaManager.h>
|
||||
#include <zypp/Resolvable.h>
|
||||
#include <zypp/ResPool.h>
|
||||
+#include <zypp/PoolQuery.h>
|
||||
#include <zypp/ResFilters.h>
|
||||
|
||||
+#include <iterator>
|
||||
#include <list>
|
||||
#include <set>
|
||||
|
||||
@@ -119,11 +121,6 @@ PkGroupEnum get_enum_group (std::string group);
|
||||
std::vector<zypp::sat::Solvable> * zypp_get_packages_by_name (const gchar *package_name, const zypp::ResKind kind, gboolean include_local);
|
||||
|
||||
/**
|
||||
- * Returns a list of packages that match the specified term in its name or description.
|
||||
- */
|
||||
-std::vector<zypp::sat::Solvable> * zypp_get_packages_by_details (const gchar *search_term, gboolean include_local);
|
||||
-
|
||||
-/**
|
||||
* Returns a list of packages that owns the specified file.
|
||||
*/
|
||||
std::vector<zypp::sat::Solvable> * zypp_get_packages_by_file (const gchar *search_file);
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,28 @@
|
||||
From 59d5111dd620a3978cd02946a94ecc7d9bc6e3cf Mon Sep 17 00:00:00 2001
|
||||
From: Michael Andres <ma@suse.de>
|
||||
Date: Wed, 28 Apr 2010 15:05:37 +0200
|
||||
Subject: [PATCH 3/3] zypp: let libzypp determine whether a patch is needed.
|
||||
|
||||
- with libzypp-6(>= 6.32) or libzypp-7(>=7.3) locked patches are no longer
|
||||
classified as being needed. Thus locking unwanted patches should prevent
|
||||
them from being shown.
|
||||
---
|
||||
backends/zypp/zypp-utils.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
|
||||
index 4fbfee4..ee478d5 100644
|
||||
--- a/backends/zypp/zypp-utils.cpp
|
||||
+++ b/backends/zypp/zypp-utils.cpp
|
||||
@@ -655,7 +655,7 @@ zypp_get_patches ()
|
||||
for (zypp::ResPoolProxy::const_iterator it = zypp->poolProxy ().byKindBegin<zypp::Patch>();
|
||||
it != zypp->poolProxy ().byKindEnd<zypp::Patch>(); it ++) {
|
||||
// check if patch is needed
|
||||
- if((*it)->candidateObj ().isRelevant() && !((*it)->candidateObj ().isSatisfied())) {
|
||||
+ if((*it)->isNeeded()) {
|
||||
zypp::Patch::constPtr patch = zypp::asKind<zypp::Patch>((*it)->candidateObj ().resolvable ());
|
||||
if (_updating_self) {
|
||||
if (patch->restartSuggested ())
|
||||
--
|
||||
1.6.4.2
|
||||
|
17
PackageKit-cron-disabled-is-no-error.patch
Normal file
17
PackageKit-cron-disabled-is-no-error.patch
Normal file
@ -0,0 +1,17 @@
|
||||
Index: PackageKit-0.6.3/contrib/cron/packagekit-background.cron
|
||||
===================================================================
|
||||
--- PackageKit-0.6.3.orig/contrib/cron/packagekit-background.cron
|
||||
+++ PackageKit-0.6.3/contrib/cron/packagekit-background.cron
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
[ -f /etc/sysconfig/packagekit-background ] && . /etc/sysconfig/packagekit-background
|
||||
|
||||
# are we disabled?
|
||||
if [ "$ENABLED" = "no" ]; then
|
||||
- exit 1
|
||||
+ exit 0 # this is not an error, SO DO NOT EXIT WITH 1
|
||||
fi
|
||||
|
||||
# set default for SYSTEMNAME
|
||||
[ -z "$SYSTEMNAME" ] && SYSTEMNAME=$(hostname)
|
||||
|
@ -1,3 +1,23 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 28 17:10:59 CEST 2010 - ma@suse.de
|
||||
|
||||
- Add patches:
|
||||
+ 0001-zypp-fix-memeory-leaks.patch: fix memeory leaks.
|
||||
+ 0002-zypp-attempt-to-improve-backend_find_packages.patch
|
||||
zypp: attempt to improve backend_find_packages. (bnc#597772)
|
||||
+ 0003-zypp-let-libzypp-determine-whether-a-patch-is-needed.patch
|
||||
zypp: let libzypp determine whether a patch is needed. Together
|
||||
with the latest libzypp, this will no longer classify locked
|
||||
patches as being needed. (bnc#577118)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 28 10:00:07 UTC 2010 - seife@opensuse.org
|
||||
|
||||
- Add PackageKit-cron-disabled-is-no-error.patch: having
|
||||
the cron job disabled is not an error (after all it is
|
||||
configurable). Return value should be 0 in this case to stop
|
||||
annoying cronjob mails.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 21 11:31:15 CEST 2010 - meissner@suse.de
|
||||
|
||||
|
@ -60,10 +60,18 @@ Url: http://packagekit.org/
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
# PATCH-FEATURE-OPENSUSE PackageKit-sysconfig-cron.patch vuntz@opensuse.org -- Change the configuration of the cron script to a sysconfig-like config
|
||||
Patch0: PackageKit-sysconfig-cron.patch
|
||||
# PATCH-FEATURE-OPENSUSE PackageKit-cron-disabled-is-no-error.patch seife@opensuse.org -- Having the cron job disabled is no error. Otherwise it does not make sense to have it configurable.
|
||||
Patch1: PackageKit-cron-disabled-is-no-error.patch
|
||||
# PATCH-FIX-UPSTREAM PackageKit-libzypp6.patch fdo#20366
|
||||
Patch2: PackageKit-libzypp6.patch
|
||||
# PATCH-FIX-UPSTREAM PackageKit-BNC559802-zypp-count-patch-size.patch glin@novell.com -- calculate the download size of the patch
|
||||
Patch6: PackageKit-BNC559802-zypp-count-patch-size.patch
|
||||
# PATCH-FIX-UPSTREAM 0001-zypp-fix-memeory-leaks.patch ma@suse.de -- fix memory leaks
|
||||
Patch7: 0001-zypp-fix-memeory-leaks.patch
|
||||
# PATCH-FIX-UPSTREAM 0002-zypp-attempt-to-improve-backend_find_packages.patch bnc#597772 ma@suse.de -- Improve packend finding packages
|
||||
Patch8: 0002-zypp-attempt-to-improve-backend_find_packages.patch
|
||||
# PATCH-FIX-UPSTREAM 0003-zypp-let-libzypp-determine-whether-a-patch-is-needed.patch bnc#577118 ma@suse.de -- Let libzypp determine whether a patch is needed.
|
||||
Patch9: 0003-zypp-let-libzypp-determine-whether-a-patch-is-needed.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Requires: %{name}-branding
|
||||
Requires: %{name}-lang = %{version}
|
||||
@ -245,8 +253,12 @@ This package provides upstream Look and Feel for PackageKit.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
|
||||
%build
|
||||
%configure \
|
||||
|
Loading…
Reference in New Issue
Block a user