Тема: ports i pkgsrc
вітаю, представляю свій проект де збираю власні ports FreeBSD, pkgsrc який є кроссплатформенний, наприклад, він тестувався в мене на WSL,Kali linux, NetBSD, FreeBSD, msys2 ( до появи wsl )
repo reslab codeberg.org
pkgsrc — це потужна та гнучка система керування пакунками, яка вирізняється портативністю, широкою підтримкою платформ і стабільністю. Вона особливо корисна для розробників та адміністраторів, які працюють з різними Unix-подібними системами.
- Працює на 23+ різних операційних системах, включно з NetBSD, SmartOS, Minix, Linux та macOS
- Дозволяє використовувати єдину систему пакунків в різних середовищах.
- Дозволяє оптимізувати пакети під конкретні потреби системи.
- Єдина інфраструктура для створення, оновлення та підтримки пакунків.
- Зручні інструменти для адміністраторів: автоматичне оновлення, перевірка залежностей, контроль версій.
- Дозволяє збирати пакунок з параметрами для збірки, тобто задавати компілятору власні параметри CFLAGS, LDFLAGS, CPPFLAGS, які pkgsrc підхоплює автоматично. В Arch Linux система PKGBUILD такої підтримки немає, лиш редагувати в ручну.
- Ви можете збирати пакунки на рівні користувача, але тоді не можна користуватись тими пакунками яким потрібен рівень драйверів для роботи, наприклад avrdude
І як є, чим великий проект, тим довше компілювати проект, корисні посилання на документацію:
pkgsrc офіційний сайт з документацією
web pkgsrc переглядач
мета проекту, знайти людей кому цікаво створювати пакетну систему і збирати на різних ОС пакунки, щоб добавляти разом в загальну систему pkgsrc.
наприклад, в САРА який використовується для аналізу шкідливих програм, я зіткнувся з тим що в pythony версія пакету не сумісна, я перекинув її на сумісну версію і заробило. всім відомо що коли ви стаивте через рір ру-QT5, на одній системі вони працюють, а на іншій ні, саме збірка через pkgsrc допомоглаб вам, ви слідкуєте за залежностями і можете підлаштувати пакет щоб він працював.
Ще приклад, збирав я midori web переглядач, так він не запускався в системі, так мені запропонували зібрати з таким параметром
make NO_WEBKIT=y install clean, після чого все запрацювало. Прикладів можу навести і більше по керуванню пакунками в середовищі unix-подібних ОС.
Також потрібно перекласти документацію на українську мову, та прикладами, бо сам оригінал дуже "академічний".
Серед альтернатив і кроссплатформеності розглядається ще ravenports