lundi 21 décembre 2009

III. Synchronisation de l'iPhone/iPod Touch sous linux

Avant de continuer dans la manipulation afin de pouvoir synchroniser mon iTouch, je vais revenir dans un premier temps sur la partie 5 du précédent billet, au moment ou j'ai décidé de compiler libgpod malgré l'information indiquant que l'iTouch n'est pas supporté.


8. Synchronisation non supporté
: libiphone-dev non installé

Après avoir lancé la commande 'make', tout à l'air de s'être bien déroulé, comme indiqué ci dessous.

~/libgpod$ make

make all-recursive
make[1]: Entering directory `/home/malagasy/libgpod'
Making all in src
make[2]: Entering directory `/home/malagasy/libgpod/src'
CC libgpod_la-db-artwork-debug.lo
CC libgpod_la-db-artwork-parser.lo
CC libgpod_la-db-artwork-writer.lo
CC libgpod_la-db-image-parser.lo
CC libgpod_la-db-parse-context.lo
CC libgpod_la-itdb_artwork.lo
CC libgpod_la-itdb_chapterdata.lo
CC libgpod_la-itdb_device.lo
CC libgpod_la-itdb_hash58.lo
CC libgpod_la-itdb_hash72.lo
CC libgpod_la-itdb_iphone.lo
CC libgpod_la-itdb_itunesdb.lo
CC libgpod_la-itdb_photoalbum.lo
CC libgpod_la-itdb_playlist.lo
CC libgpod_la-itdb_plist.lo
CC libgpod_la-itdb_sqlite.lo
CC libgpod_la-itdb_sysinfo_extended_parser.lo
CC libgpod_la-itdb_thumb.lo
CC libgpod_la-itdb_track.lo
CC libgpod_la-itdb_tzinfo.lo
CC libgpod_la-itdb_zlib.lo
CC libgpod_la-ithumb-writer.lo
CC libgpod_la-pixmaps.lo
CC libgpod_la-rijndael.lo
CCLD libgpod.la
make[2]: Leaving directory `/home/malagasy/libgpod/src'
Making all in tools
make[2]: Entering directory `/home/malagasy/libgpod/tools'
CC ipod_read_sysinfo_extended-read-sysinfoextended.o
CC ipod_read_sysinfo_extended-ipod-lockdown.o
CCLD ipod-read-sysinfo-extended
/usr/bin/ld: warning: libplist.so.0, needed by /usr/lib/libiphone.so, may conflict with libplist.so.1
make[2]: Leaving directory `/home/malagasy/libgpod/tools'
Making all in tests
make[2]: Entering directory `/home/malagasy/libgpod/tests'
CC itdb_main.o
CCLD test-itdb
CC test-ls.o
CCLD test-ls
CC test-fw-id.o
CCLD test-firewire-id
CC test-sysinfo-extended-parsing.o
CC itdb_plist.o
CC itdb_sysinfo_extended_parser.o
CCLD test-sysinfo-extended-parsing
CC test_thumbnails-test-covers.o
CCLD test-thumbnails
CC test_write_thumbnails-test-write-covers.o
CCLD test-write-thumbnails
CC test_photos-test-photos.o
CCLD test-photos
CC get-timezone.o
CCLD get-timezone
CC test-init-ipod.o
CCLD test-init-ipod
make[2]: Leaving directory `/home/malagasy/libgpod/tests'
Making all in po
make[2]: Entering directory `/home/malagasy/libgpod/po'
file=`echo de | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file de.po
file=`echo es | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file es.po
file=`echo fr | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file fr.po
file=`echo he | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file he.po
file=`echo it | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file it.po
file=`echo ja | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file ja.po
file=`echo ro | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file ro.po
file=`echo sv | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file sv.po
file=`echo zh_CN | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file zh_CN.po
make[2]: Leaving directory `/home/malagasy/libgpod/po'
Making all in m4
make[2]: Entering directory `/home/malagasy/libgpod/m4'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/malagasy/libgpod/m4'
Making all in docs
make[2]: Entering directory `/home/malagasy/libgpod/docs'
Making all in reference
make[3]: Entering directory `/home/malagasy/libgpod/docs/reference'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/malagasy/libgpod/docs/reference'
make[3]: Entering directory `/home/malagasy/libgpod/docs'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/malagasy/libgpod/docs'
make[2]: Leaving directory `/home/malagasy/libgpod/docs'
Making all in bindings
make[2]: Entering directory `/home/malagasy/libgpod/bindings'
Making all in python
make[3]: Entering directory `/home/malagasy/libgpod/bindings/python'
cat gpod_doc.i.in > gpod_doc.i
if test -x "`which xsltproc 2>/dev/null`"; then \
for xml in ../../docs/reference/xml/*.xml; do \
xsltproc ./gtkdoc-to-swig.xsl $xml; \
done >> gpod_doc.i; \
fi
warning: failed to load external entity "../../docs/reference/xml/*.xml"
unable to parse ../../docs/reference/xml/*.xml
make[3]: [gpod_doc.i] Error 6 (ignored)
/usr/bin/swig -python -o gpod.py gpod.i
../../src/itdb.h:280: Warning(451): Setting a const char * variable may leak memory.
/usr/bin/swig -python -I../../src -o gpod_wrap.c gpod.i
../../src/itdb.h:280: Warning(451): Setting a const char * variable may leak memory.
make all-recursive
make[4]: Entering directory `/home/malagasy/libgpod/bindings/python'
Making all in examples
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python/examples'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python/examples'
Making all in tests
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python/tests'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python/tests'
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python'
CC _gpod_la-gpod_wrap.lo
CCLD _gpod.la
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[4]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[3]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[3]: Entering directory `/home/malagasy/libgpod/bindings'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/malagasy/libgpod/bindings'
make[2]: Leaving directory `/home/malagasy/libgpod/bindings'
make[2]: Entering directory `/home/malagasy/libgpod'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/malagasy/libgpod'
make[1]: Leaving directory `/home/malagasy/libgpod'

~/libgpod$

Avant de créer et d'installer le nouveau paquet ainsi préparé, il faut désinstaller la librairie libgpod originale

malagasy@malagasy-laptop:~/libgpod$ sudo apt-get remove libgpod-common


9. Création et installation d'un paquet DEB : libiphone-dev non installé

Lancer la commande checkinstall pour ce faire.

~/libgpod$ sudo checkinstall

checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: #Taper sur la touche ENTRÉE directement

Preparing package documentation...OK

Please write a description for the package.
End your description with an empty line or EOF.
>> Libgpod4 SVN
>>

*****************************************
**** Debian package creation selected ***
*****************************************

*** Warning: The package version "0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT" is not a
*** Warning: debian policy compliant one. Please specify an alternate one


This package will be built according to these values:

0 - Maintainer: [ root@malagasy-laptop ]
1 - Summary: [ Libgpod4 SVN ]
2 - Name: [ libgpod ]
3 - Version: [ ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ libgpod ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ libgpod ]

Enter a number to change any of them or press ENTER to continue:

(...)

This package will be built according to these values:

0 - Maintainer: [ malagasy ]
1 - Summary: [ Libgpod4 SVN ]
2 - Name: [ libgpod4 ]
3 - Version: [ 0.7.3 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ libgpod ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ libgpod4 ]

Enter a number to change any of them or press ENTER to continue:

Installing with make...Installing with install...

