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

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

    <bug>
          <bug_id>11936</bug_id>
          
          <creation_ts>2007-05-31 19:50:43 +0400</creation_ts>
          <short_desc>unversioned perl provides</short_desc>
          <delta_ts>2008-12-12 20:35:57 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>subversion-perl</component>
          <version>unstable</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>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="viy">viy</reporter>
          <assigned_to name="Andrey Cherepanov">cas</assigned_to>
          <cc>at</cc>
    
    <cc>cas</cc>
    
    <cc>ender</cc>
    
    <cc>shrek</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>50855</commentid>
    <comment_count>0</comment_count>
    <who name="viy">viy</who>
    <bug_when>2007-05-31 19:50:43 +0400</bug_when>
    <thetext>subversion-perl provides unversioned perl modules:
rpmquery --provides subversion-perl 
...
perl(SVN/Base.pm)  
perl(SVN/Client.pm)  
perl(SVN/Core.pm)  
perl(SVN/Delta.pm)  
perl(SVN/Fs.pm)  
perl(SVN/Ra.pm)  
perl(SVN/Repos.pm)  
perl(SVN/Wc.pm)  

so we have errors like

error: failed dependencies:
        perl(SVN/Core.pm) &gt;= 1.200 is needed by perl-SVN-Mirror-0.73-alt1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50883</commentid>
    <comment_count>1</comment_count>
    <who name="viy">viy</who>
    <bug_when>2007-06-01 12:39:18 +0400</bug_when>
    <thetext>и с Pushmi на такое напоролся...
в общем, надо фиксить.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51289</commentid>
    <comment_count>2</comment_count>
    <who name="at@altlinux.org">at</who>
    <bug_when>2007-06-10 22:31:01 +0400</bug_when>
    <thetext>Текущими средствами, действительно, не удается выцепить версию.
Сейчас поиск версий provides идет чисто текстуально:

$VERSION = число
$Название::Этого::Пакета::VERSION = число
$VERSION = $Название::Другого::Пакета::VERION
$Название::Этого::Пакета::VERSION = $Название::Другого::Пакета::VERSION

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

SVN/Core.pm:
# Some build tool hates VERSION assign across two lines.
$SVN::Core::VERSION =
&quot;$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO&quot;;

$ perl.prov /usr/lib/perl5/vendor_perl/i386-linux/SVN/Core.pm
# VERSION assignment not recognized at
/usr/lib/perl5/vendor_perl/i386-linux/SVN/Core.pm line 7 (SKIP)
# $SVN::Core::VERSION =
&quot;$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO&quot;;
perl(SVN/Core.pm)
$

В принципе можно попробовать загрузить модуль и посмотреть у него версию.  При
этом будет исполнено больше (произвольного) кода, чем при обычном syntax check
(который используется в requires).
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52349</commentid>
    <comment_count>3</comment_count>
    <who name="at@altlinux.org">at</who>
    <bug_when>2007-07-04 20:47:22 +0400</bug_when>
    <thetext>Ну что, какие ещё мнения есть на этот счет?

Можно в perl.prov прикрутить специально чтобы если версию выцепить не получается
то попрбовать загузить сам модуль и прямо из него взять $VERSION.  Но это очень
некрасиво, а для компилируемых модулей ещё и не надежно.  Нужно учитывать
специфику buildroot, т.е. выставлять LD_LIBRARY_PATH и т.д.  А если там
где-нибудь есть rpath то в билдруте это будет неправильно работать.

Есть альтернативный вариант: подправить SVN/Core.pm во время сборки.  Поскольку
версия во время сборки известна, то можно вместо этого длинного присваивания
прямо проставить версию as is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52379</commentid>
    <comment_count>4</comment_count>
    <who name="viy">viy</who>
    <bug_when>2007-07-05 13:29:35 +0400</bug_when>
    <thetext>почему плохо
