Freeze exception for kde-gtk-config/3:2.1-1 (fix RC #678714)
Dear release team,
I ask for a freeze exception for kde-gtk-config version 3:2.1-1.
File in attachment was produced using command:
$ debdiff kde-gtk-config_2.0-3.dsc kde-gtk-config_2.1-1.dsc | \
filterdiff -x '*/po/*' -x '*.desktop' > kde-gtk-config_2.0-3:2.1-1.diff
Info for my sponsor (see Cc field):
http://mentors.debian.net/debian/pool/main/k/kde-gtk-config/kde-gtk-config_2.1-1.dsc
Best regards,
Boris
diff -Nru kde-gtk-config-2.0/debian/changelog kde-gtk-config-2.1/debian/changelog
--- kde-gtk-config-2.0/debian/changelog 2012-06-08 07:07:18.000000000 +0300
+++ kde-gtk-config-2.1/debian/changelog 2012-07-06 00:40:04.000000000 +0300
@@ -1,3 +1,19 @@
+kde-gtk-config (3:2.1-1) unstable; urgency=low
+
+ * Update to stable release 2.1.
+ * Deleted file debian/patches/fix-build-on-kfreebsd-and-hurd-i386:
+ accepted in upstream.
+ * Added file debian/patches/fix-loading-icons:
+ without this patch KDE-GTK-Config module scans ./ directory if option
+ gtk-icon-theme-name or option gtk-fallback-icon-theme is empty or invalid,
+ now first element from the list of found icon themes is used.
+ (Closes: #678714)
+ * Added file debian/patches/ignore-symlinks:
+ prevents of possible infinite loop because of circular symlinks.
+ (see #678714)
+
+ -- Boris Pek <tehnick-8@mail.ru> Fri, 29 Jun 2012 01:31:54 +0300
+
kde-gtk-config (3:2.0-3) unstable; urgency=low
* Package moved to unstable after tests: no changes required.
diff -Nru kde-gtk-config-2.0/debian/patches/fix-build-on-kfreebsd-and-hurd-i386 kde-gtk-config-2.1/debian/patches/fix-build-on-kfreebsd-and-hurd-i386
--- kde-gtk-config-2.0/debian/patches/fix-build-on-kfreebsd-and-hurd-i386 2012-06-08 07:06:49.000000000 +0300
+++ kde-gtk-config-2.1/debian/patches/fix-build-on-kfreebsd-and-hurd-i386 1970-01-01 03:00:00.000000000 +0300
@@ -1,15 +0,0 @@
-Description: Fix build in Debian GNU/kFreeBSD and in Debian GNU/Hurd
-Author: Boris Pek <tehnick-8@mail.ru>
-Last-Update: 2012-06-06
-
---- a/gtk3proxies/preview3.c
-+++ b/gtk3proxies/preview3.c
-@@ -24,8 +24,6 @@
- #include <stdio.h>
- #include <assert.h>
- #include <stdlib.h>
--
--#include <sys/inotify.h>
- #include <string.h>
-
- void printHelp()
diff -Nru kde-gtk-config-2.0/debian/patches/fix-loading-icons kde-gtk-config-2.1/debian/patches/fix-loading-icons
--- kde-gtk-config-2.0/debian/patches/fix-loading-icons 1970-01-01 03:00:00.000000000 +0300
+++ kde-gtk-config-2.1/debian/patches/fix-loading-icons 2012-07-06 00:40:04.000000000 +0300
@@ -0,0 +1,63 @@
+Description: Fix loading icons
+ Without this patch KDE-GTK-Config module scans ./ directory if option
+ gtk-icon-theme-name or option gtk-fallback-icon-theme is empty or invalid.
+ Now first element from the list of found icon themes is used.
+Bug-Debian: http://bugs.debian.org/678714
+Author: Boris Pek <tehnick-8@mail.ru>
+Last-Update: 2012-07-05
+
+--- a/src/gtkconfigkcmodule.cpp
++++ b/src/gtkconfigkcmodule.cpp
+@@ -199,21 +199,26 @@
+ void tryIcon(QLabel* label, const QString& fallback, const QString& theme, const QString& iconName)
+ {
+ label->setToolTip(iconName);
+-
+- QString ret = IconThemesModel::findFilesRecursively(QStringList(iconName+".*"), theme);
+- if(!ret.isEmpty()) {
+- QPixmap p(ret);
+- Q_ASSERT(!p.isNull());
+- label->setPixmap(p);
+- return;
++ QString ret = "";
++
++ if (!theme.isEmpty()) {
++ ret = IconThemesModel::findFilesRecursively(QStringList(iconName+".*"), theme);
++ if(!ret.isEmpty()) {
++ QPixmap p(ret);
++ Q_ASSERT(!p.isNull());
++ label->setPixmap(p);
++ return;
++ }
+ }
+
+- ret = IconThemesModel::findFilesRecursively(QStringList(iconName+".*"), fallback);
+- if(!ret.isEmpty()) {
+- QPixmap p(ret);
+- Q_ASSERT(!p.isNull());
+- label->setPixmap(p);
+- return;
++ if (!fallback.isEmpty()) {
++ ret = IconThemesModel::findFilesRecursively(QStringList(iconName+".*"), fallback);
++ if(!ret.isEmpty()) {
++ QPixmap p(ret);
++ Q_ASSERT(!p.isNull());
++ label->setPixmap(p);
++ return;
++ }
+ }
+
+ KIcon notFoundIcon("application-x-zerosize");
+@@ -403,8 +403,10 @@
+ //icons
+ QString currentIcon = useConfig ? appareance->getIcon() : ui->cb_icon->currentText(),
+ currentFallback = useConfig ? appareance->getIconFallback() : ui->cb_icon_fallback->currentText();
+- ui->cb_icon->setCurrentIndex(ui->cb_icon->findData(currentIcon, IconThemesModel::DirNameRole));
+- ui->cb_icon_fallback->setCurrentIndex(ui->cb_icon_fallback->findData(currentFallback, IconThemesModel::DirNameRole));
++ int currentIconIndex = ui->cb_icon->findData(currentIcon, IconThemesModel::DirNameRole),
++ currentFallbackIndex = ui->cb_icon_fallback->findData(currentFallback, IconThemesModel::DirNameRole);
++ ui->cb_icon->setCurrentIndex(currentIconIndex >= 0 ? currentFallbackIndex : 0);
++ ui->cb_icon_fallback->setCurrentIndex(currentFallbackIndex >= 0 ? currentFallbackIndex : 0);
+
+ m_saveEnabled = wasenabled;
+ }
diff -Nru kde-gtk-config-2.0/debian/patches/ignore-symlinks kde-gtk-config-2.1/debian/patches/ignore-symlinks
--- kde-gtk-config-2.0/debian/patches/ignore-symlinks 1970-01-01 03:00:00.000000000 +0300
+++ kde-gtk-config-2.1/debian/patches/ignore-symlinks 2012-07-06 00:40:04.000000000 +0300
@@ -0,0 +1,78 @@
+Description: Patch for ignoring symlinks during searching available themes
+ Prevents of possible infinite loop because of circular symlinks.
+Bug-Debian: http://bugs.debian.org/678714
+Author: Boris Pek <tehnick-8@mail.ru>
+Last-Update: 2012-06-29
+
+--- a/src/appearancegtk2.cpp
++++ b/src/appearancegtk2.cpp
+@@ -145,11 +145,11 @@
+ {
+ //TODO: Port to KStandardDirs
+ QDir root("/usr/share/themes");
+- QFileInfoList availableThemes = root.entryInfoList(QDir::NoDotAndDotDot|QDir::AllDirs);
++ QFileInfoList availableThemes = root.entryInfoList(QDir::NoDotAndDotDot|QDir::AllDirs|QDir::NoSymLinks);
+
+ //Check if there are themes installed by the user
+ QDir user(QDir::homePath()+"/.themes");
+- availableThemes += user.entryInfoList(QDir::NoDotAndDotDot|QDir::AllDirs);
++ availableThemes += user.entryInfoList(QDir::NoDotAndDotDot|QDir::AllDirs|QDir::NoSymLinks);
+
+ //we just want actual themes
+ QStringList paths;
+--- a/src/appearancegtk3.cpp
++++ b/src/appearancegtk3.cpp
+@@ -29,11 +29,11 @@
+ {
+ //TODO: port to kstandarddirs
+ QDir root("/usr/share/themes");
+- QFileInfoList availableThemes = root.entryInfoList(QDir::NoDotAndDotDot|QDir::AllDirs);
++ QFileInfoList availableThemes = root.entryInfoList(QDir::NoDotAndDotDot|QDir::AllDirs|QDir::NoSymLinks);
+
+ //Also show the user-installed themes
+ QDir user(QDir::homePath()+"/.themes");
+- availableThemes += user.entryInfoList(QDir::NoDotAndDotDot|QDir::AllDirs);
++ availableThemes += user.entryInfoList(QDir::NoDotAndDotDot|QDir::AllDirs|QDir::NoSymLinks);
+
+ //we just want actual themes
+ QStringList themes;
+--- a/src/iconthemesmodel.cpp
++++ b/src/iconthemesmodel.cpp
+@@ -54,7 +54,7 @@
+
+ // We verify if there are themes in the home folder
+ QDir userIconsDir(QDir::home().filePath("/.icons"));
+- QDirIterator it(userIconsDir.path(), QDir::NoDotAndDotDot|QDir::AllDirs);
++ QDirIterator it(userIconsDir.path(), QDir::NoDotAndDotDot|QDir::AllDirs|QDir::NoSymLinks);
+ while(it.hasNext()) {
+ QString currentPath = it.next();
+ QDir dir(currentPath);
+@@ -83,7 +83,7 @@
+ return f.absoluteFilePath();
+ }
+
+- QStringList subdirs = directory.entryList(QDir::AllDirs|QDir::NoDotAndDotDot);
++ QStringList subdirs = directory.entryList(QDir::AllDirs|QDir::NoDotAndDotDot|QDir::NoSymLinks);
+ qSort(subdirs.begin(), subdirs.end(), greatSizeIs48);
+ foreach(const QString& subdir, subdirs) {
+ QString ret = findFilesRecursively(wildcard, QDir(directory.filePath(subdir)));
+--- a/src/thread.cpp
++++ b/src/thread.cpp
+@@ -84,7 +84,7 @@
+ }
+
+ // Package extracted in the temp dir. Now we want to know the name
+- QString folder=temporal.entryList(QDir::AllDirs|QDir::NoDotAndDotDot).first();
++ QString folder=temporal.entryList(QDir::AllDirs|QDir::NoDotAndDotDot|QDir::NoSymLinks).first();
+
+ kDebug() << "FOUND THEME FOLDER = " << folder;
+ kDebug() << "\n******* THEME " << temporal.path()+'/'+folder;
+@@ -176,7 +176,7 @@
+ }
+
+ //archive extracted in the temp directory
+- QString folder= temporal.entryList(QDir::AllDirs|QDir::NoDotAndDotDot).first();
++ QString folder= temporal.entryList(QDir::AllDirs|QDir::NoDotAndDotDot|QDir::NoSymLinks).first();
+ kDebug() << "FOUND THEME FOLDER = " << folder;
+ kDebug() << "\n******* THEME " << temporal.path()+'/'+folder;
+
diff -Nru kde-gtk-config-2.0/debian/patches/series kde-gtk-config-2.1/debian/patches/series
--- kde-gtk-config-2.0/debian/patches/series 2012-06-08 07:06:49.000000000 +0300
+++ kde-gtk-config-2.1/debian/patches/series 2012-07-06 00:40:04.000000000 +0300
@@ -1,2 +1,3 @@
mirgation-from-package-src:kcm-gtk
-fix-build-on-kfreebsd-and-hurd-i386
+ignore-symlinks
+fix-loading-icons
diff -Nru kde-gtk-config-2.0/gtk3proxies/preview3.c kde-gtk-config-2.1/gtk3proxies/preview3.c
--- kde-gtk-config-2.0/gtk3proxies/preview3.c 2012-03-05 20:02:20.000000000 +0200
+++ kde-gtk-config-2.1/gtk3proxies/preview3.c 2012-06-13 11:13:50.000000000 +0300
@@ -24,8 +24,6 @@
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
-
-#include <sys/inotify.h>
#include <string.h>
void printHelp()
diff -Nru kde-gtk-config-2.0/kde-gtk-config.desktop kde-gtk-config-2.1/kde-gtk-config.desktop
diff -Nru kde-gtk-config-2.0/po/ca/kde-gtk-config.po kde-gtk-config-2.1/po/ca/kde-gtk-config.po
diff -Nru kde-gtk-config-2.0/po/CMakeLists.txt kde-gtk-config-2.1/po/CMakeLists.txt
diff -Nru kde-gtk-config-2.0/po/de/kde-gtk-config.po kde-gtk-config-2.1/po/de/kde-gtk-config.po
diff -Nru kde-gtk-config-2.0/po/et/kde-gtk-config.po kde-gtk-config-2.1/po/et/kde-gtk-config.po
diff -Nru kde-gtk-config-2.0/po/fr/kde-gtk-config.po kde-gtk-config-2.1/po/fr/kde-gtk-config.po
diff -Nru kde-gtk-config-2.0/po/hu/kde-gtk-config.po kde-gtk-config-2.1/po/hu/kde-gtk-config.po
diff -Nru kde-gtk-config-2.0/po/km/CMakeLists.txt kde-gtk-config-2.1/po/km/CMakeLists.txt
diff -Nru kde-gtk-config-2.0/po/km/kde-gtk-config.po kde-gtk-config-2.1/po/km/kde-gtk-config.po
diff -Nru kde-gtk-config-2.0/po/pl/kde-gtk-config.po kde-gtk-config-2.1/po/pl/kde-gtk-config.po
diff -Nru kde-gtk-config-2.0/po/pt_BR/kde-gtk-config.po kde-gtk-config-2.1/po/pt_BR/kde-gtk-config.po
diff -Nru kde-gtk-config-2.0/po/ru/kde-gtk-config.po kde-gtk-config-2.1/po/ru/kde-gtk-config.po
diff -Nru kde-gtk-config-2.0/po/sk/CMakeLists.txt kde-gtk-config-2.1/po/sk/CMakeLists.txt
diff -Nru kde-gtk-config-2.0/po/sk/kde-gtk-config.po kde-gtk-config-2.1/po/sk/kde-gtk-config.po
Reply to: