Hello community, here is the log from the commit of package podsleuth for openSUSE:Factory checked in at Mon May 31 18:15:07 CEST 2010. -------- --- podsleuth/podsleuth.changes 2010-01-27 22:23:21.000000000 +0100 +++ /mounts/work_src_done/STABLE/podsleuth/podsleuth.changes 2010-05-20 23:02:29.000000000 +0200 @@ -1,0 +2,7 @@ +Thu May 20 14:00:08 PDT 2010 - gburt@suse.de + +- Update to 0.6.7 - bug fix only + * Work with udisks (DeviceKit rename) (BGO #615010) + * Activate HAL if necessary + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- podsleuth-0.6.6.tar.bz2 New: ---- podsleuth-0.6.7.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ podsleuth.spec ++++++ --- /var/tmp/diff_new_pack.M2Hn9s/_old 2010-05-31 18:14:53.000000000 +0200 +++ /var/tmp/diff_new_pack.M2Hn9s/_new 2010-05-31 18:14:53.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package podsleuth (Version 0.6.6) +# spec file for package podsleuth (Version 0.6.7) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,7 +19,7 @@ Name: podsleuth -Version: 0.6.6 +Version: 0.6.7 Release: 1 License: MIT Group: Hardware/Other ++++++ podsleuth-0.6.6.tar.bz2 -> podsleuth-0.6.7.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podsleuth-0.6.6/ChangeLog new/podsleuth-0.6.7/ChangeLog --- old/podsleuth-0.6.6/ChangeLog 2010-01-27 01:42:26.000000000 +0100 +++ new/podsleuth-0.6.7/ChangeLog 2010-05-10 23:01:14.000000000 +0200 @@ -1,3 +1,60 @@ +commit e04812c0ad510ec8ce87d1b8bef36e2c78f531c8 +Author: Gabriel Burt <gabriel.burt@gmail.com> +Date: Mon May 10 13:56:55 2010 + + Update NEWS for 0.6.7 + +commit 1e61d0ba3c17c87b02cf87709693d6a62b0321b9 +Author: Gabriel Burt <gabriel.burt@gmail.com> +Date: Mon May 10 13:51:51 2010 + + Fix HAL activation on startup + +commit 4667af8e9f5d0f3cb50e48aa42af0b3b8450edd0 +Author: Gabriel Burt <gabriel.burt@gmail.com> +Date: Mon May 10 12:19:35 2010 + + Update NEWS + +commit 685125fdf0d2e349b9848bcc29134f008bca88f4 +Author: Gabriel Burt <gabriel.burt@gmail.com> +Date: Mon May 10 12:13:25 2010 + + Account for DeviceKit to UDisks rename + + Fall back to DeviceKit if UDisks doesn't exist - is runtime compatible + with both setups. + +commit 7b45117c2cd1a82923d5469ebd48631b9ec4b51a +Author: Gabriel Burt <gabriel.burt@gmail.com> +Date: Mon May 10 12:12:55 2010 + + Sync DkDisk with Banshee's + +commit 2ea7775ae836b42667f12d7afadb90ae954a52c8 +Author: Gabriel Burt <gabriel.burt@gmail.com> +Date: Mon May 10 12:05:32 2010 + + Start the HAL service if needed + +commit e90a466000eba3f9ba78880b51cb66e603430994 +Author: Gabriel Burt <gabriel.burt@gmail.com> +Date: Sun Feb 21 14:48:55 2010 + + [ipod-model-table] Add new 5th gen Nano model + +commit c21bb19073ff98129bcb22ccb3257cff63d6728f +Author: Gabriel Burt <gabriel.burt@gmail.com> +Date: Tue Jan 26 16:55:51 2010 + + Bump version now that 0.6.6 is released + +commit 4a850c8726ec57772dd48a21dcf4b6e32474f8aa +Author: Gabriel Burt <gabriel.burt@gmail.com> +Date: Tue Jan 26 16:44:06 2010 + + Update NEWS + commit 2842a815ee1e26a716d0e9a5c398774c5ec791d6 Author: Andy Clayton <clayt055@umn.edu> Date: Wed Jan 20 18:19:59 2010 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podsleuth-0.6.6/NEWS new/podsleuth-0.6.7/NEWS --- old/podsleuth-0.6.6/NEWS 2009-12-09 04:34:17.000000000 +0100 +++ new/podsleuth-0.6.7/NEWS 2010-05-10 22:54:18.000000000 +0200 @@ -1,4 +1,9 @@ -Not Released Yet: 0.6.6 Release +2010-05-10: 0.6.7 Release + + * Work with udisks (DeviceKit rename) (BGO #615010) + * Activate HAL if necessary + +2010-01-26: 0.6.6 Release * Work with DeviceKit (BGO #586508) * Install DBus policy, fixing podsleuth --rescan diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podsleuth-0.6.6/configure new/podsleuth-0.6.7/configure --- old/podsleuth-0.6.6/configure 2009-12-13 05:54:13.000000000 +0100 +++ new/podsleuth-0.6.7/configure 2010-01-27 01:55:34.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for podsleuth 0.6.6. +# Generated by GNU Autoconf 2.63 for podsleuth 0.6.7. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -594,8 +594,8 @@ # Identity of this package. PACKAGE_NAME='podsleuth' PACKAGE_TARNAME='podsleuth' -PACKAGE_VERSION='0.6.6' -PACKAGE_STRING='podsleuth 0.6.6' +PACKAGE_VERSION='0.6.7' +PACKAGE_STRING='podsleuth 0.6.7' PACKAGE_BUGREPORT='' ac_subst_vars='LTLIBOBJS @@ -1284,7 +1284,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures podsleuth 0.6.6 to adapt to many kinds of systems. +\`configure' configures podsleuth 0.6.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1355,7 +1355,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of podsleuth 0.6.6:";; + short | recursive ) echo "Configuration of podsleuth 0.6.7:";; esac cat <<\_ACEOF @@ -1462,7 +1462,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -podsleuth configure 0.6.6 +podsleuth configure 0.6.7 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1476,7 +1476,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by podsleuth $as_me 0.6.6, which was +It was created by podsleuth $as_me 0.6.7, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2319,7 +2319,7 @@ # Define the identity of the package. PACKAGE='podsleuth' - VERSION='0.6.6' + VERSION='0.6.7' cat >>confdefs.h <<_ACEOF @@ -2568,7 +2568,7 @@ ACLOCAL_AMFLAGS="-I m4 \${ACLOCAL_FLAGS}" -ASM_VERSION="0.6.6.*" +ASM_VERSION="0.6.7.*" # Find a good install program. We prefer a C program (faster), @@ -5068,7 +5068,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by podsleuth $as_me 0.6.6, which was +This file was extended by podsleuth $as_me 0.6.7, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5122,7 +5122,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -podsleuth config.status 0.6.6 +podsleuth config.status 0.6.7 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podsleuth-0.6.6/configure.ac new/podsleuth-0.6.7/configure.ac --- old/podsleuth-0.6.6/configure.ac 2009-12-09 04:34:17.000000000 +0100 +++ new/podsleuth-0.6.7/configure.ac 2010-01-27 01:55:12.000000000 +0100 @@ -1,4 +1,4 @@ -AC_INIT([podsleuth], [0.6.6]) +AC_INIT([podsleuth], [0.6.7]) AC_CANONICAL_SYSTEM AC_PREREQ(2.13) AM_INIT_AUTOMAKE([1.9 dist-bzip2 tar-ustar foreign]) @@ -6,7 +6,7 @@ AC_SUBST([ACLOCAL_AMFLAGS], ["-I m4 \${ACLOCAL_FLAGS}"]) -ASM_VERSION="0.6.6.*" +ASM_VERSION="0.6.7.*" AC_SUBST(ASM_VERSION) AC_PROG_INSTALL diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podsleuth-0.6.6/data/ipod-model-table new/podsleuth-0.6.7/data/ipod-model-table --- old/podsleuth-0.6.6/data/ipod-model-table 2009-12-09 03:08:03.000000000 +0100 +++ new/podsleuth-0.6.7/data/ipod-model-table 2010-02-21 23:48:40.000000000 +0100 @@ -145,6 +145,7 @@ Nano 4 Black 16 B918 None 5BF Nano 5 Black 16 C062 None 72R +Nano 5 Blue 16 C066 None 72X ;; iPod Video ----------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podsleuth-0.6.6/src/AssemblyInfo.cs new/podsleuth-0.6.7/src/AssemblyInfo.cs --- old/podsleuth-0.6.6/src/AssemblyInfo.cs 2009-12-13 05:54:15.000000000 +0100 +++ new/podsleuth-0.6.7/src/AssemblyInfo.cs 2010-01-27 01:55:37.000000000 +0100 @@ -1,7 +1,7 @@ using System.Reflection; using System.Runtime.CompilerServices; -[assembly:AssemblyVersion("0.6.6.*")] +[assembly:AssemblyVersion("0.6.7.*")] [assembly:AssemblyTitle("PodSleuth")] [assembly:AssemblyDescription("iPod device support library and tools")] [assembly:AssemblyCopyright("Copyright (C) Novell, Inc.")] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podsleuth-0.6.6/src/PodSleuth.Hal/Hal/Device.cs new/podsleuth-0.6.7/src/PodSleuth.Hal/Hal/Device.cs --- old/podsleuth-0.6.6/src/PodSleuth.Hal/Hal/Device.cs 2009-07-01 03:01:09.000000000 +0200 +++ new/podsleuth-0.6.7/src/PodSleuth.Hal/Hal/Device.cs 2010-05-10 21:03:43.000000000 +0200 @@ -280,11 +280,11 @@ // Fixes a bug where the HAL callout would call into this code on bootup with // a device plugged in, but the DBus service isn't yet available. int tries = 0; - while(!Bus.System.NameHasOwner("org.freedesktop.Hal") && tries++ < 10) { + while(!Manager.EnsureHalIsActive () && tries++ < 10) { System.Threading.Thread.Sleep (1000); } - if(!Bus.System.NameHasOwner("org.freedesktop.Hal")) { + if(!Manager.EnsureHalIsActive ()) { throw new ApplicationException("Could not find org.freedesktop.Hal"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podsleuth-0.6.6/src/PodSleuth.Hal/Hal/Manager.cs new/podsleuth-0.6.7/src/PodSleuth.Hal/Hal/Manager.cs --- old/podsleuth-0.6.6/src/PodSleuth.Hal/Hal/Manager.cs 2009-07-01 03:01:09.000000000 +0200 +++ new/podsleuth-0.6.7/src/PodSleuth.Hal/Hal/Manager.cs 2010-05-10 22:51:22.000000000 +0200 @@ -3,6 +3,7 @@ using System.Collections.Generic; using NDesk.DBus; +using org.freedesktop.DBus; namespace Hal { @@ -88,10 +89,32 @@ public event DeviceAddedHandler DeviceAdded; public event DeviceRemovedHandler DeviceRemoved; public event NewCapabilityHandler NewCapability; + + internal static bool EnsureHalIsActive () + { + if (!Bus.System.NameHasOwner("org.freedesktop.Hal")) { + // try to start it + try { + var reply = Bus.System.StartServiceByName ("org.freedesktop.Hal"); + if (reply != StartReply.Success && reply != StartReply.AlreadyRunning) { + return false; + } + } catch (Exception) { + return false; + } + + // If still not started, we're done + if (!Bus.System.NameHasOwner("org.freedesktop.Hal")) { + return false; + } + } + + return true; + } public Manager() { - if(!Bus.System.NameHasOwner("org.freedesktop.Hal")) { + if(!EnsureHalIsActive ()) { throw new ApplicationException("Could not find org.freedesktop.Hal"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podsleuth-0.6.6/src/PodSleuth.Hal/PodSleuth.HalFrontend/DkDisk.cs new/podsleuth-0.6.7/src/PodSleuth.Hal/PodSleuth.HalFrontend/DkDisk.cs --- old/podsleuth-0.6.6/src/PodSleuth.Hal/PodSleuth.HalFrontend/DkDisk.cs 2009-12-09 03:14:32.000000000 +0100 +++ new/podsleuth-0.6.7/src/PodSleuth.Hal/PodSleuth.HalFrontend/DkDisk.cs 2010-05-10 21:13:17.000000000 +0200 @@ -1,3 +1,31 @@ +// +// DkDisk.cs +// +// Author: +// Gabriel Burt <gburt@novell.com> +// +// Copyright (C) 2009 Novell, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + using System; using NDesk.DBus; @@ -11,13 +39,17 @@ if (device_path == null) return null; - if (disks == null) + if (udisks_finder == null && dk_finder == null) return null; string disk_path = null; try { - disk_path = disks.FindDeviceByDeviceFile (device_path); + if (udisks_finder != null) { + disk_path = udisks_finder.FindDeviceByDeviceFile (device_path); + } else { + disk_path = dk_finder.FindDeviceByDeviceFile (device_path); + } } catch {} if (disk_path == null) @@ -30,59 +62,117 @@ return null; } - private IDkDisk disk; + private UDisksDisk udisks_disk; + private IDkDisk dk_disk; private org.freedesktop.DBus.Properties props; + const string dk_bus_name = "org.freedesktop.DeviceKit.Disks"; + const string udisks_bus_name = "org.freedesktop.UDisks"; + private DkDisk (string obj_path) { - disk = Bus.System.GetObject<IDkDisk>("org.freedesktop.DeviceKit.Disks", - new ObjectPath(obj_path)); - - props = Bus.System.GetObject<org.freedesktop.DBus.Properties>("org.freedesktop.DeviceKit.Disks", - new ObjectPath(obj_path)); + if (udisks_finder != null) { + udisks_disk = Bus.System.GetObject<UDisksDisk> (udisks_bus_name, new ObjectPath (obj_path)); + props = Bus.System.GetObject<org.freedesktop.DBus.Properties> (udisks_bus_name, new ObjectPath (obj_path)); + } else { + dk_disk = Bus.System.GetObject<IDkDisk> (dk_bus_name, new ObjectPath(obj_path)); + props = Bus.System.GetObject<org.freedesktop.DBus.Properties> (dk_bus_name, new ObjectPath(obj_path)); + } } public bool IsMounted { get { - return (bool) props.Get ("org.freedesktop.DeviceKit.Disks.Device", "DeviceIsMounted"); + return (bool) props.Get (props_iface, "DeviceIsMounted"); } } public bool IsReadOnly { get { - return (bool) props.Get ("org.freedesktop.DeviceKit.Disks.Device", "DeviceIsReadOnly"); + return (bool) props.Get (props_iface, "DeviceIsReadOnly"); } } public string MountPoint { get { - var ary = (string[])props.Get ("org.freedesktop.DeviceKit.Disks.Device", "DeviceMountPaths"); + var ary = (string[])props.Get (props_iface, "DeviceMountPaths"); return ary != null && ary.Length > 0 ? ary[0] : null; } } - private static IDkDisks disks; + public void Eject () + { + if (udisks_disk != null) { + udisks_disk.DriveEject (new string [0]); + } else { + dk_disk.DriveEject (new string [0]); + } + } + + public void Unmount () + { + if (udisks_disk != null) { + udisks_disk.FilesystemUnmount (new string [0]); + } else { + dk_disk.FilesystemUnmount (new string [0]); + } + } + + private static UDisksFinder udisks_finder; + private static DkFinder dk_finder; + private static string props_iface; static DkDisk () { try { - disks = Bus.System.GetObject<IDkDisks>("org.freedesktop.DeviceKit.Disks", - new ObjectPath("/org/freedesktop/DeviceKit/Disks")); - } catch {} + if (Bus.System.NameHasOwner (udisks_bus_name)) { + udisks_finder = Bus.System.GetObject<UDisksFinder>(udisks_bus_name, new ObjectPath("/org/freedesktop/UDisks")); + props_iface = "org.freedesktop.UDisks.Device"; + } + } catch { + udisks_finder = null; + } + + if (udisks_finder == null) { + try { + if (Bus.System.NameHasOwner (dk_bus_name)) { + dk_finder = Bus.System.GetObject<DkFinder>(dk_bus_name, + new ObjectPath("/org/freedesktop/DeviceKit/Disks")); + props_iface = "org.freedesktop.DeviceKit.Disks.Device"; + } + } catch { + dk_finder = null; + } + } + } + + [Interface("org.freedesktop.UDisks")] + internal interface UDisksFinder + { + string FindDeviceByDeviceFile (string deviceFile); } [Interface("org.freedesktop.DeviceKit.Disks")] - internal interface IDkDisks + internal interface DkFinder { string FindDeviceByDeviceFile (string deviceFile); } - } + [Interface("org.freedesktop.UDisks.Device")] + internal interface UDisksDisk + { + bool DeviceIsMounted { get; } + string [] DeviceMountPaths { get; } + void DriveEject (string [] options); + void FilesystemUnmount (string [] options); + } - [Interface("org.freedesktop.DeviceKit.Disks.Device")] - public interface IDkDisk - { - bool DeviceIsMounted { get; } - string [] DeviceMountPaths { get; } + [Interface("org.freedesktop.DeviceKit.Disks.Device")] + internal interface IDkDisk + { + bool DeviceIsMounted { get; } + string [] DeviceMountPaths { get; } + void DriveEject (string [] options); + void FilesystemUnmount (string [] options); + } } } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org