It's probably not well known amongst NetBSD users, but I've been developing
a universal packaging system for *nix platforms for the last several years,
but only supporting x86-64 right now.  At one time, one could build
packages for DragonFly, FreeBSD, Solaris 10, MacOS/Darwin, NetBSD, and
Linux.   MacOS support was dropped because Mach-o was a pain and I lost
access to a good build machine.  Solaris 10 support is stale, but I plan to
bootstrap OmniOS soon in order to provide packages for Illumos systems
(hopefully OmniOS, OpenIndiana and SmartOS).

Since Ravenports natively supports subpackages, package counts between
repositories can not be directly compared.  For example, FreeBSD ports
created 7 ports (so 7 packages) for one release of postgresql while we have
1 port with 11 subpackages to package the same files.  Similarly, VLC with
its plugins takes over 50 ports/packages on FreeBSD while Ravenports
captures this with a single port of 57 subpackages.

The currency of the ports is impressive.  It's consistently at the very top
of Repology currency list ("By percentage of up to date projects"), ranging
from 95-99% currency typically.

see: https://repology.org/

That is to say, for ports we have in common with pkgsrc, Ravenports
typically features much newer releases.  For those curious, browse the
catalog:

https://www.ravenports.com/catalog/

The (basically static) web site is here:

https://www.ravenports.com/

Quick start instructions are in a couple of places:

Instructions for quick downloader:
https://www.ravenports.com/repository/___README___.txt

More in-depth instructions (may need improvements):
https://github.com/Ravenports/Ravenports/wiki/quickstart-netbsd

Work-in-progress wiki:
https://github.com/Ravenports/Ravenports/wiki

Recently somebody requested we open discussions at Github and that's been
working really well.  I just created a section specifically for NetBSD
users there:

https://github.com/orgs/Ravenports/discussions/categories/netbsd

I don't really want to get into a compare-and-contrast discussion with
pkgsrc, but I guess a few bullets are needed.

- Intended primarily as binary package management.

Yes, one can build every single package themselves if they want to.
There's nothing stopping you.  There's just no real benefit to doing it
assuming the master package repository is frequently up to date.
Ravenports specifications *do* support options like you see in pkgsrc and
FreeBSD ports, but it is not that common.  The reason why is because not
only does Ravenports support subpackages natively, it also supports
"variants" natively.   In FreeBSD-speak, those are "flavors".  So one port
can produce multiple package sets.  So if there's a distinct need for
different option settings, we simply create multiple variants so people can
select the package with the build options they need.  So the main reason
users of other package system to "build your own"  almost doesn't exist in
Ravenports.

- New package manager called "rvn"

This package manager is written in Ada.  In function, it heavily resembles
the FreeBSD "pkg" package manager.  Differences have emerged, but if one is
familiar with "pkg" they will be right at home with "rvn".

- Extremely fast

I have not used pkgsrc in many years, so I can't speak to that.  But
building an index on the entire FreeBSD ports tree takes anywhere from 8 to
30 minutes on a modest machine.  To build the index on Ravenports on the
same machine takes 1 to 2 seconds.  Similar performance is seen with
purging obsolete distribution files and logs.

- Ravenadm builds multiple packages in parallel naturally.

If anyone is familiar with the FreeBSD Synth tool (which I wrote many years
ago), they will find the same interface with ravenadm.  It's both
ncurses-based and web-based, tracking many builders (up to 128) that tracks
multiple simultaneous builds with almost no set up.  For beefy machines you
might configure it for 9 builders each with 10 parallel jobs.

NetBSD support of Ravenports is in great shape.  I think the only port
that's not building right now is lldb.   I also need to push thunderbird
138.0 to the repo tonight that had a linking issue this morning.

We've got no NetBSD contributors.  The main problem with this is I am sure
we are missing paxctl support in several packages.  We'd be thrilled if a
NetBSD afficionado or two would help make NetBSD support better --
something along the line of frequent builds to identify recent breakage and
providing NetBSD-specific tweaks so as paxctl and probably some patching (I
admit to raiding pkgsrc patches for NetBSD build fixes fairly often).

anyway ---

if you use NetBSD/AMD64 (release 10.0 or greater) and you are interested in
exploring a new package option, check Ravenports out.  I'd say use the
Github Discussion area for specific questions and assistance.  I'd love to
get feedback.  We've been maintaining NetBSD packages for at least 2 years,
but I didn't want to announce anything until rvn hit the 1.0.0 milestone.

Regards,
John Marino

Reply via email to