>> есть например wine
> Вот только как вайн будет узнавать, включен ли на директории этот новый
> флаг или нет? Ведь без него нужно оставить старое поведение (с
> преобразованиями).
> А проверка что флаг включен это как минимум дополнительный сискол.Это можно прописать в настройках. Вот есть у тебя ~/.wine/drive_c, в настройках прописано дефолтом что он case insensitive, и wine создавая его и все его поддиректории проставляет флаг. А потом он может даже не проверять: если пользователь достаточно продвинут, чтобы скинуть этот флаг, то значит он должен быть готов к последствиям.
wine вообще может оставить эту проблему на внешние программы -- хочешь, настраивай регистрозависимость так, как хочешь. Тыкни на директорию и скажи, что она со всеми поддиректориями регистронезависимая, и утилитка рекурсивно изменит флаг. Тыкни на поддиректорию и скажи что она регистрозависимая, но нерекурсивно. И настраивай всё как хочешь. А wine просто тупо будет оставлять эти вопросы на усмотрение драйвера файловой системы.
Вон, как пишут в комментах, венда в ntfs умеет в регистрозависимость. И пользователь может рулить этой регистрозависимостью как хочет. То есть если wine свалит вопросы регистра на ядро, то он устранит все различия с вендой в этом плане. И получит бонус к производительности, потому что не надо будет пользоваться юзерспейс костылями.
> Так же, использование этого флага на каталогах куда ходят линуксовые программы (например
> если ~ или /tmp в вайн пробросить) может вызывать всякие странные
> глюки, т.к. подавляющее большинство таких программ не будет готово к такому
> поведению фс.
Подавляющее большинство программ ничего не заметит. Возьми coreutils, например, те берут имея файла из argv, открывают этот файл, что-то с ним делают, закрывают. Им совершенно фиолетово, регистрозависимо оно или нет. А какой-нибудь там ls, который имена файлов берёт читая директорию, тоже не заметит ничего особого. Ну прочитал он имена файлов, и чё? Там какие-либо аберрации могут возникать тогда, когда есть два разных источника для имени файла и они дают имя файла в разных регистров. Но что именно? Возьмём cp: мы сказали cp /tmp/file .; в /tmp этот файл на самом деле назван как File, а в ./ тоже есть файл с именем FILE, в результате конечный регистр имени файла в ./ будет зависеть от деталей реализации cp. Может быть мы получим ./file, может быть ./File, может быть ./FILE. Ну и чё? Это называется UB, и как правило это не страшно. Это будет страшно если ты начнёшь писать заморочные скрипты, не учитывая этих UB.
Но и тем не менее, подавляющее большинство программ ничего не заметит. А если каким-то образом в линуксе станет модно использовать регистронезависимую фс (во что я не верю впрочем), то эти программы поправят с тем, чтобы они умело обрабатывали бы такие случаи.
> В итоге это будет использоваться только в каких-то узкоспециализированных случаях, например
> в каком-нибудь дистрибутиве заточенном под игры в wine или там в
> NAS.
Или в веб сервере, чтобы тот мог бы хранить файлы с именами в тОм РеГиСтРе в котором они были залиты на сервер, но при этом сохранять агностичность к регистру символов в url'ах. Или общесистемно, дабы никому в голову не приходила глупая идея создавать файлы с одинаковыми именами, различающимися лишь регистром.
Таких узкоспециализированных случаев может возникать много разных. И если их все объединить в одну группу, то эта группа случаев может оказаться не такой уж и малой. Но даже это не очень важно, потому что linux давно уже пытается быть бочкой во всех затычках. Технологическая проститутка.
Но и это не очень важно. В чём собственно проблемы? Ну поддерживает linux какие-то узкоспециализированные случаи, которые тебе не нужны, тебе-то что с того?