Summary: | Оптимизировать сборку wine при тестировании патчей | ||
---|---|---|---|
Product: | [Свободные проекты (Open source projects)] WINE-tests | Reporter: | Виталий Перов <vitperov> |
Component: | Общее | Assignee: | Виталий Перов <vitperov> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P4 | CC: | baraka, lav |
Version: | не указана | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 6264 |
Description
Виталий Перов
2011-01-19 18:53:13 MSK
И, то что я говорил - возможно, надо удерживать VERSION от изменения, чтобы не изменился config.h, который повлечёт перекомпиляцию большинства кода. Скрипт для сборки вообще лучше не использовать, достаточно просто запускать make, он сам определяет, что нужно пересобрать. (В ответ на comment #1) > И, то что я говорил - возможно, надо удерживать VERSION от изменения, чтобы не > изменился config.h, который повлечёт перекомпиляцию большинства кода. Думаю, что пока надо идти от простого к сложному. Замена просто вызова make вместо вызова скрипта полной пересборки уже в несколько раз ускоряет сборку. Это даже будет работать с серией патчей: полная пересборка понадобится только для самого первого. А вообще "удерживать VERSION от изменения" довольно сложная задача. Сомневаюсь, что есть простой способ. Предлагаю другой вариант: запускать сборку при каждом обновлении. Таким образом, как только изменяется версия, то репозиторий тут же пересобирается, и его уже когда приходят присланные патчи, они обрабатываются быстро т.к. персборка не требуется. Хотя... наверное не совсем правильно запускать даже "пустую" сборку wine каждые 10 минут. > Скрипт для сборки вообще лучше не использовать, достаточно просто запускать > make, он сам определяет, что нужно пересобрать. Да, именно так и хотел делать Переделал. Теперь для сборки используется команда 'nice make -j5'. Проверил на локальном репозитории: всё работает. Пустой прогон make по неизменённому репозиторию занимает примерно 30 секунд. Если такая нагрузка на builder каждые 10 минут приемлема, то можно включить пересборку репозитория при каждом запуске скрипта. Это позволит сократить время проверки патчей. Встретил проблему: запуск make не всегда может пересобрать репозиторий: make[1]: Entering directory `/srv/builder-robot/Projects/eterhack-test/dlls/sti' make[1]: *** No rule to make target `sti_private.h', needed by `sti.o'. Stop. make[1]: Leaving directory `/srv/builder-robot/Projects/eterhack-test/dlls/sti' make: *** [dlls/sti] Error 2 make: *** Waiting for unfinished jobs.... Думаю надо сделать так, чтобы при неудачной сборке с помощью make запускалось ./configure Исправил. Проверить пока не получается. Багу закрываю (при возникновении ошибки можно переоткрыть) |