Mark,

I have recently prepared two fix uploads for both digikam/kipi-plugins. For 

digikam, I have corrected installation path for apps icons, so that even in 
non-KDE desktop, proper icons are displayed for digikam.showfoto. I have also 
moved some files to showfoto package, as they were in digikam.

For kipi-plugins, I have just backported couple of fixes for PicasaWeb export, 
as the plugin has crashes and does not get album list properly.

Not sure if above fixes would be acceptable for Debian and what your policy is 
regarding backporting such fixes.

Regarding kipi-plugins, we got this bug in Ubuntu:
https://launchpad.net/bugs/349955

It is actually good question why we need to depend on dolphin/konqueror - I 
can not recall which plugin really need it (only FlashExport for downloading 
of simpleviewer...), but again we are probably safe to assume that web-browser 
is available...

vorbis-tools is probably also left over from mpg123 converter...

Regards,
Luka

diff -u digikam-0.10.0/debian/changelog digikam-0.10.0/debian/changelog
--- digikam-0.10.0/debian/changelog
+++ digikam-0.10.0/debian/changelog
@@ -1,3 +1,14 @@
+digikam (2:0.10.0-1ubuntu2~lure~ppa4) jaunty; urgency=low
+
+  * Fix installation path for application icons (digikam/showfoto)
+    Install app icons in /usr/share/icons/hicolor (KDE bug 187748).
+    This fixes missing icons in non-KDE desktops (GNOME, XFCE).
+    Added debian/patches/01-fix-apps-icons-path.patch
+  * Move showfoto data directory to showfoto package.
+    Conflicts/Replaces added to take care of transition.
+
+ -- Luka Renko <l...@ubuntu.com>  Sun, 22 Mar 2009 20:33:46 +0100
+
 digikam (2:0.10.0-1ubuntu1) jaunty; urgency=low
 
   * Remaining changes to Debian (committed to Debian SVN):
diff -u digikam-0.10.0/debian/showfoto.install digikam-0.10.0/debian/showfoto.install
--- digikam-0.10.0/debian/showfoto.install
+++ digikam-0.10.0/debian/showfoto.install
@@ -1,7 +1,6 @@
 usr/bin/showfoto
 usr/share/applications/kde4/showfoto.desktop
