Hello community,
here is the log from the commit of package libipoddevice
checked in at Mon Apr 2 00:59:29 CEST 2007.
--------
--- GNOME/libipoddevice/libipoddevice.changes 2006-10-12 23:10:58.000000000 +0200
+++ /mounts/work_src_done/STABLE/libipoddevice/libipoddevice.changes 2007-04-01 19:36:43.049189000 +0200
@@ -1,0 +2,9 @@
+Sun Apr 1 19:34:09 CEST 2007 - abockover@suse.de
+
+- Update to version 0.5.3
+ Fixes BNC #239107, parts of #257156
+ Work with more iPod models (latest Shuffles)
+ Added more serial codes for model detecion
+ Better HFS+ readonly support (cache iPod plist off the device)
+
+-------------------------------------------------------------------
Old:
----
libipoddevice-0.5.1.tar.gz
New:
----
libipoddevice-0.5.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libipoddevice.spec ++++++
--- /var/tmp/diff_new_pack.R32318/_old 2007-04-02 00:58:38.000000000 +0200
+++ /var/tmp/diff_new_pack.R32318/_new 2007-04-02 00:58:38.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package libipoddevice (Version 0.5.1)
+# spec file for package libipoddevice (Version 0.5.3)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -13,10 +13,10 @@
Name: libipoddevice
BuildRequires: dbus-1-glib-devel gnome-common hal-devel hal-gnome libgtop-devel libxml2-devel scsi update-desktop-files
URL: http://banshee-project.org/Libipoddevice
-License: LGPL
+License: GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: Development/Libraries/GNOME
Autoreqprov: on
-Version: 0.5.1
+Version: 0.5.3
Release: 1
Summary: GObject Library That Provides iPod Device Transparency through HAL
Source: %{name}-%{version}.tar.gz
@@ -92,7 +92,13 @@
%{_prefix}/include/ipoddevice
%{_libdir}/pkgconfig/ipoddevice.pc
-%changelog -n libipoddevice
+%changelog
+* Sun Apr 01 2007 - abockover@suse.de
+- Update to version 0.5.3
+ Fixes BNC #239107, parts of #257156
+ Work with more iPod models (latest Shuffles)
+ Added more serial codes for model detecion
+ Better HFS+ readonly support (cache iPod plist off the device)
* Thu Oct 12 2006 - abockover@suse.de
- Update to version 0.5.0
Work with more iPod models (latest Nanos)
++++++ libipoddevice-0.5.1.tar.gz -> libipoddevice-0.5.3.tar.gz ++++++
++++ 13869 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/ChangeLog new/libipoddevice-0.5.3/ChangeLog
--- old/libipoddevice-0.5.1/ChangeLog 2006-10-12 22:50:44.000000000 +0200
+++ new/libipoddevice-0.5.3/ChangeLog 2007-04-01 06:55:32.000000000 +0200
@@ -1,3 +1,59 @@
+2007-04-01 Aaron Bockover
+
+ 0.5.3 Released
+
+ * NEWS: Updated
+
+ * configure.ac: Bump to 0.5.3
+
+2007-03-30 Aaron Bockover
+
+ * src/ipod-model-table.h: Use proper model types for the new shuffles
+
+ * src/ipod-device.c: Detect if the volume is HFS+ explicitly and always
+ return that the volume is read only
+
+ * src/ipod-device.h: Added specific model types for the various kinds of
+ second generation shuffles
+
+2007-03-26 Aaron Bockover
+
+ Support HFS+ iPods a little better by being able to write/read the plist
+ metadata off the device (in /tmp); Support 2nd generation iPod Shuffles
+
+ * src/ipod-prepare-sysinfo.c: Build the extended sysinfo path (plist)
+ based on if the device is writable or not
+
+ * src/ipod-model-table.h: Added more serial codes to the model table
+ and added support for second generation shuffles
+
+ * src/hal-ipod-info.c: Write the plist to either /tmp/ipod-sysinfo-<serial>
+ if the device is read only or to the correct place on the device otherwise
+
+ * src/ipod-device.c: Read plist from above location; trim the serial number
+ for whitespace as some plist data has trailing space
+
+2006-12-09 Aaron Bockover
+
+ * src/ipod-device.h:
+ * src/ipod-model-table.h: Added MODEL_TYPE_NANO_PRODUCT_RED
+ for the iPod Nano (PRODUCT) RED iPod
+
+2006-12-09 Aaron Bockover
+
+ 0.5.2 Released
+
+ * NEWS: Updated
+
+ * configure.ac: bump to 0.5.1
+
+ * src/ipod-model-table.h: Merged new model data from the submission
+ table (http://banshee-project.org/IpodDataSubmit/Table)
+
+2006-12-04 Aaron Bockover
+
+ * src/hal-ipod-info.c: Handle return value from asprintf (BGO #382224)
+
2006-10-12 Aaron Bockover
0.5.1 Released
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/configure.ac new/libipoddevice-0.5.3/configure.ac
--- old/libipoddevice-0.5.1/configure.ac 2006-10-02 03:47:37.000000000 +0200
+++ new/libipoddevice-0.5.3/configure.ac 2007-04-01 06:48:20.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.1)
+AM_INIT_AUTOMAKE(libipoddevice, 0.5.3)
AM_MAINTAINER_MODE
AC_PROG_CC
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/INSTALL new/libipoddevice-0.5.3/INSTALL
--- old/libipoddevice-0.5.1/INSTALL 2005-06-14 00:31:33.000000000 +0200
+++ new/libipoddevice-0.5.3/INSTALL 2007-04-01 06:57:34.000000000 +0200
@@ -102,16 +102,16 @@
Installation Names
==================
-By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PREFIX'.
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PREFIX', the package will
-use PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
@@ -159,7 +159,7 @@
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
+use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/Makefile.am new/libipoddevice-0.5.3/Makefile.am
--- old/libipoddevice-0.5.1/Makefile.am 2006-09-18 16:53:37.000000000 +0200
+++ new/libipoddevice-0.5.3/Makefile.am 2007-04-01 06:56:21.000000000 +0200
@@ -6,5 +6,10 @@
CLEANFILES = ipoddevice.pc *.pws *.bak
DISTCLEANFILES = config.guess config.sub configure install-sh missing depcomp Makefile.in ltmain.sh aclocal.m4 config.h.in
-
+release: distcheck
+ @echo "Preparing to release libipoddevice-$(VERSION), in 15 seconds..."
+ @sleep 15
+ svn cp svn+ssh://abock@svn.gnome.org/svn/libipoddevice/trunk \
+ svn+ssh://abock@svn.gnome.org/svn/libipoddevice/tags/libipoddevice-$(VERSION) -m "Tag for $(VERSION)"
+ scp libipoddevice-$(VERSION).tar.gz banshee@banshee-project.org:/home/banshee/public_html/files/libipoddevice
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/NEWS new/libipoddevice-0.5.3/NEWS
--- old/libipoddevice-0.5.1/NEWS 2006-10-12 22:50:14.000000000 +0200
+++ new/libipoddevice-0.5.3/NEWS 2007-04-01 06:55:02.000000000 +0200
@@ -1 +1,3 @@
-2006-10-12: 0.5.0 Released
+2007-04-01: 0.5.3 Released - Better model coverage, Improved HFS+ support
+2006-12-09: 0.5.2 Released - Better model coverage
+2006-10-12: 0.5.1 Released
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/src/hal-ipod-info.c new/libipoddevice-0.5.3/src/hal-ipod-info.c
--- old/libipoddevice-0.5.1/src/hal-ipod-info.c 2006-10-12 22:21:39.000000000 +0200
+++ new/libipoddevice-0.5.3/src/hal-ipod-info.c 2007-03-26 19:24:12.000000000 +0200
@@ -8,6 +8,10 @@
#include
#include
#include
+#include
+
+#include "glib-compat.h"
+#include "ipod-prepare-sysinfo.h"
#define IPOD_BUF_LENGTH 252
#define IPOD_SERIAL_PAGE 0x80
@@ -111,12 +115,31 @@
{
int fd;
int i;
+ int readonly;
unsigned char len;
char buf[512];
char *output_path;
char *offsets;
+ char *serial;
+ char *mount_point;
char *start;
FILE *output;
+ LibHalContext *ctx;
+
+ ctx = hal_ipod_initialize ();
+ if (ctx == NULL) {
+ fprintf(stderr, "Failed to initialize HAL context\n");
+ return 1;
+ }
+
+ readonly = 0;
+ if (!libhal_device_property_exists(ctx, getenv("UDI"),
+ "volume.is_mounted_read_only", NULL)) {
+ readonly = libhal_device_get_property_bool(ctx, getenv("UDI"),
+ "volume.is_mounted_read_only", NULL);
+ }
+
+ libhal_ctx_free(ctx);
fd = hal_ipod_open_device ();
if (fd <= 0) {
@@ -124,21 +147,37 @@
return 0;
}
+ len = hal_ipod_do_inquiry (fd, IPOD_SERIAL_PAGE, buf, &start);
+ if (start == NULL || len == 0) {
+ close(fd);
+ return 1;
+ }
+
+ serial = g_strdup(start);
+
len = hal_ipod_do_inquiry (fd, IPOD_XML_PAGE, buf, &start);
if (start == NULL || len == 0) {
close(fd);
return 1;
}
+ mount_point = getenv("HAL_PROP_VOLUME_MOUNT_POINT");
+ if (!ipod_prepare_sysinfo (serial, !readonly, mount_point, &output_path)) {
+ free(serial);
+ close(fd);
+ return 1;
+ }
+
offsets = malloc(sizeof(char) * len);
memcpy(offsets, start, len + 1);
offsets[len] = 0;
- asprintf (&output_path, "%s/iPod_Control/Device/SysInfoExtended", getenv("HAL_PROP_VOLUME_MOUNT_POINT"));
-
output = fopen (output_path, "w");
if (output == NULL) {
fprintf(stderr, "Failed to create output file\n");
+ free(serial);
+ free(offsets);
+ free(output_path);
close(fd);
return 1;
}
@@ -150,7 +189,9 @@
fprintf (output, "%s", start);
}
- free (offsets);
+ free(serial);
+ free(offsets);
+ free(output_path);
fclose(output);
close(fd);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/src/ipod-device.c new/libipoddevice-0.5.3/src/ipod-device.c
--- old/libipoddevice-0.5.1/src/ipod-device.c 2006-10-12 22:21:39.000000000 +0200
+++ new/libipoddevice-0.5.3/src/ipod-device.c 2007-03-30 20:57:42.000000000 +0200
@@ -46,6 +46,7 @@
#include "ipod-device.h"
#include "glib-compat.h"
#include "ipod-model-table.h"
+#include "ipod-prepare-sysinfo.h"
#define g_free_if_not_null(o) \
if(o != NULL) { \
@@ -781,7 +782,12 @@
char *path;
char *udi;
- path = g_strdup_printf ("%sDevice/SysInfoExtended", device->priv->control_path);
+ if(!ipod_prepare_sysinfo (device->priv->serial_number.serial,
+ device->priv->can_write, device->priv->mount_point, &path)) {
+ return NULL;
+ }
+
+ //g_debug("SysInfo PLIST XML: %s", path);
if (g_file_test (path, G_FILE_TEST_EXISTS)) {
return path;
@@ -974,9 +980,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);
+ device->priv->serial_number.serial =
+ g_strstrip (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) {
@@ -998,7 +1005,8 @@
xpath = xmlXPathNewContext(doc);
- device->priv->serial_number.serial = ipod_device_get_dict_value (xpath, "/plist/dict", "SerialNumber");
+ device->priv->serial_number.serial = g_strstrip (ipod_device_get_dict_value (
+ xpath, "/plist/dict", "SerialNumber"));
ipod_device_read_artwork_info (device, xpath);
@@ -1076,7 +1084,7 @@
}
if (strcmp (key, "pszSerialNumber") == 0) {
- device->priv->serial_number.serial = g_strdup (value);
+ device->priv->serial_number.serial = g_strstrip (g_strdup (value));
} else if (strcmp (key, "ModelNumStr") == 0) {
device->priv->model_number = g_strdup (value);
} else if (strcmp (key, "buildID") == 0) {
@@ -1139,11 +1147,23 @@
if(!libhal_device_property_exists(device->priv->hal_context, device->priv->hal_volume_id,
"volume.is_mounted_read_only", NULL)) {
- device->priv->can_write = !libhal_device_get_property_bool(device->priv->hal_context,
- device->priv->hal_volume_id, "volume.is_mounted_read_only", NULL);
return device->priv->can_write;
}
+ if(libhal_device_property_exists(device->priv->hal_context,
+ device->priv->hal_volume_id, "volume.fstype", NULL)) {
+ gchar *fstype = libhal_device_get_property_string(
+ device->priv->hal_context, device->priv->hal_volume_id,
+ "volume.fstype", NULL);
+
+ if(strcmp(fstype, "hfsplus") == 0) {
+ g_free(fstype);
+ return FALSE;
+ }
+
+ g_free(fstype);
+ }
+
itunes_dir = g_strdup_printf("%siTunes", device->priv->control_path);
if(g_mkdir_with_parents(itunes_dir, 0755) == -1) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/src/ipod-device.h new/libipoddevice-0.5.3/src/ipod-device.h
--- old/libipoddevice-0.5.1/src/ipod-device.h 2006-09-20 02:47:45.000000000 +0200
+++ new/libipoddevice-0.5.3/src/ipod-device.h 2007-03-30 20:47:18.000000000 +0200
@@ -80,7 +80,13 @@
MODEL_TYPE_NANO_SILVER,
MODEL_TYPE_NANO_GREEN,
MODEL_TYPE_NANO_BLUE,
- MODEL_TYPE_NANO_PINK
+ MODEL_TYPE_NANO_PINK,
+ MODEL_TYPE_NANO_PRODUCT_RED,
+ MODEL_TYPE_SHUFFLE_SILVER,
+ MODEL_TYPE_SHUFFLE_PINK,
+ MODEL_TYPE_SHUFFLE_BLUE,
+ MODEL_TYPE_SHUFFLE_GREEN,
+ MODEL_TYPE_SHUFFLE_ORANGE
};
enum {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/src/ipod-model-table.h new/libipoddevice-0.5.3/src/ipod-model-table.h
--- old/libipoddevice-0.5.1/src/ipod-model-table.h 2006-10-12 22:24:25.000000000 +0200
+++ new/libipoddevice-0.5.3/src/ipod-model-table.h 2007-03-30 20:54:04.000000000 +0200
@@ -18,17 +18,21 @@
{"Invalid", 0, MODEL_TYPE_INVALID, UNKNOWN_GENERATION, NULL },
{"Unknown", 0, MODEL_TYPE_UNKNOWN, UNKNOWN_GENERATION, NULL },
+ /* NOTE: Model code data for first and second generations may not
+ be entirely accurate, but it's better than nothing */
+
/* First Generation */
{"8513", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
- {"8541", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
+ {"8541", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, "LG6NAM" },
+ {"8541", 10 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, "ML1MME" },
{"8697", 5 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
- {"8709", 10 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, NULL },
+ {"8709", 10 * GB, MODEL_TYPE_REGULAR, FIRST_GENERATION, "NGE" },
/* 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 },
+ {"8737", 10 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, "NGE" },
+ {"8740", 10 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, "NGE" },
+ {"8738", 20 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, "MMCMMF" },
+ {"8741", 20 * GB, MODEL_TYPE_REGULAR, SECOND_GENERATION, "MMCMMF" },
/* Third Generation */
{"8976", 10 * GB, MODEL_TYPE_REGULAR, THIRD_GENERATION, "NRH" },
@@ -40,14 +44,14 @@
/* Fourth Generation */
{"9282", 20 * GB, MODEL_TYPE_REGULAR, FOURTH_GENERATION, "PS9Q8U" },
- {"9787", 25 * GB, MODEL_TYPE_REGULAR_U2, FOURTH_GENERATION, NULL },
+ {"9787", 25 * GB, MODEL_TYPE_REGULAR_U2, FOURTH_GENERATION, "V9VW9G" },
{"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},
+ {"9160", 4 * GB, MODEL_TYPE_MINI, FIRST_GENERATION, "PFW" },
{"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 },
@@ -70,24 +74,33 @@
{"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" },
+ {"9724", GB / 2, MODEL_TYPE_SHUFFLE, FIRST_GENERATION, "RS9QGVTSXPFVR80" },
+ {"9725", GB, MODEL_TYPE_SHUFFLE, FIRST_GENERATION, "RSATSYC60" },
+ /* Shuffle / Second Generation */
+ {"A546", GB, MODEL_TYPE_SHUFFLE_SILVER, SECOND_GENERATION, "VTE" },
+ {"A947", GB, MODEL_TYPE_SHUFFLE_PINK, SECOND_GENERATION, "XQ5" },
+ {"A949", GB, MODEL_TYPE_SHUFFLE_BLUE, SECOND_GENERATION, "XQV" },
+ {"A951", GB, MODEL_TYPE_SHUFFLE_GREEN, SECOND_GENERATION, "XQY" },
+ {"A953", GB, MODEL_TYPE_SHUFFLE_ORANGE, SECOND_GENERATION, "XR1" },
+
/* Nano / First Generation */
- {"A350", 1 * GB, MODEL_TYPE_NANO_WHITE, FIRST_GENERATION, NULL },
- {"A352", 1 * GB, MODEL_TYPE_NANO_BLACK, FIRST_GENERATION, NULL },
+ {"A350", 1 * GB, MODEL_TYPE_NANO_WHITE, FIRST_GENERATION, "UNB" },
+ {"A352", 1 * GB, MODEL_TYPE_NANO_BLACK, FIRST_GENERATION, "UPR" },
{"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" },
+ {"A005", 4 * GB, MODEL_TYPE_NANO_WHITE, FIRST_GENERATION, "SZCSZW" },
+ {"A107", 4 * GB, MODEL_TYPE_NANO_BLACK, FIRST_GENERATION, "TK2TK3" },
/* 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" },
+ {"A477", 2 * GB, MODEL_TYPE_NANO_SILVER, SECOND_GENERATION, "VQ5VQ6" },
+ {"A426", 4 * GB, MODEL_TYPE_NANO_SILVER, SECOND_GENERATION, "V8TV8U" },
+ {"A428", 4 * GB, MODEL_TYPE_NANO_BLUE, SECOND_GENERATION, "V8WV8X" },
+ {"A487", 4 * GB, MODEL_TYPE_NANO_GREEN, SECOND_GENERATION, "VQHVQJ" },
+ {"A489", 4 * GB, MODEL_TYPE_NANO_PINK, SECOND_GENERATION, "VQKVQL" },
+ {"A725", 4 * GB, MODEL_TYPE_NANO_PRODUCT_RED, SECOND_GENERATION, "WL2WL3" },
+ {"A726", 8 * GB, MODEL_TYPE_NANO_PRODUCT_RED, SECOND_GENERATION, "X9AX9B" },
+ {"A497", 8 * GB, MODEL_TYPE_NANO_BLACK, SECOND_GENERATION, "VQTVQU" },
/* Video / Fifth Generation */
{"A002", 30 * GB, MODEL_TYPE_VIDEO_WHITE, FIFTH_GENERATION, "SZ9SZTSZUWECWEDWEGWEHWEL" },
@@ -96,9 +109,12 @@
{"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" },
-
+ {"A444", 30 * GB, MODEL_TYPE_VIDEO_WHITE, FIFTH_GENERATION, "V9KV9LWU9" }, /* Are the W?? U2's? */
+ {"A446", 30 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "VQMV9MV9N" },
+ {"A448", 80 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "V9SV9PV9R" },
+ {"A450", 80 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "WUC" }, /* Possibly Video U2? */
+ {"A446", 30 * GB, MODEL_TYPE_VIDEO_BLACK, FIFTH_GENERATION, "W9G" }, /* Video U2 */
+
/* HP iPods, need contributions for this table */
{"E436", 40 * GB, MODEL_TYPE_REGULAR, FOURTH_GENERATION, NULL },
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/src/ipod-prepare-sysinfo.c new/libipoddevice-0.5.3/src/ipod-prepare-sysinfo.c
--- old/libipoddevice-0.5.1/src/ipod-prepare-sysinfo.c 1970-01-01 01:00:00.000000000 +0100
+++ new/libipoddevice-0.5.3/src/ipod-prepare-sysinfo.c 2007-03-26 19:14:16.000000000 +0200
@@ -0,0 +1,42 @@
+#include
+#include
+#include
+#include
+#include
+
+#include "ipod-prepare-sysinfo.h"
+
+gboolean
+ipod_prepare_sysinfo(gchar *serial, gint can_write, gchar *mount_point, gchar **filename)
+{
+ gchar *directory;
+ gchar *_filename;
+
+ *filename = NULL;
+
+ if(can_write) {
+ directory = g_build_filename(mount_point, "iPod_Control", "Device", NULL);
+ _filename = g_build_filename(directory, "SysInfoExtended", NULL);
+ } else {
+ directory = g_strdup_printf("/tmp");
+ _filename = g_strdup_printf("%s/ipod-sysinfo-%s", directory, serial);
+ }
+
+ if(directory == NULL || _filename == NULL) {
+ fprintf(stderr, "Failed to build output path\n");
+ return FALSE;
+ }
+
+ if(g_mkdir_with_parents(directory, 0755) == -1) {
+ fprintf(stderr, "Failed to create device directory (g_mkdir_with_parents)\n");
+ free(directory);
+ free(_filename);
+ return FALSE;
+ }
+
+ *filename = _filename;
+ g_free(directory);
+
+ return TRUE;
+}
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/src/ipod-prepare-sysinfo.h new/libipoddevice-0.5.3/src/ipod-prepare-sysinfo.h
--- old/libipoddevice-0.5.1/src/ipod-prepare-sysinfo.h 1970-01-01 01:00:00.000000000 +0100
+++ new/libipoddevice-0.5.3/src/ipod-prepare-sysinfo.h 2007-03-26 19:14:16.000000000 +0200
@@ -0,0 +1,10 @@
+#ifndef _IPOD_PREPARE_SYSINFO
+#define _IPOD_PREPARE_SYSINFO
+
+#include
+
+gboolean
+ipod_prepare_sysinfo(gchar *serial, gboolean can_write, gchar *mount_point, gchar **output_path);
+
+#endif /* _IPOD_PREPARE_SYSINFO */
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libipoddevice-0.5.1/src/Makefile.am new/libipoddevice-0.5.3/src/Makefile.am
--- old/libipoddevice-0.5.1/src/Makefile.am 2006-10-02 03:34:39.000000000 +0200
+++ new/libipoddevice-0.5.3/src/Makefile.am 2007-04-01 06:52:36.000000000 +0200
@@ -23,6 +23,8 @@
hal-common.h \
glib-compat.c \
glib-compat.h \
+ ipod-prepare-sysinfo.c \
+ ipod-prepare-sysinfo.h \
ipod-model-table.h
libipoddevice_la_LIBADD = $(LID_LIBS)
@@ -34,4 +36,4 @@
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)
+hal_ipod_info_LDADD = $(HAL_IPOD_INFO_LIBS) $(LID_LIBS) glib-compat.o ipod-prepare-sysinfo.o
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org