31

Re: mytetra download (сборки от энтузиастов)

scoute пишет:

Всем привет, добрался до утилиты FPM, которая может упаковывать бинарники в deb-пакеты.

В результате удалось смастерить и бегло протестить такие версии mytetra:

1.44.31 (https://drive.google.com/file/d/14kB7k2 … sp=sharing)
1.44.160 (https://drive.google.com/file/d/1ci61WR … sp=sharing)

Нюанс заключается в том, что если поставить 31, потом 160, а потом снова 31, то приложение не запустится.
То есть апгрейд проходит более-менее легко, а вот при даунгрейде новые конфиги уже не читаются корректно.

во-первых, доступа по ссылке нет, а Во-вторых, не понял, а что это за версии? у меня вроде давно версия 160 стоит

32 (изменено: scoute, 04.10.2021 20:45:44)

Re: mytetra download (сборки от энтузиастов)

Это не новые версии,
а упакованые для линуксов  Debian/Ubuntu/Mint   старые, просто в специальном для них формате.

Доступ точно есть, я из инкогнито качал нормально.

33

Re: mytetra download (сборки от энтузиастов)

scoute пишет:

Это не новые версии,
а упакованые для линуксов  Debian/Ubuntu/Mint   старые, просто в специальном для них формате.

Доступ точно есть, я из инкогнито качал нормально.

Понял, я на винде)) спасибо)

34

Re: mytetra download (сборки от энтузиастов)

Добавил RPM сборки, успешно протестировано на Fedora 34 / Centos 7.

35 (изменено: scoute, 08.10.2021 11:51:04)

Re: mytetra download (сборки от энтузиастов)

Собирать RPM/DEB оказалось достаточно просто. Делюсь как делал.

Устанавливаем себе Ruby-фреймворк fpm (из-под root)
1) apt install ruby-full
2) gem install fpm

После этого создаём каталог, допустим mytetra_1_44_31
В нём создаём структуру папок, по стандартам линуксов:
usr/local/bin  - сюда ложим стартовый бинарник, или его обвязочный скрипт, я положил mytetra.run, содержание изменил на следующее

#!/bin/sh
PROGDIR=/usr/local/lib/mytetra
LD_LIBRARY_PATH=$PROGDIR/lib:${LD_LIBRARY_PATH}
export QT_QPA_PLATFORM_PLUGIN_PATH=$PROGDIR/platforms
export LD_LIBRARY_PATH
$PROGDIR/mytetra

далее
usr/local/lib/mytetra  - сюда ложим всё остальное
usr/share/applications - тут создаём файл-ярлык запуска mytetra.desktop с примерно таким текстом

[Desktop Entry]
Encoding=UTF-8
Version=1.44.31
Name=MyTetra
Name[ru]=MyTetra
Type=Application
Exec=/usr/local/bin/mytetra.run %F
Terminal=false
Icon=/usr/share/mytetra/icons/mytetra_128x128.png
Categories=Office;Utility;
GenericName=Mytetra
Comment=Smart manager for information collecting.
Comment[ru]=Программа накопления осмысленной информации.

далее
usr/share/mytetra/icons  - сюда помещаем иконку  mytetra_128x128.png

Структура папок и файлов готова. Теперь сборка.
Возвращаемся в каталог  mytetra_1_44_31, и выполняем команду

для DEB
fpm -s dir -t deb -n mytetra -v 1.44.31 ./

для RPM
fpm -s dir -t rpm -n mytetra -v 1.44.31 ./

и внутри папки появляется наш пакет. Всё!
В результате приложение становится в систему как "родное" ))

Хотя Ruby-фреймворк fpm не такой крутой инструмент как dpkg-build, но для простых пакетов без других зависимостей его хватает с головой.

36

Re: mytetra download (сборки от энтузиастов)

Переименовал название темы, добавил exe/rpm/deb  для лучшей релевантности поиска в гугле.

37 (изменено: scoute, 13.10.2021 21:55:26)

Re: mytetra download (сборки от энтузиастов)

Добавил долгожданные инсталляторы для версий 1.44.31 и 1.44.160. smile

Паковал с помощью InnoSetup 6.2, я не эксперт и делаю в первый раз, но сама прога очень понятная.

Надеюсь, теперь даже самым ленивым зайдёт ))


UPD
Возможно случилось так, что я завернул 32-битные бинарники MyTetra в 64-битный инсталлятор )) big_smile  потому что winxp пишет "программа не является приложением win32".
ну надо же )) на днях переделаю. Хотя те у кого 64-битная винда, даже не увидят разницы.

А вот для winxp делал через старый InnoSetup, там всё ок.


