Какой самый сложный -бесплатный способ опубликовать кросс--дистрибутив приложений?

Для POSIX $'...', известный как экранирование ANSI -C, не определен.

Вместо этого вы можете использовать$(printf '\t'):

column -t -s "$(printf '\t')"

$(printf '\011')можно использовать, так как011(восьмеричное представление десятичного числа 9 )— код ANSI для символа горизонтальной табуляции:

column -t -s "$(printf '\011')"

Тем не менее, см. ниже комментарий Стефана Шазеласа о том, почему это может быть несовместимо между версиями оболочки.

1
26.12.2020, 21:02
1 ответ

Если вы хотите напрямую распространять среди своих пользователей, обычно просто предоставляете исходники в .tar.gzфайле. Пользователь извлекает его и запускает ./configure && make && sudo make install DESTDIR=/usr/localили что-то подобное, что вы задокументировали.

Разница между созданием установщика Windows/MacOS и тем, что я только что сказал, заключается в распространении исходных текстов и двоичных файлов. Вы можете развернуть двоичные файлы, если хотите.


Если вместо этого вы хотите развернуть пакет arch, deb или rpm, рассмотрите возможность использования cpack. Это особенно полезно, если вы уже работаете с cmake. Просто добавьте несколько команд в конец вашего CMakeLists.txt, и cpackбудет использовать команды install, которые вы уже написали, для сборки архива в выбранном вами формате. Существует множество генераторов , поддерживающих упомянутые вами форматы и многое другое.


Следующий вопрос, который вы задали, касается того, как развернуть этот установщик. Для этого нет простого ответа на дистрибутив cross -. Но эквивалент Windows/macos будет использовать магазины Windows/Apple, и я не думаю, что вы пошли по этому пути, поэтому вы уже находитесь в «эквивалентном» состоянии. Похоже, вас больше интересует прямое развертывание, а не отправка через издателя.


Если для вас важно, чтобы ваши пользователи обновлялись, вы можете:

  • есть уведомление о необходимости загрузить последнюю версию (, как это делают многие приложения для Windows ),
  • Автоматическое -обновление с вашего сервера
  • Разверните свой собственный /etc/apt/sources.list.d/myrepo.listс первоначальной прямой -загрузкой *.debи сохраните свой собственный архив (и сделайте то же самое для других дистрибутивов ). Я использую для этого reprepro.

Наконец, я полагаю, что snaps, appimageили flatpakтакже являются альтернативами.

1
18.03.2021, 22:40

Теги

Похожие вопросы