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

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

    <bug>
          <bug_id>31056</bug_id>
          
          <creation_ts>2015-06-07 23:02:12 +0300</creation_ts>
          <short_desc>Хорошо бы обновить toxcore</short_desc>
          <delta_ts>2016-05-16 18:43:49 +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>libtoxcore0</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>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>31064</dependson>
    
    <dependson>30394</dependson>
          <blocked>30837</blocked>
    
    <blocked>32105</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Vitaly Lipatov">lav</reporter>
          <assigned_to name="Denis Smirnov">mithraen</assigned_to>
          <cc>legion</cc>
    
    <cc>mvk</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151679</commentid>
    <comment_count>0</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2015-06-07 23:02:12 +0300</bug_when>
    <thetext>Для сборки qtox нужна более новая версия исходников:
./src/core/core.h:305:12: error: &apos;TOX_PASS_KEY&apos; does not name a type
     static TOX_PASS_KEY* encryptionKey; // use the pw&apos;s hash as the &quot;pw&quot;
            ^
 $ rpm --changelog libtoxcore0
* Вт дек 16 2014 Denis Smirnov &lt;mithraen@altlinux.ru&gt; 0.0.1-alt1.20141216
- update from upstream git</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151698</commentid>
    <comment_count>1</comment_count>
    <who name="Denis Smirnov">mithraen</who>
    <bug_when>2015-06-08 16:57:09 +0300</bug_when>
    <thetext>Обновлению toxcore мешает Venom, который не пересобирается, в т.ч. с новым toxcore :-(

Venom-0.1.2/src/core/MessageLog.vala:87.5-87.19: error: destructor and parent symbol name do not match
    ~LocalStorage() {
    ^^^^^^^^^^^^^^^
Compilation failed: 1 error(s), 0 warning(s)


Если что, проверить можно так:

apt-get install mithraen-build-utils
gear-clone toxcore
gear-clone Venom

внутри обоих репозиториев есть скрипт 00-update.sh, который делает merge из github и обновляет spec:

cd toxcore
./00-update.sh
rpmbb</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151699</commentid>
    <comment_count>2</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2015-06-08 17:28:21 +0300</bug_when>
    <thetext>(В ответ на комментарий №1)
&gt; Обновлению toxcore мешает Venom, который не пересобирается, в т.ч. с новым
&gt; toxcore :-(
Да пусть не пересобирается. Он всё равно сейчас сегфолтится. Я думаю, важно иметь новую базовую библиотеку, а с частностями клиентов уж отдельно разбираться.

На странице https://wiki.tox.im/Venom написано:
Note: Venom is deprecated, use other Clients instead.

Я собираю сейчас самый перспективный — qtox.

Думаю, если Venom мешает обновить toxcore, его надо удалить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151723</commentid>
    <comment_count>3</comment_count>
    <who name="Denis Smirnov">mithraen</who>
    <bug_when>2015-06-09 21:35:53 +0300</bug_when>
    <thetext>Еще мешает обновлению purple-plugin-tox (опять же со старым unmets, с новым не собирается).

См. task #145206</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151746</commentid>
    <comment_count>4</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2015-06-11 15:42:39 +0300</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; Еще мешает обновлению purple-plugin-tox (опять же со старым unmets, с новым не
&gt; собирается).
&gt; 
&gt; См. task #145206
Я подозреваю, что тут надо либо разработчиков toxcore научить менять soname, либо удалять клиенты, которые не обновляются своевременно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151748</commentid>
    <comment_count>5</comment_count>
    <who name="Denis Smirnov">mithraen</who>
    <bug_when>2015-06-11 17:36:22 +0300</bug_when>
    <thetext>(В ответ на комментарий №4)

&gt; Я подозреваю, что тут надо либо разработчиков toxcore научить менять soname,
&gt; либо удалять клиенты, которые не обновляются своевременно.

Пока апстрим занимается быстрохаками, видимо, проще линковаться статически :(
Если такой подход к разработке будет продолжаться, проект можно будет считать мертвым.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151755</commentid>
    <comment_count>6</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2015-06-13 16:09:27 +0300</bug_when>
    <thetext>(В ответ на комментарий №5)
&gt; (В ответ на комментарий №4)
&gt; 
&gt; &gt; Я подозреваю, что тут надо либо разработчиков toxcore научить менять soname,
&gt; &gt; либо удалять клиенты, которые не обновляются своевременно.
&gt; 
&gt; Пока апстрим занимается быстрохаками, видимо, проще линковаться статически :(
&gt; Если такой подход к разработке будет продолжаться, проект можно будет считать
&gt; мертвым.
Обсуждают возможность выпуска релизов:
https://github.com/irungentoo/toxcore/issues/1353
с отличным советом:
If you could, please don&apos;t package Tox yet. It&apos;s simply not yet ready. Even when it&apos;ll have versions.

Ну давайте линковаться статически. Он предлагают всегда собирать последний коммит. Давайте придумаем, как мы будем собирать каждый день пакет из последнего коммита.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151758</commentid>
    <comment_count>7</comment_count>
    <who name="Denis Smirnov">mithraen</who>
    <bug_when>2015-06-13 17:01:00 +0300</bug_when>
    <thetext>Сам процесс сборки сейчас полуавтоматизирован -- один простой скрипт вытаскивает из git, обновляет changelog, и т.д.

Как у viy@ будет свободное время, и он допилит сборку cronbuild из git&apos;а -- можно будет процесс полностью автоматизировать, и действительно собирать хоть каждый день.

Прямо сейчас скрипт + etersoft-build-utils + mithraen-build-utils позволяют обновить пакет буквально меньше чем за минуту.

Чтобы линковаться статически я могу временно вообще убрать сборку shared objects, оставив только библиотеки.

Тогда шаги у нас такие:
1. Я беру старый toxcore, и отрываю сборку shared objects
2. Пересобираем то, что его использует (чтобы убрать зависимости)
3. Спокойно обновляю toxcore

И можно тогда toxcore не обновлять ежедневно пока, а только при желании собрать очередного клиента. Благо процедура мной лентяем упрощена до безобразия:

подготовка:

# apt-get install mithraen-build-utils etersoft-build-utils specgen
$ ssh git.alt init-db toxcore

далее для обновления:

$ cd ~/tmp
$ gear-clone toxcore
$ cd toxcore
$ ../00-update.sh
$ gear-rel
$ build-sisyphus

gear-rel -- ставит commit тэг и заливает в gear repo
build-sisyphus -- создает task и отправляет на сборку

этот workflow позволяет не хранить на локальном компьютере репозиторий, gear-clone достает его из gears сам, создавая нужные бранчи, а также настраивая .git/config, чтобы уже аплоад шел таки  в личный git.alt repo.

Итак, мне отрывать пока shared objects?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151762</commentid>
    <comment_count>8</comment_count>
    <who name="Denis Smirnov">mithraen</who>
    <bug_when>2015-06-14 17:16:19 +0300</bug_when>
    <thetext>Прошу посмотреть в task 145432, я там оторвал упаковку shared objects, но зависимости на них в toxcore-devel генерируются.

Что я делаю не так?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151763</commentid>
    <comment_count>9</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2015-06-15 00:21:42 +0300</bug_when>
    <thetext>Сборка статически ничего не меняет. Посыл разработчиков в том, что работать (общаться с другими узлами) будет только код, собранный из последнего коммита.

Поэтому я предлагаю всё же обновлять toxcore. Программы, которые не могут пересобраться, вряд ли будут работать.

В крайнем случая можно обеспечить два набора libtoxcore, со сменой soname.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151767</commentid>
    <comment_count>10</comment_count>
    <who name="Denis Smirnov">mithraen</who>
    <bug_when>2015-06-15 12:14:16 +0300</bug_when>
    <thetext>Обновить могу без проблем, а вот удалять чужие пакеты морально не готов ;)

А по поводу статики -- все же не каждое обновление ломает connectivity, API/ABI ломается, похоже, чаще.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151780</commentid>
    <comment_count>11</comment_count>
    <who name="Mikhail Kolchin">mvk</who>
    <bug_when>2015-06-15 22:39:23 +0300</bug_when>
    <thetext>Обновления API было 23 марта
https://github.com/irungentoo/toxcore/commit/3fab80409879b925979ee1a6bb0492c69bcfb7d0

Вроде удалил purple-plugin-tox на мыло подтверждений пока никаких не приходило.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151793</commentid>
    <comment_count>12</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2015-06-16 17:05:30 +0300</bug_when>
    <thetext>toxcore-0.0.1-alt1.20150616 -&gt; sisyphus:

* Tue Jun 16 2015 Denis Smirnov &lt;mithraen@altlinux&gt; 0.0.1-alt1.20150616
- update from upstream git (ALT #31056)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>