Hello community,
here is the log from the commit of package libipoddevice
checked in at Fri Oct 13 00:03:19 CEST 2006.
--------
--- GNOME/libipoddevice/libipoddevice.changes 2006-09-29 17:16:14.000000000 +0200
+++ /mounts/work_src_done/STABLE/libipoddevice/libipoddevice.changes 2006-10-12 23:10:58.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Oct 12 23:10:10 CEST 2006 - abockover@suse.de
+
+- Update to version 0.5.0
+ Work with more iPod models (latest Nanos)
+ Added HAL callout for a serial number property
+ Fixed libdir FDI bug
+
+-------------------------------------------------------------------
Old:
----
hal-lib64.patch
libipoddevice-0.5.0.tar.gz
New:
----
libipoddevice-0.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libipoddevice.spec ++++++
--- /var/tmp/diff_new_pack.rSIf4e/_old 2006-10-13 00:02:54.000000000 +0200
+++ /var/tmp/diff_new_pack.rSIf4e/_new 2006-10-13 00:02:54.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libipoddevice (Version 0.5.0)
+# spec file for package libipoddevice (Version 0.5.1)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,15 +12,14 @@
Name: libipoddevice
BuildRequires: dbus-1-glib-devel gnome-common hal-devel hal-gnome libgtop-devel libxml2-devel scsi update-desktop-files
-URL: http://sonance.aaronbock.net/libipoddevice/
+URL: http://banshee-project.org/Libipoddevice
License: LGPL
Group: Development/Libraries/GNOME
Autoreqprov: on
-Version: 0.5.0
+Version: 0.5.1
Release: 1
Summary: GObject Library That Provides iPod Device Transparency through HAL
Source: %{name}-%{version}.tar.gz
-Patch: hal-lib64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: dbus-1 hal
@@ -36,7 +35,8 @@
Authors:
--------
- Aaron Bockover
+ Aaron Bockover
+ James Willcox
%package devel
Group: Development/Libraries/GNOME
@@ -61,15 +61,13 @@
%prep
%setup -q
-%patch
%build
autoreconf -fi
export CFLAGS="$RPM_OPT_FLAGS"
./configure --prefix=/usr \
--libdir=%{_libdir} \
- --mandir=%{_mandir} \
- --enable-submount
+ --mandir=%{_mandir}
make
%install
@@ -95,6 +93,11 @@
%{_libdir}/pkgconfig/ipoddevice.pc
%changelog -n libipoddevice
+* Thu Oct 12 2006 - abockover@suse.de
+- Update to version 0.5.0
+ Work with more iPod models (latest Nanos)
+ Added HAL callout for a serial number property
+ Fixed libdir FDI bug
* Fri Sep 29 2006 - gekker@suse.de
- Update to version 0.5.0
Include HAL support
++++++ libipoddevice-0.5.0.tar.gz -> libipoddevice-0.5.1.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/AUTHORS new/libipoddevice-0.5.1/AUTHORS
--- old/libipoddevice-0.5.0/AUTHORS 2006-07-06 21:07:17.000000000 +0200
+++ new/libipoddevice-0.5.1/AUTHORS 2006-10-12 22:49:33.000000000 +0200
@@ -1,4 +1,4 @@
-Aaron Bockover
-James Willcox
+Aaron Bockover
+James Willcox
Christophe Fergeau
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/ChangeLog new/libipoddevice-0.5.1/ChangeLog
--- old/libipoddevice-0.5.0/ChangeLog 2006-09-19 18:11:40.000000000 +0200
+++ new/libipoddevice-0.5.1/ChangeLog 2006-10-12 22:50:44.000000000 +0200
@@ -1,3 +1,49 @@
+2006-10-12 Aaron Bockover
+
+ 0.5.1 Released
+
+ * NEWS:
+ * AUTHORS: Updated
+
+2006-10-12 Aaron Bockover
+
+ * configure.ac: Bump to 0.5.1
+
+ * src/ipod-model-table.h: Added new Nanos
+
+2006-10-12 James Willcox
+
+ * src/hal-ipod-info.c: get the serial number and put it in the
+ info.ipod.serial_number property.
+
+ * src/ipod-device.c: use info.ipod.serial_number instead of the
+ value obtained from the xml (which might not exist).
+
+ * data/20-ipod-info.fdi: add the hal-ipod-info callout
+
+2006-10-01 Aaron Bockover
+
+ * src/Makefile.am:
+ * src/ipod-device.c:
+ * src/ipod-model-table.h: Moved the model table to its own header file,
+ added black 80GB video, V9P and fixed model number for G2 2GB silver nano
+
+2006-09-26 James Willcox
+
+ * data/20-ipod-info.fdi: match against volume.fsusage instead of
+ volume.policy.should_mount
+
+2006-09-19 Aaron Bockover
+
+ * src/ipod-device.c: Added support for new devices (silver 2GB nano - VQ5,
+ and black 80GB video, V9S)
+
+ * src/ipod-device.h: Added new nano model types
+
+2006-09-19 Aaron Bockover
+
+ * src/Makefile.am: hal-ipod-info into libdir/hal, not prefix/lib/hal
+
2006-09-19 Aaron Bockover
* src/ipod-device.c: Added serial code for 1GB fisrt-gen shuffle
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/NEWS new/libipoddevice-0.5.1/NEWS
--- old/libipoddevice-0.5.0/NEWS 2005-06-14 00:31:15.000000000 +0200
+++ new/libipoddevice-0.5.1/NEWS 2006-10-12 22:50:14.000000000 +0200
@@ -1 +1 @@
-
+2006-10-12: 0.5.0 Released
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/configure new/libipoddevice-0.5.1/configure
--- old/libipoddevice-0.5.0/configure 2006-09-18 16:54:02.000000000 +0200
+++ new/libipoddevice-0.5.1/configure 2006-10-02 03:47:47.000000000 +0200
@@ -1839,7 +1839,7 @@
# Define the identity of the package.
PACKAGE=libipoddevice
- VERSION=0.5.0
+ VERSION=0.5.1
cat >>confdefs.h <<_ACEOF
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/configure.ac new/libipoddevice-0.5.1/configure.ac
--- old/libipoddevice-0.5.0/configure.ac 2006-09-18 16:53:37.000000000 +0200
+++ new/libipoddevice-0.5.1/configure.ac 2006-10-02 03:47:37.000000000 +0200
@@ -3,7 +3,7 @@
AC_INIT(src/ipod-device.c)
AM_CONFIG_HEADER(config.h)
AC_CONFIG_SRCDIR(src)
-AM_INIT_AUTOMAKE(libipoddevice, 0.5.0)
+AM_INIT_AUTOMAKE(libipoddevice, 0.5.1)
AM_MAINTAINER_MODE
AC_PROG_CC
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/data/20-ipod-info.fdi new/libipoddevice-0.5.1/data/20-ipod-info.fdi
--- old/libipoddevice-0.5.0/data/20-ipod-info.fdi 2006-09-18 15:42:48.000000000 +0200
+++ new/libipoddevice-0.5.1/data/20-ipod-info.fdi 2006-10-12 22:26:31.000000000 +0200
@@ -4,10 +4,11 @@
<device>
<match key="@info.parent:storage.vendor" contains="Apple">
<match key="@info.parent:storage.model" contains="iPod">
- <match key="volume.policy.should_mount" bool="true">
+ <match key="volume.fsusage" contains="filesystem">
<append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">WriteIpodInfo</append>
<append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append>
<append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-ipod-info</append>
+ <append key="info.callouts.add" type="strlist">hal-ipod-info</append>
</match>
</match>
</match>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/src/Makefile.am new/libipoddevice-0.5.1/src/Makefile.am
--- old/libipoddevice-0.5.0/src/Makefile.am 2006-09-18 16:53:37.000000000 +0200
+++ new/libipoddevice-0.5.1/src/Makefile.am 2006-10-02 03:34:39.000000000 +0200
@@ -22,7 +22,8 @@
hal-common.c \
hal-common.h \
glib-compat.c \
- glib-compat.h
+ glib-compat.h \
+ ipod-model-table.h
libipoddevice_la_LIBADD = $(LID_LIBS)
@@ -30,7 +31,7 @@
ipod_SOURCES = ipod-device-test.c
ipod_LDADD = libipoddevice.la $(LID_LIBS)
-halbindir = $(prefix)/lib/hal
+halbindir = $(libdir)/hal
halbin_PROGRAMS = hal-ipod-info
hal_ipod_info_SOURCES = hal-ipod-info.c
hal_ipod_info_LDADD = $(HAL_IPOD_INFO_LIBS) $(LID_LIBS)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/src/Makefile.in new/libipoddevice-0.5.1/src/Makefile.in
--- old/libipoddevice-0.5.0/src/Makefile.in 2006-09-18 16:54:01.000000000 +0200
+++ new/libipoddevice-0.5.1/src/Makefile.in 2006-10-02 03:47:46.000000000 +0200
@@ -234,12 +234,13 @@
hal-common.c \
hal-common.h \
glib-compat.c \
- glib-compat.h
+ glib-compat.h \
+ ipod-model-table.h
libipoddevice_la_LIBADD = $(LID_LIBS)
ipod_SOURCES = ipod-device-test.c
ipod_LDADD = libipoddevice.la $(LID_LIBS)
-halbindir = $(prefix)/lib/hal
+halbindir = $(libdir)/hal
hal_ipod_info_SOURCES = hal-ipod-info.c
hal_ipod_info_LDADD = $(HAL_IPOD_INFO_LIBS) $(LID_LIBS)
all: all-am
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/src/hal-ipod-info.c new/libipoddevice-0.5.1/src/hal-ipod-info.c
--- old/libipoddevice-0.5.0/src/hal-ipod-info.c 2006-09-18 15:42:49.000000000 +0200
+++ new/libipoddevice-0.5.1/src/hal-ipod-info.c 2006-10-12 22:21:39.000000000 +0200
@@ -7,12 +7,14 @@
#include
#include
#include
+#include
#define IPOD_BUF_LENGTH 252
-#define IPOD_OFFSET_TABLE_PAGE 0xC0
+#define IPOD_SERIAL_PAGE 0x80
+#define IPOD_XML_PAGE 0xC0
static unsigned char
-do_inquiry (int fd, int page, char *buf, char **start)
+hal_ipod_do_inquiry (int fd, int page, char *buf, char **start)
{
if (sg_ll_inquiry (fd, 0, 1, page, buf, IPOD_BUF_LENGTH, 1, 0) != 0) {
*start = NULL;
@@ -23,31 +25,106 @@
}
}
-int main()
+/* taken from libipoddevice proper */
+static LibHalContext *
+hal_ipod_initialize()
+{
+ LibHalContext *hal_context;
+ DBusError error;
+ DBusConnection *dbus_connection;
+ char **devices;
+ int device_count;
+
+ hal_context = libhal_ctx_new();
+ if(hal_context == NULL) {
+ return NULL;
+ }
+
+ dbus_error_init(&error);
+ dbus_connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
+ if(dbus_error_is_set(&error)) {
+ dbus_error_free(&error);
+ libhal_ctx_free(hal_context);
+ return NULL;
+ }
+
+ libhal_ctx_set_dbus_connection(hal_context, dbus_connection);
+
+ if(!libhal_ctx_init(hal_context, &error)) {
+ libhal_ctx_free(hal_context);
+ return NULL;
+ }
+
+ devices = libhal_get_all_devices(hal_context, &device_count, NULL);
+ if(devices == NULL) {
+ libhal_ctx_shutdown(hal_context, NULL);
+ libhal_ctx_free(hal_context);
+ hal_context = NULL;
+ return NULL;
+ }
+
+ libhal_free_string_array(devices);
+
+ return hal_context;
+}
+
+static int
+hal_ipod_open_device (void)
+{
+ return open(getenv ("HAL_PROP_BLOCK_DEVICE"), O_RDWR);
+}
+
+static int
+hal_ipod_set_serial (void)
+{
+ int fd;
+ char buf[512];
+ int len;
+ LibHalContext *ctx;
+ char *start;
+
+ fd = hal_ipod_open_device ();
+ if (fd <= 0) {
+ fprintf (stderr, "Failed to open device\n");
+ return 1;
+ }
+
+ len = hal_ipod_do_inquiry (fd, IPOD_SERIAL_PAGE, buf, &start);
+ if (start == NULL || len == 0) {
+ return 0;
+ }
+
+ ctx = hal_ipod_initialize ();
+ if (ctx == NULL) {
+ fprintf (stderr, "Failed to initialized hal context\n");
+ return 1;
+ }
+
+ libhal_device_set_property_string (ctx, getenv("UDI"), "info.ipod.serial_number",
+ start, NULL);
+ libhal_ctx_free (ctx);
+ return 0;
+}
+
+static int
+hal_ipod_write_xml (void)
{
int fd;
int i;
unsigned char len;
char buf[512];
- char *device;
char *output_path;
char *offsets;
char *start;
FILE *output;
- device = getenv("HAL_PROP_BLOCK_DEVICE");
- if (device == NULL) {
- fprintf(stderr, "Failed to get block device\n");
- return 1;
- }
-
- fd = open(device, O_RDWR);
+ fd = hal_ipod_open_device ();
if (fd <= 0) {
fprintf (stderr, "Failed to open device\n");
return 0;
}
- len = do_inquiry (fd, IPOD_OFFSET_TABLE_PAGE, buf, &start);
+ len = hal_ipod_do_inquiry (fd, IPOD_XML_PAGE, buf, &start);
if (start == NULL || len == 0) {
close(fd);
return 1;
@@ -68,7 +145,7 @@
for (i = 0; offsets[i]; i++) {
bzero(buf, 512);
- len = do_inquiry (fd, offsets[i], buf, &start);
+ len = hal_ipod_do_inquiry (fd, offsets[i], buf, &start);
start[len] = 0;
fprintf (output, "%s", start);
}
@@ -80,3 +157,18 @@
return 0;
}
+int
+main()
+{
+ if (getenv ("HAL_PROP_BLOCK_DEVICE") == NULL) {
+ fprintf(stderr, "Failed to get block device\n");
+ return 1;
+ }
+
+ if (getenv ("HALD_ACTION") != NULL) {
+ return hal_ipod_set_serial ();
+ } else {
+ return hal_ipod_write_xml ();
+ }
+}
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/src/ipod-device.c new/libipoddevice-0.5.1/src/ipod-device.c
--- old/libipoddevice-0.5.0/src/ipod-device.c 2006-09-19 17:52:23.000000000 +0200
+++ new/libipoddevice-0.5.1/src/ipod-device.c 2006-10-12 22:21:39.000000000 +0200
@@ -45,120 +45,7 @@
#include "hal-common.h"
#include "ipod-device.h"
#include "glib-compat.h"
-
-#define GB 1024
-
-typedef struct _IpodModel {
- const gchar *model_number;
- const guint64 capacity;
- guint model_type;
- guint generation;
- const gchar *serial_numbers;
-} IpodModel;
-
-static const IpodModel ipod_model_table [] = {
- /* Handle idiots who hose their iPod file system, or
- lucky people with iPods we don't yet know about*/
- {"Invalid", 0, MODEL_TYPE_INVALID, UNKNOWN_GENERATION, NULL },
- {"Unknown", 0, MODEL_TYPE_UNKNOWN, UNKNOWN_GENERATION, NULL },
-
- /* First Generation */
- {"8513", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
- {"8541", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
- {"8697", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
- {"8709", 10 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
-
- /* Second Generation */
- {"8737", 10 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, NULL },
- {"8740", 10 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, NULL },
- {"8738", 20 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, NULL },
- {"8741", 20 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, NULL },
-
- /* Third Generation */
- {"8976", 10 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "NRH" },
- {"8946", 15 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, NULL },
- {"9460", 15 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "QQF" },
- {"9244", 20 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "PQ5" },
- {"8948", 30 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "NLY" },
- {"9245", 40 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "PNU" },
-
- /* Fourth Generation */
- {"9282", 20 * GB, MODEL_TYPE_REGULAR, FOURTH_GENERATION, "PS9Q8U" },
- {"9787", 25 * GB, MODEL_TYPE_REGULAR_U2, FOURTH_GENERATION, NULL },
- {"9268", 40 * GB, MODEL_TYPE_REGULAR, FOURTH_GENERATION, "PQ7" },
- {"A079", 20 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "TDU" },
- {"A127", 20 * GB, MODEL_TYPE_COLOR_U2, FOURTH_GENERATION, NULL },
- {"9830", 60 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, NULL },
-
- /* First Generation Mini */
- {"9160", 4 * GB, MODEL_TYPE_MINI, FIRST_GENERATION},
- {"9436", 4 * GB, MODEL_TYPE_MINI_BLUE, FIRST_GENERATION, "QKLQKQ" },
- {"9435", 4 * GB, MODEL_TYPE_MINI_PINK, FIRST_GENERATION, "QKKQKP" },
- {"9434", 4 * GB, MODEL_TYPE_MINI_GREEN, FIRST_GENERATION, NULL },
- {"9437", 4 * GB, MODEL_TYPE_MINI_GOLD, FIRST_GENERATION, NULL },
-
- /* Second Generation Mini */
- {"9800", 4 * GB, MODEL_TYPE_MINI, SECOND_GENERATION, "S41" },
- {"9802", 4 * GB, MODEL_TYPE_MINI_BLUE, SECOND_GENERATION, "S43" },
- {"9804", 4 * GB, MODEL_TYPE_MINI_PINK, SECOND_GENERATION, "S45" },
- {"9806", 4 * GB, MODEL_TYPE_MINI_GREEN, SECOND_GENERATION, "S47S4J" },
- {"9801", 6 * GB, MODEL_TYPE_MINI, SECOND_GENERATION, "S42" },
- {"9803", 6 * GB, MODEL_TYPE_MINI_BLUE, SECOND_GENERATION, "S44" },
- {"9805", 6 * GB, MODEL_TYPE_MINI_PINK, SECOND_GENERATION, NULL },
- {"9807", 6 * GB, MODEL_TYPE_MINI_GREEN, SECOND_GENERATION, "S48" },
-
- /* Photo / Fourth Generation */
- {"9829", 30 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "SAY" },
- {"9585", 40 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "R5Q" },
- {"9586", 60 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "R5RR5T" },
- {"9830", 60 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "SAZSB1" },
-
- /* Shuffle / First Generation */
- {"9724", GB / 2, MODEL_TYPE_SHUFFLE, FIRST_GENERATION, "RS9" },
- {"9725", GB, MODEL_TYPE_SHUFFLE, FIRST_GENERATION, "RSA" },
-
- /* Nano / First Generation */
- {"A350", 1 * GB, MODEL_TYPE_NANO_WHITE, FIRST_GENERATION, NULL },
- {"A352", 1 * GB, MODEL_TYPE_NANO_BLACK, FIRST_GENERATION, NULL },
- {"A004", 2 * GB, MODEL_TYPE_NANO_WHITE, FIRST_GENERATION, "SZBSZCSZVSZWUNA" },
- {"A099", 2 * GB, MODEL_TYPE_NANO_BLACK, FIRST_GENERATION, "TJTTJUUPR" },
- {"A005", 4 * GB, MODEL_TYPE_NANO_WHITE, FIRST_GENERATION, "SZC" },
- {"A107", 4 * GB, MODEL_TYPE_NANO_BLACK, FIRST_GENERATION, "TK2" },
-
- /* Nano / Second Generation */
- {"A1199", 8 * GB, MODEL_TYPE_NANO_BLACK, SECOND_GENERATION, "VQT" },
-
- /* Video / Fifth Generation */
- {"A002", 30 * GB, MODEL_TYPE_VIDEO_WHITE, FIFTH_GENERATION, "SZ9SZTSZUWECWEDWEGWEHWEL" },
- {"A146", 30 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "TXKTXLTXMTXNWEEWEFWEJWEK" },
- {"A003", 60 * GB, MODEL_TYPE_VIDEO_WHITE, FIFTH_GENERATION, "SZASZTSZUWECWEDWEGWEHWEL" },
- {"A147", 60 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "TXKTXLTXMTXNWEEWEFWEJWEK" },
-
- /* HP iPods, need contributions for this table */
- {"E436", 40 * GB, MODEL_TYPE_REGULAR, FOURTH_GENERATION, NULL },
-
- {NULL, 0, 0, 0}
-};
-
-static const gchar *ipod_model_name_table [] = {
- "Invalid",
- "Unknown",
- "Color",
- "Color U2",
- "Grayscale",
- "Grayscale U2",
- "Mini (Silver)",
- "Mini (Blue)",
- "Mini (Pink)",
- "Mini (Green)",
- "Mini (Gold)",
- "Shuffle",
- "Nano (White)",
- "Nano (Black)",
- "Video (White)",
- "Video (Black)",
- NULL
-};
+#include "ipod-model-table.h"
#define g_free_if_not_null(o) \
if(o != NULL) { \
@@ -1087,6 +974,10 @@
xmlNodePtr root;
xmlXPathContextPtr xpath;
+ device->priv->serial_number.serial = libhal_device_get_property_string(device->priv->hal_context,
+ device->priv->hal_volume_id,
+ "info.ipod.serial_number", NULL);
+
path = ipod_device_get_extended_sysinfo_path (device);
if (path == NULL) {
return FALSE;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/src/ipod-device.h new/libipoddevice-0.5.1/src/ipod-device.h
--- old/libipoddevice-0.5.0/src/ipod-device.h 2006-09-18 20:03:04.000000000 +0200
+++ new/libipoddevice-0.5.1/src/ipod-device.h 2006-09-20 02:47:45.000000000 +0200
@@ -76,7 +76,11 @@
MODEL_TYPE_NANO_WHITE,
MODEL_TYPE_NANO_BLACK,
MODEL_TYPE_VIDEO_WHITE,
- MODEL_TYPE_VIDEO_BLACK
+ MODEL_TYPE_VIDEO_BLACK,
+ MODEL_TYPE_NANO_SILVER,
+ MODEL_TYPE_NANO_GREEN,
+ MODEL_TYPE_NANO_BLUE,
+ MODEL_TYPE_NANO_PINK
};
enum {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libipoddevice-0.5.0/src/ipod-model-table.h new/libipoddevice-0.5.1/src/ipod-model-table.h
--- old/libipoddevice-0.5.0/src/ipod-model-table.h 1970-01-01 01:00:00.000000000 +0100
+++ new/libipoddevice-0.5.1/src/ipod-model-table.h 2006-10-12 22:24:25.000000000 +0200
@@ -0,0 +1,132 @@
+#include
+
+#include "ipod-device.h"
+
+#define GB 1024
+
+typedef struct _IpodModel {
+ const gchar *model_number;
+ const guint64 capacity;
+ guint model_type;
+ guint generation;
+ const gchar *serial_numbers;
+} IpodModel;
+
+static const IpodModel ipod_model_table [] = {
+ /* Handle idiots who hose their iPod file system, or
+ lucky people with iPods we don't yet know about*/
+ {"Invalid", 0, MODEL_TYPE_INVALID, UNKNOWN_GENERATION, NULL },
+ {"Unknown", 0, MODEL_TYPE_UNKNOWN, UNKNOWN_GENERATION, NULL },
+
+ /* First Generation */
+ {"8513", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
+ {"8541", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
+ {"8697", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
+ {"8709", 10 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
+
+ /* Second Generation */
+ {"8737", 10 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, NULL },
+ {"8740", 10 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, NULL },
+ {"8738", 20 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, NULL },
+ {"8741", 20 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, NULL },
+
+ /* Third Generation */
+ {"8976", 10 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "NRH" },
+ {"8946", 15 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, NULL },
+ {"9460", 15 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "QQF" },
+ {"9244", 20 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "PQ5" },
+ {"8948", 30 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "NLY" },
+ {"9245", 40 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "PNU" },
+
+ /* Fourth Generation */
+ {"9282", 20 * GB, MODEL_TYPE_REGULAR, FOURTH_GENERATION, "PS9Q8U" },
+ {"9787", 25 * GB, MODEL_TYPE_REGULAR_U2, FOURTH_GENERATION, NULL },
+ {"9268", 40 * GB, MODEL_TYPE_REGULAR, FOURTH_GENERATION, "PQ7" },
+ {"A079", 20 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "TDU" },
+ {"A127", 20 * GB, MODEL_TYPE_COLOR_U2, FOURTH_GENERATION, NULL },
+ {"9830", 60 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, NULL },
+
+ /* First Generation Mini */
+ {"9160", 4 * GB, MODEL_TYPE_MINI, FIRST_GENERATION},
+ {"9436", 4 * GB, MODEL_TYPE_MINI_BLUE, FIRST_GENERATION, "QKLQKQ" },
+ {"9435", 4 * GB, MODEL_TYPE_MINI_PINK, FIRST_GENERATION, "QKKQKP" },
+ {"9434", 4 * GB, MODEL_TYPE_MINI_GREEN, FIRST_GENERATION, NULL },
+ {"9437", 4 * GB, MODEL_TYPE_MINI_GOLD, FIRST_GENERATION, NULL },
+
+ /* Second Generation Mini */
+ {"9800", 4 * GB, MODEL_TYPE_MINI, SECOND_GENERATION, "S41" },
+ {"9802", 4 * GB, MODEL_TYPE_MINI_BLUE, SECOND_GENERATION, "S43" },
+ {"9804", 4 * GB, MODEL_TYPE_MINI_PINK, SECOND_GENERATION, "S45" },
+ {"9806", 4 * GB, MODEL_TYPE_MINI_GREEN, SECOND_GENERATION, "S47S4J" },
+ {"9801", 6 * GB, MODEL_TYPE_MINI, SECOND_GENERATION, "S42" },
+ {"9803", 6 * GB, MODEL_TYPE_MINI_BLUE, SECOND_GENERATION, "S44" },
+ {"9805", 6 * GB, MODEL_TYPE_MINI_PINK, SECOND_GENERATION, NULL },
+ {"9807", 6 * GB, MODEL_TYPE_MINI_GREEN, SECOND_GENERATION, "S48" },
+
+ /* Photo / Fourth Generation */
+ {"9829", 30 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "SAY" },
+ {"9585", 40 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "R5Q" },
+ {"9586", 60 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "R5RR5T" },
+ {"9830", 60 * GB, MODEL_TYPE_COLOR, FOURTH_GENERATION, "SAZSB1" },
+
+ /* Shuffle / First Generation */
+ {"9724", GB / 2, MODEL_TYPE_SHUFFLE, FIRST_GENERATION, "RS9" },
+ {"9725", GB, MODEL_TYPE_SHUFFLE, FIRST_GENERATION, "RSA" },
+
+ /* Nano / First Generation */
+ {"A350", 1 * GB, MODEL_TYPE_NANO_WHITE, FIRST_GENERATION, NULL },
+ {"A352", 1 * GB, MODEL_TYPE_NANO_BLACK, FIRST_GENERATION, NULL },
+ {"A004", 2 * GB, MODEL_TYPE_NANO_WHITE, FIRST_GENERATION, "SZBSZCSZVSZWUNA" },
+ {"A099", 2 * GB, MODEL_TYPE_NANO_BLACK, FIRST_GENERATION, "TJTTJUUPR" },
+ {"A005", 4 * GB, MODEL_TYPE_NANO_WHITE, FIRST_GENERATION, "SZC" },
+ {"A107", 4 * GB, MODEL_TYPE_NANO_BLACK, FIRST_GENERATION, "TK2" },
+
+ /* Nano / Second Generation */
+ {"A477", 2 * GB, MODEL_TYPE_NANO_SILVER, SECOND_GENERATION, "VQ5" },
+ {"A426", 4 * GB, MODEL_TYPE_NANO_SILVER, SECOND_GENERATION, "V8T" },
+ {"A428", 4 * GB, MODEL_TYPE_NANO_BLUE, SECOND_GENERATION, "V8W" },
+ {"A487", 4 * GB, MODEL_TYPE_NANO_GREEN, SECOND_GENERATION, "VQH" },
+ {"A489", 4 * GB, MODEL_TYPE_NANO_PINK, SECOND_GENERATION, "VQK" },
+ {"A497", 8 * GB, MODEL_TYPE_NANO_BLACK, SECOND_GENERATION, "VQT" },
+
+ /* Video / Fifth Generation */
+ {"A002", 30 * GB, MODEL_TYPE_VIDEO_WHITE, FIFTH_GENERATION, "SZ9SZTSZUWECWEDWEGWEHWEL" },
+ {"A146", 30 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "TXKTXLTXMTXNWEEWEFWEJWEK" },
+ {"A003", 60 * GB, MODEL_TYPE_VIDEO_WHITE, FIFTH_GENERATION, "SZASZTSZUWECWEDWEGWEHWEL" },
+ {"A147", 60 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "TXKTXLTXMTXNWEEWEFWEJWEK" },
+
+ /* Video / Late 2006 Fifth Generation */
+ {"A446", 30 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "VQM" },
+ {"A448", 80 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "V9SV9P" },
+
+ /* HP iPods, need contributions for this table */
+ {"E436", 40 * GB, MODEL_TYPE_REGULAR, FOURTH_GENERATION, NULL },
+
+ {NULL, 0, 0, 0}
+};
+
+static const gchar *ipod_model_name_table [] = {
+ "Invalid",
+ "Unknown",
+ "Color",
+ "Color U2",
+ "Grayscale",
+ "Grayscale U2",
+ "Mini (Silver)",
+ "Mini (Blue)",
+ "Mini (Pink)",
+ "Mini (Green)",
+ "Mini (Gold)",
+ "Shuffle",
+ "Nano (White)",
+ "Nano (Black)",
+ "Video (White)",
+ "Video (Black)",
+ "Nano (Silver)",
+ "Nano (Green)",
+ "Nano (Blue)",
+ "Nano (Pink)",
+ NULL
+};
+
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org