BSDPORTAL.RU
http://www.bsdportal.ru/

обновление портов после 5 мая 2014.
http://www.bsdportal.ru/viewtopic.php?f=9&t=26652
Страница 1 из 1

Автор:  rmir [ Пн 12 май, 2014 1:29 pm ]
Заголовок сообщения:  обновление портов после 5 мая 2014.

день добрый всем. есть несколько серверов с не сказать, чтобы новыми версиями FreeBSD, после обновления дерева портов через portsnap, вылезли косяки при выполнении make команды в любых портах.
например, в нгинкс

[root@1 /usr/ports/www/nginx]# make
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 1767: Malformed conditional (defined(USE_RC_SUBR) && ${USE_RC_SUBR:tu} != "YES")
Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

"/usr/ports/Mk/bsd.sites.mk", line 957: Malformed conditional (!empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 2929: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 2929: Unexpected end of file in for loop.

"/usr/ports/Mk/bsd.port.mk", line 6708: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 6708: Unexpected end of file in for loop.

make: fatal errors encountered -- cannot continue


собственно иду в /usr/ports/CHANGES и вижу следующий текст:

"20140505:
AUTHOR: bapt@FreeBSD.org

:U and :L syntax is not supported anymore in the ports tree, :tu and :tl
should be used instead

This makes the ports tree incompatible with make(1) version that does not
support :tu and :tl (aka FreeBSD 8.3 and earlier)"

вопрос. Есть ли жизнь, после смерти или чего дальше делать? как обновлять порты? вариант обновить ОС конечно замечательный, но хотелось бы не все сразу, а постепенно. а сейчас какой-нибудь костыль ;(

Автор:  lavr [ Пн 12 май, 2014 2:20 pm ]
Заголовок сообщения:  Re: обновление портов после 5 мая 2014.

rmir писал(а):
день добрый всем. есть несколько серверов с не сказать, чтобы новыми версиями FreeBSD, после обновления дерева портов через portsnap, вылезли косяки при выполнении make команды в любых портах.
например, в нгинкс

[root@1 /usr/ports/www/nginx]# make
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 1767: Malformed conditional (defined(USE_RC_SUBR) && ${USE_RC_SUBR:tu} != "YES")
Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

"/usr/ports/Mk/bsd.sites.mk", line 957: Malformed conditional (!empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 2929: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 2929: Unexpected end of file in for loop.

"/usr/ports/Mk/bsd.port.mk", line 6708: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 6708: Unexpected end of file in for loop.

make: fatal errors encountered -- cannot continue


собственно иду в /usr/ports/CHANGES и вижу следующий текст:

"20140505:
AUTHOR: bapt@FreeBSD.org

:U and :L syntax is not supported anymore in the ports tree, :tu and :tl
should be used instead

This makes the ports tree incompatible with make(1) version that does not
support :tu and :tl (aka FreeBSD 8.3 and earlier)"

вопрос. Есть ли жизнь, после смерти или чего дальше делать? как обновлять порты? вариант обновить ОС конечно замечательный, но хотелось бы не все сразу, а постепенно. а сейчас какой-нибудь костыль ;(


У Вас два варианта:

1) поднять 8.3 как минимум до 8.4 (которая пока поддерживается)
2) выполнить downgrade портов любым способом - установить из апрельских портов bmake
и заменить на него системный make:

# cd /usr/ports/devel/bmake
# make install clean
# mv /usr/bin/make /usr/bin/make.old
# ln /usr/local/bin/bmake /usr/bin/make

других альтернатив нет, 8.3 и 9.0 не поддерживается, произведен переход на clang/llvm и обновлен
системный make, а с 10.0 и системный заменен на bmake.

Ну можно еще установить в виртуалке 8.4 - собрать bmake и скопировать в 8.3 - по идее не должно
возникнуть проблем.

А "есть ли жизнь на Марсе...", это уже никого не волнует, желаете оставаться на 8.3 - Ваше право,
точите дерево портов самостоятельно, переписывайте Makefiles или перелопатьте под себя
/usr/ports/Mk/*

ps. Времени на переход и перевод серверов было дано достаточно.

Автор:  rmir [ Пн 12 май, 2014 2:36 pm ]
Заголовок сообщения:  Re: обновление портов после 5 мая 2014.

ясно, спасибо, видимо я это время проворонил ;)

Автор:  Bond35 [ Вт 13 май, 2014 10:29 am ]
Заголовок сообщения:  Re: обновление портов после 5 мая 2014.

В принципе можно и без downgrade портов. Поставить bmake из пэкеджей - вполне работоспособный метод, проверено на себе.

Автор:  AbDURAxMAN [ Ср 21 май, 2014 8:52 am ]
Заголовок сообщения:  Re: обновление портов после 5 мая 2014.

Я сделал на мой взгляд проще всего :D
Установил виртуальную машину с последним валидным релизом FreeBSD забрал оттуда файл /usr/bin/make и просто заменил его ;)
Всё заработало как и ранее. Удачи!

Автор:  babnik [ Пн 14 июл, 2014 12:30 pm ]
Заголовок сообщения:  Re: обновление портов после 5 мая 2014.

После подмены make во многих портах сборка падает с ошибкой "don't know how to make dirsyntax. stop", мне помогло - mv /usr/share/mk/ /usr/share/mk.old&&svn co http://svn.freebsd.org/base/stable/10/share/mk/ /usr/share/mk
гугл не знал данного решения, может кому-то еще поможет)

Автор:  AbDURAxMAN [ Ср 16 июл, 2014 10:30 am ]
Заголовок сообщения:  Re: обновление портов после 5 мая 2014.

А вы порты обновили перед заменой на новый make? Ветки систем не перепутаны т.е. не заменён make с 8-ой ветки на 9-ой и наоборот?
У меня проблемы с make начались именно с обновления системы. Порты то нормально обновились, а обновление системы сваливалось с ошибкой. Я заменил как описал выше и без проблемно обновляюсь с тех пор.
ПыСы только что обновил порты и систему.

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/