========================= Installation results ===========================
Making install in src
make[1]: Entering directory `/home/malagasy/libgpod/src'
make[2]: Entering directory `/home/malagasy/libgpod/src'
test -z "/usr/lib" || /bin/mkdir -p "/usr/lib"
/bin/bash ../libtool --mode=install /usr/bin/install -c libgpod.la '/usr/lib'
libtool: install: /usr/bin/install -c .libs/libgpod.so.4.2.0 /usr/lib/libgpod.so.4.2.0
libtool: install: (cd /usr/lib && { ln -s -f libgpod.so.4.2.0 libgpod.so.4 || { rm -f libgpod.so.4 && ln -s libgpod.so.4.2.0 libgpod.so.4; }; })
libtool: install: (cd /usr/lib && { ln -s -f libgpod.so.4.2.0 libgpod.so || { rm -f libgpod.so && ln -s libgpod.so.4.2.0 libgpod.so; }; })
libtool: install: /usr/bin/install -c .libs/libgpod.lai /usr/lib/libgpod.la
libtool: install: /usr/bin/install -c .libs/libgpod.a /usr/lib/libgpod.a
libtool: install: chmod 644 /usr/lib/libgpod.a
libtool: install: ranlib /usr/lib/libgpod.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /usr/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/include/gpod-1.0/gpod" || /bin/mkdir -p "/usr/include/gpod-1.0/gpod"
/usr/bin/install -c -m 644 itdb.h '/usr/include/gpod-1.0/gpod'
make[2]: Leaving directory `/home/malagasy/libgpod/src'
make[1]: Leaving directory `/home/malagasy/libgpod/src'
Making install in tools
make[1]: Entering directory `/home/malagasy/libgpod/tools'
make[2]: Entering directory `/home/malagasy/libgpod/tools'
test -z "/usr/bin" || /bin/mkdir -p "/usr/bin"
/bin/bash ../libtool --mode=install /usr/bin/install -c ipod-read-sysinfo-extended '/usr/bin'
libtool: install: /usr/bin/install -c .libs/ipod-read-sysinfo-extended /usr/bin/ipod-read-sysinfo-extended
test -z "" || /bin/mkdir -p ""
test -z "" || /bin/mkdir -p ""
make[2]: Leaving directory `/home/malagasy/libgpod/tools'
make[1]: Leaving directory `/home/malagasy/libgpod/tools'
Making install in tests
make[1]: Entering directory `/home/malagasy/libgpod/tests'
make[2]: Entering directory `/home/malagasy/libgpod/tests'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/malagasy/libgpod/tests'
make[1]: Leaving directory `/home/malagasy/libgpod/tests'
Making install in po
make[1]: Entering directory `/home/malagasy/libgpod/po'
linguas="de es fr he it ja ro sv zh_CN "; \
for lang in $linguas; do \
dir=/usr/share/locale/$lang/LC_MESSAGES; \
/bin/bash /home/malagasy/libgpod/install-sh -d $dir; \
if test -r $lang.gmo; then \
/usr/bin/install -c -m 644 $lang.gmo $dir/libgpod.mo; \
echo "installing $lang.gmo as $dir/libgpod.mo"; \
else \
/usr/bin/install -c -m 644 ./$lang.gmo $dir/libgpod.mo; \
echo "installing ./$lang.gmo as" \
"$dir/libgpod.mo"; \
fi; \
if test -r $lang.gmo.m; then \
/usr/bin/install -c -m 644 $lang.gmo.m $dir/libgpod.mo.m; \
echo "installing $lang.gmo.m as $dir/libgpod.mo.m"; \
else \
if test -r ./$lang.gmo.m ; then \
/usr/bin/install -c -m 644 ./$lang.gmo.m \
$dir/libgpod.mo.m; \
echo "installing ./$lang.gmo.m as" \
"$dir/libgpod.mo.m"; \
else \
true; \
fi; \
fi; \
done
installing de.gmo as /usr/share/locale/de/LC_MESSAGES/libgpod.mo
installing es.gmo as /usr/share/locale/es/LC_MESSAGES/libgpod.mo
installing fr.gmo as /usr/share/locale/fr/LC_MESSAGES/libgpod.mo
installing he.gmo as /usr/share/locale/he/LC_MESSAGES/libgpod.mo
installing it.gmo as /usr/share/locale/it/LC_MESSAGES/libgpod.mo
installing ja.gmo as /usr/share/locale/ja/LC_MESSAGES/libgpod.mo
installing ro.gmo as /usr/share/locale/ro/LC_MESSAGES/libgpod.mo
installing sv.gmo as /usr/share/locale/sv/LC_MESSAGES/libgpod.mo
installing zh_CN.gmo as /usr/share/locale/zh_CN/LC_MESSAGES/libgpod.mo
make[1]: Leaving directory `/home/malagasy/libgpod/po'
Making install in m4
make[1]: Entering directory `/home/malagasy/libgpod/m4'
make[2]: Entering directory `/home/malagasy/libgpod/m4'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/malagasy/libgpod/m4'
make[1]: Leaving directory `/home/malagasy/libgpod/m4'
Making install in docs
make[1]: Entering directory `/home/malagasy/libgpod/docs'
Making install in reference
make[2]: Entering directory `/home/malagasy/libgpod/docs/reference'
make[3]: Entering directory `/home/malagasy/libgpod/docs/reference'
make[3]: Nothing to be done for `install-exec-am'.
installfiles=`echo ./html/*`; \
if test "$installfiles" = './html/*'; \
then echo '-- Nothing to install' ; \
else \
if test -n ""; then \
installdir="/usr/share/gtk-doc/html/libgpod-"; \
else \
installdir="/usr/share/gtk-doc/html/libgpod"; \
fi; \
/bin/bash ../../mkinstalldirs ${installdir} ; \
for i in $installfiles; do \
echo '-- Installing '$i ; \
/usr/bin/install -c -m 644 $i ${installdir}; \
done; \
if test -n ""; then \
mv -f ${installdir}/libgpod.devhelp2 \
${installdir}/libgpod-.devhelp2; \
mv -f ${installdir}/libgpod.devhelp \
${installdir}/libgpod-.devhelp; \
fi; \
! which gtkdoc-rebase >/dev/null 2>&1 || \
gtkdoc-rebase --relative --dest-dir= --html-dir=${installdir} ; \
fi
-- Nothing to install
make[3]: Leaving directory `/home/malagasy/libgpod/docs/reference'
make[2]: Leaving directory `/home/malagasy/libgpod/docs/reference'
make[2]: Entering directory `/home/malagasy/libgpod/docs'
make[3]: Entering directory `/home/malagasy/libgpod/docs'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/malagasy/libgpod/docs'
make[2]: Leaving directory `/home/malagasy/libgpod/docs'
make[1]: Leaving directory `/home/malagasy/libgpod/docs'
Making install in bindings
make[1]: Entering directory `/home/malagasy/libgpod/bindings'
Making install in python
make[2]: Entering directory `/home/malagasy/libgpod/bindings/python'
make install-recursive
make[3]: Entering directory `/home/malagasy/libgpod/bindings/python'
Making install in examples
make[4]: Entering directory `/home/malagasy/libgpod/bindings/python/examples'
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python/examples'
make[5]: Nothing to be done for `install-exec-am'.
make[5]: Nothing to be done for `install-data-am'.
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python/examples'
make[4]: Leaving directory `/home/malagasy/libgpod/bindings/python/examples'
Making install in tests
make[4]: Entering directory `/home/malagasy/libgpod/bindings/python/tests'
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python/tests'
make[5]: Nothing to be done for `install-exec-am'.
make[5]: Nothing to be done for `install-data-am'.
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python/tests'
make[4]: Leaving directory `/home/malagasy/libgpod/bindings/python/tests'
make[4]: Entering directory `/home/malagasy/libgpod/bindings/python'
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python'
make[5]: Nothing to be done for `install-exec-am'.
test -z "/usr/lib/python2.6/dist-packages/gpod" || /bin/mkdir -p "/usr/lib/python2.6/dist-packages/gpod"
/bin/bash ../../libtool --mode=install /usr/bin/install -c _gpod.la '/usr/lib/python2.6/dist-packages/gpod'
libtool: install: warning: relinking `_gpod.la'
libtool: install: (cd /home/malagasy/libgpod/bindings/python; /bin/bash /home/malagasy/libgpod/libtool --silent --tag CC --mode=relink gcc -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Werror -std=c89 -g -O0 -Wno-strict-aliasing -Wno-sign-compare -Wdeclaration-after-statement -module -avoid-version -o _gpod.la -rpath /usr/lib/python2.6/dist-packages/gpod _gpod_la-gpod_wrap.lo -lgobject-2.0 -lglib-2.0 -lsqlite3 -lxml2 -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgobject-2.0 -lglib-2.0 ../../src/libgpod.la )
libtool: install: /usr/bin/install -c .libs/_gpod.soT /usr/lib/python2.6/dist-packages/gpod/_gpod.so
libtool: install: /usr/bin/install -c .libs/_gpod.lai /usr/lib/python2.6/dist-packages/gpod/_gpod.la
libtool: install: /usr/bin/install -c .libs/_gpod.a /usr/lib/python2.6/dist-packages/gpod/_gpod.a
libtool: install: chmod 644 /usr/lib/python2.6/dist-packages/gpod/_gpod.a
libtool: install: ranlib /usr/lib/python2.6/dist-packages/gpod/_gpod.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /usr/lib/python2.6/dist-packages/gpod
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib/python2.6/dist-packages/gpod

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/lib/python2.6/dist-packages/gpod" || /bin/mkdir -p "/usr/lib/python2.6/dist-packages/gpod"
/usr/bin/install -c -m 644 __init__.py gtkpod.py ipod.py '/usr/lib/python2.6/dist-packages/gpod'
Byte-compiling python modules...
__init__.pygtkpod.pyipod.py
Byte-compiling python modules (optimized versions) ...
__init__.pygtkpod.pyipod.py
test -z "/usr/lib/python2.6/dist-packages/gpod" || /bin/mkdir -p "/usr/lib/python2.6/dist-packages/gpod"
/usr/bin/install -c -m 644 gpod.py '/usr/lib/python2.6/dist-packages/gpod'
Byte-compiling python modules...
gpod.py
Byte-compiling python modules (optimized versions) ...
gpod.py
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[4]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[3]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[2]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[2]: Entering directory `/home/malagasy/libgpod/bindings'
make[3]: Entering directory `/home/malagasy/libgpod/bindings'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/malagasy/libgpod/bindings'
make[2]: Leaving directory `/home/malagasy/libgpod/bindings'
make[1]: Leaving directory `/home/malagasy/libgpod/bindings'
make[1]: Entering directory `/home/malagasy/libgpod'
make[2]: Entering directory `/home/malagasy/libgpod'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/lib/pkgconfig" || /bin/mkdir -p "/usr/lib/pkgconfig"
/usr/bin/install -c -m 644 libgpod-1.0.pc '/usr/lib/pkgconfig'
make[2]: Leaving directory `/home/malagasy/libgpod'
make[1]: Leaving directory `/home/malagasy/libgpod'

