Is there any project to support freebsd binaries (with poudriere binary package *.txz)?

I would like to use poudriere to manage freebsd packages too, but from what I’ve seen it doesn’t have support.

I would like to know if there are already people working on it with a solution already ready or in progress. If not, I would like to know if there are people interested in helping me create this module, because I believe it is possible and that it would help a lot.

I imagine at least three ways to do it, but I don’t know how to work with the nexus properly, I downloaded the source, but it’s giving a dependency error, so it doesn’t leave the basics.

Also, I don’t know if what I have in mind meets the standards of what the community wants, my first contact with nexus is extremely recent.

1 Like

Hi Sileno,

You’re right, currently Nexus Repository does not have official support for FreeBSD packages and we don’t have it planned on our roadmap. However, we’ve found that some formats can work well-enough if you just use a Raw repository - please, give it a try!

Have a look at our community organisation on GitHub where we host some community plugins, including those that add support for new formats (they’re called nexus-repository-{format}): Sonatype Community · GitHub

We also have a Community for great like-minded people like yourself! Give it a shot, and hopefully you can find some collaborators to give you a hand or maybe even join you.

Here’s a section in our documentation that hopefully you’ll find helpful: Bundle Development

Good luck!

1 Like

Hi, I would like to add support for freebsd in Nexus, but I need help doing that, I don’t know how to work in Nexus. I would like help trying to implement a “nexus-repository-poudriere-binary”, but I need someone to discuss whether what I have in mind can be implemented (without having to make significant changes to the nexus) and leave this format open.

Basically, I imagine doing it in 3 (three) ways:

  1. Use the raw repository: Create a share via webdav or something and use a freebsd machine to actually create the repository structure, so just throw the “*.txz” in a folder and use “pkg repo” to create the indexes and other files to create a compatible repository with poudriere. (the middle ground)

  2. Use the raw repository: Make a script to synchronize all the contents of the ready-made repository on a freebsd machine (where the packages would go to it) and nexus would serve as a cache and access control. (the worst and fastest)

  3. Rewrite pkg (only the parts needed to manage package in relation to repository creation), porting from Unix to Linux and writing a new module “nexus-repository-poudriere” (the most time consuming)

1 Like