LINUX.ORG.RU
решено ФорумAdmin

Как задать мягкую блокировку в ебилде?

 ,


0

1

Ту самую, которая обозначается буквой b в выхлопе портажа. У меня сейчас это выглядит так:

 # Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8
inherit multilib rpm desktop
DESCRIPTION="Reader for ebooks in the formats fb2, mobi and epub"
HOMEPAGE="https://fbreader.org"
SRC_URI="
	amd64? ( https://fbreader.org/static/packages/linux/fbreader-${PV}-1.fc38.x86_64.rpm -> ${P}.x86_64.rpm )
	arm64? ( https://fbreader.org/static/packages/linux/fbreader-${PV}-1.fc38.aarch64.rpm -> ${P}.aarch64.rpm )"
RESTRICT="test"

LICENSE="EULA"
SLOT="0"
KEYWORDS="~amd64 -arm64"

DEPEND="
	<dev-libs/icu-73.0
	dev-qt/qtbase:6
"
RDEPEND="
	!app-text/fbreader
	${DEPEND}"
BDEPEND=""
S="${WORKDIR}"
QA_PREBUILT="/opt/fbreader/"

pkg_preinst()
{
	mkdir -p ${QA_PREBUILT}
}

pkg_postrm()
{
	rm -rf ${QA_PREBUILT}
}

src_install()
{
	default
	exeinto ${QA_PREBUILT}
	dostrip "{WORKDIR}/usr/binFBReader"
	doexe "${WORKDIR}/usr/bin/FBReader"
	domenu "${WORKDIR}/usr/share/applications/fbreader.desktop"
	doicon "${WORKDIR}/usr/share/icons/fbreader.png"
}

Сейчас тестовый запуск выдает такое:

emerge -pv fbreader-bin 

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 25.37 s.

[ebuild     UD ] dev-libs/icu-72.1:0/72.1::gentoo [73.1-r2:0/73.1::gentoo] USE="-debug -doc -examples -static-libs -test -verify-sig" ABI_X86="32 (64) (-x32)" 25 688 KiB
[ebuild  N     ] app-text/fbreader-bin-2.0.1::localrepo  0 KiB
[blocks B      ] app-text/fbreader ("app-text/fbreader" is soft blocking app-text/fbreader-bin-2.0.1)

Total: 2 packages (1 downgrade, 1 new), Size of downloads: 25 688 KiB
Conflict: 1 block (1 unsatisfied)

Всем спасибо.

Перемещено hobbit из general

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

У меня строгая и выходит.

Вот что делать с icu? Новому Фуррифоксу, и не только ему, подавай минимум 73-й релиз. А слинкован бинарник с 72-й. Тащить в комплекте *.soшки и ставить отдельно в систему? По-моему, только так.

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

Насчёт icu не знаю что предложить. Можно попробовать притащить из ubuntu нужной версии и попробовать подсунуть в каталог бинарника fbreader. В этом случае его лучше в /opt ставить.

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

Кстати, а можно заставит портеж выводить цветной текст сборки? Так как это делает арчевский makepkg, если система сборки делает цветной вывод(cmake), то makepkg всё выведет как есть, тогда как портеж всё выведет белым цветом.

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

Не знаю. А как заставить cmake делать цветной вывод без пакетного менеджера? Имеется ввиду этап конфигурации или уже непосредственно сборка с помощью make или ninja?

Возможно, это опция компилятора -fdiagnostics-color (или переменная окружения GCC_COLORS), но в случае ninja цвета исчезнут, насколько я помню.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от Werenter

Не обращал внимая. У меня вывод лога сборки скрыт обычно, если сборка именно не тестируется.

Но именно конфигурация без подсветки, а сборка через make ошибки вроде подсвечивает. Подсвечивается ли она сама по себе, будучи запущенной вручную не проверял.

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

Это вторая мажорная версия, которая под лицензией EULA и совместима с версией для Android - одинаковый протокол синхронизации библиотеки, например. Одна беда: распространяется только в snap, который под openrc не работает. Но ребята сделали сборку для Федоры отдельно, ей я и воспользовался. Так как бинарник сторонний, ставим в /opt.

LongLiveUbuntu ★★★★★
() автор топика
21 октября 2023 г.

В общем, у меня получилось, кроме одного: сабж спотыкается вот на этом

symbol lookup error: /opt/fbreader/FBReader: undefined symbol: _ZTIN6icu_728ByteSinkE
.

Версия библиотеки та же самая: 72.1, я посмотрел в репозитории FC 38. ldconfig сделан и пути верные:

ldd /opt/fbreader/FBReader 
	linux-vdso.so.1 (0x00007ffe82d58000)
	libzip.so.5 => /usr/lib64/libzip.so.5 (0x00007fcaf4fc4000)
	libicuuc.so.72 => /opt/icu-bin/lib64/libicuuc.so.72 (0x00007fcaf4c00000)
	libicui18n.so.72 => /opt/icu-bin/lib64/libicui18n.so.72 (0x00007fcaf4800000)
	libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00007fcaf4e43000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fcaf56cc000)
	libQt6Core5Compat.so.6 => /usr/lib64/libQt6Core5Compat.so.6 (0x00007fcaf4ba0000)
	libQt6Widgets.so.6 => /usr/lib64/libQt6Widgets.so.6 (0x00007fcaf4000000)
	libQt6Network.so.6 => /usr/lib64/libQt6Network.so.6 (0x00007fcaf3e4e000)
	libQt6Core.so.6 => /usr/lib64/libQt6Core.so.6 (0x00007fcaf3800000)
	libQt6Gui.so.6 => /usr/lib64/libQt6Gui.so.6 (0x00007fcaf3000000)
	libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libstdc++.so.6 (0x00007fcaf2c00000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fcaf2f23000)
	libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libgcc_s.so.1 (0x00007fcaf4e1c000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fcaf2a23000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fcaf4b8c000)
	libcrypto.so.3 => /usr/lib64/libcrypto.so.3 (0x00007fcaf2400000)
	libicudata.so.72 => /opt/icu-bin/lib64/libicudata.so.72 (0x00007fcaf0600000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fcaf56e8000)
	libicui18n.so.73 => /usr/lib64/libicui18n.so.73 (0x00007fcaf0200000)
	libicuuc.so.73 => /usr/lib64/libicuuc.so.73 (0x00007fcaefe00000)
	libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fcaf00b9000)
	libdouble-conversion.so.3 => /usr/lib64/libdouble-conversion.so.3 (0x00007fcaf4b76000)
	libb2.so.1 => /usr/lib64/libb2.so.1 (0x00007fcaf4b6c000)
	libpcre2-16.so.0 => /usr/lib64/libpcre2-16.so.0 (0x00007fcaf4770000)
	libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007fcaf4b56000)
	libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fcaf3e01000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fcaefcbb000)
	libQt6DBus.so.6 => /usr/lib64/libQt6DBus.so.6 (0x00007fcaf295a000)
	libxkbcommon.so.0 => /usr/lib64/libxkbcommon.so.0 (0x00007fcaf37b8000)
	libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007fcaf3784000)
	libOpenGL.so.0 => /usr/lib64/libOpenGL.so.0 (0x00007fcaf2ef8000)
	libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007fcaf2ec0000)
	libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007fcaefb8c000)
	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fcaefac0000)
	libicudata.so.73 => /usr/lib64/libicudata.so.73 (0x00007fcaedc00000)
	libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007fcaf0562000)
	libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libgomp.so.1 (0x00007fcaf2e73000)
	libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007fcaedb47000)
	libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fcaf292e000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fcaf2903000)
	libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007fcaf006b000)
	libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007fcaf23da000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fcaf4b4b000)
	libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007fcaf4b43000)

Что еще может быть не так?

Смущает только, что он хочет сразу и icu 72 и 73, как видно из выхлопа ldd.

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