diff --git a/.cvsignore b/.cvsignore index 84f8e63..df64d50 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -libgpod-0.5.2.tar.gz +libgpod-0.6.0.tar.gz diff --git a/libgpod-0.6.0-ipod-touch-typos.patch b/libgpod-0.6.0-ipod-touch-typos.patch new file mode 100644 index 0000000..c42e1e0 --- /dev/null +++ b/libgpod-0.6.0-ipod-touch-typos.patch @@ -0,0 +1,34 @@ +Index: ChangeLog +=================================================================== +--- ChangeLog (revision 1792) ++++ ChangeLog (revision 1793) +@@ -1,3 +1,7 @@ ++2007-11-16 Christophe Fergeau ++ ++ * src/itdb_device.c: fix typoes in iPod Touch model lists ++ + 2007-11-14 Christophe + + * src/itdb_itunesdb.c: get rid of local g_mkdir_with_parents copy +Index: src/itdb_device.c +=================================================================== +--- src/itdb_device.c (revision 1792) ++++ src/itdb_device.c (revision 1793) +@@ -185,7 +185,7 @@ + /* iPod touch G1 */ + /* With touch screen */ + {"A623", 8, ITDB_IPOD_MODEL_TOUCH_BLACK, ITDB_IPOD_GENERATION_TOUCH_1, 14}, +- {"A627", 16, ITDB_IPOD_MODEL_NANO_SILVER, ITDB_IPOD_GENERATION_TOUCH_1, 28}, ++ {"A627", 16, ITDB_IPOD_MODEL_TOUCH_BLACK, ITDB_IPOD_GENERATION_TOUCH_1, 28}, + + + /* No known model number -- create a Device/SysInfo file with +@@ -257,7 +257,7 @@ + N_("Video (1st Gen.)"), + N_("Video (2nd Gen.)"), + N_("Classic"), +- N_("Touch (Read-Only)"), ++ N_("Touch"), + N_("Unused"), + N_("Unused"), + NULL diff --git a/libgpod-0.6.0-photoremove.patch b/libgpod-0.6.0-photoremove.patch new file mode 100644 index 0000000..e801621 --- /dev/null +++ b/libgpod-0.6.0-photoremove.patch @@ -0,0 +1,79 @@ +Index: ChangeLog +=================================================================== +--- ChangeLog (revision 1778) ++++ ChangeLog (revision 1785) +@@ -1,5 +1,21 @@ +-====== libgpod 0.6.0 ====== ++2007-11-14 Christophe + ++ * src/itdb_photoalbum.c: use g_list_remove all instead of an ++ inefficient combination of g_list_find + g_list_remove ++ ++2007-11-14 Jorg Schuler ++ ++ * src/itdb_photoalbum.c (itdb_photodb_photoalbum_remove): make ++ sure same photo isn't freed multiple times if it was added in an ++ album multiple times. ++ ++2007-11-13 Christophe Fergeau ++ ++ * src/itdb_photoalbum.c: fix bug in itdb_photodb_photoalbum_remove, ++ when removing all the photos from the photodatabase, we were ++ erasing elements and iterating over the list at the same time, ++ which resulted in the function not working properly ++ + 2007-11-10 Christophe Fergeau + + * Makefile.am: add README.SysInfo to EXTRADIST +Index: src/itdb_photoalbum.c +=================================================================== +--- src/itdb_photoalbum.c (revision 1778) ++++ src/itdb_photoalbum.c (revision 1785) +@@ -1,4 +1,4 @@ +-/* Time-stamp: <2007-11-03 20:27:36 jcs> ++/* + | + | Copyright (C) 2002-2006 Jorg Schuler + | Part of the gtkpod project. +@@ -615,10 +615,7 @@ + for (it = db->photoalbums; it != NULL; it = it->next) + { + Itdb_PhotoAlbum *_album = it->data; +- while (g_list_find (_album->members, photo)) +- { +- _album->members = g_list_remove (_album->members, photo); +- } ++ _album->members = g_list_remove_all (_album->members, photo); + } + /* Remove the photo from the image list */ + db->photos = g_list_remove (db->photos, photo); +@@ -678,8 +675,6 @@ + Itdb_PhotoAlbum *album, + gboolean remove_pics) + { +- GList *it; +- + g_return_if_fail (db); + g_return_if_fail (album); + +@@ -687,11 +682,16 @@ + * and remove them from the database */ + if (remove_pics) + { +- for (it = album->members; it != NULL; it = it->next ) ++ /* we can't iterate over album->members because ++ itdb_photodb_remove_photo() modifies album->members in ++ a not easily predicable way (e.g. @photo may exist in the ++ album several times). Therefore we remove photos until ++ album->members is empty. */ ++ while (album->members) + { +- Itdb_Artwork *photo = it->data; +- itdb_photodb_remove_photo (db, NULL, photo); +- } ++ Itdb_Artwork *photo = album->members->data; ++ itdb_photodb_remove_photo (db, NULL, photo); ++ } + } + db->photoalbums = g_list_remove (db->photoalbums, album); + itdb_photodb_photoalbum_free (album); diff --git a/libgpod-0.6.0-spl-tracklen.patch b/libgpod-0.6.0-spl-tracklen.patch new file mode 100644 index 0000000..ffd65f7 --- /dev/null +++ b/libgpod-0.6.0-spl-tracklen.patch @@ -0,0 +1,40 @@ +Index: ChangeLog +=================================================================== +--- ChangeLog (revision 1796) ++++ ChangeLog (revision 1797) +@@ -1,3 +1,15 @@ ++2007-11-17 Jorg Schuler ++ ++ * src/itdb_playlist.c (itdb_splr_eval): track length in rules for ++ smart playlists was treated as seconds, but the iPod treats them ++ as milliseconds. If you told libgpod to create a smart playlist ++ with tracks less than 100 secs in length, but the life update of ++ the iPod would interpret that rule as "tracks less than 100 msec ++ in length", giving a vastly different result. Tested with iPod ++ Nano 1G and iPod nano Video (3G). ++ ++ Requires corresponding fix in GUIs using this function. ++ + 2007-11-16 Christophe Fergeau + + * src/itdb_device.c: fix typoes in iPod Touch model lists +Index: src/itdb_playlist.c +=================================================================== +--- src/itdb_playlist.c (revision 1796) ++++ src/itdb_playlist.c (revision 1797) +@@ -1,5 +1,4 @@ +-/* Time-stamp: <2007-02-25 11:52:48 jcs> +-| ++/* + | Copyright (C) 2002-2005 Jorg Schuler + | Part of the gtkpod project. + | +@@ -424,7 +423,7 @@ + handled = TRUE; + break; + case ITDB_SPLFIELD_TIME: +- intcomp = track->tracklen/1000; ++ intcomp = track->tracklen; + handled = TRUE; + break; + case ITDB_SPLFIELD_COMPILATION: diff --git a/libgpod.spec b/libgpod.spec index 2cbee32..5429e14 100644 --- a/libgpod.spec +++ b/libgpod.spec @@ -2,21 +2,26 @@ Summary: Library to access the contents of an iPod Name: libgpod -Version: 0.5.2 +Version: 0.6.0 Release: 2%{?dist} License: LGPLv2+ Group: System Environment/Libraries URL: http://www.gtkpod.org/libgpod.html Source0: http://downloads.sourceforge.net/gtkpod/%{name}-%{version}.tar.gz -Patch0: libgpod-0.5.2-python-docs.patch +Patch0: libgpod-0.6.0-photoremove.patch +Patch1: libgpod-0.6.0-ipod-touch-typos.patch +Patch2: libgpod-0.6.0-spl-tracklen.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: glib2-devel BuildRequires: gtk2-devel BuildRequires: gettext +BuildRequires: hal-devel BuildRequires: libxslt BuildRequires: perl(XML::Parser) +BuildRequires: pygobject2-devel Buildrequires: python-devel Buildrequires: python-mutagen +Buildrequires: sg3_utils-devel Buildrequires: swig %description @@ -38,6 +43,19 @@ This package contains the files required to develop programs that will use libgpod. +%package doc +Summary: API documentation for the libgpod library +Group: Documentation +License: GFDL +Requires: gtk-doc + +%description doc +Libgpod is a library to access the contents of an iPod. It supports playlists, +smart playlists, playcounts, ratings, podcasts, album artwork, photos, etc. + +This package contains the API documentation. + + %package -n python-gpod Summary: Python module to access iPod content Group: Development/Languages @@ -51,7 +69,9 @@ libgpod library. %prep %setup -q -%patch0 -p0 -b .pydocs +%patch0 -p0 -b .photoremove +%patch1 -p0 -b .ipod-touch-typos +%patch2 -p0 -b .spl-tracklen # remove execute perms on the python examples as they'll be installed in %doc %{__chmod} -x bindings/python/examples/*.py @@ -81,21 +101,29 @@ libgpod library. %files -f %{name}.lang %defattr(-, root, root, 0755) -%doc AUTHORS ChangeLog COPYING README +%doc AUTHORS ChangeLog COPYING NEWS README* +%{_bindir}/* %{_libdir}/*.so.* +%{_libdir}/hal/* +%{_datadir}/hal/fdi/policy/20thirdparty/*.fdi %files devel %defattr(-, root, root, 0755) %{_includedir}/gpod-1.0/ %{_libdir}/pkgconfig/libgpod-1.0.pc -%{_datadir}/gtk-doc/html/libgpod %exclude %{_libdir}/*.a %exclude %{_libdir}/*.la %{_libdir}/*.so +%files doc +%defattr(-, root, root, 0755) +%{_datadir}/gtk-doc/html/libgpod + + %files -n python-gpod +%defattr(-, root, root, 0755) %doc COPYING bindings/python/README bindings/python/examples %{python_sitearch}/gpod %exclude %{python_sitearch}/gpod/*.a @@ -103,6 +131,15 @@ libgpod library. %changelog +* Wed Dec 19 2007 Todd Zullinger - 0.6.0-2 +- add the NEWS file, which contains some info on getting newer iPods working +- split out API docs into a separate package +- set %%defattr for python-gpod + +* Wed Nov 21 2007 Todd Zullinger - 0.6.0-1 +- update to 0.6.0 +- apply a few upstream patches that just missed the release + * Fri Aug 24 2007 Adam Jackson - 0.5.2-2 - Rebuild for build ID diff --git a/sources b/sources index 1be6910..70e9411 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e4f8d2a7be9512268267bfbe712fe9be libgpod-0.5.2.tar.gz +b44d8aee3f6610370b6faf61770c5f3c libgpod-0.6.0.tar.gz