[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: