[freebsd] pkg (was: Ржавый)

Taras Heichenko tasic at academ.kiev.ua
Sat Jun 11 15:19:36 EEST 2022


Спасибо за подробный ответ. Фактически если какой-то пакет не может быть собран локально,
то приходится использовать  пекеджи, а не порты. (Ну это конечно если не собрать на другой машине
пекедж под эту архитектуру и зависимости, что тоже может оказаться весьма сексуальным занятием.)
Печально, хотя и логично.

> On 11 Jun 2022, at 14:20, Eugene Grosbein <eugen at grosbein.net> wrote:
> 
> 11.06.2022 16:42, Taras Heichenko пишет:
>> 
>> 
>>> On 10 Jun 2022, at 15:32, Anton Saietskii <vsasjason at gmail.com> wrote:
>>> 
>>> Мда, "нетекущий" ржавый жрёт памяти на порядки больше, чем безб-жно текущий С...
>> 
>> Сорри, за дурацкий вопрос – давно не пользовался pkg для установки чего-либо. А может
>> кто-то объяснить, а почему команда
>> 
>> pkg install rust
>> предлагает удалить вот такой список пакетов (вопрос собственно не в том, почему список именно
>> такой, а в том, зачем это все удалять, чтобы поставить rust из пекеджа)?
>> 	avahi-app: 0.8
>> 	cairo: 1.17.4,3
>> 	cups: 2.3.3op2
>> 	dbus-glib: 0.112
>> 	ghostscript9-agpl-base: 9.55.0
>> 	glib: 2.70.4_5,2
>> 	gnupg: 2.3.3_3
>> 	gnutls: 3.7.4
>> 	gobject-introspection: 1.70.0,1
>> 	gpgme: 1.17.1
>> 	graphviz: 2.50.0
>> 	harfbuzz: 4.0.0
>> 	mutt: 2.2.3
>> 	p11-kit: 0.24.1
>> 	pango: 1.50.4
>> 	portupgrade: 2.4.16,2
>> 	py38-cffi: 1.15.0
>> 	py38-cryptography: 3.3.2
>> 	py38-openssl: 20.0.1
>> 	py38-recommonmark: 0.5.0_2
>> 	py38-requests: 2.25.1
>> 	py38-sphinx: 4.3.1,1
>> 	py38-urllib3: 1.26.8,1
>> 	ruby: 2.7.6,1
>> 	ruby27-bdb: 0.6.6_8
>> 	ruby27-gems: 3.3.7_1
>> 	rubygem-psych: 4.0.3
>> 	rubygem-rdoc: 6.4.0
>> 	rubygem-stringio: 3.0.1
>> 	tex-basic-engines: 20210325
>> 	tex-web2c: 20210325
> 
> Потому что pkg настаивает на том, чтобы зависимости устанавливаемого пакета
> безусловно соблюдались с точностью. Никаких отклонений не допускается.
> 
> Например, в пакете rust прописана зависимость от *конкретной* версии пакета curl.
> Если у вас curl установлен любой другой версии, pkg попытается удалить curl
> и установить пакет curl именно той версии, которая прописана в зависимости
> устанавливаемого пакета rust. А так как от curl нынче зависит много всего,
> то pkg будет вынужден удалить и всё, что зависит от curl, а так же всё,
> что зависит от тех пакетов и так далее, и заменить их на версии из того же репозитория,
> откуда ставятся rust и curl.
> 
> Иногда поведение pkg можно слегка откорректировать предварительным запретом
> удалять какой-нибудь установленный пакет, типа: pkg lock curl-7.73.0
> Тогла pkg не будет пытаться снести curl и всё зависимое от него,
> но это чревато тем, что целевой пакет хотя и установится, но работать не будет.
> 
> Например, установленный пакет даёт /usr/local/lib/libcurl.so.4
> а в целевом пакете бинарники слинкованы с другой версией либы и просто не запустятся.
> Опять же можно в крайнем случае использовать libmap.conf(5) и заставить их таки запуститься,
> но это чревато разнообразными глюками и даже сегфолтами.
> 
> 
> 
> 
> 
> _______________________________________________
> freebsd mailing list
> freebsd at uafug.org.ua
> http://mailman.uafug.org.ua/mailman/listinfo/freebsd

--
Taras Heichenko
tasic at academ.kiev.ua







More information about the freebsd mailing list