* [kde-russian] ðÒÏ "ÎÅÒÁÂÏÔÕ" KDE ÉÚ CVS
@ 2002-05-29 5:59 Nikita V. Youshchenko
2002-05-30 5:12 ` [kde-russian] Про "неработу" KDE из CVS А.Л. Клютченя
0 siblings, 1 reply; 2+ messages in thread
From: Nikita V. Youshchenko @ 2002-05-29 5:59 UTC (permalink / raw)
To: kde-russian
Прочитал про проблемы со сборкой CVS и Вспомнил. Вдруг кому интересно ...
Когда (несколько месяцев назад) у меня висел сервис, пересобирающий KDE из
CVS каждую ночь, я сталкивался с такой ситуацией. Происходила следующая
последовательность событий.
- делался cvs update,
- cvs менялся, с соответствующей установкой времени модификаций файлов,
- происходила сборка,
- (на следующую ночь) происходил новый cvs update
В результате время создания объектника оказывалось больше, чем время
модификации файла (CVS при обновлении устанавливает в качестве времени
модификации локального файла время соответствующего коммита), и при
следующей сборке объектник не пересобирался. В результате, естественно,
сегфолты.
Лечится это либо чистой сборкой каждый раз (если ну очень быстрая машина),
либо скриптом, обнаруживающим эту ситуацию и удаляющим устаревшие
объектники. У меня висела такая штука:
# Workaround commit-between-update-and-compile problem
egrep "^P |^U " LOGS/update | awk '{print($2)}' | while read x; do
dn=`dirname $x`
bn=`basename $x`
mbn=`echo $bn | sed 's/\(.*\)\..*/\1/'`
if [ "$bn" != "$mbn" ]; then rm -f $dn/{,.libs/}$mbn.{o,lo}; fi
done
где в LOGS/update была выдача cvs update. Но это не совсем правильно, т.к.
не отлавливает ситуацию, когде модифицирован хэдер, но не cpp-шник.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [kde-russian] Про "неработу" KDE из CVS
2002-05-29 5:59 [kde-russian] ðÒÏ "ÎÅÒÁÂÏÔÕ" KDE ÉÚ CVS Nikita V. Youshchenko
@ 2002-05-30 5:12 ` А.Л. Клютченя
0 siblings, 0 replies; 2+ messages in thread
From: А.Л. Клютченя @ 2002-05-30 5:12 UTC (permalink / raw)
To: kde-russian
29 Май 2002 09:59, Nikita V. Youshchenko написал:
> - делался cvs update,
> - cvs менялся, с соответствующей установкой времени модификаций файлов,
> - происходила сборка,
> - (на следующую ночь) происходил новый cvs update
> В результате время создания объектника оказывалось больше, чем время
> модификации файла (CVS при обновлении устанавливает в качестве времени
> модификации локального файла время соответствующего коммита), и при
> следующей сборке объектник не пересобирался. В результате, естественно,
> сегфолты.
Это больше проблема системы сборки, с которой не очень хорошо дела обстоят:
периодически вновь созданные/удалённые папочки выпадают из "дерева
компиляции" :), да и мэйк-файлы генерятся такие, что для целей не указаны все
зависимости, или вообще зависимостей нет. Но это не страшно... Если из CVS
брать и переносить целиком, т.е. грохать всё и с нуля генерить - то может ещё
усё у порядке шеф... А вообще: генерация мэйков - это искусство, а
автохеады/автомэйки - это костыли... :)
Вообще-то у коллеги со сборкой такая приблуда, тоже ночная, обновляется CVS,
заносится в свой CVS, берётся оттуда - собирается сырцовый пакет, сырцовый
пакет компилится для 586, ... т.е. для тех платформ, какие у него в наличии,
точнее не так: собирается для его рабочего компа, он проверяет - тогда
собирает для всех... Красота!... :)
У меня вдруг HEAD стал собираться, причём за исключением Кривоватого
отображения некоторых страниц в конкву - всё остальное - ... тфу-тьфу-тьфу
... - в порядке.... Красота!
ЗЫ:) КДЕЛИБС не собирался /khtml/java/kjavaprocess...:272 можно не ремить :)
--
ВсехБлаг! А. Л. Клютченя
mail: asoneofus@kde.ru
www: http://www.asoneofus.nm.ru
icq: 113679387
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2002-05-30 5:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-29 5:59 [kde-russian] ðÒÏ "ÎÅÒÁÂÏÔÕ" KDE ÉÚ CVS Nikita V. Youshchenko
2002-05-30 5:12 ` [kde-russian] Про "неработу" KDE из CVS А.Л. Клютченя
рассылка русскоязычной группы пользователей и разработчиков KDE
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/kde-russian/0 kde-russian/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 kde-russian kde-russian/ http://lore.altlinux.org/kde-russian \
kde-russian@lists.kde.ru
public-inbox-index kde-russian
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.kde-russian
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git