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

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

    <bug>
          <bug_id>18456</bug_id>
          
          <creation_ts>2009-01-08 14:18:02 +0300</creation_ts>
          <short_desc>Дикие зависимости</short_desc>
          <delta_ts>2011-03-27 19:30:13 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>freemind</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>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ivan Fedorov">ns</reporter>
          <assigned_to name="Nobody&apos;s working on this, feel free to take it">nobody</assigned_to>
          <cc>dottedmag</cc>
    
    <cc>erthad</cc>
    
    <cc>ktirf</cc>
    
    <cc>mike</cc>
    
    <cc>viy</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>83966</commentid>
    <comment_count>0</comment_count>
    <who name="Ivan Fedorov">ns</who>
    <bug_when>2009-01-08 14:18:02 +0300</bug_when>
    <thetext># apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following packages will be upgraded
  freemind
The following NEW packages will be installed:
  ant ant-antlr ant-bcel ant-bsf ant-commons-logging ant-commons-net ant-jai ant-jakarta-oro ant-jakarta-regexp ant-javamail ant-jdepend ant-jmf ant-jsch ant-junit
  ant-log4j ant-stylebook ant-swing ant-trax ant-xml-resolver asm bcel bea-stax bea-stax-api bsf cglib dom4j easymock2 eclipse-ecj eclipse-jdt eclipse-platform
  eclipse-rcp eclipse-swt excalibur excalibur-avalon-logkit geronimo-jms-1.1-api gnu-crypto-sasl-jdk1.4 hamcrest icu4j isorelax jai jakarta-commons-dbcp
  jakarta-commons-digester jakarta-commons-el jakarta-commons-fileupload jakarta-commons-lang jakarta-commons-launcher jakarta-commons-modeler jakarta-commons-net
  jakarta-commons-pool jakarta-oro java-1.6.0-sun-devel java-stub-javadoc jaxen jdepend jdom jmock jsch junit junit4 jzlib log4j msv msv-xsdlib mx4j qdox
  relaxngDatatype sat4j servletapi4 sun-jaf sun-mail tomcat5-jasper-eclipse tomcat5-jsp-2.0-api tomcat5-servlet-2.4-api velocity werken-xpath ws-jaxme xalan-j2
  xerces-j2 xml-commons xml-commons-jaxp-1.2-apis xml-commons-jaxp-1.3-apis xml-commons-resolver11 xml-commons-resolver12 xml-stylebook xmldb-api xmldb-api-sdk xom
  xpp2 xpp3
The following packages have been kept back
  bacula-bat bacula-client bacula-common bacula-director bacula-storage
1 upgraded, 89 newly installed, 0 removed and 5 not upgraded.
Need to get 0B/122MB of archives.
After unpacking 171MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84009</commentid>
    <comment_count>1</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2009-01-09 02:35:50 +0300</bug_when>
    <thetext>Зависимости прописываются AutoReq. Какую из них ты считаешь дикой?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84012</commentid>
    <comment_count>2</comment_count>
    <who name="Mikhail Gusarov">dottedmag</who>
    <bug_when>2009-01-09 02:49:10 +0300</bug_when>
    <thetext>Например, ant или java-1.6.0-sun-devel, или eclipse-jdt.

AutoReq не безгрешен :)

Для интереса заглянул в Debian, там зависимости такие:

Depends: j2re1.4 | java2-runtime, j2re1.4 | java-virtual-machine
Recommends: mozilla-browser | www-browser
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84014</commentid>
    <comment_count>3</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2009-01-09 03:16:37 +0300</bug_when>
    <thetext>osgi(org.apache.ant) -&gt; eclipse-platform
osgi(org.junit) -&gt; eclipse-jdt

Эти двое и вытягиивают весь этот bloat.  А eclipse сейчас официально сломан.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84018</commentid>
    <comment_count>4</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2009-01-09 03:26:32 +0300</bug_when>
    <thetext>apt-cache show freemind
...
Depends: java (&gt;= 1.5.0), /bin/sh, coreutils, grep, osgi(org.apache.ant), osgi(org.junit), rpm

Я не знаю откуда вытягивается org.apache.ant и не умею искать так, чтобы эот найти.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84380</commentid>
    <comment_count>5</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-01-13 22:38:31 +0300</bug_when>
    <thetext>AutoReq: yes,noosgi поможет сдуть этот bloat.
