Обсуждение статьи тематического каталога: Поимел грабельки по вашей побасёнкеСсылка на текст статьи: http://www.opennet.me/base/sys/port_update.txt.html
в CFLAGS у вас присутствует скрытый дефект: -ffast-math, который оборачиваектся для нас -funsafe-math-optimizations -fno-math-errno
В итоге linimon@ мне тут объясняет "не зная броду не суйся в воду":
http://www.freebsd.org/cgi/query-pr.cgi?pr=137869
И чего мне тут ему отвечать, что мопед не мой, взял отсюдова? поправьте статью что-ли, а то я не первый и, думаю, не последний.
результат -W и -w противоположный вышесказанного
Жуть а не обновление портов. Чем автору portsnap-то не угодил??
Охренеть, автора надо расчленить за этот бред. Я в шоке.> 1. Скачивание и установка дерева портов.
Зачем этот бред?
portsnap fetch extract, а cvsup вообще давно умер> cp /var/log/dpkgdb.db /home/dpkgdb.db
Какой /var/log? Во-первых, /var/db/pkg. Во-вторых, не надо там ничего бэкапить, база строится заново по /var/db/pkg, если ее снести.
> WITCH=BATCH=yes
WITCH это ведьма. Что это?
> BATCH=yes
И выключить OPTIONS целиком. Вы в своем уме?
> # параллельная сборка портов, появилась с FreeBSD 7.2 лучше не включать
Порты не зависят от версии системы, она появилась везде. Зачем там все переменные? MAKE_JOBS_SAFE, MAKE_JOBS_UNSAFE не для make.conf.
> MAKE_JOBS_NUMBER!= let $$(sysctl -n kern.smp.cpus) \* 4
Класс. Теперь понятно, почему лучше не включать. Уверен, что памяти хватит? Чтобы загрузить все ядра, достаточно n+1.
> #.for port in
Объяснишь смысл?
> CPUTYPE=
> CFLAGS+=Тут даже комментировать не берусь, полное непонимание работы флагов gcc, make и системы портов. Каша, абсолютный бред.
> рекомендуют: portupgrade -arR
Кто рекоммендует? -a и -arR - одно и то же - обновляются все пакеты, в порядке зависимостей.
> например cairo-1.8.6_1,1 и portupgrade может всегда писать что порт устаревший
Такого не бывает. Что некорректного в этой версии?
> 6. Проверенные скрипты тщательного обновления.
Я бы не рекоммендовал запускать никакие скрипты от автора такой безграмотной статьи.
Уважаемые модераторы, большая проcьба этот опус удалить. Полезного там ничего нет, а новички ведь будут читать и а потом бежать на форумы потому что все сломалось. Вон petr999 уже накололся. Спасибо.
>> рекомендуют: portupgrade -arR
>Кто рекоммендует? -a и -arR - одно и то же - обновляются все пакеты, в порядке зависимостей.на счет кто - на совести автора, а вот на счет опций - то если их указать, то будут сначала обновлены/доустановлены необходимые зависимости и только потом сам порт.
> а вот на счет опций - то если их указать, то будут сначала обновлены/доустановлены необходимые зависимости и только потом сам портИ если их не указать тоже. -r и -R имеют смысл только при обновлении отдельных портов и говорят portupgrade обновлять _дополнительно_ к указанным портам их зависимости/зависимые порты. А речь идет про -a, когда в любом случае обновляются _все_ порты, а portupgrade _всегда_ сортирует их с тем, чтобы зависимости обновлялись перед зависимыми портами.
> то будут сначала обновлены/доустановлены необходимые зависимости и только потом сам портНе надо бреда. Открываем скрипт portupgrade, видим - -a отменяет -rR.
PS. Да, а реальные рекоммендации можно свести к:- portsnap fetch extract (потом portsnap fetch update)
- чтение UPDATING и выполнение инструкций оттуда, если у вас установлены упомянутые там порты. В частности, все действия при обновлении таких вещей как perl и python там указаны, надо всего навсего выполнить один скрипт для пересборки модулей под новую версию языка.
- portupgrade -aИногда (последний раз такое было при обновлении Qt до 4.5 с qt4-dbus и qt4-designer, а до этого не помню когда последний раз) тот или иной порт не собирается в присутствии старой версии себя. Тогда pkg_delete -f и make install, либо пакетом. Больше никаких телодвижений не нужно.
Все. За 5 лет поддержания пакетов в актуальном состоянии на десятке машин могу сказать что больше ничего не надо.
Напоследок напомню, что все порты регулярно собираются на кластере, поэтому должны собираться и у вас. В репозитории _нет_ сломанных пакетов, не помеченных как BROKEN. Если не собирается, прежде всего смотрите что _вы_ сделали такого, что оно перестало собираться. И не стесняйтесь отправлять PR в любом случае.
мощный поток... коварные комьюнити предали анафеме хэндбук и прокляли всех его читает ?+1 за portsnap fetch update + чтение /usr/ports/UPDATE + portupgrade
> +1 за portsnap fetch update + чтение /usr/ports/UPDATE + portupgradeза portupgrade и чтение /usr/ports/UPDATE полностью согласен, но тянуть 41 метр из сети, чтоб обновить дерево портов, по-моему слишком, т.ч. по мне пока нормально и csup ~/portsupfile + make fetchindex из /usr/ports/.
как обычно результата можно добиться несколькими способами...Но к мнению, что статья перегружена присоеденюсь.
"но тянуть 41 метр из сети" - многое зависит от исходной задачи (например - было ли распаковано дерево портов при установке), толщины канала и наверное собственной лени. Сам пользую оба варианта.
>за portupgrade и чтение /usr/ports/UPDATE полностью согласен, но тянуть 41 метр из
>сети, чтоб обновить дерево портов, по-моему слишкомНасчет 41 метра - это вы про portsnap или про опус автора? portsnap тянет много только первый раз, потом всегда только дельты. Индекс он тоже генерит сам, поэтому всегда работает быстрее и ест меньше траффика, чем csup.
> для perl часто тоже может понадобиться
> pkg_info | grep '^p5-*' | awk '{print $1}' | xargs portupgrade -f || pkgdb -fFu && portsclean -CLPP1) Для perl не часто может понадобиться, только если вы на другую ветку его обновили.
2) p5-* это далеко не все, что зависит от перла. Вы возможно имели в виду portupgrade -rf perl.
3) Но и это не нужно, есть скрипт perl-after-upgrade, который ставится с перлом, работает гораздо быстрее (ибо чисто перловые модули можно просто скопировать на новое место, а не пересобирать).
4) Насчет pkgdb и portsclean (особенно -DD) - убейтесь.Для питона есть make upgrade-site-packages. Для php не знаю.
> результат -W и -w противоположный вышесказанного
> portsnap fetch extract (потом portsnap fetch update)portsnap лучше, да, не было времени исправлять статью, исправлю, у меня просто порты корректировались, по этому я решил их удалить и поставить заново, там еще есть rsyns который наверное еще лучше...
> И если их не указать тоже. -r и -Rman portupgrade на сколько я помню четко не написано про это, а что в зависимости от ситуации нужно поставить эти опции -r -R -f
повторюсь: если написать -Rrf -Rf -rf, то оно будет обновлять зависимости и те который уже обновленные! -R -r может быть не достаточно в некоторых случаях
> в CFLAGS у вас присутствует скрытый дефект: -ffast-math
ok
ну я поставил некоторые извесные опции, может там не надо для нового gcc, у меня ни какого дефекта нигде не было...> Every little thing was great till I noticed the top and the ps -u show the nan% in the CPU% column.
напиши: top -C ps -uC и CPU% будет показывать все
> Кто рекоммендует? -a и -arR
google.com если посмотреть часто рекоммендуют
> Но и это не нужно, есть скрипт perl-after-upgrade
можно всё, но мне нужно было обновить именно модули p5-...
> pkgdb -fFu && portsclean -CLPP
это мне подсказали, тогда когда сбитые порты, возможно не надо...
> 4) Насчет pkgdb и portsclean (особенно -DD) - убейтесь.
man portsclean
portmaster, portmanager заметил лучше обновляют чем portupgrade
> Класс. Теперь понятно, почему лучше не включать. Уверен, что памяти хватит? Чтобы загрузить все ядра, достаточно n+1.
> Порты не зависят от версии системы, она появилась везде. Зачем там все переменные? MAKE_JOBS_SAFE, MAKE_JOBS_UNSAFE не для make.conf.вам религия наверное запрещает посомтреть список рассылки там где говориться про паралельную сборку портов...
> вам религия наверное запрещает посомтреть список рассылки там где говориться про паралельную сборку портов...Я видел и майллист, и описание в port.mk. Я может в чем-то не прав?
>portsnap лучше, да, не было времени исправлять статью, исправлю, у меня просто
>порты корректировались, по этому я решил их удалить и поставить заново,
>там еще есть rsyns который наверное еще лучше...Это в политике `наверное', а тут все точно. Либо А, либо Б, а не знаешь - не пиши.
>man portupgrade на сколько я помню четко не написано про это, а
>что в зависимости от ситуации нужно поставить эти опции -r -R
>-fРечь шла про -arR. _-a_.
>> Кто рекоммендует? -a и -arR
>google.com если посмотреть часто рекоммендуютКак я и говорил, вы нахватались с гугла всего что там `рекоммендуют'. Уважаемый, чтобы писать статьи вы должны не ссылаться на гугл, а обосновывать почему рекоммендуют. А гугл полон дилетантами типа вас.
>> Но и это не нужно, есть скрипт perl-after-upgrade
>можно всё, но мне нужно было обновить именно модули p5-...perl-after-upgrade
>> 4) Насчет pkgdb и portsclean (особенно -DD) - убейтесь.
>man portscleanДа уж, извольте почитать.
-C - зачем когда portupgrade сам чистит work до и после?
-D - а вы написали что оно погрохает дистфайлы, которые могут еще понадобиться?
-P - объясните зачем вообще используете?
> в CFLAGS у вас присутствует скрытый дефект: -ffast-math, который оборачиваектся для нас -funsafe-math-optimizations -fno-math-errnoда, это не надо, но у меня все работало нормально в 80 72..
(но в 70 71(вроде бы) 63 данной проблему нету!)есть еще
http://www.opennet.me/base/sys/freebsd_ports_tips.txt.html
у меня с этим проблема в 7.2-p3
а что не надо --- то выключайте из текста.>> в CFLAGS у вас присутствует скрытый дефект: -ffast-math, который оборачиваектся для нас -funsafe-math-optimizations -fno-math-errno
>
>да, это не надо, но у меня все работало нормально в 80
>72..
>(но в 70 71(вроде бы) 63 данной проблему нету!)
>
>есть еще
>http://www.opennet.me/base/sys/freebsd_ports_tips.txt.html
>
>http://www.opennet.me/base/sys/freebsd_ports_tips.txt.htmlУ Дрюъ нету make.conf, а мне понадобилось понавертеть CFLAGS.
исправил: