Список файлов неустановленного пакета

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
yoricI
Сообщения: 1436
ОС: gentoo fluxbox

Список файлов неустановленного пакета

Сообщение yoricI »

Здравия!
Возможно ли? Есть пакет pfl, с одноимённым скриптом, который при запуске отправляет состав установленных в системе пакетов на немецккий сервер, и в нём же e-file, который может найти файл неустановленного пакета по названию на этом сервере. То есть база состава пакетов набирается на сервере от потребителей, которые озаботились с pfl. Но что делать, если пакет не прописан там? Те, у кого он установлен, не позаботились передать его состав. Вот я так и попал. Можно вроде скачать вручную ebuild и в нём посмотреть, а для командной строки есть более прямые способы?
Сервер https://portagefilelist.de

Вот надо мне найти, в каких пакетах звуковые банки (расширения .sf2 .sf3). Ничего лучше не придумал, как:
$ eix sound|grep -i font * media-sound/fluid-soundfont Homepage: http://musescore.org/en/handbook/soundfont Description: The Fluid R3 soundfont globus@aspera ~ $ eix media-sound/fluid-soundfont * media-sound/fluid-soundfont Available versions: 3.1 {timidity} Homepage: http://musescore.org/en/handbook/soundfont Description: The Fluid R3 soundfont

Устанавливать, чтобы посмотреть состав, лениво, а что делать? А может в других пакетах есть искомое, а как его найти?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18483
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Список файлов неустановленного пакета

Сообщение Bizdelnick »

yoricI писал:
08.05.2021 19:53
Но что делать, если пакет не прописан там? Те, у кого он установлен, не позаботились передать его состав.
Ну как же не прописан? Он просто ищет по полным именам файлов. Например: https://portagefilelist.de/site/query/file/?file=FluidR3_GM.sf2&unique_packages=yes&do
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1436
ОС: gentoo fluxbox

Re: Список файлов неустановленного пакета

Сообщение yoricI »

Откуда сразу знать полное? Где ж регулярные выражения, которыми силён linux?))
Я перед написанием искал там по категории/имени, не нашлось этого пакета... А теперь есть, чудеса!

А вот и опять нет:
Spoiler
pfl.jpg
Не зная точных имён, а только расширения, как в gentoo найти в каких пакетах эти файлы, если есть вообще? Скачивать ебилды и прочёсывать их?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1770
ОС: Gentoo

Re: Список файлов неустановленного пакета

Сообщение ormorph »

yoricI писал:
09.05.2021 06:10
Не зная точных имён, а только расширения, как в gentoo найти в каких пакетах эти файлы, если есть вообще? Скачивать ебилды и прочёсывать их?
А как вы хотите найти то чего нет?
Это же вам не бинарные пакеты, тут ещё содержание зависит от флагов сборки. Ебилды это только инструкции для сборки, они не содержат список файлов. Только после установки можно просмотреть в самой Gentoo.
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1436
ОС: gentoo fluxbox

Re: Список файлов неустановленного пакета

Сообщение yoricI »

Если в результате получаются файлы, то где-то должен быть пусть потенциальный, но их список))
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1770
ОС: Gentoo

Re: Список файлов неустановленного пакета

Сообщение ormorph »

yoricI писал:
09.05.2021 09:08
Если в результате получаются файлы, то где-то должен быть пусть потенциальный, но их список))
Ни чего подобного, список формируется на этапе установки.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Список файлов неустановленного пакета

Сообщение Hephaestus »

yoricI писал:
09.05.2021 09:08
Если в результате получаются файлы, то где-то должен быть пусть потенциальный, но их список
Ну, это вообще не факт. Если Вы когда-нибудь что-нибудь компилировали, помимо сборки пакетов,
то Вы знаете, что компилятор может присвоить итоговому бинарнику имя по умолчанию. И тогда "список файлов" может быть, к примеру, какой-нибудь такой: main.c, module001.c, module002.c, а на выходе будет a.out или что-нибудь в этом роде. Это так, к слову.

Но поскольку умолчальных имен, как правило, всё-таки нигде нет, то искать имена итоговых файлов надо там, где они определяются: в сборочных файлах (Makefile и им подобных), то есть в тарболе с исходниками. Ну и в ebild-скриптах, если там происходят какие-то переименования.

А вот прямого списка, что будет включено в пакет, я не видел нигде: ни при сборке rpm-пакетов, ни при сборке deb-пакетов, ни при сборке пакетов слаквари. Такое есть разве что в случае опакечивания уже готовых файлов: бинарников какой-нибудь Opera или дополнений браузера, или файлов документации, или, к примеру, словарей.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1436
ОС: gentoo fluxbox

Re: Список файлов неустановленного пакета

Сообщение yoricI »

Вообще-то да, согласен, с обоими)) В исходниках оно зашито-крыто. Которые и надо прочёсывать. А вот звукобанки, которые .sf2-3, аналог бинарных пакетов вроде, и их можно по ебилдам прочесать? И есть ли где поиск по ебилдам? Что-то не верится, чтобы на весь репозитарий был один звукобанк...
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1770
ОС: Gentoo

Re: Список файлов неустановленного пакета

Сообщение ormorph »

yoricI писал:
09.05.2021 11:50
А вот звукобанки, которые .sf2-3, аналог бинарных пакетов вроде, и их можно по ебилдам прочесать?
Только если они устанавливаются по отдельности doins, а если копируется сразу каталог, то этого не увидишь.
А так уже сами давно должны были понять как можно найти файлы и их содержание:

Код: Выделить всё

#!/bin/bash

DIR="/usr/portage/"

while read file
do
 if grep -iq "\.sf2" ${file} ; then
   echo -e "\033[31m${file}:"
   echo -e "\033[32m$(grep -i "\.sf2" ${file})";echo
 fi
done < <(find ${DIR} -type f -name "*.ebuild")
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18483
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Список файлов неустановленного пакета

Сообщение Bizdelnick »

yoricI писал:
09.05.2021 06:10
Откуда сразу знать полное? Где ж регулярные выражения, которыми силён linux?))
Вопросы к разработчику.
yoricI писал:
09.05.2021 06:10
А вот и опять нет
https://portagefilelist.de/site/query/listPackageVersions/?category=media-sound&package=fluid-soundfont&do#result
Hephaestus писал:
09.05.2021 09:26
А вот прямого списка, что будет включено в пакет, я не видел нигде: ни при сборке rpm-пакетов, ни при сборке deb-пакетов, ни при сборке пакетов слаквари.
Списки как раз есть и при сборке rpm (секции %files spec-файла), и при сборке deb (debian/*.install). Иначе как раскидать файлы по подпакетам? Другое дело, что там зачастую используются шаблоны, а не точные имена. А полный список можно получить только для уже собранного пакета.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1770
ОС: Gentoo

Re: Список файлов неустановленного пакета

Сообщение ormorph »

yoricI писал:
09.05.2021 11:50
Что-то не верится, чтобы на весь репозитарий был один звукобанк...
Оно так и есть, это стандартный звукобанк. А так можно просмотреть ещё звукобанки в gpo.zugaina.org.
Если так заинтересовали звуковые банки, то почему бы самому не попробовать свои создать например этим инструментом.
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1436
ОС: gentoo fluxbox

Re: Список файлов неустановленного пакета

Сообщение yoricI »

Действительно, ебилды ведь все локально. Хотел упростить, а оно почему так? Поиск начался, по Ctrl-C я прервал, чтоб по tar.bz не скало, ибо бессмысленно. А потом облом.

globus@aspera /usr/portage $ grep -r .sf[2,3] * ^C globus@aspera /usr/portage $ grep -r .sf[2,3] *.ebuild 1) Почему? Оно там есть. globus@aspera /usr/portage $ grep -r \.sf[2,3] *.ebuild globus@aspera /usr/portage $ grep -r ".sf[2,3]" *.ebuild globus@aspera /usr/portage $ grep -r ".sf[2-3]" *.ebuild globus@aspera /usr/portage $ globus@aspera /usr/portage/media-sound $ grep -r sf2 *.ebuild 2) Оно ещё ближе, чем в первом случае. grep: *.ebuild: No such file or directory globus@aspera /usr/portage/media-sound $ globus@aspera /usr/portage $ grep -r sf2 *.ebuild 3) Вариант первого поиска. globus@aspera /usr/portage $ grep -r 'sf2' *.ebuild globus@aspera /usr/portage $ grep -ir 'fluid' *.ebuild globus@aspera /usr/portage $ globus@aspera /usr/portage/media-sound $ grep -ir 'fluid' *.ebuild 4) Вариант второго поиска. grep: *.ebuild: No such file or directory globus@aspera /usr/portage/media-sound/fluid-soundfont $ grep -ir 'fluid' * 5) Ну наконец-то, в текущем каталоге нашлось fluid-soundfont-3.1.ebuild:DESCRIPTION="The Fluid R3 soundfont" fluid-soundfont-3.1.ebuild: doins FluidR3_GM.sf2 FluidR3_GS.sf2 globus@aspera /usr/portage/media-sound/fluid-soundfont $ grep -ir sf[2,3] * fluid-soundfont-3.1.ebuild: insinto /usr/share/sounds/sf2 fluid-soundfont-3.1.ebuild: doins FluidR3_GM.sf2 FluidR3_GS.sf2 globus@aspera /usr/portage/media-sound/fluid-soundfont $ grep -ir sf[2,3] *.ebuild 6) Ну наконец-то, в текущем каталоге нашлось insinto /usr/share/sounds/sf2 doins FluidR3_GM.sf2 FluidR3_GS.sf2
Что я делаю не так?
ormorph писал(а):
09.05.2021 12:45
А так можно просмотреть ещё звукобанки в gpo.zugaina.org.
А можно и в инете, будет ещё больше)) Но слово "soundfont" может не быть в описании, а внутри навалом sf2-3.
ormorph писал(а):
09.05.2021 12:45
почему бы самому не попробовать свои создать например этим инструментом.
До такого фанатства я ещё не дошёл))
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18483
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Список файлов неустановленного пакета

Сообщение Bizdelnick »

yoricI писал:
09.05.2021 13:41
Что я делаю не так?
Составляете регулярное выражение.

grep '\.sf[23]' *.ebuild
Добавлено (13:55):
Ну или как оно там разложено…
grep '\.sf[23]' /usr/portage/media-sound/*/*.ebuild
Добавлено (14:00):
Или с find:
find /usr/portage -type f -name '*.ebuild' -exec grep -H '\.sf[23]' {} +
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: