MakePatches

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

Создание патчей к WINE

С учётом опыта поддержки созданных патчей, предлагаю следующие правила:

1.Существенное изменение кода стараемся выносить в функцию, чтобы минимально влезать в вайновский код (вызывая в нём только функцию).

2.При необходимости удаления строк с кодом помещайте их в комментарии, или в

#if 0 ... #endif.

Не забывайте комментарий — что и почему удалено.

3.К каждому изменению, не отправляемому в winehq (то есть хаку, который не будет принят), должен быть написан комментарий и ссылка на багу, например:

/* Eterhack: Fix window focus for Garant (eterbug #1234) */

4.В названии коммита для eterhack также нужно указывать ссылку на багу вида (eterbug #1234), например:

gdi32: Fix window focus for Garant (eterbug #1234).

5.Нельзя создавать коммит с одним только fix bug 1234 в названии, без описания изменения.

6.Очень не желательно в конце строки оставлять пробел, или добавлять новые строки, состоящие из кучи пробелов.

Пример из недавно присланного патча:

+       LOADETER_FUNC(etersoft_getlicense);
+       LOADETER_FUNC(etersoft_getversion);
+               |<- Вот где реально стоит переход на новую строку
+       /*
+       * Out text informatioun

В Kwrite и KScope такие пробелы должны быть хорошо видны.

7.Название коммитов. Общепринятый формат: имя библиотеки/программы в начале названия. потом двоеточие, и с заглавной буквы описание изменения. Например:

gdi32: Correct display of ticks (eterbug #6750).

Так проще потом просматривать репозитории, воспринимать патчи. Да и стилю winehq соответствует, стоит привыкнуть, чтобы отправлять патчи с "правильным" для них названием.

8.Не допускайте смешивания в одном коммите изменения форматирования кода и изменения самого кода. Если нужно переформатировать код (внести изменения, не меняющие смысла), сделайте это отдельным коммитом.

Просмотреть результат отправленного в winehq патча можно здесь:

При принятии в winehq патчей, созданных в Etersoft (отправленных в winehq с почты @etersoft.ru), в нашу рассылку приходит автоматическое извещение.

Правила хорошего тона в Winehq

После создания патча для локальной версии wine его можно, если он удовлетворяет требованиям патчей winehq отправить им по электронной почте:
wine-patches@winehq.org

Несколько ссылок на то как делают патчи и какой стиль предпочтительнее в winehq:

Посмотреть список приложенных патчей, которые должен проверить TestRobot и их статус winehq можно по:

Ссылки

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@Etersoft • FAQ по использованию 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 • Публичный префикс • Несколько версий • Ключи regedit
Легальность DCOM95 • IE5 • DCOM • MSXML
Утилиты для работы с Wine Winetricks • WineTools • Q4Wine • PlayOnLinux • IEs4Linux • Wine-Doors • Swine • Wine Launcher • Lutris
Разработчику
Компоненты Windows • Запрет отключения защиты программы • Управление обработчиком исключений • StraceNT • Измерение скорости функций WinAPI • GL • Устройство чтения смарт-карт • Профилирование • Тесты для проверки интерфейсов • Написание тестов в системе Wine • Аутентификация в домене AD • Репозитории • Применение Git-патчей
Помощь Создание патчей • Написание приложения под wine • Отправка патчей • Сборка eterhack • Сборка wine-public
Отладка Способы отладки • WINEDEBUG • Winedbg
Разработка WINE
1C • ODBC • WinHelp • Компас • Методика • Тестирование доступа • Цвета • Файловый диалог • Тестирование • Литература • Изображения • Win32 • Шрифты • Файловые блокировки • Ссылки • Ключи защиты • RPM • WineGecko • ListView • Упаковка Wine
Производителю
Родственные проекты
LUK • ReactOS • ARWINSS • CrossOver • KernelEx
Прочее
PageSetupDlg • FreeBSD • Wwr