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 <abock@gnome.org> + + 0.5.3 Released + + * NEWS: Updated + + * configure.ac: Bump to 0.5.3 + +2007-03-30 Aaron Bockover <abock@gnome.org> + + * 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 <abock@gnome.org> + + 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 <abock@gnome.org> + + * 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 <abock@gnome.org> + + 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 <abock@gnome.org> + + * src/hal-ipod-info.c: Handle return value from asprintf (BGO #382224) + 2006-10-12 Aaron Bockover <abock@gnome.org> 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 <fcntl.h> #include <scsi/sg_cmds.h> #include <libhal.h> +#include <glib.h> + +#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 <glib.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <stdio.h> + +#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 <glib.h> + +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
participants (1)
-
root@Hilbert.suse.de