Установка и работа КриптоПРО CSP v 4.* 5.*

Да, с неё можно и начать, а там и более свежая подтянется.

Она вроде пока что несертифицированная. Как описывает это разработчик. Полагаете, тем не менее, что уже стабильная ? Ошибок при использовании в такой версии быть не может ?
Я к тому, что может все же, есть смысл подождать и уже затем .ebuild —> emerge cprocsp… —> эксплуатация СКЗИ. Как полагаете ?

Да, не сертифицированная :face_with_raised_eyebrow:

А Вы посмотрите сколько багов было пофикшено между релизами 12000 и 12600!

А сколько ещё будет пофикшено в будущей версии!

Лично репортил 2 ошибки, которые для Наших организаций (а если быть точнее, для всех пользователей в связке - операционная система “Linux”, СКЗИ “КриптоПро CSP v5” и портал заявителя УЦ ФК) оказались критическими, и сейчас с нетерпением ждём следующего билда с исправленными ошибками в СКЗИ.

Получилось что-то типа такого, но это было сделано лишь только на стенде, где сразу подкидываются готовые конфиги файлов license.ini и config64.ini (содержимое ebuild могу приложить, если кому взглянуть захочется):

$ emerge -s cprocsp

Local copy of remote index is up-to-date and will be used.
  
[ Results for search key : cprocsp ]
Searching...

*  app-crypt/cprocsp
      Latest version available: 5.0.12788
      Latest version installed: 5.0.12788
      Size of files: 33601 KiB
      Homepage:      http://www.cryptopro.ru
      Description:   Cryptopro package
      License:       Cryptopro
# emerge app-crypt/cprocsp

Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
Dependency resolution took 8.00 s.

>>> Verifying ebuild manifests
>>> Emerging (1 of 1) app-crypt/cprocsp-5.0.12788::custom
>>> Installing (1 of 1) app-crypt/cprocsp-5.0.12788::custom
>>> Recording app-crypt/cprocsp in "world" favorites file...
>>> Jobs: 1 of 1 complete                           Load avg: 1.17, 0.74, 0.79
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

Тут и эта утилита присутствует:

$ /opt/cprocsp/bin/amd64/certprop
<certprop>0x7f5e3d195bc0:SaveOneCardCerts Aktiv Rutoken ECP 00 00: 1 certificates added (:231)

Новые версии СКЗИ и плагина:

Промежуточная версия КриптоПро CSP 5.0 R3 (сборка 5.0.12800 Ra);

“КриптоПро ЭЦП Browser plug-in” сборка 2.0.14815 от 8.04.2023.

Надо с импортом сертификатов разобраться, походу какого-то сценария не хватает…

# equery list -op app-crypt/cprocsp
 * Searching for cprocsp in app-crypt ...
[I-O] [  ] app-crypt/cprocsp-5.0.12788:0
[--O] [ ~] app-crypt/cprocsp-5.0.12800:0
# emerge =app-crypt/cprocsp-5.0.12800 --autounmask-write

Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
Dependency resolution took 7.17 s.

[ebuild  N    ~] app-crypt/cprocsp-5.0.12800  USE="certprop cptools gui_gtk ifd-rutokens import_ca kc1 pkcs11 plugin readers -stunnel" 

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by =app-crypt/cprocsp-5.0.12800 (argument)
=app-crypt/cprocsp-5.0.12800 ~amd64

Autounmask changes successfully written.

 * IMPORTANT: config file '/etc/portage/package.accept_keywords/kernels' needs updating.
 * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
 * sections of the emerge man page to learn how to update config files.
# emerge =app-crypt/cprocsp-5.0.12800

Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
Dependency resolution took 7.08 s.

>>> Verifying ebuild manifests
>>> Emerging (1 of 1) app-crypt/cprocsp-5.0.12800::custom
>>> Installing (1 of 1) app-crypt/cprocsp-5.0.12800::custom
>>> Recording app-crypt/cprocsp in "world" favorites file...
>>> Jobs: 1 of 1 complete                           Load avg: 1.05, 0.52, 0.40
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

Приветствую, NickM !
В этот раз поправил как и в предыдущем случае.

Однако, не помогает.
По прежнему отсутствует некая директория при распаковке пакета.

Не пойму что пропустил в этот раз ?
Прошу подсказать.

Доброго времени суток!
Попробуйте изменить функцию src_unpack () в файле /usr/local/portage/www-plugins/cades/cades-2.0.14815.ebuild на что-то подобное:

src_unpack () {
    unpack ${A}
	cd ${WORKDIR}
	mv cades-linux-amd64/* ${DISTDIR}
	rm -rf *
	mkdir ${S}
	cd ${S}
    SUFF="-64-${PV}-1.amd64.rpm"
    NO_ARCH="-${PV}-1.noarch.rpm"
 
	rpm_unpack cprocsp-pki-cades${SUFF}
	rpm_unpack cprocsp-pki-phpcades${NO_ARCH}
	rpm_unpack cprocsp-pki-plugin${SUFF}
 
}
* ERROR: www-plugins/cades-2.0.14815::local failed (unpack phase):
 *   failure unpacking /var/calculate/tmp/portage/www-plugins/cades-2.0.14815/distdir/cprocsp-pki-phpcades-64-2.0.14815-1.amd64.rpm 

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

Но, и установка этого пакета пользователю в принципе не обязательна, например, Я его просто не устанавливаю и не использую - данный пакет нужен для интеграции поддержки php при разработке кода.

Так же не забываем, что нынче плагин распространяется и в составе дистрибутива СКЗИ.

Доброго и Вам!
Пакет собрался. Благодарю!
Только вот как и прежде пытаюсь разобрать в чём именно именно, возникла ошибка ?
Так же вижу что необходимо было внести корректировки / добавить в строки e-build-a:
NO_ARCH=“-${PV}-1.noarch.rpm”

rpm_unpack cprocsp-pki-phpcades${NO_ARCH}
Однако, не пойму, где взялась основа для такого внесения / изменения ?
И всё это на очередном моём этапе Понимания по написанию / изменению ebuild-ов.
Поясните пожалуйста, если не трудно ?
Пытался читать:
https://wiki.gentoo.org/wiki/Basic_guide_to_write_Gentoo_Ebuilds/ru
https://dev.gentoo.org/~zmedico/portage/doc/man/ebuild.5.html
Другие источники исходной информации, так же ею не “блещут”, к сожалению((
Итог ОДИН - НЕ понимание, того, что делаешь!
А хотелось бы…

Пояснить что?

Что именно не понятно?

NO_ARCH=“-${PV}-1.amd64.rpm” <—Что означает эта добавленная в ebuild, строка ?

Частично, я так понимаю, ответ уже описан. В части сборки и распространения как НЕ зависимый от архитектуры. Так ?

Так же не вижу в man-ах ebuild, что касается предыдущей строки:
SUFF=“-64-${PV}-1.amd64.rpm” <— Эта строка в e-build, для чего присутствует ?

Давайте попробуем разобраться.

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

${PV} - это версия пакета.

В итоге все переменные развернутся в следующее:

PV=2.0.14815
SUFF="-64-${PV}-1.amd64.rpm" --> -64-2.0.14815-1.amd64.rpm
NO_ARCH="-${PV}-1.noarch.rpm" --> -2.0.14815-1.noarch.rpm

и после уже выполнится распаковка пакетов по полному их наименованию:

подставим Наши переменные и получим следующее:

rpm_unpack cprocsp-pki-cades-64-2.0.14815-1.amd64.rpm
rpm_unpack cprocsp-pki-phpcades-2.0.14815-1.noarch.rpm
rpm_unpack cprocsp-pki-plugin-64-2.0.14815-1.amd64.rpm

Видимо есть и продолжение… )

Да, пост сорвался, кот по клавиатуре прошёлся :upside_down_face:

Отсюда и…
rpm_unpack cprocsp-pki-phpcades-2.0.14815-1.noarch.rpm
Отсюда и…
На основании описанного Вами,
И непосредственно, возникшей первоначально ошибки…
стоит сделать вывод, что:
Так как пакет: “указанный пакет, нынче, собирается и распространяется как не зависимый от архитектуры”.
То необходимо было взять соответствующие переменные, скорректировав их, на верные значения…
Получить в итоге сборку. Так ?

Вот только все равно остаётся вопрос:
А основу, т.е. то что пакет стал собираться именно без привязки к архитектуре. Эта информация откуда пришла ?

Отсюда:

phpcades: phpcades теперь noarch пакет (CADES-2450).

Угу, именно так и надо делать.

Так же можно предварительно распаковать архив и изучить как состав так и наименование файлов.