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@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Публичный префиксНесколько версийКлючи regedit
Легальность DCOM95IE5DCOMMSXML
Утилиты для работы с Wine WinetricksWineToolsQ4WinePlayOnLinuxIEs4LinuxWine-DoorsSwineWine LauncherLutris
Разработчику
Компоненты WindowsЗапрет отключения защиты программыУправление обработчиком исключенийStraceNTИзмерение скорости функций WinAPIGLУстройство чтения смарт-картПрофилированиеТесты для проверки интерфейсовНаписание тестов в системе WineАутентификация в домене ADРепозиторииПрименение Git-патчей
Помощь Создание патчейНаписание приложения под wineОтправка патчейСборка eterhackСборка wine-public
Отладка Способы отладкиWINEDEBUGWinedbg
Разработка WINE
1CODBCWinHelpКомпасМетодикаТестирование доступаЦветаФайловый диалогТестированиеЛитератураИзображенияWin32ШрифтыФайловые блокировкиСсылкиКлючи защитыRPMWineGeckoListViewУпаковка Wine
Производителю
Родственные проекты
LUKReactOSARWINSSCrossOverKernelEx
Прочее
PageSetupDlgFreeBSDWwr