рассылка русскоязычной группы пользователей и разработчиков KDE
 help / color / mirror / Atom feed
* [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