Для сборки 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
Обновлению 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
(В ответ на комментарий №1) > Обновлению toxcore мешает Venom, который не пересобирается, в т.ч. с новым > toxcore :-( Да пусть не пересобирается. Он всё равно сейчас сегфолтится. Я думаю, важно иметь новую базовую библиотеку, а с частностями клиентов уж отдельно разбираться. На странице https://wiki.tox.im/Venom написано: Note: Venom is deprecated, use other Clients instead. Я собираю сейчас самый перспективный — qtox. Думаю, если Venom мешает обновить toxcore, его надо удалить.
Еще мешает обновлению purple-plugin-tox (опять же со старым unmets, с новым не собирается). См. task #145206
(В ответ на комментарий №3) > Еще мешает обновлению purple-plugin-tox (опять же со старым unmets, с новым не > собирается). > > См. task #145206 Я подозреваю, что тут надо либо разработчиков toxcore научить менять soname, либо удалять клиенты, которые не обновляются своевременно.
(В ответ на комментарий №4) > Я подозреваю, что тут надо либо разработчиков toxcore научить менять soname, > либо удалять клиенты, которые не обновляются своевременно. Пока апстрим занимается быстрохаками, видимо, проще линковаться статически :( Если такой подход к разработке будет продолжаться, проект можно будет считать мертвым.
(В ответ на комментарий №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. Ну давайте линковаться статически. Он предлагают всегда собирать последний коммит. Давайте придумаем, как мы будем собирать каждый день пакет из последнего коммита.
Сам процесс сборки сейчас полуавтоматизирован -- один простой скрипт вытаскивает из 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?
Прошу посмотреть в task 145432, я там оторвал упаковку shared objects, но зависимости на них в toxcore-devel генерируются. Что я делаю не так?
Сборка статически ничего не меняет. Посыл разработчиков в том, что работать (общаться с другими узлами) будет только код, собранный из последнего коммита. Поэтому я предлагаю всё же обновлять toxcore. Программы, которые не могут пересобраться, вряд ли будут работать. В крайнем случая можно обеспечить два набора libtoxcore, со сменой soname.
Обновить могу без проблем, а вот удалять чужие пакеты морально не готов ;) А по поводу статики -- все же не каждое обновление ломает connectivity, API/ABI ломается, похоже, чаще.
Обновления API было 23 марта https://github.com/irungentoo/toxcore/commit/3fab80409879b925979ee1a6bb0492c69bcfb7d0 Вроде удалил purple-plugin-tox на мыло подтверждений пока никаких не приходило.
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)