Accepting request 723591 from KDE:Applications

Applications 19.08.0 (forwarded request 723532 from cgiboudeaux)

OBS-URL: https://build.opensuse.org/request/show/723591
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/k3b?expand=0&rev=102
This commit is contained in:
Dominique Leuenberger 2019-08-19 19:28:59 +00:00 committed by Git OBS Bridge
commit ec55e931e5
7 changed files with 319 additions and 6 deletions

View File

@ -0,0 +1,258 @@
From 8758abbdc54b674b4d005cfa296d96b8c92f8bec Mon Sep 17 00:00:00 2001
From: Luca Beltrame <lbeltrame@kde.org>
Date: Mon, 3 Jun 2019 22:31:35 +0200
Subject: [PATCH] Revert "Enable the k3b helper by default"
This reverts commit cb4985b00dc2d1a1e27850dcd672093426aafd8b.
---
CMakeLists.txt | 2 ++
INSTALL.txt | 2 ++
config-k3b.h.cmake | 2 ++
src/CMakeLists.txt | 4 +++-
src/option/k3bdevicewidget.cpp | 12 ++++++++++++
src/option/k3bexternalbinpermissionmodel.cpp | 2 ++
src/option/k3bexternalbinwidget.cpp | 17 +++++++++++++++++
src/option/k3bexternalbinwidget.h | 2 ++
8 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5d3bd9827..fb8fe81e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,6 +34,7 @@ option(K3B_ENABLE_MUSICBRAINZ "Support for querying metadata about audio tracks
option(K3B_ENABLE_DVD_RIPPING "Support for ripping Video DVDs with optional decryption." ON)
option(K3B_ENABLE_TAGLIB "Support for reading audio file metadata using Taglib." ON)
option(K3B_BUILD_API_DOCS "Build the API documentation for the K3b libs." OFF)
+option(K3B_ENABLE_PERMISSION_HELPER "Build the permissions helper program" OFF)
# plugin options
option(K3B_BUILD_FFMPEG_DECODER_PLUGIN "Build FFmpeg decoder plugin" ON)
@@ -270,6 +271,7 @@ set(BUILD_EXTERNAL_ENCODER_PLUGIN "${K3B_BUILD_EXTERNAL_ENCODER_PLUGIN}")
set(ENABLE_HAL_SUPPORT "${K3B_ENABLE_HAL_SUPPORT}")
set(ENABLE_AUDIO_PLAYER "${QT_QTMULTIMEDIA_FOUND}")
+set(ENABLE_PERMISSION_HELPER "${K3B_ENABLE_PERMISSION_HELPER}")
if(IS_ABSOLUTE ${DATA_INSTALL_DIR})
set(K3B_DATA_INSTALL_DIR ${DATA_INSTALL_DIR}/k3b)
diff --git a/INSTALL.txt b/INSTALL.txt
index 9cd107ddd..f1ae3228d 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -44,6 +44,7 @@ For debug:
-DKDE_INSTALL_LIBEXECDIR=lib \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DK3B_BUILD_API_DOCS=ON \
+ -DK3B_ENABLE_PERMISSION_HELPER=ON \
-DK3B_DEBUG=ON
dynamic analyzer and fuzzer:
@@ -56,6 +57,7 @@ For debug:
-DKDE_INSTALL_LIBEXECDIR=lib \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DK3B_BUILD_API_DOCS=ON \
+ -DK3B_ENABLE_PERMISSION_HELPER=ON \
-DK3B_DEBUG=ON
If the cmake run was successful you are presented with a list of configure results that shows
diff --git a/config-k3b.h.cmake b/config-k3b.h.cmake
index f2a6fe20e..c9b41d0cf 100644
--- a/config-k3b.h.cmake
+++ b/config-k3b.h.cmake
@@ -20,6 +20,8 @@
#cmakedefine ENABLE_AUDIO_PLAYER
+#cmakedefine ENABLE_PERMISSION_HELPER
+
#cmakedefine HAVE_BYTESWAP_H
#cmakedefine WORDS_BIGENDIAN
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1a45e18d7..d9cd935b3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,5 +1,7 @@
-add_subdirectory( helper )
+if(ENABLE_PERMISSION_HELPER)
+ add_subdirectory( helper )
+endif(ENABLE_PERMISSION_HELPER)
add_subdirectory( icons )
add_subdirectory( pics )
diff --git a/src/option/k3bdevicewidget.cpp b/src/option/k3bdevicewidget.cpp
index 6c2d6a0e8..42479bfbe 100644
--- a/src/option/k3bdevicewidget.cpp
+++ b/src/option/k3bdevicewidget.cpp
@@ -57,7 +57,9 @@ K3b::DeviceWidget::DeviceWidget( K3b::Device::DeviceManager* manager, QWidget *p
m_messageWidget = new KMessageWidget( this );
m_messageWidget->hide();
m_messageWidget->setWordWrap( true );
+#ifdef ENABLE_PERMISSION_HELPER
m_addToGroupAction = new QAction( QIcon::fromTheme("dialog-password"), QString(), this );
+#endif
// buttons
// ------------------------------------------------
@@ -94,7 +96,9 @@ K3b::DeviceWidget::DeviceWidget( K3b::Device::DeviceManager* manager, QWidget *p
// ------------------------------------------------
connect( buttonRefreshDevices, SIGNAL(clicked()), SIGNAL(refreshButtonClicked()) );
connect( m_deviceManager, SIGNAL(changed()), SLOT(init()) );
+#ifdef ENABLE_PERMISSION_HELPER
connect( m_addToGroupAction, SIGNAL(triggered(bool)), SLOT(addUserToGroup()) );
+#endif
// ------------------------------------------------
}
@@ -243,10 +247,16 @@ void K3b::DeviceWidget::updateDeviceListViews()
if (!groupNames.contains(m_deviceGroup)) {
QString messageText = i18n("In order to give K3b full access to the writer device the current user needs be added to a group <em>%1</em>.", m_deviceGroup);
+#ifndef ENABLE_PERMISSION_HELPER
+ messageText += i18n("<br/>The Permission helper that could do this for you was not enabled during build.<br/>"
+ "Please rebuild the package with the Permission helper enabled or contact your distribution.");
+#endif
m_messageWidget->setMessageType(KMessageWidget::Warning);
m_messageWidget->setText(messageText);
+#ifdef ENABLE_PERMISSION_HELPER
m_messageWidget->addAction(m_addToGroupAction);
m_addToGroupAction->setText(i18n("Add"));
+#endif
m_messageWidget->animatedShow();
}
}
@@ -255,6 +265,7 @@ void K3b::DeviceWidget::updateDeviceListViews()
void K3b::DeviceWidget::addUserToGroup()
{
+#ifdef ENABLE_PERMISSION_HELPER
QVariantMap args;
args["groupName"] = m_deviceGroup;
args["userName"] = QString::fromLocal8Bit(getpwuid(getuid())->pw_name);
@@ -278,4 +289,5 @@ void K3b::DeviceWidget::addUserToGroup()
}
} );
job->start();
+#endif
}
diff --git a/src/option/k3bexternalbinpermissionmodel.cpp b/src/option/k3bexternalbinpermissionmodel.cpp
index 156c10d75..aed13e10c 100644
--- a/src/option/k3bexternalbinpermissionmodel.cpp
+++ b/src/option/k3bexternalbinpermissionmodel.cpp
@@ -348,6 +348,7 @@ QModelIndex ExternalBinPermissionModel::buddy( const QModelIndex& index ) const
void ExternalBinPermissionModel::setBurningGroup( const QString& burningGroup )
{
+#ifdef ENABLE_PERMISSION_HELPER
if( burningGroup != d->burningGroup ) {
beginResetModel();
d->burningGroup = burningGroup;
@@ -364,6 +365,7 @@ void ExternalBinPermissionModel::setBurningGroup( const QString& burningGroup )
}
endResetModel();
}
+#endif
}
void ExternalBinPermissionModel::update()
diff --git a/src/option/k3bexternalbinwidget.cpp b/src/option/k3bexternalbinwidget.cpp
index 10846b282..e90894213 100644
--- a/src/option/k3bexternalbinwidget.cpp
+++ b/src/option/k3bexternalbinwidget.cpp
@@ -111,7 +111,12 @@ K3b::ExternalBinWidget::ExternalBinWidget( K3b::ExternalBinManager* manager, QWi
// setup permissions tab
// ------------------------------------------------------------
QWidget* permissionsTab = new QWidget( m_mainTabWidget );
+#ifdef ENABLE_PERMISSION_HELPER
QLabel* permissionsLabel = new QLabel( i18n("Check the programs whose permissions you want to be changed:"), permissionsTab );
+#else
+ QLabel* permissionsLabel = new QLabel( i18n("The Permissions helper was not enabled during build.\n"
+ "Check the programs whose permissions should be changed:"), permissionsTab );
+#endif
permissionsLabel->setWordWrap( true );
m_permissionModel = new ExternalBinPermissionModel( *manager, permissionsTab );
m_permissionView = new QTreeView( permissionsTab );
@@ -119,11 +124,15 @@ K3b::ExternalBinWidget::ExternalBinWidget( K3b::ExternalBinManager* manager, QWi
m_permissionView->setAllColumnsShowFocus( true );
m_permissionView->setRootIsDecorated( false );
m_permissionView->header()->setSectionResizeMode( ExternalBinPermissionModel::ProgramColumn, QHeaderView::ResizeToContents );
+#ifdef ENABLE_PERMISSION_HELPER
m_changePermissionsButton = new QPushButton( QIcon::fromTheme("dialog-password"), i18n( "Change Permissions..." ), this );
+#endif
QVBoxLayout* permissionsTabLayout = new QVBoxLayout( permissionsTab );
permissionsTabLayout->addWidget( permissionsLabel );
permissionsTabLayout->addWidget( m_permissionView );
+#ifdef ENABLE_PERMISSION_HELPER
permissionsTabLayout->addWidget( m_changePermissionsButton );
+#endif
m_mainTabWidget->addTab( permissionsTab, i18n("Permissions") );
@@ -142,14 +151,17 @@ K3b::ExternalBinWidget::ExternalBinWidget( K3b::ExternalBinManager* manager, QWi
m_mainTabWidget->addTab( searchPathTab, i18n("Search Path") );
+#ifdef ENABLE_PERMISSION_HELPER
connect( m_changePermissionsButton, SIGNAL(clicked()), SLOT(slotChangePermissions()) );
connect( m_permissionModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), SLOT(slotPermissionModelChanged()) );
connect( m_permissionModel, SIGNAL(modelReset()), SLOT(slotPermissionModelChanged()) );
+#endif
connect( m_rescanButton, SIGNAL(clicked(bool)), this, SLOT(rescan()) );
qRegisterMetaType<HelperProgramItem>();
qRegisterMetaTypeStreamOperators<HelperProgramItem>("K3b::HelperProgramItem");
+#ifdef ENABLE_PERMISSION_HELPER
while (::group *g = ::getgrent()) {
const QString groupName = QString::fromLocal8Bit(g->gr_name);
if (groupName == "cdrom" ||
@@ -159,6 +171,7 @@ K3b::ExternalBinWidget::ExternalBinWidget( K3b::ExternalBinManager* manager, QWi
}
}
::endgrent();
+#endif
}
@@ -205,12 +218,15 @@ void K3b::ExternalBinWidget::saveSearchPath()
void K3b::ExternalBinWidget::slotPermissionModelChanged()
{
+#ifdef ENABLE_PERMISSION_HELPER
m_changePermissionsButton->setEnabled(m_permissionModel->changesNeeded());
+#endif
}
void K3b::ExternalBinWidget::slotChangePermissions()
{
+#ifdef ENABLE_PERMISSION_HELPER
KAuth::Action action("org.kde.k3b.updatepermissions");
action.setHelperId("org.kde.k3b");
action.setParentWidget(this);
@@ -252,6 +268,7 @@ void K3b::ExternalBinWidget::slotChangePermissions()
}
} );
job->start();
+#endif
}
diff --git a/src/option/k3bexternalbinwidget.h b/src/option/k3bexternalbinwidget.h
index d1f1e74f9..ce4ec60ec 100644
--- a/src/option/k3bexternalbinwidget.h
+++ b/src/option/k3bexternalbinwidget.h
@@ -66,7 +66,9 @@ namespace K3b {
QTreeView* m_permissionView;
KEditListWidget* m_searchPathBox;
+#ifdef ENABLE_PERMISSION_HELPER
QPushButton* m_changePermissionsButton;
+#endif
QPushButton* m_rescanButton;
};
}
--
2.21.0

BIN
applications.keyring Normal file

Binary file not shown.

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c92b7b811f47d31b107aa14fb1e21d01a8635c208c1503f4ddf183522501df61
size 10496576

3
k3b-19.08.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a740724945496395cea1b5850ea9567a9aa9cc8a28c5366c9709b4226dc4b10
size 10499140

11
k3b-19.08.0.tar.xz.sig Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEE8jJ15L8Qr8HfaRSm29LOiT4tHIcFAl1MxnsACgkQ29LOiT4t
HIcPZQgAgCSPAGkfR15zp2DFF2OsVI5GPOIyuEVls2q0G8acNSqIzg1Z96540aiH
jLzA21pUTi0K4vwpUy1vNrC7UTASsq35NULavJLxhIaWjovvjbqtRwDjr8kBYwXe
JEQG6wBo/5XFo3JncYTCZoLhBxjmpL6eXaPf1xQkRC60pgdXcmZCD0FPxLogroR+
aHI12mD75w0IlE/r8CTOyxh2eYAHdRRwAyUUKuMbythP73adBYkmYHQ0lIM+/5FB
RCeMF0O027TZXOJJDdDeV8VOwnLTgXWjkN6OyG4bTV2iRAkx3HbWr8Odo1xwzVVg
/+5N9yR98mPlc0kZxVrAkOhRQzOV6A==
=RJKJ
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,41 @@
-------------------------------------------------------------------
Fri Aug 9 08:30:15 UTC 2019 - Christophe Giboudeaux <christophe@krop.fr>
- Update to 19.08.0
* New feature release
* For more details please see:
* https://www.kde.org/announcements/announce-applications-19.08.0.php
- No code change since 19.07.90
-------------------------------------------------------------------
Tue Aug 06 16:50:47 UTC 2019 - lbeltrame@kde.org
- Update to 19.07.90
* New bugfix release
* For more details please see:
* https://www.kde.org/announcements/announce-applications-19.08-rc.php
- No code changes since 19.07.80
-------------------------------------------------------------------
Tue Jul 23 11:58:56 UTC 2019 - lbeltrame@kde.org
- Update to 19.07.80
* New feature release
* For more details please see:
* https://www.kde.org/announcements/announce-applications-19.08-beta.php
- Changes since 19.04.3:
* Use lambda instead of QSignalMapper
* stick to one category
* Fix no Elapsed time information issue after finished job.. (kde#405994)
* Enable the k3b helper by default
* Connect to result and not statusChanged
* KAuth needs the return type to be ActionReply
* Permission helpers: Start the jobs, otherwise this is a noop
* Remove useless if
* Remove ENABLE_PERMISSION_HELPER use guarding slots
- Add downstream patch to disable the KAuth helper:
* 0001-Revert-Enable-the-k3b-helper-by-default.patch
-------------------------------------------------------------------
Sat Jul 13 07:26:33 UTC 2019 - lbeltrame@kde.org

View File

@ -21,15 +21,21 @@
%bcond_without lame
%bcond_without mad
Name: k3b
Version: 19.04.3
Version: 19.08.0
Release: 0
Summary: CD/DVD/Blu-ray Burning Application for KDE
License: GPL-2.0-or-later
Group: Productivity/Multimedia/CD/Record
URL: http://www.kde.org
Source: %{name}-%{version}.tar.xz
URL: https://www.kde.org
Source: https://download.kde.org/stable/applications/%{version}/src/%{name}-%{version}.tar.xz
%if %{with lang}
Source1: https://download.kde.org/stable/applications/%{version}/src/%{name}-%{version}.tar.xz.sig
Source2: applications.keyring
%endif
# PATCH-FIX-OPENSUSE
Patch1: Don-t-suggest-to-install-libburn.patch
# PATCH-FIX-OPENSUSE
Patch2: 0001-Revert-Enable-the-k3b-helper-by-default.patch
BuildRequires: extra-cmake-modules
BuildRequires: fdupes
BuildRequires: flac-devel