LINUX.ORG.RU

Нужен новый пакетный менеджер.

 


0

1

В котором у каждого ограничения между двумя пакетами есть идентификатор и по этому идентификатору можно найти, чем именно ограничение вызвано.

Например в пакете Xorg есть масса ограничений:

RDEPEND=">=app-admin/eselect-opengl-1.0.8
	dev-libs/openssl
	media-libs/freetype
	>=x11-apps/iceauth-1.0.2
	>=x11-apps/rgb-1.0.3
	>=x11-apps/xauth-1.0.3
	x11-apps/xkbcomp
	>=x11-libs/libpciaccess-0.12.901
	>=x11-libs/libXau-1.0.4
	>=x11-libs/libXdmcp-1.0.2
	>=x11-libs/libXfont-1.4.2
	>=x11-libs/libxkbfile-1.0.4
	>=x11-libs/pixman-0.21.8
	>=x11-libs/xtrans-1.2.2
	>=x11-misc/xbitmaps-1.0.1
	>=x11-misc/xkeyboard-config-2.4.1-r3
	dmx? (
		x11-libs/libXt
		>=x11-libs/libdmx-1.0.99.1
		>=x11-libs/libX11-1.1.5
		>=x11-libs/libXaw-1.0.4
		>=x11-libs/libXext-1.0.99.4
		>=x11-libs/libXfixes-5.0
		>=x11-libs/libXi-1.2.99.1
		>=x11-libs/libXmu-1.0.3
		x11-libs/libXrender
		>=x11-libs/libXres-1.0.3
		>=x11-libs/libXtst-1.0.99.2
	)
	kdrive? (
		>=x11-libs/libXext-1.0.5
		x11-libs/libXv
	)
	!minimal? (
		>=x11-libs/libX11-1.1.5
		>=x11-libs/libXext-1.0.5
		>=media-libs/mesa-7.8_rc[nptl=]
	)
	tslib? ( >=x11-libs/tslib-1.0 )
	udev? ( >=sys-fs/udev-150 )
	>=x11-apps/xinit-1.3
	selinux? ( sec-policy/selinux-xserver )"

Почему в четвертой строке версия такая, а не другая? Мы этого никогда уже не узнаем - информация потеряна навсегда.



Последнее исправление: BarCat (всего исправлений: 1)

Ответ на: комментарий от mandala

обновил пост. Вообще не понимаю, почему не делают бинарные спецификации на зависимости между пакетами и специальный редактор для этого. Бинарные логи же делают...

BarCat
() автор топика

Нужен? Бери и делай.

ЗЫ: Тс неосилил откуда берутся требования софта и где их можно парсить. Ваш Генерал Очевидность.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

откуда берутся требования софта и где их можно парсить

Между прочим, это большая проблема.

Трекеры для багов в опенсорсе есть.

А трекеров для use-case-ов и для требований - нет.

BarCat
() автор топика
Ответ на: комментарий от init_6

Я тоже

неосилил откуда берутся требования софта и где их можно парсить

хотя мне это и не нужно. А и в самом деле, откуда и где?

knovich
()
Ответ на: комментарий от init_6

Это разработчики зажрались и учитывают только требования из глубины своей души. А требования пользователей их не волнуют.

BarCat
() автор топика
Ответ на: комментарий от BarCat

Между прочим, это большая проблема.

Ай ай яй... Неужели? Как жеш мы все жили до сих пор не зная о существовании такой страшной проблемы?

init_6 ★★★★★
()
Ответ на: комментарий от knovich

Не хочешь — не отвечай.

такой подход для него неприемлем. Я уже много раз проверял.

BarCat
() автор топика
Ответ на: комментарий от knovich

Андрей, я просто вопрос задал.

Константин а я просто ответил на твой вопрос.

И да мне плевать если ты «интерисуешся» но при этом неосиливаешь даже догадаться где ж посмотреть требования программы да еще и собираемой из исходников.

init_6 ★★★★★
()

Внимание ВНЕЗАПНЫЙ вопрос - что это ^ делает в linux-install?

init_6 ★★★★★
()
Ответ на: комментарий от init_6

init_6 ★★★★★ (14.02.2015 11:43:24) священная корова с правом плевать

BarCat
() автор топика
Ответ на: комментарий от anonymous

сборка из исходников

ldd

херню сморозил

anonymous
()
Ответ на: комментарий от anonymous

ну и что, что эта зависимость прописана ещё в одном месте?
О причинах её возникновения нельзя узнать и там.

BarCat
() автор топика
Ответ на: комментарий от init_6

а я просто ответил на твой вопрос

Шок, видео! init_6 красиво заткнул всех!

knovich
()
Ответ на: комментарий от BarCat

Ну, парень

objdump -T tvoi_binarnik | grep 'UND'

Смотришь какие символы внешние, очевидно что из-за них и зависимость.

anonymous
()
Ответ на: комментарий от anonymous

очевидно, что это следствие, а не причина. Причина в том, что изменили API. и где-то есть документы, для каких целей изменили API.

BarCat
() автор топика
Ответ на: комментарий от BarCat

Я не понял о чем ты, чесно говоря.

Причина в том, что линкуют динамически, а не статически.

anonymous
()
Ответ на: комментарий от anonymous

Если бы всё было так, как ты говоришь, то в ограничениях бы просто писали, что от чего зависит. А там пишут с версиями.

У меня не же просто так вопрос возник, а потому что slot conflict не знаю как разрешить

BarCat
() автор топика
Ответ на: комментарий от anonymous

коммит, это кусок нового кода. Код пишут в связи с изменением требований. Ссылка на изменения в требованиях мне бы дала понимание того, что поменялось.

BarCat
() автор топика
Ответ на: комментарий от BarCat

То есть ты хочешь знать что именно поменялось, потому что считаешь, что конкретная версия в зависимости может быть прописана от балды?

anonymous
()
Ответ на: комментарий от anonymous

Я считаю, что конкретная версия не прописана, и из-за этого возникает slot conflict. И я хочу знать, что поменялось.

BarCat
() автор топика
Ответ на: комментарий от olibjerd

Есть несколько версий библиотеки с разным API. Есть несколько разных приложений, использующих эти разные версии библиотек. Разработчики не забыли прописать зависимости от разных версий. Зато мейнтейнеры дистрибутива забыли сделать установку этих версий в разные слоты. Два разных пакета хотят устанавливать два зависимых пакета с разными версиями в один слот. Это приводит к slot conflict.

Чем таким отличаются Guix и Nix? (я не видел ни того ни другого)

BarCat
() автор топика
Ответ на: комментарий от BarCat

Такое обычно происходит когда пора обновляться.

TDrive ★★★★★
()
Ответ на: комментарий от TDrive

Пересобрать первый пакет под новую версию либы?

ну в первом пакете ж не зря стоит ограничение на версию либы? Если поменялся API, то это наверное значит, что первую программу надо дорабатывать?

BarCat
() автор топика
Ответ на: комментарий от BarCat

Так там какое ограничение? Обычно оба требуют >=, просто один пакет уже собран с конкретной версией либы а второму нужна более новая. Или у тебя оба пакета при установке требуют именно разные версии либы?

TDrive ★★★★★
()
Ответ на: комментарий от TDrive

представь ситуацию, была версия либы LibA-1. Эту либо порезали на две части и назвали LibA-1.1 и LibB-1.1.

Есть прога ProgA и другая программа ProgB

ProgA зависит от ~LibA-1
ProgB зависит от >=LibA-1.1 и >=LibB-1.1

Либы LibA-1 и LibA-1.1 добрые мейнтейнеры разместили в одном слоте.

Если я просто возьму и поменяю зависимость в ProgA, то она не станет работать с LibA-1.1, потому что в LibA-1.1 недостаточно функций (нужно менять код ProgA, чтобы она работала с новым API из библиотеки LibB-1.1).

BarCat
() автор топика
Ответ на: комментарий от Alyssa

малая доля на рынке -> высокая безработица среди программистов этого рынка -> низкое качество жизни

BarCat
() автор топика
Ответ на: комментарий от thesis

нормальный способ дистрибуции софта

расскажи по-подробнее, что ты имеешь в виду? Или дай ссылку, если уже рассказывал ранее.

BarCat
() автор топика
Ответ на: комментарий от BarCat

это проблемы деревянных программистов, которые не могут переучиться на РНР

Alyssa
()
Ответ на: комментарий от BarCat

Это не новый пакетный менеджер, а новые policy, причём весьма сложные для выполнения и не несущие много смысла. В общем, если тебе этого очень хочется, то какие-нибудь X$ час (при оплате полного рабочего времени) вполне можно организовать, т.е. будет. X зависит от требований и может сильно варьироваться.

qnikst ★★★★★
()
Ответ на: комментарий от BarCat

Нормальный способ дистрибуции это когда опакечиванием занимается автор софта. Если вкратце.
Мы когда-то с чуваками тут трындели на эту тему, как этого достичь и все такое. Помню, geekless там был. Лень искать.

thesis ★★★★★
()
Ответ на: комментарий от thesis

опакечиванием занимается автор софта.

это, очевидно, невозможно. Значит решением является политика, оговаривающая как авторы пакетов получают информацию от авторов софта. И как авторы софта обмениваются информацией между собой.

BarCat
() автор топика
Ответ на: комментарий от BarCat

это, очевидно, невозможно

Ввиду соотношения рабочей поверхности крыльев и массы тела совершенно очевидным является то, что шмель летать не может.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от qnikst

новые policy, причём весьма сложные для выполнения

я не согласен с тем, что глобальный сайт для трекинга требований всех пакетов/программ, чем-то сложнее чем github.

BarCat
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.