Developing

Материал из Русский WINE
Перейти к: навигация, поиск

Особенности разработки в фирме Etersoft продукта WINE@Etersoft

1.WINE@Etersoft представляет собой видоизменённую и доработанную версию Open Source проекта Wine (www.winehq.org)

Состоит из двух частей:

  • Закрытая - содержит интеллектуальную собственность компании Etersoft, с ключевыми изменениями, обеспечивающие работоспособность поддерживаемых приложений. Так же в ней содержатся наработки, которые не относятся напрямую к WinAPI и проекту Wine, но нужны для полноты продукта.
  • Открытая - это код Wine, содержащий наши исправления ошибок, наши реализации функций и прочие доработки. В идеале весь код открытой части должен быть принят в основное древо проекта Wine. Это наш вклад в развитие в проект Wine.

2. Разработка открытой части выглядит примерно так:

  • Выбирается, либо назначается ошибка, зарегистрированная в базе данных ошибок bugs.etersoft.ru.
  • Разработчик изучает ошибку, исследует причины, приводящие к возникновению этой проблемы.
  • Определяются механизмы, модули, участки кода WinApi (реализованные в Wine), в которых прослеживается ошибка.
  • Пишутся кросс-тесты демонстрирующие наличие этой ошибки в Wine и отсутствие её в Windows.
  • Затем происходит исправление ошибки. Возможны два варианта:
    • В коде Wine найдена ошибка и программист пишет патч, исправляющий её. Патч добавляет в папку Check нашего cvs. Со временем исполнитель добивается, чтобы и тест и патч были приняты в основное дерево Wine.
    • В коде Wine найдено место, в котором возникает ошибка, но не ясны причины, приводящие к возникновению её. Если есть возможность исправить эту ошибку и при этом не нарушается функционирование других частей Wine, то программист создаёт патч и добавляет его в папку hack. Это говорит о том, что пока не ясно как верно с точки зрения АРХИТЕКТУРЫ проекта Wine исправлять данную ошибку, но поскольку исправление обеспечивает нужную функциональность требуемого приложения, то для удобства клиентов, возможно использование этого решения в качестве ВРЕМЕННОГО. Естественно со временем данная ошибка должна быть исправлена более корректным способом.
  • После добавления патча ошибка закрывается и сообщается тестировщику о необходимости проверить и подтвердить исправление ошибки.

3. Взгляд на использование reverse engineering (обратной разработки)

При работе над проектом Wine запрещено использовать знания и наработки полученные путём изучения исходного кода Windows и дизассемблированием модулей. Отсылая патч в рассылку wine-patches@winehq.org считается что разработчик патча знаком и согласен с этими требованиями. В качестве обратной разработки используется метод написания кросс-тестов (тестов исполняемых под Wine и под Windows), благодаря которому получают необходимые знания о работе функций. Так же эти тесты являются юнит-тестами проекта Wine, так как позволяют проводить диагностику работоспособности Wine после добавления новых участков кода.

Wine
Search.png
Программы работающие в WineСкачатьШкольный Wine
WINE@Etersoft Общие сведенияУстановка на 64-битные ОСОсобенности разработкиПатчи для WINE@EtersoftАдминистративная установкаДополнительные компонентыКак получить WINE@Etersoft?Лицензия на документациюГлоссарийИспользование аппаратных ключей защиты в LinuxДополнительная информация • [ Совместная работа | по CIFSпо NFS ] • Изменение системных ограниченийРегистрация продуктаПошаговая инструкция по установке rpm-пакетовОбращение в службу поддержкиТерминальные решенияУстановка WINE@EtersoftПодписка на обновленияНастройка WINE@EtersoftРазработчикуEnterpriseЧто такое WINE@Etersoft SQLВозможностиСреда для запуска приложений WindowsИспользование WINE@EtersoftFAQ по использованию WINE@EtersoftОсновные командыWINE@Etersoft/LocalЧто такое WINE@Etersoft Local
Программы Запуск БЭСТ 4+Запуск Консультант+ (сетевой версии)ГарантF1Инфо-Бухгалтер 8.xНалогоплательщик ЮЛ
1C Отличия от обычного WineМестоположение базы 1С1C: Предприятие 7.7 в WINEНастройка 1С 7.7 для работы с SQL-серверомУстановка 1С: Предприятия 8.1Установка 1С: Предприятия 8.1 в трёхзвенном режиме
Пользователю
Помощь Использование WinecfgИспользование Regedit
Легальность DCOM95IE5DCOMMSXML
Утилиты для работы с Wine WinetricksWineToolsQ4WinePlayOnLinuxIEs4LinuxWine-DoorsSwine
Разработчику
Компоненты WindowsЗапрет отключения защиты программыУправление обработчиком исключенийStraceNTИзмерение скорости функций WinAPIGLУстройство чтения смарт-картПрофилированиеТесты для проверки интерфейсовНаписание тестов в системе WineАутентификация в домене ADРепозитории
Помощь Создание патчейНаписание приложения под wineОтправка патчейСборка eterhackСборка wine-public
Отладка Способы отладкиWINEDEBUGWinedbg
Разработка WINE
1CODBCWinHelpКомпасМетодикаТестирование доступаЦветаФайловый диалогТестированиеЛитератураИзображенияWin32ШрифтыФайловые блокировкиСсылкиКлючи защитыRPMWineGeckoListViewУпаковка Wine
Производителю
Родственные проекты
LUKReactOSARWINSSCrossOver
Прочее
PageSetupDlgFreeBSDWwr