======================== Installation successful ==========================

Copying documentation directory...
./
./ChangeLog
./docs/
./docs/Makefile
./docs/Makefile.am
./docs/reference/
./docs/reference/libgpod-sections.txt
./docs/reference/version.xml.in
./docs/reference/tmpl/
./docs/reference/tmpl/chapterdata.sgml
./docs/reference/tmpl/smart-playlists.sgml
./docs/reference/tmpl/itunesdb-time.sgml
./docs/reference/tmpl/artwork.sgml
./docs/reference/tmpl/Internal.sgml
./docs/reference/tmpl/track.sgml
./docs/reference/tmpl/device.sgml
./docs/reference/tmpl/itunesdb-db.sgml
./docs/reference/tmpl/itunesdb-lowlevel.sgml
./docs/reference/tmpl/playlists.sgml
./docs/reference/tmpl/itunesdb-copying.sgml
./docs/reference/tmpl/photodb.sgml
./docs/reference/tmpl/libgpod-unused.sgml
./docs/reference/version.xml
./docs/reference/Makefile
./docs/reference/Makefile.am
./docs/reference/libgpod-overrides.txt
./docs/reference/Makefile.in
./docs/reference/libgpod-docs.xml
./docs/Makefile.in
./COPYING
./README
./README.SysInfo
./INSTALL_GIT
./AUTHORS
./NEWS
./INSTALL
grep: /var/tmp/tmp.LQOxRqh7KE/newfile: No such file or directory

Some of the files created by the installation are inside the build
directory: /home/malagasy/libgpod

You probably don't want them to be included in the package,
especially if they are inside your home directory.
Do you want me to list them? [n]: n
Should I exclude them from the package? (Saying yes is a good idea) [y]: y

Copying files to the temporary directory...OK

Stripping ELF binaries and libraries...OK

Compressing man pages...OK

Building file list...OK

Building Debian package...OK

Installing Debian package...OK

Erasing temporary files...OK

Writing backup package...OK

Deleting temp dir...OK


**********************************************************************

Done. The new package has been installed and saved to

/home/malagasy/libgpod/libgpod4_0.7.3-1_i386.deb

You can remove it from your system anytime using:

dpkg -r libgpod4

**********************************************************************

Nous allons maintenant monter l'iTouch

~/marcan-sandbox$ ifuse /mnt/ipod/


Puis de créer un dossier /mnt/ipod/iTunes_Control/Device

~/marcan-sandbox$ cd /mnt/ipod/iTunes_Control/

/mnt/ipod/iTunes_Control$ mkdir Device

Nous avons besoin du numéro de Série de l'iTouch :

/mnt/ipod/iTunes_Control$ lsusb -v | grep -i iSerial

can't get hub descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
iSerial 1
iSerial 1
iSerial 1
iSerial 1
iSerial 3 numéro_de_série
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
iSerial 0
iSerial 1

