Merge branch 'master' into f16

This commit is contained in:
Rex Dieter 2012-04-16 10:44:17 -05:00
commit b177086974
3 changed files with 177 additions and 2 deletions

View file

@ -0,0 +1,44 @@
commit 26fc51cc073ef75f8468c3ac88f86f16edd922b1
Author: Daniel Nicoletti <dantti12@gmail.com>
Date: Mon Apr 2 21:38:07 2012 -0300
Fix updating that requires installing/updating packages from untrusted sources
BUG: 289398
diff --git a/Sentinel/UpdateIcon.cpp b/Sentinel/UpdateIcon.cpp
index 8aa1349..ac88df6 100644
--- a/Sentinel/UpdateIcon.cpp
+++ b/Sentinel/UpdateIcon.cpp
@@ -56,7 +56,6 @@ UpdateIcon::UpdateIcon(QObject* parent)
UpdateIcon::~UpdateIcon()
{
- removeStatusNotifierItem();
}
void UpdateIcon::showSettings()
diff --git a/libapper/PkTransaction.cpp b/libapper/PkTransaction.cpp
index 5a6e51d..6afd213 100644
--- a/libapper/PkTransaction.cpp
+++ b/libapper/PkTransaction.cpp
@@ -283,7 +283,7 @@ void PkTransaction::updatePackages()
Transaction *trans = new Transaction(this);
setupTransaction(trans);
setTransaction(trans, Transaction::RoleUpdatePackages);
- trans->updatePackages(d->packages, true);
+ trans->updatePackages(d->packages, d->onlyTrusted);
if (trans->error()) {
showSorry(i18n("Failed to update package"),
PkStrings::daemonError(trans->error()));
@@ -299,10 +299,7 @@ void PkTransaction::cancel()
void PkTransaction::setTransaction(Transaction *trans, Transaction::Role role)
{
- if (!trans) {
- // 0 pointer passed
- return;
- }
+ Q_ASSERT(trans);
m_trans = trans;
d->role = role;

118
apper-0.7.1-wakeups.patch Normal file
View file

@ -0,0 +1,118 @@
commit bfa0b337ae0c3efb08c9075af671be4371d4627f
Author: Daniel Nicoletti <dantti12@gmail.com>
Date: Sun Apr 15 10:49:40 2012 -0300
Add Supported filter entry
Fix repos not showing when refreshing the cache
diff --git a/ApperKCM/ApperKCM.cpp b/ApperKCM/ApperKCM.cpp
index ecd9a4d..4262ce7 100644
--- a/ApperKCM/ApperKCM.cpp
+++ b/ApperKCM/ApperKCM.cpp
@@ -83,7 +83,7 @@ ApperKCM::ApperKCM(QWidget *parent, const QVariantList &args) :
ki18n("(C) 2008-2011 Daniel Nicoletti"));
setAboutData(aboutData);
setButtons(Apply);
- KGlobal::locale()->insertCatalog("apper");
+ KGlobal::insertCatalog(QLatin1String("apper"));
// store the actions supported by the backend
m_roles = Daemon::actions();
diff --git a/ApperKCM/FiltersMenu.cpp b/ApperKCM/FiltersMenu.cpp
index 3a88cdf..2890d89 100644
--- a/ApperKCM/FiltersMenu.cpp
+++ b/ApperKCM/FiltersMenu.cpp
@@ -176,6 +176,37 @@ FiltersMenu::FiltersMenu(Transaction::Filters filters, QWidget *parent)
m_actions << freeNone;
}
+ if (filters & Transaction::FilterSupported || filters & Transaction::FilterNotSupported) {
+ // Supported
+ QMenu *menuSupported = new QMenu(i18nc("Filter for supported packages", "Supported"), this);
+ connect(menuSupported, SIGNAL(triggered(QAction*)),
+ this, SIGNAL(filtersChanged()));
+ addMenu(menuSupported);
+ QActionGroup *supportedGroup = new QActionGroup(menuSupported);
+ supportedGroup->setExclusive(true);
+
+ QAction *supportedTrue = new QAction(i18n("Only supported software"), supportedGroup);
+ supportedTrue->setCheckable(true);
+ m_filtersAction[supportedTrue] = Transaction::FilterSupported;
+ supportedGroup->addAction(supportedTrue);
+ menuSupported->addAction(supportedTrue);
+ m_actions << supportedTrue;
+
+ QAction *supportedFalse = new QAction(i18n("Only non-supported software"), supportedGroup);
+ supportedFalse->setCheckable(true);
+ m_filtersAction[supportedFalse] = Transaction::FilterNotSupported;
+ supportedGroup->addAction(supportedFalse);
+ menuSupported->addAction(supportedFalse);
+ m_actions << supportedFalse;
+
+ QAction *supportedNone = new QAction(i18n("No filter"), supportedGroup);
+ supportedNone->setCheckable(true);
+ supportedNone->setChecked(true);
+ supportedGroup->addAction(supportedNone);
+ menuSupported->addAction(supportedNone);
+ m_actions << supportedNone;
+ }
+
if (filters & Transaction::FilterSource || filters & Transaction::FilterNotSource) {
// Source
QMenu *menuSource = new QMenu(i18nc("Filter for source packages", "Source"), this);
diff --git a/apperd/apperd.cpp b/apperd/apperd.cpp
index 561e3da..3a7e8fe 100644
--- a/apperd/apperd.cpp
+++ b/apperd/apperd.cpp
@@ -128,6 +128,9 @@ void ApperD::poll()
// If lastRefreshCache is null it means that the cache was never refreshed
if (m_lastRefreshCache.isNull() || m_lastRefreshCache.toTime_t() < maxTime) {
callApperSentinel(QLatin1String("RefreshAndUpdate"));
+
+ // Invalidate the last time the cache was refreshed
+ m_lastRefreshCache = QDateTime();
}
}
@@ -159,6 +162,12 @@ void ApperD::transactionListChanged(const QStringList &tids)
message << static_cast<uint>(0);
QDBusConnection::sessionBus().send(message);
}
+
+ if (tids.isEmpty()) {
+ // update the last time the cache was refreshed
+ // TODO PackageKit should emit a property change for this
+ m_lastRefreshCache = getTimeSinceRefreshCache();
+ }
}
void ApperD::updatesChanged()
diff --git a/libapper/ProgressView.cpp b/libapper/ProgressView.cpp
index 21fb48e..6d2a85e 100644
--- a/libapper/ProgressView.cpp
+++ b/libapper/ProgressView.cpp
@@ -100,9 +100,10 @@ void ProgressView::handleRepo(bool handle) {
}
}
-void ProgressView::currentRepo(const QString &repoId, const QString &description)
+void ProgressView::currentRepo(const QString &repoId, const QString &description, bool enabled)
{
Q_UNUSED(repoId)
+ Q_UNUSED(enabled)
QStandardItem *item = new QStandardItem(description);
m_model->appendRow(item);
}
diff --git a/libapper/ProgressView.h b/libapper/ProgressView.h
index 0492622..4ccebf9 100644
--- a/libapper/ProgressView.h
+++ b/libapper/ProgressView.h
@@ -51,7 +51,7 @@ public:
public slots:
void currentPackage(const PackageKit::Package &package);
- void currentRepo(const QString &repoId, const QString &description);
+ void currentRepo(const QString& repoId, const QString& description, bool enabled);
private slots:
void followBottom(int value);

View file

@ -5,7 +5,7 @@
Name: apper
Version: 0.7.1
Release: 1%{?dist}
Release: 2%{?dist}
Summary: KDE interface for PackageKit
License: GPLv2+
@ -17,17 +17,23 @@ Source0: https://launchpad.net/apper/0.7/%{version}/+download/apper-%{version}.t
%endif
URL: http://kde-apps.org/content/show.php/Apper?content=84745
## upstream patches
# 806508 - "Unsigned packages" popup constantly reappears
Patch100: apper-0.7.1-untrusted.patch
# 752564 - Apper wakes up yumBackend.py every 5 to 10 minutes
Patch101: apper-0.7.1-wakeups.patch
Obsoletes: kpackagekit < 0.7.0
Provides: kpackagekit = %{version}-%{release}
# required because gnome-packagekit provides exactly the same interface
Provides: PackageKit-session-service
BuildRequires: chrpath
BuildRequires: dbus-devel
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: kdelibs4-devel
BuildRequires: kdebase-workspace-devel
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(packagekit-qt2) >= %{pk_min_version}
%{?_qt4_version:Requires: qt4%{?_isa} >= %{_qt4_version}}
@ -42,6 +48,9 @@ KDE interface for PackageKit.
%prep
%setup -q
%patch100 -p1 -b .untrusted
%patch101 -p1 -b .wakeups
%build
mkdir -p %{_target_platform}
@ -98,6 +107,10 @@ desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/apper.deskt
%changelog
* Mon Apr 16 2012 Rex Dieter <rdieter@fedoraproject.org> 0.7.1-2
- "Unsigned packages" popup constantly reappears (#806508)
- Apper wakes up yumBackend.py every 5 to 10 minutes (#752564)
* Tue Feb 21 2012 Rex Dieter <rdieter@fedoraproject.org> 0.7.1-1
- 0.7.1 (final)