(поиск версий provides идет чисто текстуально);
if (VERSION assignment not recognized at &lt;file&gt;) {
загружать модуль. 
}
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79966</commentid>
    <comment_count>5</comment_count>
    <who name="Grigory Batalov">bga</who>
    <bug_when>2008-10-21 16:31:21 +0400</bug_when>
    <thetext>Передаю мэйнтейнеру</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80658</commentid>
    <comment_count>6</comment_count>
    <who name="Afanasov Dmitry">ender</who>
    <bug_when>2008-11-05 11:42:01 +0300</bug_when>
    <thetext>господа, я планирую зашвырнуть v1.5.4.
что надо сделать с этими provides? провадйить версии модулей, e.g. perl(SVN/Core.pm) = &lt;version&gt;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80662</commentid>
    <comment_count>7</comment_count>
    <who name="viy">viy</who>
    <bug_when>2008-11-05 12:17:37 +0300</bug_when>
    <thetext>(In reply to comment #6)
&gt; господа, я планирую зашвырнуть v1.5.4.
&gt; что надо сделать с этими provides? провадйить версии модулей, e.g. perl(SVN/Core.pm) =
&gt; &lt;version&gt;?
вверху по треду Алексей рассказал, как правильно сделать.


</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80705</commentid>
    <comment_count>8</comment_count>
    <who name="Afanasov Dmitry">ender</who>
    <bug_when>2008-11-05 20:22:18 +0300</bug_when>
    <thetext>сборка выдает соответсвтующую ругань:

Can&apos;t load &apos;/usr/src/tmp/subversion-buildroot/usr/lib/perl5/vendor_perl/i386-linux/auto/SVN/_Core/_Core.so&apos; for module SVN::_Core: libsvn_swig_perl-1.so.0: cannot open shared object file: No such file or directory at /usr/lib/perl5/i386-linux/DynaLoader.pm line 226.
 at /usr/src/tmp/subversion-buildroot/usr/lib/perl5/vendor_perl/i386-linux/SVN/Base.pm line 59
BEGIN failed--compilation aborted at /usr/src/tmp/subversion-buildroot/usr/lib/perl5/vendor_perl/i386-linux/SVN/Core.pm line 5.
Compilation failed in require at /usr/src/tmp/subversion-buildroot/usr/lib/perl5/vendor_perl/i386-linux/SVN/Client.pm line 4.
BEGIN failed--compilation aborted at /usr/src/tmp/subversion-buildroot/usr/lib/perl5/vendor_perl/i386-linux/SVN/Client.pm line 4.
# /usr/src/tmp/subversion-buildroot/usr/lib/perl5/vendor_perl/i386-linux/SVN/Client.pm: deparse failed, but I don&apos;t care.

причина: %perl_vendor_build all выдает билиотеки с неверно установленным RPATH, баг #9307</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80706</commentid>
    <comment_count>9</comment_count>
    <who name="Afanasov Dmitry">ender</who>
    <bug_when>2008-11-05 20:25:01 +0300</bug_when>
    <thetext>я пока разобраться не могу, кому что не нравится. напрямую subst 
subst &quot;s/\$SVN::Core::VERSION = .*/\$SVN::Core::VERSION = &apos;$SVN_VER_MAJOR.$SVN_VER_MINOR.$SVN_VER_PATCH&apos;;/&quot; Core.pm
я делал, не помогло. perl.prov вообще не отрабатывает svn модули.

в спеке стоит %set_perl_req_method relaxed

i need help :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82665</commentid>
    <comment_count>10</comment_count>
    <who name="Afanasov Dmitry">ender</who>
    <bug_when>2008-12-12 20:32:43 +0300</bug_when>
    <thetext>отправил в сизиф subversion-1.5.4-alt3, у него получилось заставить perl.prov вычислит версию для SVN::Core

остальные модули не имеют своих VERSION. стоит ли и SVN::Base и иже с ними версии добавлять?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82666</commentid>
    <comment_count>11</comment_count>
    <who name="viy">viy</who>
    <bug_when>2008-12-12 20:35:56 +0300</bug_when>
    <thetext>(In reply to comment #10)
&gt; добавлять?
IMHO, если VERSION нет, то и добавлять ее не нужно.
Спасибо!
</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>