From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS autolearn=no autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755167631; x=1755772431; darn=lists.altlinux.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:to:from:date:sender:from :to:cc:subject:date:message-id:reply-to; bh=hMw0d7EeQrefTJPgl1luRVkiiaVRUoy1JPXmo23O5pc=; b=Cup06XbpmM3BYVfY1vnIkdFNxIaJEENGrYSxRTam3GnV/XF+rjmWZ0Cnw+VTSxKQ9h VesfMQaRb40//SXWoAE+dii2uPd5tiTTcoWfftnnmgor8CV+vwQ/Z26a3B3AXCZVhOBl EFZI1cXIt4IaydFtDvOi5Gz8qcxMTNh9BBIEKixOl47OSZpLvHb1S/17HqfCvEwEgRWR gGpvzZQsxSwjmXf/tufog6QiSIojYj6LRfJCfqBQSWsb+970Bay8bIZQTPeVbBXAzSif rirao9xVz5yad1L5jxXgDovY/8lYsMVJRsDUL4NGDHAokikSqOHnbF8VOQffTAVmMwiM 4h9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755167631; x=1755772431; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hMw0d7EeQrefTJPgl1luRVkiiaVRUoy1JPXmo23O5pc=; b=Wad50CHU2zckTBcatqYpqxf+7PloSnWwsEhCSW4VpPXYuYsLIl0zByEj9kJBEigjb2 e3O3vG0xXy6Grr0D4oIZO/0vsk/sUaUVE/QfMoo17qbH47mk3082Zn+//p4nZTvbHUMC ORg34MjpUBh/g6m9B1TYVkklp/oOdIenVWFqsZKMQhWxyoqnuHh/vWI7IsAPGR1tR3Ud 0RTY8Kmxja4kfIGQyfxl90bEtwBw91A3hlfrHbDiQOADEimXISoRZn3EOx3wU2jM6GYk lkxQc7W+aYDSisLXeDqCpiV74H5JyevKIwEDSLE5+HXk5ZOj0a5Oi4UgEHD6tC6QCocE KqXg== X-Gm-Message-State: AOJu0Yw//2usBuBKnpKIJnfJQpTJuAcyFSobBrpSDoM66dcqhom6oCKB tUrKYuVM1ZjE16YQH5SNMkGq1aN+8gayWiFMqaJ+M0D/aQ7icj2B5IGm9n3y5D++ X-Gm-Gg: ASbGnctUgPlpRFz2Ew7AF+CWBVbka3/D+bz5SfkA9tnQFzpZPOmpOcGHZRT0iHJvJJq vOJFG4Zpm1ms/3TuC0211YLa0tjUL2cfSnQsBueT4/lZhHozRUcDe6syOpzc4gyfHdMvtW15Piw VpKwJ7cmLBV3U5YV7yS18REQ1JcUurIfqahbxkey4wriVOvZAQ82Pm8CvphPBHgIy6RZ7IeVhKk XmYNyeHg+5ATLUw0odX/PRfdm+tIxzhhj9RDgBiclSMe07ml/9RFMfblLF1UhbPxPbuPU/SgZCE R77pmMtedBY3EkdhOj4emSfRQMw/lnisI7u41h7JPbpBRrvsHsPRRDsYiu9UaZ2R+OoV+Z+Mp4o bfMuN3CSiV5oP8KjbXl1v55K07ptr/QNAT5HG X-Google-Smtp-Source: AGHT+IE1LhjsGV7RM6fipXozl4oYhAbxfMOKLeOXr1DlqX51rU0tCdTcGNkXIUdSI/KEZ8HKTUzTMA== X-Received: by 2002:a05:690c:4981:b0:71a:34f4:7530 with SMTP id 00721157ae682-71d633e35bamr33223817b3.8.1755167630838; Thu, 14 Aug 2025 03:33:50 -0700 (PDT) Sender: "Ivan A. Melnikov" Date: Thu, 14 Aug 2025 14:33:47 +0400 From: "Ivan A. Melnikov" To: ALT Linux Team development discussions Message-ID: References: <6f69d759-c000-4cd3-a66d-94fcd2245fb3@basealt.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [devel] =?utf-8?b?0L/QtdGA0LXRgNCw0LHQvtGC0LDQvdC90YvQuSDQtNC+?= =?utf-8?b?0LrRg9C80LXQvdGCIFNoYXJlZExpYnNQb2xpY3kgKHVwZGF0ZSAxKQ==?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Aug 2025 10:33:55 -0000 Archived-At: List-Archive: List-Post: On Thu, Aug 07, 2025 at 05:20:26PM +0300, Anton Farygin wrote: [...] > * Каждая несовместимая версия библиотеки должна быть в отдельном бинарном > пакете. > * Название пакета: `libfoo%abiversion` > * Если имя библиотеки заканчивается на цифру, то используется подчёркивание: > `libfoo_%abiversion` > * В пакете не должно быть файлов с путями, не содержащими номер ABI. Странная формулировка. [...] > == Как выбирать %abiversion == > > Если библиотека использует `soversion` — используем его как %abiversion. > > Если `soversion` отсутствует или нестабилен — используем: > > * возрастающее число: `libfoo0`, `libfoo1` > * major-версию: `libqt3`, `libqt4` > * major.minor: `libdb4.0`, `libdb4.1` > * часть soname: `libcurl4`, `libflac8` [...] > * Если два пакета конфликтуют по путям, они не смогут сосуществовать — тогда > старую версию нужно удалить, а все зависимости — пересобрать. [...] Здесь не очень понятно описано, что делать, если апстрим не задаёт никакого soname для библиотеки. Ну то есть, очевидно, надо идти в апстрим и заниматься просветительской работой, сопровождаемой pull request'ами, но пока эта работа движется, библиотеку как-то же можно запаковать. Чаще всего такие библиотеки окажутся установлеными во что-то похожее на %_libdir/libfoo.so. Переименоввывать её странно, да и динамический компоновщик кажется не найдёт такую библиотеку по какому-то другому имени. Значит, в разных сборках такой библиотеки будет один и тот же файл. А это уже противоречит требованию предложенного policy. На мой взгляд, разумнее всего такие библиотеки паковать в пакет с именем libfoo и надеятся на лучшее, так как пакет libfooN, набирающий со временем кофликты с libfoo0, libfoo1, ..., libfoo$((N-1)) технически ничем не лучше. Можно конечно пытаться задать свой soname патчем. Это решило бы многие проблемы, но есть опасность пересечься со схемой формирования soname, которую рано или поздно выберет апстрим. В общем, я не могу ничего рекомендовать для такой ситуации, однако мне кажется SharedLibsPolicy должна явно описать случай отсутствия soname. -- wbr, iv m.