Summary: | Добавить возможность получения списка файлов пакета | ||
---|---|---|---|
Product: | Infrastructure | Reporter: | Vitaly Lipatov <lav> |
Component: | packages.altlinux.org | Assignee: | Nobody's working on this, feel free to take it <nobody> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | evg, mike, rider |
Version: | unspecified | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 22555 |
Description
Vitaly Lipatov
2013-10-19 01:12:48 MSK
В общем-то выводить этот список на самом сайте тоже было бы неплохо. (В ответ на комментарий №0) > Если это не противоречит задачам проекта, было бы > хорошо добавить возможность запроса списка файлов в конкретном бинарном пакете > конкретного репозитория. Для этого надо вытаскивать список файлов из него. Нужен пример того как можно их извлекать из rpm файла через rpm -qp --queryformat=что-и-как. > Если дополнительно будет ещё возможность поиска пакета по названию файла, было > бы идеально. Скорее пакетов. Т.к. файл с одним и тем же именем может быть сразу в нескольких пакетах. (В ответ на комментарий №1) > В общем-то выводить этот список на самом сайте тоже было бы неплохо. Добавлю как только смогу спарсить данные. (В ответ на комментарий №2) > (В ответ на комментарий №0) > > Если это не противоречит задачам проекта, было бы > > хорошо добавить возможность запроса списка файлов в конкретном бинарном пакете > > конкретного репозитория. > > Для этого надо вытаскивать список файлов из него. Нужен пример того как можно > их извлекать из rpm файла через rpm -qp --queryformat=что-и-как. Может быть можно воспользоваться готовыми списками? ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/i586/base/contents_index А так — rpm -ql -p PACKAGEFILE > > > Если дополнительно будет ещё возможность поиска пакета по названию файла, было > > бы идеально. > > Скорее пакетов. Т.к. файл с одним и тем же именем может быть сразу в нескольких пакетах. Да, точно. (В ответ на комментарий №3) > (В ответ на комментарий №2) > > (В ответ на комментарий №0) > > > Если это не противоречит задачам проекта, было бы > > > хорошо добавить возможность запроса списка файлов в конкретном бинарном пакете > > > конкретного репозитория. > > > > Для этого надо вытаскивать список файлов из него. Нужен пример того как можно > > их извлекать из rpm файла через rpm -qp --queryformat=что-и-как. > > Может быть можно воспользоваться готовыми списками? > ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/i586/base/contents_index Там только список файлов из всех пакетов. Этого мало. > А так — > rpm -ql -p PACKAGEFILE Этого мало. rpm -qpl /ALT/Sisyphus/files/x86_64/RPMS/bash-3.2.51-alt1.qa1.x86_64.rpm /bin/bash /bin/bash2 <...> Нужно ещё права и всё остальное из пакета. Как только я разберусь (ну или кто-то поможет) как вытащить эти данных через rpm -qp --queryformat="что-то", так я сразу и добавлю. И в API сделаю. А, вот так: $ erc l erc-0.3-alt0.M70P.1.noarch.rpm $ patool --verbose list erc-0.3-alt0.M70P.1.noarch.rpm patool: Listing erc-0.3-alt0.M70P.1.noarch.rpm ... patool: running /bin/rpm -q -l -v -p -- erc-0.3-alt0.M70P.1.noarch.rpm -rwxr-xr-x 1 root root 4969 июл 26 22:27 /usr/bin/erc -rwxr-xr-x 1 root root 2484 июл 26 22:27 /usr/bin/ercat drwxr-xr-x 2 root root 0 июл 26 22:27 /usr/share/doc/erc-0.3 -rw-r--r-- 1 root root 34520 июл 26 16:18 /usr/share/doc/erc-0.3/LICENSE -rw-r--r-- 1 root root 335 июл 26 16:18 /usr/share/doc/erc-0.3/README -rw-r--r-- 1 root root 177 июл 26 16:18 /usr/share/doc/erc-0.3/TODO drwxr-xr-x 2 root root 0 июл 26 22:27 /usr/share/erc -rw-r--r-- 1 root root 1974 июл 26 22:27 /usr/share/erc/erc-archive -rw-r--r-- 1 root root 3426 июл 26 22:27 /usr/share/erc/erc-sh-functions (В ответ на комментарий №4) > > rpm -ql -p PACKAGEFILE > Нужно ещё права и всё остальное из пакета. rpm -qlvp годится? (In reply to comment #6) > (В ответ на комментарий №4) > > > rpm -ql -p PACKAGEFILE > > Нужно ещё права и всё остальное из пакета. > rpm -qlvp годится? Как я уже писал в этой задаче: "Как только я разберусь (ну или кто-то поможет) как вытащить эти данных через rpm -qp --queryformat="что-то", так я сразу и добавлю. И в API сделаю." Ничего не изменилось. -qlvp показывает уже отформатированный и переведнный в человеческий вид данные. Мне нужны сырые данные. MacBook-Pro-Igor:Downloads biow0lf$ rpm -qplv catpkt-1.0-alt5.src.rpm -rw-r--r-- 1 builder builder 418 Oct 5 2012 /usr/local/var/lib/rpmbuild/SOURCES/catpkt-1.0-alt-dont-strip.patch -rw-r--r-- 1 builder builder 662 Jul 22 2006 /usr/local/var/lib/rpmbuild/SOURCES/catpkt-1.0-alt-gcc4.patch -rw-r--r-- 1 builder builder 5527 Sep 15 2005 /usr/local/var/lib/rpmbuild/SOURCES/catpkt-1.0-alt-natspec.patch -rw-r--r-- 1 builder builder 348 Mar 8 2006 /usr/local/var/lib/rpmbuild/SOURCES/catpkt-1.0-alt-newld.patch -rw-r--r-- 1 builder builder 350 Jun 7 2005 /usr/local/var/lib/rpmbuild/SOURCES/catpkt-1.0-alt-warnings.patch -rw-r--r-- 1 builder builder 7919 Jun 7 2005 /usr/local/var/lib/rpmbuild/SOURCES/catpkt-1.0.tar.gz -rw-r--r-- 1 builder builder 1603 Oct 5 2012 /usr/local/var/lib/rpmbuild/SPECS/catpkt.spec MacBook-Pro-Igor:Downloads biow0lf$ rpm -qplv catpkt-1.0-alt5.x86_64.rpm -rwxr-xr-x 1 root root 14760 Oct 5 2012 /usr/bin/catpkt drwxr-xr-x 2 root root 0 Oct 5 2012 /usr/share/doc/catpkt-1.0 -rw-r--r-- 1 root root 4094 Apr 3 1999 /usr/share/doc/catpkt-1.0/CHANGES -rw-r--r-- 1 root root 926 Apr 3 1999 /usr/share/doc/catpkt-1.0/README -rw-r--r-- 1 root root 111 Apr 3 1999 /usr/share/doc/catpkt-1.0/README.1st -rw-r--r-- 1 root root 231 Apr 3 1999 /usr/share/doc/catpkt-1.0/README.mc -rw-r--r-- 1 root root 156 Apr 3 1999 /usr/share/doc/catpkt-1.0/TODO -rw-r--r-- 1 root root 1386 Apr 3 1999 /usr/share/doc/catpkt-1.0/bsd-style-copyright MacBook-Pro-Igor:Downloads biow0lf$ Кто сможет это повторить через --querytags ? %{fileusername} %{filegroupname} %{filemodes:perms} %{longsize} %{installtime} Например, $ rpm -q --queryformat "[%{FILEMODES:perms} %{FILENAMES} %{FILESIZES}\n]" rpm Описание здесь: http://rpm.org/user_doc/query_format.html подпишусь, пожалуй. Нужная фича. И если не сложно, то было бы неплохо сразу добавить какое-то API типа JSON для работы с этим списком из приложений. Реализовано https://beta.packages.altlinux.org/ru/sisyphus/binary/glibc-gconv-modules/x86_64/files/ Глобальный поиск файлов в планах. |