Снежная с севера
На ноябрьские праздники группой единомышленников сгоняли Снежную по маршруту с севера. Хотя, если смотреть карту, то больше похоже на маршрут с Запада :)
На ноябрьские праздники группой единомышленников сгоняли Снежную по маршруту с севера. Хотя, если смотреть карту, то больше похоже на маршрут с Запада :)
Идея сделать, а если быть точнее, то закрыть этот траверс родилась в моей голове как шутка, переросшая в навязчивую идею.
Выбрались в очередной раз на Фалазу с сыном. На этот раз собралась целая компания отцов:
Сходили душевно. Пацаны залетели на вершину на одном дыхании, уже за ними нужно поспевать. Попали в зимнюю сказку, при этом на вершине вышло, как по заказу солнце и было очень тепло. Немного поиграли даже в снежки :)
Полторы недели назад в группе пролетел анонос, что компания ищет попутчиков на г.Сестру. Маршрут классический, пешка в один день с ночёвкой в приюте в Лазо. В понедельник вписался в эту затею, так как до этого времени ещё не дошёл до этой горы.
Как обычно, на первые выходные октября собрал группу на мой традиционный выход. Правда традиция оказалась больше традицией для меня, но всё же: назвался груздем - полезай в кузов, или: назвал традицией - чти :)
Потребовалось сделать в приложении анонсирование и поиск себе подобных. Причём без завязки на системный Avahi.
Выбор пал на три реализации mDNS/DNS-SD:
Первый отбросил из рассмотрения, так как показался слишком переусложнённым. Потом пошёл смотреть на libmicrodns - получилось собрать прототип очень быстро - мало кода. Но… жирный крест поставило то, что они до сих пор не исправили косяк, что нужно JOIN TO GROUP делать. Без этого анонсирование работает нормально, а вот запросы/поиск будет только на неком дефолтном, первом интерфейсе.
Пошёл на mdns. Для интеграции нужно больше кода, но почти весь можно как есть взять из примера mdns.c, библиотека без внутренних аллокаций. И очень неплохо дружится с внешними event-loop’ами, будь то libev или asio.
В общем, мой выбор - mdns.
А под катом - небольшая табличка сравнительная. Жирным - критерий преобладающий над соперником. Если ничто не выделено - нет приоритета.
Короткая заметка и ссылки. Возможно потом дополню информацией о разрешении (resolution) временных меток.
Это логическое продолжение этого с учётом нововвидений по добавлению файлов.
Весь “код” разместил на GitHub: qtc-other-files-helper. Там же есть и детальное описание.
Тезисно:
CMAKE_TOOLCHAIN_FILE
, вместо него - CMAKE_PROJECT_INCLUDE
.Из косяков:
target_sources()
в CMakeLists.txt верхнего уровня. Приходится вручную вырезать и вставлять в qtc-other-files.cmakeНу и в старом способе была проблема, что эти файлы попадали в кодовую модель и мешали парсеру. Детально не разбирался в новых реалиях.
На выходных, 22-23 июня 2023, отлично прогулялись с сыном по двум водопадам у подножия хр.Большой Воробей: Березняк и Маруськины слёзы.
Как обычно в мемориз.
Раньше был тул abs
, потом вся структура мигрировала на Git. Теперь что бы получить пакет нужен тул
Arch Build Source Management Toolили коротко - asp
. Не путать с
ASPLinux… Да был когда-то такой.
Ставится:
sudo pacman -S asp
Получить PKGBUILD:
asp checkout PKGNAME
или:
asp export PKGNAME
Например:
asp checkout kdiff3
Далее работам как обычно с PKGBUILD: makepkg
с полезными опциями. Сам спек правим по необходимости.
На чистом Arch Linux ещё есть пакет
devtools, который содержит тул pkgctl
, который позволяет достичь той же цели: получить PKGBUILD для сборки:
pkgctl repo clone PKGNAME
На производных, типа Manjaro (мой случай) этого тула может не быть. А вот
asp
-
есть.
Полезные ссылки: