https://bugs.kde.org/show_bug.cgi?id=369554

--- Comment #1 from RJVB <rjvber...@gmail.com> ---
I don't really know how invasive it would be to address this issue properly, or
rather, how to fix this without being overly invasive. Looking at KPeople I see

/opt/local/include/KF5/KPeople/KPeople/Widgets/Actions
/opt/local/include/KF5/KPeople/kpeople/widgets/actions.h

which means that on a case-insensitive-but-preserving FS (HFS, NTFS) you can
end up with 4 different situations:

/opt/local/include/KF5/KPeople/kpeople/widgets/{Actions,actions.h}
/opt/local/include/KF5/KPeople/KPeople/widgets/{Actions,actions.h}
/opt/local/include/KF5/KPeople/kpeople/Widgets/{Actions,actions.h}
/opt/local/include/KF5/KPeople/KPeople/Widgets/{Actions,actions.h}

and that's presuming that the case preservations works reliably. Transfer such
a tree via a FAT32 thumbdrive and all bets are off. Evidently that's less
likely to happen with a headerfile directory (and just shouldn't be done) but
I'm concerned that the underlying implicit assumption about the FS has been
made elsewhere too. And as I note in the ticket: Mac OS app bundles should
support being transferred to and from case-insensitive volumes and still be
usable on a case-sensitive volume (idem for KF5 framework bundles if they ever
see the light).

The most straightforward fix would be to use only CamelCase OR lowercase header
directories, i.e. one of
/opt/local/include/KF5/KPeople/kpeople/widgets/{Actions,actions.h}
/opt/local/include/KF5/KPeople/KPeople/Widgets/{Actions,actions.h}

This is also what Qt5 does, and one can presume they have seen a lot more
testing of this approach on many more platforms.
NB: one could create the appropriate symlinks when installing to a
case-sensitive FS, but evidently that makes it impossible to copy the result to
a case-insensitive FS.

I realise that doing this is an invasive change that requires patching lots of
dependent code, and even if those patches could be generated automatically the
patched code would then no longer build against older versions of the
frameworks. Still, it'd be an almost perfect way to force people to look for
other places where the assumption about FS case-sensitivity could lead to
problems.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to