Donate Share

GUI for iPod using GTK2 (gtkpod)

Tracker: Bugs

5 Check 'iTunes_Control' before 'iPod_Control' (iPhone/Touch) - ID: 2537911
Last Update: Comment added ( teuf )

With Release XYZ of iTunes and the release of the iPhone/iTouch, Apple
rev'ed their database format from version 2 to version 4.

At the same time the filesystem layout changed, with the iTunes-produced
hierarchy base directory being renamed from:

iPod_Control/

to:

iTunes_Control/

Please change the code to also search for this second directory, so that
iPhone/iPod Touch users don't have to symlink these together.

The current symlink "solution" to link the two names together is a hack,
and, as the AFC protocol does not full support symlinks (create, delete:
yes; but readlink/rename: no) is not a solution.

This is now an issue as the other two parts of the puzzle for full support
of these recent devices is getting to the point of near "0.1-ish"
completeness.

-Paul Sladen


Paul Sladen ( sladen ) - 2009-01-26 15:37

5

Closed

Fixed

Jorg Schuler

libgpod

None

Public


Comments ( 9 )

Date: 2009-11-22 13:37
Sender: teufProject Admin

I think this bug report is mostly obsolete, the needed bits were added to
git (soon in upstream git), see
http://marcansoft.com/blog/2009/10/iphone-syncing-on-linux-part-2/


Date: 2009-07-05 22:47
Sender: sladen

As a follow-up; iPhoneOS 3.0 added readlink() support to the AFC protocol
and implementation on the device, meaning that in future referencing via
symlinks should work more effectively (there's a patch queued for
libiphone+ifuse).


http://libiphone.lighthouseapp.com/projects/27916/tickets/55-patch-afc-cleanup-full-symlink-support


Date: 2009-04-11 09:58
Sender: nobody

ipod-convenience shouldn't be used then ;)


Date: 2009-04-04 13:40
Sender: nobody

This should be fixed, I wasted my time because of these softlinks being
present in there.
They are added by ipod-convenience if I remember right.


Date: 2009-04-04 12:31
Sender: nobody

As Jorg said, we already check for iTunes_Control and nothing else. libgpod
might get confused if you put a symlink, but I'm not sure why you'd do
that. I think there are some bugs in the way we handle
iTunes_Control/iPod_Control, but this needs investigating instead of
blindly applying a workaround.


Date: 2009-04-04 12:13
Sender: sladen

Previous comment by -sladen. Adjust summary to be more explicit.


Date: 2009-04-04 12:08
Sender: nobody

jcs: just had another report of somebody complaining about this on the
'libiphone-devel' list. It should be possible to fix the issue by checker
for the newest name first and then failing back to the older name (so try
to open 'iTunes_Control' first and then if that doesn't exist, try to open
'iPod_Control').

If that's unreasonable the other options is probably to just dive in and
open 'iPod_Control/iTunesDB' without trying to make any "clever" checks
first. This should open across the symlink, even if readlink() itself is
not implemented over the protocol.


Date: 2009-01-31 14:50
Sender: jcsjcsProject AdminAccepting Donations

Thanks for writing.

As far as I can tell, we are already checking for iTunes_Control. This
check, however, fails if you create a symlink. Symlink is bad.

Which version of libgpod are you using?

JCS.


Date: 2009-01-26 15:38
Sender: sladen

Adjust summary


Attached File

No Files Currently Attached

Changes ( 8 )

Field Old Value Date By
close_date - 2009-11-22 13:37 teuf
status_id Open 2009-11-22 13:37 teuf
resolution_id None 2009-11-22 13:37 teuf
allow_comments 1 2009-11-22 13:37 teuf
summary Check 'iTunes_Control' aswell as 'iPod_Control' iPhone/Touch 2009-04-04 12:13 sladen
category_id None 2009-04-02 20:24 dudyk
assigned_to nobody 2009-01-31 14:50 jcsjcs
summary Check 'iTunes_Control' aswell as 'iPod_Control' iPhone/iTouc 2009-01-26 15:38 sladen