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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.