Представлены открытые проекты "fix-it-in-wine" и "dllmgr", предлагающие новый подход к устранению проблем совместимости Windows-приложений с Wine. В fix-it-in-wine входит набор инструкций и инструментов для AI-агентов, позволяющий диагностировать и исправлять ошибки Wine, проявляющиеся при выполнении конкретных приложений. Проект dllmgr предоставляет своего рода пакетный менеджер для DLL Wine, позволяющий использовать библиотеки из других версий Wine, альтернативные реализации от независимых разработчиков и подготовленные своими силами варианты с исправлением отдельных ошибок. Оба проекта распространяются под лицензией BSD. При помощи развиваемого инструментария пользователь может поручить AI-агенту разобраться, почему конкретная программа не работает, без ожидания исправления ошибки разработчиками Wine. Агент анализирует поведение приложения и отладочные логи, ищет соответствующие сообщения в Bugzilla проекта Wine , определяет проблемную DLL, собирает её отдельно от остального Wine и пытается устранить ошибку. Полученная библиотека устанавливается только для выбранного приложения, без изменения системного Wine, с возможностью отката изменения. В отличие от существующих решений, таких как PlayOnLinux, вместо установки целиком подходящей версии Wine предоставляется возможность сборки необходимой конфигурации из отдельных DLL и исправлений для них. Например, если приложение работает с большинством библиотек Wine 9, но требует более новой реализации одной функции из Wine 11, нет необходимости заменять весь Wine, а достаточно использовать подходящую версию одной библиотеки. Исправленный вариант DLL можно опубликовать в общем каталоге, чтобы другие пользователи могли применить готовое решение. Так как продвижение сгенерированных через AI исправлений в Wine проблематично из-за правил проекта, предлагается передавать в upstream не готовые патчи, а описание выявленных ошибок, условия их воспроизведения, результаты диагностики, объяснения причин неправильного поведения и описание найденного решения. В перспективе на базе развиваемых проектов может быть сформирована децентрализованная экосистема для распространения исправлений к Wine, распространяемых независимо от основного проекта. На текущем этапе развития проекты находятся с состоянии ранних прототипов. В fix-it-in-wine уже имеются инструменты диагностики, поиска ошибок в Bugzilla, сборки отдельных DLL, установки локальных замен и их отката, но пока отсутствует поддержка исправления некоторых ключевых библиотек Wine и библиотек с Unix-компонентами. В dllmgr реализованы формат каталога, его проверка и индексация, а также экспериментальные сценарии применения отдельных исправлений, но отсутствуют полноценные графический и консольный интерфейсы.
Источник: https://www.opennet.ru/opennews/art.shtml?num=66634
Источник: https://www.opennet.ru/opennews/art.shtml?num=66634