UPD2
Нет, всё оказалось проще,
формат инсталлятора 32-бит у InnoSetup_6.2 просто не поддерживается WinXP,
с самой разрядностью всё в порядке.

38

Re: mytetra download (сборки от энтузиастов)

Переделал шапку, теперь она стала проще и короче.

Заодно убрал промежуточные сборки, оставил только 1.44.31(35) и 1.44.160.

Думаю ещё 32-битную сборку для Линуксов сделать .. но надо ли?

39 (изменено: scoute, 18.10.2021 10:03:22)

Re: mytetra download (сборки от энтузиастов)

Добавил 32-битные версии,
а также универсальный "портабл" вариант, то есть Windows+Linux версии в одном архиве.

Зачем нужен такой архив, если можно просто взять 2 отдельных?
Ответ прост - тут одна общая папка data, а не у каждого своя. Удобно. Реально portable.



Универсальный архив правда получился с навалом файлов в одной папке .. поправлю позже.

40 (изменено: scoute, 19.10.2021 17:26:07)

Re: mytetra download (сборки от энтузиастов)

В универсальном архиве сделал удобные файлы запуска:

mytetra_start_linux_v1.run
mytetra_start_linux_v2.run
mytetra_start_win.bat

остальное вынес во вложенную папку.

Архив перезалит, ссылка та же.

UPD
в windows версию добавил библиотеки шифрования старого и нового типа,
потому что разные ОС используют разные варианты.


UPD2
В планах:
* собрать mytetra_start_linux_v1.run  статически

41 (изменено: scoute, 11.12.2021 21:22:02)

Re: mytetra download (сборки от энтузиастов)

Добавлен deb-пакет,
использующий системные библиотеки Qt для ubuntu 20.04 / Mint 20.x

Вес получился около 3 Мб.

42 (изменено: scoute, 15.12.2021 00:32:50)

Re: mytetra download (сборки от энтузиастов)

Появилась версия для MacOSX. Проверено на Catalina, BigSur и Monterey.

Собрано из ветки "мастер", так как из экспериментальной ветки код на Маке не компилируется.
Соответственно и версия ниже - 1.43.27.

Упаковано в инсталятор, добавлены библиотеки и фирменная иконка.

43 (изменено: scoute, 27.12.2021 17:51:17)

Re: mytetra download (сборки от энтузиастов)

Удалось собрать версию 1.44.165 под МАС.

Правда, из-за особенностей SDK пришлось закомментировать блок кода в файле mimetex.c , и не могу сказать, как это отразится на работоспособности программы. Пока что только в ознакомительных целях.

/*const char *strcasestr(const char *s1, const char *s2)
{
 // if either pointer is null
 if (s1 == 0 || s2 == 0)
  return 0;
 // the length of the needle
 size_t n = strlen(s2);
 // iterate through the string
 while(*s1)
 // if the compare which is case insensitive is a match, return the pointer
 if(!mystrncmpi(s1++,s2,n))
  return (s1-1);
 // no match was found
 return 0;
}*/

Тут только автор xintrea сможет прояснить ситуацию, насколько критичен этот код.
Так, на беглый взгляд, ничего вроде не сломалось.

UPD.
Автор ответил, что "Критично только для создания и редактирования формул. На просмотр формул не влияет."
Жить можно ..

44

Re: mytetra download (сборки от энтузиастов)

scoute пишет:

Если обнаружите баги, пишите сюда или в телеграм-чат
Последние версии:
mytetra_1.44.165_linux_amd64.tar.gz - универсальный архив для Linux x64

Сборка mytetra_1.44.165_linux_amd64.tar.gz неработоспособна, после прохождения экрана выбора типа установки, вываливается со следующей ошибкой:

./mytetra: symbol lookup error: ./mytetra: undefined symbol: _ZdlPvm, version Qt_5

То ли сам бинарник собран неправильно, то ли библиотеки к нему приложены не те, с которыми он собирался.

45 (изменено: scoute, 16.04.2022 14:41:47)

Re: mytetra download (сборки от энтузиастов)

Благодарю, отпишусь как проверю.
А вы могли бы описать все шаги, как запускаете и на чём?

UPD.
Я только что проверил на 3х LIVE разных дистрибутивах, всё работает нормально.

Мне кажется то ли вы запускаете через mytetra вместо mytetra.run,
то ли происходит какой-то хитрый конфликт вложенных и системных библиотек.

Вот если запускаю mytetra без .run, то повторяется в точности ошибка.

./mytetra: symbol lookup error: ./mytetra: undefined symbol: _ZdlPvm, version Qt_5


Кстати, а с mytetra_1.44.165_universal.7z  у вас такая же история?