ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Alexey V. Vissarionov" <gremlin@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Сборка ffmpeg в p8
Date: Mon, 24 Jul 2017 10:41:33 +0300
Message-ID: <20170724074133.GB4198@altlinux.org> (raw)
In-Reply-To: <201707241014.55818@ruslandh>

[-- Attachment #1: Type: text/plain, Size: 2867 bytes --]

On 24-Jul-2017 10:14:51 +0300, Hihin Ruslan wrote:

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

Если динамические библиотеки бывают только общесистемными - все
пакеты будут использовать именно их. Единственная альтернатива,
позволяющая собрать один-два пакета с какой-нибудь экзотикой -
livexotics-devel-static.

 > А если делать отдельный статический пакет, да ещё если ое будет
 > провайдить динамический (т.е. вводить мантейнера других пакетов
 > в заблуждение), то такая чехарда начнётся ...

Так... Кто сказал, что %name-devel - это обязательно динамические
библиотеки? И что мешает, например, собрать

%package devel-shared
Provides: %name-devel = %version
Conflicts: %name-devel-static

%package devel-static
Provides: %name-devel = %version
Conflicts: %name-devel-shared

А еще есть вариант, когда %name-devel требует %name-devel-headers
и %name-devel-libs, а %name-devel-libs обеспечивается либо пакетом
%name-devel-libs-shared, либо %name-devel-libs-static - это чуть
более трудоемко при сборке (многабукф в .spec), но сильно упрощает
жизнь людям, которые потом будут использовать библиотеку:

Requires: example-devel, example-devel-libs-shared

 > А так. допустим пакет N-libs.rpm таскает в себе динамические
 > библиотеки ffmpeg для пакета N (вариант N-libs и N один и
 > тот-же пакет), которые лежат в /usr/libs/N-libs/ffmpeg, да ещё
 > файлы *.so лежат в N-libs-devel и N-libs никак не провайдит
 > ffmpeg. Что в этом страшного, кроме избыточности?

Простейший пример: в том же ffmpeg обнаруживается очередная дыра,
причем такая, что User Otus Vulgaris (усер ушастый обыкновенный)
перепугался и решил проверить, не затрагивает ли это его:

% rpm -q ffmpeg
ffmpeg-X.Y-...

Ура, он свежий! А смотреть, что там в N-libs, никто не будет, и в
результате у того усера останется дырявая софтина.

 > Продолжаем. Про удаление избыточности:
 > Если пакеты K, L и М хотят использовать ffmpeg из N-libs, а не
 > использовать libav, то не является-ли достаточным условием, что
 > в них стоял запрет на линковку с libav.

А почему именно из N-libs, а не просто ffmpeg-devel?

 > Осталось понять как этот запрет можно реализовать в рамках
 > существующей сборочной реальности.
 > Пальцем в небо:
 > Типа антидота-пустышки, который отвергал линковку с реальным
 > libav. - я думаю нереализуемо.
 > Какие-то сборочные зависимости - если есть N-lib, то в сборочнице
 > не должен находится ffmpeg.

Теоретически можно разрулить на уровне зависимостей. А на практике
проще и правильнее будет просто избегать помойки.


-- 
Alexey V. Vissarionov
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2017-07-24  7:41 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-21 20:58 Vitaly Lipatov
2017-07-22  7:35 ` Sergey V Turchin
2017-07-22  9:30   ` [devel] bundled libraries Dmitry V. Levin
2017-07-22 10:23     ` Sergey V Turchin
2017-07-22  9:49   ` [devel] Сборка ffmpeg в p8 Alexey Gladkov
2017-07-22 10:17     ` Sergey V Turchin
2017-07-24  6:31   ` Alexey V. Vissarionov
2017-07-24  7:14     ` Hihin Ruslan
2017-07-24  7:41       ` Alexey V. Vissarionov [this message]
2017-07-24  7:48         ` Hihin Ruslan
2017-07-24  7:49         ` Hihin Ruslan
2017-07-24  7:51         ` Hihin Ruslan
2017-07-24  7:52         ` Sergey V Turchin
2017-07-24  7:52         ` Hihin Ruslan
2017-07-24  7:21     ` Sergey V Turchin
2017-07-24  7:50       ` Alexey V. Vissarionov
2017-07-24  8:05         ` Sergey V Turchin
2017-07-22  8:35   ` Motsyo Gennadi aka Drool
2017-10-07  6:56     ` Vitaly Lipatov
2017-10-09 14:35       ` Sergey V Turchin
2017-10-09 14:40       ` Sergey V Turchin
2017-10-09 14:50         ` Anton Farygin
2017-10-09 14:51           ` Sergey V Turchin
2017-10-13 14:29         ` Vitaly Lipatov
2017-10-13 14:40         ` Vitaly Lipatov
2017-10-14  7:45           ` Sergey V Turchin
2017-07-25 10:37 ` [devel] Сборка ffmpeg в p8 (mplayer в Сизифе слинкован с десятками сумасшедших библиотек проекта samba) Vladimir D. Seleznev
2017-07-27 20:32   ` Vitaly Lipatov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170724074133.GB4198@altlinux.org \
    --to=gremlin@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git