forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.UNIX.BSD

Ответ
 
Опции темы Опции просмотра
  #11  
Старый 14.08.2017, 21:30
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: Вопрос про Makefile

Alex Korchmar написал(а) к Victor Sudakov в Aug 17 20:11:33 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> wrote:

VS> будет каждый раз дергать rsync, даже если src1.txt и src2.txt
VS> не менялись. А это не надо.
я бы предоставил с этим разбираться rsync - в частности, ты можешь думать
что "не надо", а на самом деле кто-то нечаяно похерил файл на одном из
target.

VS> Так что придётся делать какую-то безобразную конструкцию через touch и
VS> флаг-файл.
мне кажется, лишний запуск rsync куда менее безобразен и при этом полезен
отдельно от остального makefile.
Ну или можно вместо rsync использовать (gnu)rdist, он умеет timestamp file, но
недостатки у этого способа те же.

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #12  
Старый 15.08.2017, 05:40
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию Вопрос про Makefile

Victor Sudakov написал(а) к Alex Korchmar в Aug 17 08:22:48 по местному времени:

Dear Alex,

14 Aug 17 20:11, Alex Korchmar wrote to me:

VS>> будет каждый раз дергать rsync, даже если src1.txt и src2.txt
VS>> не менялись. А это не надо.
AK> я бы предоставил с этим разбираться rsync - в частности, ты можешь
AK> думать что "не надо", а на самом деле кто-то нечаяно похерил файл на
AK> одном из target.

А если там кроме rsync еще и перезапуск удаленных демонов, чей файл? Вот это точно лишний раз без изменения файла я бы делать не стал.

VS>> Так что придётся делать какую-то безобразную конструкцию через
VS>> touch и флаг-файл.
AK> мне кажется, лишний запуск rsync куда менее безобразен и при этом
AK> полезен отдельно от остального makefile. Ну или можно вместо rsync
AK> использовать (gnu)rdist, он умеет timestamp file, но недостатки у
AK> этого способа те же.

rdist хорош (он сейчас зовется rdist6), и умеет удалённый перезапуск, но это уже отдельный конфиг.

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #13  
Старый 15.08.2017, 11:10
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: Вопрос про Makefile

Alex Korchmar написал(а) к Victor Sudakov в Aug 17 09:49:56 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> wrote:

VS>>> будет каждый раз дергать rsync, даже если src1.txt и src2.txt
VS>>> не менялись. А это не надо.
AK>> я бы предоставил с этим разбираться rsync - в частности, ты можешь
AK>> думать что "не надо", а на самом деле кто-то нечаяно похерил файл на
AK>> одном из target.
VS> А если там кроме rsync еще и перезапуск удаленных демонов, чей файл?
значит все же выбрось его и используй rdist. special выполняется только если
файл обновлен.

VS> rdist хорош (он сейчас зовется rdist6)
это он у freebsd так зовется - она десять лет таскала за собой
древнюю-предревнюю версию того же автора в base, для совместимости с
незнамочем.

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #14  
Старый 15.08.2017, 11:50
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию Вопрос про Makefile

Victor Sudakov написал(а) к Alex Korchmar в Aug 17 14:34:16 по местному времени:

Dear Alex,

15 Aug 17 09:49, Alex Korchmar wrote to me:

VS>>>> будет каждый раз дергать rsync, даже если src1.txt и src2.txt
VS>>>> не менялись. А это не надо.
AK>>> я бы предоставил с этим разбираться rsync - в частности, ты
AK>>> можешь думать что "не надо", а на самом деле кто-то нечаяно
AK>>> похерил файл на одном из target.
VS>> А если там кроме rsync еще и перезапуск удаленных демонов, чей
VS>> файл?
AK> значит все же выбрось его и используй rdist. special выполняется
AK> только если файл обновлен.

Вопрос был всё же про сабж. Впрочем я уже сделал через создание флаг-файла:

all: result.txt send

result.txt: source1.txt source2.txt
cat ${.ALLSRC} > ${.TARGET}

send: result.txt
touch ${.TARGET}
rsync ...


Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #15  
Старый 15.08.2017, 13:20
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: Вопрос про Makefile

Eugene Grosbein написал(а) к Victor Sudakov в Aug 17 15:35:53 по местному времени:

14 авг. 2017, понедельник, в 15:04 NOVT, Victor Sudakov написал(а):

EG>> Или можно чуток красивее, но функционально эквивалентно:
EG>> result.txt: source1.txt source2.txt
EG>> foo.awk < ${.ALLSRC} > ${.TARGET}
EG>> rsync ...
EG>> То есть, следующей командой.
VS> Вот в таком варианте (следующей командой) как раз и не работает, в смысле
VS> "rsync ..." отрабатывает вне зависимости от успешного завершения foo.awk, из-за
VS> чего я и пошёл искать другие варианты.

Неправда.

VS> А точно make при выполнении строчки "rsync ..." смотрит на код завершения
VS> предыдущей команды?

Разумеется:

$ cat Makefile
all:
false
echo XXX
$ make
false
* Error code 1

Stop.
make: stopped in /tmp

Eugene
--
Сердце - малочувствительный, мускулистый, грубый и жесткий орган.
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #16  
Старый 15.08.2017, 15:00
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию Вопрос про Makefile

Victor Sudakov написал(а) к Eugene Grosbein в Aug 17 17:35:34 по местному времени:

Dear Eugene,

15 Aug 17 15:35, you wrote to me:

EG>>> Или можно чуток красивее, но функционально эквивалентно:
EG>>> result.txt: source1.txt source2.txt
EG>>> foo.awk < ${.ALLSRC} > ${.TARGET}
EG>>> rsync ...
EG>>> То есть, следующей командой.
VS>> Вот в таком варианте (следующей командой) как раз и не работает,
VS>> в смысле "rsync ..." отрабатывает вне зависимости от успешного
VS>> завершения foo.awk, из-за чего я и пошёл искать другие варианты.

EG> Неправда.

Проверил - и правда неправда. Чтобы было вне зависимости - надо "-" перед командой ставить.

VS>> А точно make при выполнении строчки "rsync ..." смотрит на код
VS>> завершения предыдущей команды?

EG> Разумеется:

Значит такой у меня хреновый foo.awk оказался, либо порядок строчек после result.txt. В общем после перехода на отдельный таргет для раздачи стало предвказуемее IMНO.

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #17  
Старый 19.08.2017, 07:10
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию Вопрос про Makefile

Victor Sudakov написал(а) к Eugene Grosbein в Aug 17 09:45:10 по местному времени:

Dear Eugene,

14 Aug 17 14:59, you wrote to me:
VS>> Вот есть обычный Makefile
VS>> result.txt: source1.txt source2.txt
VS>> foo.awk < ${.ALLSRC} > ${.TARGET}
VS>> Какую строчку добавить, чтобы если result.txt нормально создался,
VS>> то его надо раздать по rsync/rdist/scp на несколько хостов, но
VS>> только в случае, если он успешно создался. А если к примеру
VS>> foo.awk отработал с ошибкой или source2.txt не нашёлся, то не
VS>> раздавать?

EG> result.txt: source1.txt source2.txt
EG> foo.awk < ${.ALLSRC} > ${.TARGET} && rsync ...

EG> Если source2.txt не нашелся, то весь конвейер и не будет запущен.

Да, а какая получается разница между вариантами

result.txt: source1.txt source2.txt
foo.awk < ${.ALLSRC} > ${.TARGET}
rsync ...

и

result.txt: source1.txt source2.txt
foo.awk < ${.ALLSRC} > ${.TARGET} && rsync ...

если как мы выяснили, следующая команда и так смотрит на код завершения предыдущей?


Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #18  
Старый 21.08.2017, 14:24
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: Вопрос про Makefile

Eugene Grosbein написал(а) к Victor Sudakov в Aug 17 17:03:50 по местному времени:

19 авг. 2017, суббота, в 08:45 NOVT, Victor Sudakov написал(а):

VS> Да, а какая получается разница между вариантами
VS> result.txt: source1.txt source2.txt
VS> foo.awk < ${.ALLSRC} > ${.TARGET}
VS> rsync ...
VS> и
VS> result.txt: source1.txt source2.txt
VS> foo.awk < ${.ALLSRC} > ${.TARGET} && rsync ...
VS> если как мы выяснили, следующая команда и так смотрит на код завершения
VS> предыдущей?

Косметическая.

Eugene
--
http://grosbeyn.moikrug.ru/
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:57. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot