LINUX.ORG.RU

Редактирование на одном хосте, сборка на другом

 , , ,


1

1


  • Есть хост на котором удобно редактировать сорцы.
  • Есть сервер на котором надо собирать(vagrant box, часто сносится и поднимается заного).
  • Сорцы доступны на сервере через nfs шару.
  • Время отличается на хост машине, и в боксе.
  • Сборка через autotools



Хотелось бы не меняя времени ни на хосте ни в боксе, иметь возможность собирать не пересобирая проект заново.

Второй кейс:
есть буржуйский сервер на котором надо собирать - вермя там менять нельзя, у себя менять время тоже не охота. А вот кодить хочется в своём окружении. Ситуация с сорцами та же - смонтированны по nfs.

Может быть есть какие то опции для nfs? Или для make?



★

нужно юзать rsync или dvcs. Т.е. совсем общие сорцы иметь не получится. Можно подумать как прикрутить distcc. NFS вообще слишком «тугая» для сборочного окружения

mashina ★★★★★
()
Последнее исправление: mashina (всего исправлений: 1)

1) Есть такая штука: http://www.code-wizards.com/projects/libfaketime/

user@host> date
Tue Nov 23 12:01:05 CEST 2007

user@host> LD_PRELOAD=/usr/local/lib/libfaketime.so.1 FAKETIME="-15d" date
Mon Nov  8 12:01:12 CEST 2007

2) Я бы постарался сделать наоборот, с компьютера для разработки редактировать исходники на удаленном сервере.

Есть sshfs, есть редакторы, которые умеют редактирование и сборку по ssh (например Emacs).

3) Если так нельзя, то rsync --checksum.

Ну про rsync выше писали.

gv ★
()
Ответ на: комментарий от gv

Шикарно. Спасибо mashina и gv. В варианте с vagrant'ом, хотелось бы объектники хранить на хосте ибо собирается оно долго, так что там видимо libfaketime самое оно. А у буржуев надо будет поэкспериментировать:)

batbko ★
() автор топика
Ответ на: комментарий от batbko

Так с временем в системах сборки играть нельзя. Досаточно точно синхронизировать часы таким методом всё равно не получится, а тулза типа make с небольшим расхождением может начать собирать кривые бинарники (миксы из старых и новых объектников). После будешь очень долго выяснять почему же приложение, собранное из одних исходников, в одном случае работает, а в другом ловит неожиданные баги.

mashina ★★★★★
()

Для техже целей использовал git. Где кодишь git commit, где собираешь git pull; make. На билд сервере меняются только те файлы кот. надо, и время на них местное.

anonymous
()

ssh+screen

Время отличается

не путай время и time zone. TZ ты можешь для каждого процесса ставить своё, переводить часы для этого не нужно. К тому же всякие make в курсе, что зоны разные бывают. А если у тебя UTC разное, то ты ССЗБ.

emulek ★
()
Ответ на: комментарий от gv

Есть sshfs

это не самая удачная идея.

есть редакторы, которые умеют редактирование и сборку по ssh (например Emacs).

да хоть mcedit. Даже он может Makefile запустить.

emulek ★
()
Ответ на: комментарий от mashina

Так с временем в системах сборки играть нельзя.

с временем вообще шутить нельзя.

emulek ★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.