With the new add-to-launcher timing from Software Center, no fix is
needed on the Unity side so I've set that task as invalid.

** Description changed:

+ [TEST CASE]
+ The easiest way to insure that the Unity launcher is now pointing to the 
installed desktop file is to simply verify that the corresponding launcher icon 
is removed correctly after an application is uninstalled. Note that this test 
case is the same as that for bug 981488.
+ 1. Launch the current Ubuntu Software Center in Precise.
+ 2. Click the "Installed" toolbar button to access the list of installed 
applications.
+ 3. Choose an installed application to remove (choose one for which there is a 
corresponding icon in the Unity launcher).
+ 4. Click the "More Info" button.
+ 5. In the details view for the application, click the "Remove" button and 
enter the password for the remove if prompted.
+ 6. The uninstall process begins and the progress bar moves in Software Center.
+ 7. At the end of the install process, verify that the corresponding icon in 
the Unity launcher has *not" been removed.
+ 8. Close Ubuntu Software Center.
+ 9. Update to both the software-center *and* unity packages in 
precise-proposed.
+ 10. Repeat steps 1 through 6.
+ 11. This time, at the end of the install process, verify that the 
corresponding icon in the Unity launcher is *removed*.
+ 
+ [REGRESSION POTENTIAL]
+ Risk of regression is very low. Just verifying that the correct icon is 
actually removed should be enough.
+ 
+ ---
+ 
  While investigating bug 925014, I made the discovery that Unity launcher
  items that are added during an application installation via the Ubuntu
  Software Center incorrectly point to the desktop files from the app-
  install-data package, in the directory:
  
    /usr/share/app-install/desktop (e.g., /usr/share/app-install/desktop
  /gnome-hearts:gnome-hearts.desktop
  
  rather than the actual *installed* desktop files in:
  
    /usr/share/applications (e.g., /usr/share/applications/gnome-
  hearts.desktop)
  
  Note that the installed desktop files can be found in the
  /usr/share/applications directory after the installation has completed.
  
  This appears to be a regression in a very recent release of Unity, as
  afaik this has worked correctly for quite a few cycles and also in
  Precise right up until the very final releases.
  
  Note that we recently finished the remaining pieces of the
  implementation of the fully animated Unity launcher integration, as
  outlined in bug 761851, and it was as part of this work that this
  regression appears to have occurred.
  
  You can refer to comment #7 of bug 761851 for details about the steps
  needed to determine the actual installed desktop file path. The Python
  code from Software Center that we used in past releases for this is as
  shown:
  
      def 
convert_desktop_file_to_installed_location(app_install_data_file_path, 
pkgname=None):
      """ returns the installed desktop file path that corresponds to the
          given app-install-data file path, and will also check directly for
          the desktop file that corresponds to a given pkgname.
      """
      # "normal" case
      installed_desktop_file_path = 
app_install_data_file_path.replace("app-install/desktop", "applications")
      if os.path.exists(installed_desktop_file_path):
          return installed_desktop_file_path
      # next, try case where a subdirectory is encoded in the app-install
      # desktop filename, e.g. kde4_soundkonverter.desktop
      installed_desktop_file_path = 
installed_desktop_file_path.replace(APP_INSTALL_PATH_DELIMITER, "/")
      if os.path.exists(installed_desktop_file_path):
          return installed_desktop_file_path
      # lastly, just try checking directly for the desktop file based on the 
pkgname itself
      if pkgname:
          installed_desktop_file_path =  "/usr/share/applications/%s.desktop" % 
pkgname
          if os.path.exists(installed_desktop_file_path):
              return installed_desktop_file_path
      logging.warn("Could not determine the installed desktop file path for 
app-install desktop file: '%s'" % app_install_data_file_path)
      return ""
  
  ---
  
  Additional info from Dmitry Shachnev, duplicate bug 996690:
  
  Some Unity Mail users reported that after installing Unity Mail via the
  Software Center,
  
  - The quicklist is not translated
  - The count badge is not shown
  
  Trying to debug this issue, I've found out that when installing an
  application from the Software Center, the desktop file added to Unity
  launcher favorites is '/usr/share/app-install/desktop/unity-mail:unity-
  mail.desktop', not expected '/usr/share/applications/unity-
  mail.desktop':
  
  $ gsettings get com.canonical.Unity.Launcher favorites
  ['nautilus.desktop', 'chromium-browser.desktop', 'geany.desktop', 
'gnome-terminal.desktop', 
'/usr/share/app-install/desktop/unity-mail:unity-mail.desktop']
  
  I've temporarily added a workaround to Unity Mail that uses the desktop
  file from Unity.LauncherFavorites (see bug 990689), but this doesn't
  solve the problem with untranslated quicklist.
  
  Obviously, this affects not only Unity Mail, but any other application
  in the Software Center.

** Changed in: unity
       Status: Confirmed => Invalid

** Changed in: software-center (Ubuntu)
    Milestone: precise-updates => None

** Changed in: software-center (Ubuntu Precise)
    Milestone: None => precise-updates

** Changed in: software-center (Ubuntu Precise)
     Assignee: (unassigned) => Gary Lasker (gary-lasker)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/999427

Title:
  Launcher items added via Ubuntu Software Center incorrectly point to
  the app-install desktop files rather than the actual installed desktop
  files

To manage notifications about this bug go to:
https://bugs.launchpad.net/unity/+bug/999427/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to