В jar присутствует OSGi манифест,
но соответствующие provides есть только в рамках eclipse platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84383</commentid>
    <comment_count>6</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2009-01-13 23:16:44 +0300</bug_when>
    <thetext>(In reply to comment #5)
&gt; AutoReq: yes,noosgi поможет сдуть этот bloat.
&gt; В jar присутствует OSGi манифест,
&gt; но соответствующие provides есть только в рамках eclipse platform.
А проблема-то в чём? osgi manifest неверно заполнен?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84384</commentid>
    <comment_count>7</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-01-13 23:59:42 +0300</bug_when>
    <thetext>&gt; А проблема-то в чём? osgi manifest неверно заполнен?

Основная проблема - сторонний ./plugins/script/groovy-all-1.5.6.jar,
в котором эти зависимости прописанны.
Впрочем, там зависимости опциональные, 
Require-Bundle: org.apache.ant;resolution:=optional, org.junit;resolution:=optional
поэтому достаточно просто пересобрать пакет, новый osgi.req
пропускает опциональные Require-Bundle:.

Напомню, что согласно http://www.altlinux.org/JavaPolicy
Использование сторонних бинарных сборок крайне не рекомендуется.

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

    * Пакеты должны собираться из исходных текстов, если это позволяет лицензия. 

Если пакет не собран из исходных текстов, а инсталлирует готовый jar, несмотря на присутствие исходных текстов, то лучше его в Сизиф не класть (но можно положить в Дедал в ожидании доработки).

    * Пакеты не должны использовать при сборке чужие библиотеки. 

Очень часто вместе с исходными текстами идут готовые собранные сторонние библиотеки. Пакеты не должны использовать при сборке эти готовые сторонние собранные библиотеки, а должны использовать вместо них библиотеки, собранные в Сизифе. Если какой-то готовой сторонней собранной библиотеки в Сизифе нет, ее необходимо сначала туда собрать. 

Можно для начала попробовать groovy11-all-1.1.jar из Сизифа.
И кроме groovy там еще куча сторонних библиотек запакована.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84385</commentid>
    <comment_count>8</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-01-14 00:00:54 +0300</bug_when>
    <thetext>вдогонку: Там надо BuildArch: noarch.
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84386</commentid>
    <comment_count>9</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2009-01-14 00:22:02 +0300</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; А проблема-то в чём? osgi manifest неверно заполнен?
&gt; 
&gt; Основная проблема - сторонний ./plugins/script/groovy-all-1.5.6.jar,
Да, действительно, там много идущих jar-файлов...

...
&gt; поэтому достаточно просто пересобрать пакет, новый osgi.req
&gt; пропускает опциональные Require-Bundle:.
Это уже радует.

&gt; Напомню, что согласно http://www.altlinux.org/JavaPolicy
&gt; Использование сторонних бинарных сборок крайне не рекомендуется.
Я думаю, что в этом полиси не хватает обоснования такой рекомендации.
 
&gt;     * Пакеты должны собираться из исходных текстов, если это позволяет
&gt; лицензия. 
Правильно ли я понимаю 
http://www.altlinux.org/Java/HOWTO
мне надо заместить jar-файлы из freemind поставляемыми в Сизифе с помощью ссылки на $(build-classpath)?

... 
&gt; Можно для начала попробовать groovy11-all-1.1.jar из Сизифа.
&gt; И кроме groovy там еще куча сторонних библиотек запакована.
Способ поиска jar-файлов предполагает указания полного пути к нему,
то есть просто удалить такие файлы нельзя, верно?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84387</commentid>
    <comment_count>10</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-01-14 00:41:40 +0300</bug_when>
    <thetext>(In reply to comment #9)
&gt; мне надо заместить jar-файлы из freemind поставляемыми в Сизифе с помощью ссылки
&gt; на $(build-classpath)?

да.

&gt; Способ поиска jar-файлов предполагает указания полного пути к нему,
&gt; то есть просто удалить такие файлы нельзя, верно?
да. 
Более того, проще симлинки делать с в точности такими же именами,
чтобы не связываться  с редактированием.

можно, конечно, набросать симлинков в /usr/share/freemind/lib
и сказать -classpath &apos;/usr/share/freemind/lib/*&apos; 
&quot;загрузить все jar из /usr/share/freemind/lib&quot;
Но это если серьезно отредактировать /usr/bin/freemind.
там сейчас вручную набирается
CLASSPATH=&quot;${ADD_JARS}:${CLASSPATH}:${freedir}/lib/freemind.jar:\
${freedir}/lib/jibx/jibx-run.jar:\
${freedir}/lib/jibx/xpp3.jar:\
${freedir}/lib/bindings.jar:\
${freedir}/lib/commons-lang-2.0.jar:\
${freedir}/lib/forms-1.0.5.jar:\
${freedir}&quot;
итд.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84388</commentid>
    <comment_count>11</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-01-14 00:47:05 +0300</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; мне надо заместить jar-файлы из freemind поставляемыми в Сизифе с помощью ссылки
&gt; &gt; на $(build-classpath)?
&gt; 
&gt; да.

Точнее, сначала хотя бы то, что пройдет.
сторонние jar в freemind - смесь от устаревших версий
(которых уже нет в Сизифе) до новейших (которых еще нет в Сизифе).
Могут проявиться проблемы совместимости.
А могут и не проявиться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84389</commentid>
    <comment_count>12</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2009-01-14 01:07:58 +0300</bug_when>
    <thetext>(In reply to comment #11)
...
&gt; сторонние jar в freemind - смесь от устаревших версий
&gt; (которых уже нет в Сизифе) до новейших (которых еще нет в Сизифе).
&gt; Могут проявиться проблемы совместимости.
Что-то вот я не понимаю вашего совета. Вы предлагаете заменить те библиотеки, с которыми freemind гарантированно работает, на другие, версий то меньше, то больше, и расхлёбывать получившееся? А если он сломается?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84390</commentid>
    <comment_count>13</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-01-14 01:30:05 +0300</bug_when>
    <thetext>&gt; &gt; сторонние jar в freemind - смесь от устаревших версий
&gt; &gt; (которых уже нет в Сизифе) до новейших (которых еще нет в Сизифе).
&gt; &gt; Могут проявиться проблемы совместимости.
&gt; Что-то вот я не понимаю вашего совета. Вы предлагаете заменить те
&gt; библиотеки, с которыми freemind гарантированно работает, на другие, версий то
&gt; меньше, то больше, и расхлёбывать получившееся? 

Да.

Java - порождение корпоративного мира. 
Многие ее уродливые черты напоминают такие же в Windows.
И можно ее отрицать и ненавидеть в целом, а можно сквозь
уродство и безобразие дистиллировать ее капля за каплей
в нечто правильное. Как wine делает это с Windows :)


А если он сломается?
Как правило, вылезет API несовместимость, т. е.
скорее не соберется, чем сломается.
Если сломается, то можно откатить. 

Если не сломается, мир станет на каплю лучше :)

Пора покончить с этим уродливым явлением -
апстримом распространяется IM клиент на java: собственного кода 1M, 
дублей имеющихся библиотек на 50M
и еще для полноты счастья набор jre под все архитектуры
еще 70М.

1-2 java программы занимают места больше, чем Linux LiveCD с OpenOffice :(

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84391</commentid>
    <comment_count>14</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-01-14 01:37:19 +0300</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; Вы предлагаете заменить те
&gt; &gt; библиотеки, с которыми freemind гарантированно работает, на другие, версий то
&gt; &gt; меньше, то больше, и расхлёбывать получившееся? 
&gt; 
&gt; Да.

Хотя бы часть библиотек.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84593</commentid>
    <comment_count>15</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2009-01-19 03:02:07 +0300</bug_when>
    <thetext>Теперь лучше?
$ rpm --requires -qp freemind-0_9_0-alt3.rc1.noarch.rpm
java &gt;= 1.5.0
coreutils
grep
groovy
jakarta-commons-lang
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84601</commentid>
    <comment_count>16</comment_count>
    <who name="Ivan Fedorov">ns</who>
    <bug_when>2009-01-19 09:32:24 +0300</bug_when>
    <thetext>Я бы не сказал, что особо лучше... но видимо это предел...
$ agi freemind
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  adaptx ant ant-junit asm asm2 axion backport-util-concurrent bcel bea-stax bea-stax-api bsf castor0 cglib dom4j excalibur excalibur-avalon-logkit
  geronimo-ejb-2.1-api geronimo-j2ee-1.4-apis geronimo-j2ee-connector-1.5-api geronimo-jms-1.1-api geronimo-jta-1.0.1B-api geronimo-servlet-2.4-api
  gnu-crypto-sasl-jdk1.4 gnu-regexp groovy hsqldb icu4j isorelax jakarta-commons-codec jakarta-commons-el jakarta-commons-fileupload jakarta-commons-httpclient
  jakarta-commons-lang jakarta-commons-primitives jakarta-commons-transaction jakarta-oro jakarta-slide-webdavclient jarjar java-1.6.0-sun-devel jaxen jdom jettison
  jetty5 jetty5-javadoc jmock joda-time junit ldapsdk log4j mockobjects msv msv-xsdlib mx4j nekohtml openejb1 qdox radeox relaxngDatatype servletapi4 sun-jaf
  sun-mail tomcat5-jasper tomcat5-jsp-2.0-api tomcat5-servlet-2.4-api tomcat6-servlet-2.5-api velocity werken-xpath ws-jaxme wstx xalan-j2 xerces-j2 xml-commons
  xml-commons-jaxp-1.2-apis xml-commons-jaxp-1.3-apis xml-commons-resolver12 xml-im-exporter xmldb-api xmldb-api-sdk xom xpp2 xpp3 xstream
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84625</commentid>
    <comment_count>17</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2009-01-19 23:32:49 +0300</bug_when>
    <thetext>Думаю, дальше можно вешать багу на 
$ rpm --requires groovy
ant
ant-junit
antlr
asm2
axion
bsf
cglib
jakarta-commons-cli
jakarta-commons-codec
jakarta-commons-collections
jakarta-commons-httpclient
jakarta-commons-logging
jakarta-commons-primitives
jakarta-oro
jarjar
jmock
junit
mockobjects
mx4j
nekohtml
openejb1
qdox
radeox
regexp
tomcat5-jsp-2.0-api
tomcat5-servlet-2.4-api
xerces-j2
xml-commons-jaxp-1.3-apis
xpp3
xstream
jpackage-utils &gt;= 0:1.7.4
jpackage-utils &gt;= 0:1.7.4
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84628</commentid>
    <comment_count>18</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-01-20 01:01:40 +0300</bug_when>
    <thetext>(In reply to comment #17)
&gt; Думаю, дальше можно вешать багу на 
&gt; $ rpm --requires groovy
&gt; ...

groovy -- это целый язык для java virtual machine,
все эти библиотеки, вообще говоря, используются.

Это то же самое, если gnomer/gtkшник поставил
себе какой-нибудь kfurfurrent, а тот ему пол kde в систему втянул.

Никто же по этому поводу не ругается и не предлагает
линковать kfurfurrent с qt4 и kde libs статически.

Се ля ви.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84632</commentid>
    <comment_count>19</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2009-01-20 01:41:09 +0300</bug_when>
    <thetext>(In reply to comment #18)
&gt; groovy -- это целый язык для java virtual machine,
&gt; все эти библиотеки, вообще говоря, используются.
Вам виднее. Мне казалось, apt нужен только при сборке.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84634</commentid>
    <comment_count>20</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-01-20 02:56:01 +0300</bug_when>
    <thetext>(In reply to comment #19)
&gt; Вам виднее. Мне казалось, apt нужен только при сборке.

конечно, для работы freemind
этого добра не нужно.

Это похоже на то, когда программе нужно
пара вызовов из libqucktime.so
а пакет libqucktime тянет (и реально слинкован с)
ffmpeg, libjpeg, x264 и тд. 20 доп. библиотеками :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84639</commentid>
    <comment_count>21</comment_count>
    <who name="Ivan Fedorov">ns</who>
    <bug_when>2009-01-20 12:32:50 +0300</bug_when>
    <thetext>тогда мне наверное проще отказаться от freemind...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95078</commentid>
    <comment_count>22</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-07-22 17:25:40 +0400</bug_when>
    <thetext>*** Bug 20184 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>