-
-# Oxygen allready in KDE
-#usr/share/icons/oxygen/*/apps/showfoto.*
+usr/share/icons/hicolor/*/apps/showfoto.*
+usr/share/kde4/apps/showfoto
 debian/xpm.d/showfoto.xpm usr/share/pixmaps/
 debian/xpm.d/showfoto-16.xpm usr/share/pixmaps/
diff -u digikam-0.10.0/debian/control digikam-0.10.0/debian/control
--- digikam-0.10.0/debian/control
+++ digikam-0.10.0/debian/control
@@ -59,6 +59,8 @@
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, digikam (= ${binary:Version})
 Recommends: dolphin, kipi-plugins
+Conflicts: digikam (<= 2:0.10.0-1ubuntu1)
+Replaces: digikam (<= 2:0.10.0-1ubuntu1)
 Description: image viewer/editor for KDE
  Showphoto is the standalone image editor of the  digiKam project.
  .
diff -u digikam-0.10.0/debian/digikam.install digikam-0.10.0/debian/digikam.install
--- digikam-0.10.0/debian/digikam.install
+++ digikam-0.10.0/debian/digikam.install
@@ -3,11 +3,10 @@
 usr/lib
 usr/share/applications/kde4/digikam.desktop
-
-# Oxygen Icons allready in kde-icons-oxygen
-#usr/share/icons/oxygen/*/actions
-#usr/share/icons/oxygen/*/apps/digikam.*
-
+usr/share/icons/hicolor/*/apps/digikam.*
 usr/share/locale
-usr/share/kde4
+usr/share/kde4/apps/solid
+usr/share/kde4/apps/digikam
+usr/share/kde4/servicetypes
+usr/share/kde4/services
 debian/xpm.d/digikam.xpm usr/share/pixmaps/
 debian/xpm.d/digikam-16.xpm usr/share/pixmaps/
only in patch2:
unchanged:
--- digikam-0.10.0.orig/debian/patches/01-fix-apps-icons-path.patch
+++ digikam-0.10.0/debian/patches/01-fix-apps-icons-path.patch
@@ -0,0 +1,9 @@
+diff -Nur -x '*.orig' -x '*~' digikam-0.10.0/data/icons/oxygen/CMakeLists.txt digikam-0.10.0.new/data/icons/oxygen/CMakeLists.txt
+--- digikam-0.10.0/data/icons/oxygen/CMakeLists.txt	2009-03-23 07:38:27.518256000 +0100
++++ digikam-0.10.0.new/data/icons/oxygen/CMakeLists.txt	2009-03-23 07:39:22.810230525 +0100
+@@ -1,4 +1,4 @@
+ 
+ set(oxygen_icon_dirs 128x128 16x16 22x22 32x32 48x48 64x64 scalable)
+ 
+-install(DIRECTORY ${oxygen_icon_dirs} DESTINATION ${DATA_INSTALL_DIR}/digikam/icons/oxygen PATTERN .svn EXCLUDE)
++install(DIRECTORY ${oxygen_icon_dirs} DESTINATION ${ICON_INSTALL_DIR}/hicolor PATTERN .svn EXCLUDE)
diff -u kipi-plugins-0.2.0/debian/control kipi-plugins-0.2.0/debian/control
--- kipi-plugins-0.2.0/debian/control
+++ kipi-plugins-0.2.0/debian/control
@@ -4,7 +4,7 @@
 Maintainer: Ubuntu Core Developers <ubuntu-devel-disc...@lists.ubuntu.com>
 XSBC-Original-Maintainer: Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>
 Uploaders: Mark Purcell <m...@debian.org>, Achim Bohnet <a...@mpe.mpg.de>, Fathi Boudra <f...@debian.org>
-Build-Depends: cdbs, debhelper (>= 7), pkg-config,
+Build-Depends: cdbs, quilt, debhelper (>= 7), pkg-config,
  libgphoto2-2-dev,
  kdelibs5-dev,
  kdepimlibs5-dev,
diff -u kipi-plugins-0.2.0/debian/changelog kipi-plugins-0.2.0/debian/changelog
--- kipi-plugins-0.2.0/debian/changelog
+++ kipi-plugins-0.2.0/debian/changelog
@@ -1,3 +1,15 @@
+kipi-plugins (0.2.0-1ubuntu3) jaunty; urgency=low
+
+  * Add important upstream patches for PicasaWeb Export bugs
+    - Missing album names in the list (KDE bug 187512)
+      debian/patches/01_svn942470_bug187512.diff
+    - Do not rewrite photos in JPEG and degrade quality (KDE bug 175221)
+      debian/patches/02_svn942897_bug175221.diff
+    - Fix crash on upload if no album selected (KDE bug 187809)
+      debian/patches/03_svn942928_bug187809.diff
+
+ -- Luka Renko <l...@ubuntu.com>  Thu, 09 Apr 2009 18:13:18 +0200
+
 kipi-plugins (0.2.0-1ubuntu2) jaunty; urgency=low
 
   * Switch to lde4.mk for .desktop translation templates and add
only in patch2:
unchanged:
--- kipi-plugins-0.2.0.orig/debian/patches/series
+++ kipi-plugins-0.2.0/debian/patches/series
@@ -0,0 +1,3 @@
+01_svn942470_bug187512.diff
+02_svn942897_bug175221.diff
+03_svn942928_bug187809.diff
only in patch2:
unchanged:
--- kipi-plugins-0.2.0.orig/debian/patches/01_svn942470_bug187512.diff
+++ kipi-plugins-0.2.0/debian/patches/01_svn942470_bug187512.diff
@@ -0,0 +1,15 @@
+diff -Nur -x '*.orig' -x '*~' kipi-plugins-0.2.0/picasawebexport/picasawebtalker.cpp kipi-plugins-0.2.0.new/picasawebexport/picasawebtalker.cpp
+--- kipi-plugins-0.2.0/picasawebexport/picasawebtalker.cpp	2009-03-17 09:52:45.000000000 +0100
++++ kipi-plugins-0.2.0.new/picasawebexport/picasawebtalker.cpp	2009-04-09 21:16:31.318260844 +0200
+@@ -758,10 +758,7 @@
+ 
+                     if(detailsNode.nodeName() == "title")
+                     {
+-                        album_title = "Not fetched";
+-
+-                        if(detailsNode.toElement().attribute("type")=="text")
+-                            album_title = detailsNode.toElement().text();
++                        album_title = detailsNode.toElement().text();
+ 
+                         //this is what is obtained from data.
+                         fps.title = album_title;
only in patch2:
unchanged:
--- kipi-plugins-0.2.0.orig/debian/patches/03_svn942928_bug187809.diff
+++ kipi-plugins-0.2.0/debian/patches/03_svn942928_bug187809.diff
@@ -0,0 +1,104 @@
+diff -Nur -x '*.orig' -x '*~' kipi-plugins-0.2.0/picasawebexport/picasawebwindow.cpp kipi-plugins-0.2.0.new/picasawebexport/picasawebwindow.cpp
+--- kipi-plugins-0.2.0/picasawebexport/picasawebwindow.cpp	2009-03-17 09:52:45.000000000 +0100
++++ kipi-plugins-0.2.0.new/picasawebexport/picasawebwindow.cpp	2009-04-09 21:21:43.722316248 +0200
+@@ -300,17 +300,15 @@
+ 
+ void PicasawebWindow::slotGetAlbumsListSucceeded()
+ {
++    m_albumsListComboBox->clear();
+     if (m_talker && m_talker->m_albumsList)
+     {
+         QLinkedList <PicasaWebAlbum> *list = m_talker->m_albumsList;
+-        m_albumsListComboBox->clear();
+         QLinkedList<PicasaWebAlbum>::iterator it = list->begin();
+-        int index = 0;
+         while(it != list->end())
+         {
+             PicasaWebAlbum pwa=*it;
+-            QString name = pwa.title;
+-            m_albumsListComboBox->insertItem(index++, name);
++            m_albumsListComboBox->addItem(pwa.title, pwa.id);
+             it++;
+         }
+     }
+@@ -418,15 +416,29 @@
+ 
+ void PicasawebWindow::slotUploadImages()
+ {
+-   if(m_widget->m_currentSelectionButton->isChecked())
+-   {
++
++    if (m_albumsListComboBox->currentIndex() == -1) 
++    {
++        KMessageBox::error(this, 
++            i18n("No album selected - please create and select album."));
++        return;
++    }
++    m_currentAlbumId = m_albumsListComboBox->itemData(
++                            m_albumsListComboBox->currentIndex()).toString();
++
++    if (m_widget->m_currentSelectionButton->isChecked())
++    {
+         delete m_urls;
+ 
+         m_urls=new KUrl::List(m_interface->currentSelection().images());
+-   }
++    }
+ 
+-   if (m_urls == NULL || m_urls->isEmpty())
++    if (m_urls == NULL || m_urls->isEmpty()) 
++    {
++        KMessageBox::error(this, 
++            i18n("Nothing to upload - please select photos to upload."));
+         return;
++    }
+ 
+     typedef QPair<QString,FPhotoInfo> Pair;
+ 
+@@ -507,25 +519,8 @@
+ /*    int upload_image_size;
+     int upload_image_quality;*/
+ 
+-    // Get the albums' Id from the name.
+-    QString albumId = "";
+-    QString selectedAlbumName = m_albumsListComboBox->currentText();
+-
+-    QLinkedList<PicasaWebAlbum>::iterator it = m_talker->m_albumsList->begin();
+-    while(it != m_talker->m_albumsList->end()) 
+-    {
+-       PicasaWebAlbum pwa=*it;
+-       QString name = pwa.title;
+-       if (name == selectedAlbumName) 
+-        {
+-           albumId = pwa.id;
+-           break;
+-       }
+-       it++;
+-    }
+-
+     bool res = m_talker->addPhoto(pathComments.first,          //the file path
+-                                  info, albumId,
++                                  info, m_currentAlbumId,
+                                   m_resizeCheckBox->isChecked(),
+                                   m_dimensionSpinBox->value(), m_imageQualitySpinBox->value());
+     if (!res)
+@@ -572,6 +567,7 @@
+ void PicasawebWindow::slotGetAlbumsListFailed(const QString& /*msg*/)
+ {
+     // Raise some errors
++    m_albumsListComboBox->clear();
+ }
+ 
+ void PicasawebWindow::slotAddPhotoCancel()
+diff -Nur -x '*.orig' -x '*~' kipi-plugins-0.2.0/picasawebexport/picasawebwindow.h kipi-plugins-0.2.0.new/picasawebexport/picasawebwindow.h
+--- kipi-plugins-0.2.0/picasawebexport/picasawebwindow.h	2009-03-17 09:52:45.000000000 +0100
++++ kipi-plugins-0.2.0.new/picasawebexport/picasawebwindow.h	2009-04-09 21:21:43.726260884 +0200
+@@ -121,6 +121,8 @@
+     KHTMLPart                               *m_photoView;
+     KUrl::List                              *m_urls;
+ 
++    QString                                  m_currentAlbumId;
++
+     PicasawebWidget                         *m_widget;
+     PicasawebTalker                         *m_talker;
+ 
only in patch2:
unchanged:
--- kipi-plugins-0.2.0.orig/debian/patches/02_svn942897_bug175221.diff
+++ kipi-plugins-0.2.0/debian/patches/02_svn942897_bug175221.diff
@@ -0,0 +1,88 @@
+diff -Nur -x '*.orig' -x '*~' kipi-plugins-0.2.0/picasawebexport/picasawebtalker.cpp kipi-plugins-0.2.0.new/picasawebexport/picasawebtalker.cpp
+--- kipi-plugins-0.2.0/picasawebexport/picasawebtalker.cpp	2009-03-17 09:52:45.000000000 +0100
++++ kipi-plugins-0.2.0.new/picasawebexport/picasawebtalker.cpp	2009-04-09 21:18:22.730287654 +0200
+@@ -416,7 +416,6 @@
+ 
+     QString     postUrl     = "http://www.picasaweb.google.com/data/feed/api/user/"; + 
+                               QUrl::toPercentEncoding(m_username) + "/albumid/" + album_id;
+-    QString     path        = postUrl;
+     QString     auth_string = "GoogleLogin auth=" + m_token;
+     QStringList headers;
+     MPForm      form;
+@@ -438,7 +437,6 @@
+ 
+     // save the tags for this photo in to the tags hashmap
+     tags_map.insert(info.title, info.tags);
+-    QImage image;
+ 
+     // Check if RAW file.
+ #if KDCRAW_VERSION < 0x000400
+@@ -447,40 +445,54 @@
+     QString rawFilesExt(KDcrawIface::KDcraw::rawFiles());
+ #endif
+     QFileInfo fileInfo(photoPath);
+-    if (rawFilesExt.toUpper().contains(fileInfo.suffix().toUpper()))
+-        KDcrawIface::KDcraw::loadDcrawPreview(image, photoPath);
+-    else
+-        image.load(photoPath);
++    bool isRAW = rawFilesExt.toUpper().contains(fileInfo.suffix().toUpper());
+ 
+-    if (!image.isNull())
++    if (isRAW || rescale)
+     {
+-        path = KStandardDirs::locateLocal("tmp", QFileInfo(photoPath).baseName().trimmed() + ".jpg");
++        // use temporary file for upload
++        QImage image;
++        if (isRAW)
++            KDcrawIface::KDcraw::loadDcrawPreview(image, photoPath);
++        else
++            image.load(photoPath);
++
++        QString tmpPath = KStandardDirs::locateLocal("tmp", QFileInfo(photoPath).baseName().trimmed() + ".jpg");
+ 
+         if (rescale && (image.width() > maxDim || image.height() > maxDim))
+             image = image.scaled(maxDim, maxDim, Qt::KeepAspectRatio, Qt::SmoothTransformation);
+ 
+-        image.save(path, "JPEG", imageQuality);
++        image.save(tmpPath, "JPEG", imageQuality);
+ 
+         // Restore all metadata.
+-
+         KExiv2Iface::KExiv2 exiv2Iface;
+ 
+         if (exiv2Iface.load(photoPath))
+         {
+             exiv2Iface.setImageProgramId(QString("Kipi-plugins"), QString(kipiplugins_version));
+             exiv2Iface.setImageDimensions(image.size());
+-            exiv2Iface.save(path);
++            exiv2Iface.save(tmpPath);
+         }
+         else
+         {
+-            kWarning(51000) << "(picasawebExport::Image doesn't have exif data)" << endl;
++            kWarning(51000) << "Image " << photoPath << " has no exif data";
+         }
+ 
+-        kDebug( 51000 ) << "Resizing and saving to temp file: " << path << endl;
+-    }
++        kDebug( 51000 ) << "Resizing and saving to temp file: " << tmpPath;
++
++        if (!form.addFile("photo", tmpPath))
++        {
++            QFile::remove(tmpPath);
++            return false;
++        }
+ 
+-    if (!form.addFile("photo", path))
+-        return false;
++        QFile::remove(tmpPath);
++    }
++    else
++    {
++        // use original file
++        if (!form.addFile("photo", photoPath))
++            return false;
++    }
+ 
+     form.finish();
+ 
_______________________________________________
pkg-kde-extras mailing list
pkg-kde-extras@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-kde-extras

Reply via email to