angie icon indicating copy to clipboard operation
angie copied to clipboard

Angie in FreeBSD official repos

Open asyslinux opened this issue 1 year ago • 7 comments

Здравствуйте. В FreeBSD в официальных репозиториях до сих пор старенькая версия Angie 1.3.2

[root@srv /home/andrew]# pkg search angie | head -n 1
angie-1.3.2                    Efficient, powerful and scalable reverse proxy and web server

В Ваших репозиториях я вижу новенькая версия. Может раз уже Angie размещен в официальных репозиториях FreeBSD, там тоже обновите? Спасибо.

asyslinux avatar Jul 14 '24 07:07 asyslinux

Дополнительно поправьте на сайте инструкцию установки пакетов в FreeBSD:

https://angie.software/en/installation/oss_packages/#install-freebsd-oss

В пункте 3 надо заменить:

 sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
            https://angie.software/keys/angie-signing.gpg

На:

sudo curl -o /usr/local/etc/pkg/angie/angie-signing.rsa \
            https://angie.software/keys/angie-signing.rsa

Спасибо.

asyslinux avatar Jul 14 '24 07:07 asyslinux

В Ваших репозиториях я вижу новенькая версия. Может раз уже Angie размещен в официальных репозиториях FreeBSD, там тоже обновите? Спасибо.

У нас нет прямого доступа к официальным репозиториям FreeBSD. Предложенный патч с обновлением до 1.4.1 пролежал с марта месяца без движения, никто его не подобрал: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277516 И, к сожалению, такая ситуация там повторяется регулярно.

VBart avatar Jul 14 '24 08:07 VBart

Здравствуйте. В FreeBSD в официальных репозиториях до сих пор старенькая версия Angie 1.3.2

[root@srv /home/andrew]# pkg search angie | head -n 1
angie-1.3.2                    Efficient, powerful and scalable reverse proxy and web server

В Ваших репозиториях я вижу новенькая версия. Может раз уже Angie размещен в официальных репозиториях FreeBSD, там тоже обновите? Спасибо.

С обновлениями в портах FreeBSD у нас имеются некоторые сложности - как со своевременной реакцией коммитеров, так и с теми подходами, которые приняты к использованию в самой системе сборки.

С первой частью, выше вам показали наглядный пример.

А что касается второй - мы в ряде своих пакетов используем bundling для гарантированного поведения (собираем необходимые зависимости внутри пакета или используем статическую линковку). К сожалению, коммитеры портов это не одобряют и нам приходится переделывать патчи на использование тех зависимостей, которые имеются в портах на текущий момент.

Например: https://cgit.freebsd.org/ports/tree/www/angie-module-lua/Makefile Как видно из GH_TUPLE, мы фиксируем версию модуля, которую считаем актуальной для работы с angie. Но при этом, в USES мы вынужденно используем ту версию luajit-openresty, которую предоставляют порты в текущий момент. До кучи, все осложняется еще и тем, что в RUN_DEPENDS мы ссылаемся на lua-resty-core, а его версия жестко прибивается внутри lua-nginx-module автором модуля. Итоговая конструкция получается весьма хрупкой и разваливающейся в момент, когда в портах luajit-openresty и/или lua-resty-core меняется версия.

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

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

lonerr avatar Jul 14 '24 08:07 lonerr

Дополнительно поправьте на сайте инструкцию установки пакетов в FreeBSD:

https://angie.software/en/installation/oss_packages/#install-freebsd-oss

В пункте 3 надо заменить:

 sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
            https://angie.software/keys/angie-signing.gpg

На:

sudo curl -o /usr/local/etc/pkg/angie/angie-signing.rsa \
            https://angie.software/keys/angie-signing.rsa

Спасибо.

Да, это опечатка, обязательно поправим, спасибо.

lonerr avatar Jul 14 '24 09:07 lonerr

Еще вопрос, я поставил angie + модуль brotli и теперь pkg, чтобы я не ставил выдает такое (но так-то всё работает):

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating angie repository catalogue...
angie repository is up to date.
All repositories are up to date.
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
The following 1 package(s) will be affected (of 0 checked):

asyslinux avatar Jul 14 '24 10:07 asyslinux

Еще вопрос, я поставил angie + модуль brotli и теперь pkg, чтобы я не ставил выдает такое (но так-то всё работает):

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating angie repository catalogue...
angie repository is up to date.
All repositories are up to date.
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
pkg: angie-module-brotli: duplicate dependency listing: angie
The following 1 package(s) will be affected (of 0 checked):

Это следствие того, что pkg не очень приспособлен для работы с репозиторием, содержащим нескольких версий одного пакета. В Linux такое в порядке вещей, поэтому и для FreeBSD мы тоже поддерживаем в репозитории несколько версий, а не только последнюю. По нашим наблюдениям, pkg действительно выдает эти предупреждения, но ведет себя корректно.

lonerr avatar Jul 14 '24 11:07 lonerr

Похоже ситуация улучшается. В официальных репозиториях FreeBSD версию обновили до текущей 1.8.1. Cпасибо неравнодушным пользователям.

VBart avatar Jan 30 '25 22:01 VBart