Bug 31056 - Хорошо бы обновить toxcore
Summary: Хорошо бы обновить toxcore
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: libtoxcore0 (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Denis Smirnov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on: 31064 30394
Blocks: 30837 32105
  Show dependency tree
 
Reported: 2015-06-07 23:02 MSK by Vitaly Lipatov
Modified: 2016-05-16 18:43 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2015-06-07 23:02:12 MSK
Для сборки qtox нужна более новая версия исходников:
./src/core/core.h:305:12: error: 'TOX_PASS_KEY' does not name a type
     static TOX_PASS_KEY* encryptionKey; // use the pw's hash as the "pw"
            ^
 $ rpm --changelog libtoxcore0
* Вт дек 16 2014 Denis Smirnov <mithraen@altlinux.ru> 0.0.1-alt1.20141216
- update from upstream git
Comment 1 Denis Smirnov 2015-06-08 16:57:09 MSK
Обновлению 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
Comment 2 Vitaly Lipatov 2015-06-08 17:28:21 MSK
(В ответ на комментарий №1)
> Обновлению toxcore мешает Venom, который не пересобирается, в т.ч. с новым
> toxcore :-(
Да пусть не пересобирается. Он всё равно сейчас сегфолтится. Я думаю, важно иметь новую базовую библиотеку, а с частностями клиентов уж отдельно разбираться.

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

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

Думаю, если Venom мешает обновить toxcore, его надо удалить.
Comment 3 Denis Smirnov 2015-06-09 21:35:53 MSK
Еще мешает обновлению purple-plugin-tox (опять же со старым unmets, с новым не собирается).

См. task #145206
Comment 4 Vitaly Lipatov 2015-06-11 15:42:39 MSK
(В ответ на комментарий №3)
> Еще мешает обновлению purple-plugin-tox (опять же со старым unmets, с новым не
> собирается).
> 
> См. task #145206
Я подозреваю, что тут надо либо разработчиков toxcore научить менять soname, либо удалять клиенты, которые не обновляются своевременно.
Comment 5 Denis Smirnov 2015-06-11 17:36:22 MSK
(В ответ на комментарий №4)

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

Пока апстрим занимается быстрохаками, видимо, проще линковаться статически :(
Если такой подход к разработке будет продолжаться, проект можно будет считать мертвым.
Comment 6 Vitaly Lipatov 2015-06-13 16:09:27 MSK
(В ответ на комментарий №5)
> (В ответ на комментарий №4)
> 
> > Я подозреваю, что тут надо либо разработчиков toxcore научить менять soname,
> > либо удалять клиенты, которые не обновляются своевременно.
> 
> Пока апстрим занимается быстрохаками, видимо, проще линковаться статически :(
> Если такой подход к разработке будет продолжаться, проект можно будет считать
> мертвым.
Обсуждают возможность выпуска релизов:
https://github.com/irungentoo/toxcore/issues/1353
с отличным советом:
If you could, please don't package Tox yet. It's simply not yet ready. Even when it'll have versions.

Ну давайте линковаться статически. Он предлагают всегда собирать последний коммит. Давайте придумаем, как мы будем собирать каждый день пакет из последнего коммита.
Comment 7 Denis Smirnov 2015-06-13 17:01:00 MSK
Сам процесс сборки сейчас полуавтоматизирован -- один простой скрипт вытаскивает из git, обновляет changelog, и т.д.

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

Прямо сейчас скрипт + 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?
Comment 8 Denis Smirnov 2015-06-14 17:16:19 MSK
Прошу посмотреть в task 145432, я там оторвал упаковку shared objects, но зависимости на них в toxcore-devel генерируются.

Что я делаю не так?
Comment 9 Vitaly Lipatov 2015-06-15 00:21:42 MSK
Сборка статически ничего не меняет. Посыл разработчиков в том, что работать (общаться с другими узлами) будет только код, собранный из последнего коммита.

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

В крайнем случая можно обеспечить два набора libtoxcore, со сменой soname.
Comment 10 Denis Smirnov 2015-06-15 12:14:16 MSK
Обновить могу без проблем, а вот удалять чужие пакеты морально не готов ;)

А по поводу статики -- все же не каждое обновление ломает connectivity, API/ABI ломается, похоже, чаще.
Comment 11 Mikhail Kolchin 2015-06-15 22:39:23 MSK
Обновления API было 23 марта
https://github.com/irungentoo/toxcore/commit/3fab80409879b925979ee1a6bb0492c69bcfb7d0

Вроде удалил purple-plugin-tox на мыло подтверждений пока никаких не приходило.
Comment 12 Repository Robot 2015-06-16 17:05:30 MSK
toxcore-0.0.1-alt1.20150616 -> sisyphus:

* Tue Jun 16 2015 Denis Smirnov <mithraen@altlinux> 0.0.1-alt1.20150616
- update from upstream git (ALT #31056)