Génerez un fichier iTunes_Control/Device/SysInfoExtended, à partir de la commande ipod-read-sysinfo-extended numéro_de_série point_de_montage , qui est un fichier de type XML.

/mnt/ipod/iTunes_Control$ ipod-read-sysinfo-extended numéro_de_série /mnt/ipod

**(process:12170): WARNING **: Compiled without libiphone support, can't read SysInfoExtended from an iPhone UUID
Couldn't read xml sysinfo from numéro_de_série
/mnt/ipod/iTunes_Control/Device$

--------------------------------

If you have installed packages for libiphone, you will need to install the libiphone-dev (or equivalent) package to get the headers. Then reconfigure the gtkpod sources and ensure that it says “iPhone/iPod Touch support: yes” or something in the summary after configuration is done.

--------------------------------

Et voilà l'alerte qui vous indique que vous devez absolument installer le paquet libiphone-dev, ou équivalent, afin de pouvoir synchroniser avec l'iTouch. Une fois ce problème résolu, passons à l'étape suivante.


10. Compilation après avoir installé tous les paquets nécessaires


La suite de la manipulation du billet "II. Compilation de libgpod4" commence à partir d'ici. Je m'étais arrêté au moment où il fallait lancer la commande 'make'.

~/marcan-sandbox$ make

make all-recursive
make[1]: Entering directory `/home/malagasy/marcan-sandbox'
Making all in src
make[2]: Entering directory `/home/malagasy/marcan-sandbox/src'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/malagasy/marcan-sandbox/src'
Making all in tools
make[2]: Entering directory `/home/malagasy/marcan-sandbox/tools'
CC ipod_read_sysinfo_extended-ipod-lockdown.o
cc1: warnings being treated as errors
ipod-lockdown.c: In function ‘read_sysinfo_extended_by_uuid’:
ipod-lockdown.c:70: error: implicit declaration of function ‘plist_get_dict_el_from_key’
ipod-lockdown.c:70: error: nested extern declaration of ‘plist_get_dict_el_from_key’
ipod-lockdown.c:70: error: assignment makes pointer from integer without a cast
ipod-lockdown.c:73: error: implicit declaration of function ‘plist_add_sub_key_el’
ipod-lockdown.c:73: error: nested extern declaration of ‘plist_add_sub_key_el’
ipod-lockdown.c:74: error: implicit declaration of function ‘plist_add_sub_string_el’
ipod-lockdown.c:74: error: nested extern declaration of ‘plist_add_sub_string_el’
ipod-lockdown.c:78: error: assignment makes pointer from integer without a cast
make[2]: *** [ipod_read_sysinfo_extended-ipod-lockdown.o] Error 1
make[2]: Leaving directory `/home/malagasy/marcan-sandbox/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/malagasy/marcan-sandbox'
make: *** [all] Error 2

Et oui, comme vous pouvez le constater, les problèmes continuent. Pour y remédier, il faut utiliser le GIT officiel de libgpod.
git clone git://gtkpod.git.sourceforge.net/gitroot/gtkpod/libgpod
cd libgpod
git checkout
Puis de contiuer la compilation normalement.

~$ git clone git://gtkpod.git.sourceforge.net/gitroot/gtkpod/libgpod

~$ cd libgpod/
~/libgpod$ git checkout

~/libgpod$ CFLAGS="-g -O0" sh autogen.sh -prefix=/usr

~/libgpod$ make

~/libgpod$ sudo apt-get remove libgpod-common

~/libgpod$ sudo checkinstall

Et voilà, la compilation et l'installation du paquet est terminée.


11. Synchronisation de l'iTouch avec GTKpod

La suite de la manipulation, je l'ai déjà donné en détail lors de mon précédent test, et donc je ne vais plus détailler (cf. chap 9 de ce billet).

Nous allons monter l'iTouch en tapant la commande ifuse /mnt/ipod/ puis de créer un dossier Device dans /mnt/ipod/iTunes_Control/ avec la commande mkdir /mnt/ipod/iTunes_Control/Device/

Ensuite de récupérer l'UUID (identifiant unique universel) de votre iTouch via la commande lsusb -v | grep -i iSerial. L'UUID de votre appareil est le numéro de série de votre iTouch contenant 40 caractères. Ensuite taper la commande suivante :
~$ ipod-read-sysinfo-extended numéro_de_série /mnt/ipod
Cette commande doit avoir généré un fichier SysInfoExtended dans le dossier /mnt/ipod/iTunes_Control/Device/. Veuillez vérifier à ce que ce fichier existe bien.


Ça y est, maintenant il ne reste plus qu'à installer l'application GTKpod et synchroniser votre musique.

~$ sudo apt-get install gtkpod
The following extra packages will be installed:
gtkpod-data id3v2 libid3-3.8.3c2a vorbis-tools
Suggested packages:
mp3gain faad faac lame

Une fois l'installation terminée, vous pouvez lancer GTKpod.



L'erreur ci dessous devrait pouvoir être résolu facilement. (Je ferai plus de recherche dessus quand j'en aurai le temps).


D'après ce message, je dois créer un dossier Photos dans /mnt/ipod/iPod_Control/.

/!\ N'oubliez surtout pas de déconnecter l'iTouch proprement une fois que vous avew fini de le synchroniser. Pour ce faire,


- clic droit/éjecter l'ipod dans gtkpod

- fusermount -u /mnt/ipod/ dans un terminal


Sources :
- tutoriel pour pouvoir transférer de la musique avec iFuse sur iPhone
- iPhone syncing on Linux Part 2
- le topic qui m'a dirigé vers la résolution du problème de sync sous linux
- problème de compilation libgpod4
- Main Page - iFuse

Aucun commentaire: