<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>29496</bug_id>
          
          <creation_ts>2013-10-19 01:12:48 +0400</creation_ts>
          <short_desc>Добавить возможность получения списка файлов пакета</short_desc>
          <delta_ts>2021-11-11 21:18:17 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Infrastructure</classification>
          <product>Infrastructure</product>
          <component>packages.altlinux.org</component>
          <version>unspecified</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>22555</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Vitaly Lipatov">lav</reporter>
          <assigned_to name="Nobody&apos;s working on this, feel free to take it">nobody</assigned_to>
          <cc>evg</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>143304</commentid>
    <comment_count>0</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2013-10-19 01:12:48 +0400</bug_when>
    <thetext>Если это не противоречит задачам проекта, было бы
хорошо добавить возможность запроса списка файлов в конкретном бинарном пакете конкретного репозитория.

Если дополнительно будет ещё возможность поиска пакета по названию файла, было бы идеально.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143428</commentid>
    <comment_count>1</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2013-10-24 17:49:08 +0400</bug_when>
    <thetext>В общем-то выводить этот список на самом сайте тоже было бы неплохо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143429</commentid>
    <comment_count>2</comment_count>
    <who name="Igor Zubkov">icesik</who>
    <bug_when>2013-10-24 18:13:26 +0400</bug_when>
    <thetext>(В ответ на комментарий №0)
&gt; Если это не противоречит задачам проекта, было бы
&gt; хорошо добавить возможность запроса списка файлов в конкретном бинарном пакете
&gt; конкретного репозитория.

Для этого надо вытаскивать список файлов из него. Нужен пример того как можно их извлекать из rpm файла через rpm -qp --queryformat=что-и-как.

&gt; Если дополнительно будет ещё возможность поиска пакета по названию файла, было
&gt; бы идеально.

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

(В ответ на комментарий №1)
&gt; В общем-то выводить этот список на самом сайте тоже было бы неплохо.

Добавлю как только смогу спарсить данные.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143434</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2013-10-25 01:43:09 +0400</bug_when>
    <thetext>(В ответ на комментарий №2)
&gt; (В ответ на комментарий №0)
&gt; &gt; Если это не противоречит задачам проекта, было бы
&gt; &gt; хорошо добавить возможность запроса списка файлов в конкретном бинарном пакете
&gt; &gt; конкретного репозитория.
&gt; 
&gt; Для этого надо вытаскивать список файлов из него. Нужен пример того как можно
&gt; их извлекать из rpm файла через rpm -qp --queryformat=что-и-как.

Может быть можно воспользоваться готовыми списками?
ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/i586/base/contents_index

А так — 
rpm -ql -p PACKAGEFILE


&gt; 
&gt; &gt; Если дополнительно будет ещё возможность поиска пакета по названию файла, было
&gt; &gt; бы идеально.
&gt; 
&gt; Скорее пакетов. Т.к. файл с одним и тем же именем может быть сразу в нескольких пакетах.
Да, точно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143445</commentid>
    <comment_count>4</comment_count>
    <who name="Igor Zubkov">icesik</who>
    <bug_when>2013-10-25 13:19:00 +0400</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; (В ответ на комментарий №2)
&gt; &gt; (В ответ на комментарий №0)
&gt; &gt; &gt; Если это не противоречит задачам проекта, было бы
&gt; &gt; &gt; хорошо добавить возможность запроса списка файлов в конкретном бинарном пакете
&gt; &gt; &gt; конкретного репозитория.
&gt; &gt; 
&gt; &gt; Для этого надо вытаскивать список файлов из него. Нужен пример того как можно
&gt; &gt; их извлекать из rpm файла через rpm -qp --queryformat=что-и-как.
&gt; 
&gt; Может быть можно воспользоваться готовыми списками?
&gt; ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/i586/base/contents_index

Там только список файлов из всех пакетов. Этого мало.

&gt; А так — 
&gt; 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
&lt;...&gt;

Нужно ещё права и всё остальное из пакета.

Как только я разберусь (ну или кто-то поможет) как вытащить эти данных через rpm -qp --queryformat=&quot;что-то&quot;, так я сразу и добавлю. И в API сделаю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143449</commentid>
    <comment_count>5</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2013-10-25 14:10:16 +0400</bug_when>
    <thetext>А, вот так:
$ 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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162434</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2017-03-10 14:34:16 +0300</bug_when>
    <thetext>(В ответ на комментарий №4)
&gt; &gt; rpm -ql -p PACKAGEFILE
&gt; Нужно ещё права и всё остальное из пакета.
rpm -qlvp годится?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162441</commentid>
    <comment_count>7</comment_count>
    <who name="Igor Zubkov">icesik</who>
    <bug_when>2017-03-10 15:49:27 +0300</bug_when>
    <thetext>(In reply to comment #6)
&gt; (В ответ на комментарий №4)
&gt; &gt; &gt; rpm -ql -p PACKAGEFILE
&gt; &gt; Нужно ещё права и всё остальное из пакета.
&gt; rpm -qlvp годится?

Как я уже писал в этой задаче:
&quot;Как только я разберусь (ну или кто-то поможет) как вытащить эти данных через
rpm -qp --queryformat=&quot;что-то&quot;, так я сразу и добавлю. И в API сделаю.&quot;

Ничего не изменилось.

-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 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162533</commentid>
    <comment_count>8</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2017-03-15 14:40:47 +0300</bug_when>
    <thetext>%{fileusername}
%{filegroupname}
%{filemodes:perms}
%{longsize}
%{installtime}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162534</commentid>
    <comment_count>9</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2017-03-15 14:47:01 +0300</bug_when>
    <thetext>Например,
$ rpm -q --queryformat &quot;[%{FILEMODES:perms} %{FILENAMES} %{FILESIZES}\n]&quot; rpm

Описание здесь:
http://rpm.org/user_doc/query_format.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163662</commentid>
    <comment_count>10</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-05-12 19:11:27 +0300</bug_when>
    <thetext>подпишусь, пожалуй.
Нужная фича.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163663</commentid>
    <comment_count>11</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-05-12 19:13:11 +0300</bug_when>
    <thetext>И если не сложно, то было бы неплохо сразу добавить какое-то API типа JSON для работы с этим списком из приложений.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204825</commentid>
    <comment_count>12</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-11-11 21:18:17 +0300</bug_when>
    <thetext>Реализовано https://beta.packages.altlinux.org/ru/sisyphus/binary/glibc-gconv-modules/x86_64/files/

Глобальный поиск файлов в планах.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>