The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск репозитория пакетов pkgsrc 2021Q1"
Отправлено Аноним, 05-Апр-21 14:33 
Причём понравилось - не понравилось? Фразу "на основе портов FreeBSD" вы неверно интепретируете.

As a founder of pkgsrc ten years ago could you give us a brief summary of the project's history?

    pkgsrc was derived from the FreeBSD Ports system. NetBSD already had a "port" in its naming scheme - that's a specific architecture or platform to which NetBSD is ported - so NetBSD grew a packaging system related to packages. We already had src, gnusrc, xsrc, and so we grew a pkgsrc system, too - so the correct pronunciation is thus "package source".

    I imported the pkg_install routines first, along with the main Makefile, and then I imported some packages piecemeal. We then realized the power that such a system held for us (and, to be fair, FreeBSD had realized this a while before), and the pkgsrc system's depth grew as more and more packages were added.

    In 1999, I was working at an investment bank in London, and needed a packaging system to manage third-party software on a fairly large network of Solaris 2.6 machines - pkgsrc fitted the bill, and so the first non-NetBSD platform was Solaris, followed closely by Linux. In 2001, I was asked to port pkgsrc to Mac OS X, and during that exercise, it became apparent that we needed to get our act together with portability. Up until that time, we'd been using a fairly heavy compatibility layer which made every platform look like NetBSD - Christos Zoulas developed it, and I called it Zoularis. But around this time, it was apparent that we needed a more portable way of doing this, and so I ported pkgsrc and its tools to a POSIX interface. The rest of the 14 platforms of pkgsrc mainly followed from that.

    I'm particularly happy with a number of the technical innovations we made in pkgsrc - by checking for abstraction, rather than implementation of the abstraction, we made pkgsrc a cleaner place to work, and so we were able to port to more platforms easily - scalability just happened. And early on, mainly because I was told it wasn't possible, we implemented a consistent package numbering scheme whereby we could tell if a package was older or newer than another instance of that package. This has allowed us to provide auditing on every pkgsrc system for vulnerable packages.

    There are a number of technical innovations that Johnny C. Lam made in pkgsrc itself, though, that make it stand out above all others. The main one is, I think, Johnny's buildlink mechanism, whereby the correct pre-requisite packages are used when building a package. Before we had this system, if a machine had ncurses installed, for example, ncurses was used in preference to the system curses when building and linking. Or if the system already provided openssl functionality, the packaging system would still build its own openssl libraries, to make sure that the required functionality was available. Johnny's buildlink system made sure that we could use pkgsrc or system functionality, if preferred, along with sane defaults, and version checking. It also made sure that we could link the package with the desired libraries, rather than whatever was installed on the system at the time. This allows us to perform bulk builds to make binary packages available in a sane and easy manner.

    Finally, others recognize the benefits of pkgsrc - Sun donated some build equipment to the pkgsrc project some years ago, and the Dragonfly BSD project have also adopted pkgsrc as their packaging system, and provided some excellent developers to help us with this, most notably Joerg Sonnenberger.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру