OBS аварийно завершает работу, когда я пытаюсь выполнить захват окна

Реализовать этот тип функции довольно сложно, как со стороны «звонка домой» (чтобы узнать, было ли обновление), так и со стороны «обновления на месте»:

  • программное обеспечение, работающее на система пользователя должна знать, как проверить, доступна ли более новая версия (что означает добавление сетевого кода в ваше приложение, которое вполне может не иметь других причин для использования сети);
  • программное обеспечение должно работать независимо от сетевых условиях, в которых он находится (очевидно, когда он полностью отключен; но он также не должен давать сбоев со странными ошибками, когда обнаруживает, что частично подключен);
  • вам нужно каким-то образом решить, доступна ли более новая версия (как сравниваете ли вы версии, когда пользователи собирают исходный репозиторий?);
  • вам нужен сервер где-то на стороне сервера, который вам также может понадобиться разработать;
  • вам нужно убедиться, что обновления могут » не могут быть скомпрометированы либо на сервере, либо через атаку "злоумышленник посередине". k (так что вам нужно использовать TLS и / или какое-то сильное подписание);
  • вам необходимо сделать обновления доступными в форме, доступной вашим пользователям; они могут изначально собираться из исходного кода, но нет гарантии, что в системе, в которой они запускают программное обеспечение, есть все необходимое для восстановления новой версии из исходного кода, поэтому вам необходимо предоставить двоичные файлы (для всех возможных целевых платформ?).

(Это не исчерпывающий список.)

Это все проблемы, которые решались дистрибутивами, поэтому проще позволить дистрибутивам позаботиться обо всем.Кроме того, как объяснил Кусалананда , пользователи, которые заботятся о запуске последней версии программного обеспечения, вероятно, достаточно заботятся об этом, чтобы подписаться хотя бы на список рассылки объявлений, так что они будут уведомлены об этом.

Еще один аспект, который следует учитывать, заключается в том, что значительному количеству людей никаким образом не нужно программное обеспечение, которое они используют для звонков домой. Некоторые дистрибутивы идут на некоторые меры, чтобы удалить код , который делает это, из программного обеспечения, которое они распространяют, или даже из других частей программного обеспечения, которые можно использовать для отслеживания его использования ( например, документация, которая загружает изображения, шрифты или CSS из Интернета). См., Например, все теги «нарушение конфиденциальности» в Debian Lintian .

Все это объясняет, почему так мало программ, которые содержат необходимые механизмы для предоставления самой информации об обновлении, и еще меньше программ, которые могут обновляться сами.

Есть и другие способы решения «проблемы»: разработчики программного обеспечения, которые используют систему CI, обычно могут расширить ее, чтобы предоставить «ночные» сборки в какой-то расходной форме (в виде пакетов); заинтересованные пользователи могут настроить свои собственные системы сборки, чтобы регулярно получать обновленные исходные коды для программного обеспечения, которое им небезразлично (это довольно часто встречается в корпоративных контекстах); или вы можете настроить пакеты в стиле AUR, которые собираются из самого последнего источника.

1
20.02.2016, 22:45
0 ответов

Теги

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