# Creation of a FreeBSD port for YDB



## reddy (Jun 30, 2022)

Recently, a very exciting database has been open-sourced by Yandex. Apparently they have battle-tested it internally for years before making it open-source recently as part of the launch of their managed database-as-a-service offering (Apache License). Some of the cool features include: distributed SQL database, ability to scale compute and storage independently, support for distributed transactions, ACID, document storage (and a PostgreSQL compatibility layer being in the works):









						YDB — an open-source Distributed SQL Database
					

YDB is an open-source Distributed SQL Database that combines high availability and scalability with strong consistency and ACID transactions.




					ydb.tech
				












						GitHub - ydb-platform/ydb: YDB server (daemon) source code
					

YDB server (daemon) source code. Contribute to ydb-platform/ydb development by creating an account on GitHub.




					github.com
				












						Create FreeBSD port · Issue #57 · ydb-platform/ydb
					

FreeBSD is a widely used server OS, a port for clickhouse exists, it would be great to also have a port for ydb to facilitate adoption.




					github.com
				




I am considering creating a FreeBSD port but this would be my first one so the process is promised to take me quite a while (this + the fact that I am overloaded with work these days). So I am mentioning it here in case someone finds this database interesting and wants to create the port before I am able to. I will come back here to update on my progress when I am able to start working on it.


----------



## zirias@ (Jun 30, 2022)

Only few porters are frequenting these forums, more are active on IRC (#freebsd-ports on libera) and even more on the freebsd-ports@ mailing list 

But hey, great you're taking on a new project, I'd say FreeBSD ports aren't blacok magic and I just hope you have fun doing so. The porter's handbook is a really good starting point. It also helps to have a look in the ports' make framework (in /usr/ports/Mk, specifically bsd.port.mk).

I'd suggest you create a local git branch on your ports and work on that, always rebasing it onto `main` when you update your ports. At least, this works very well for me. If you need help or want something reviewed, feel free to publish your working branch (e.g. on github) and present it here


----------



## kpedersen (Jun 30, 2022)

Just to also add to Zirias's useful advice, one approach I would take after reading through the handbook is to grab a simpler port such as ftp/curl, rename it something suitable for your port and make sure it still builds. Then slowly start evolving it to work for your own port.

The software itself looks cool. I only occasionally deal with databases (mainly MySQL and SQLite) but certainly appreciate ones following ACID principles. I see too many beginners bring NoSQL tech into projects simply because they don't know about existing tried and tested solutions to data robustness.


----------



## sidetone (Jun 30, 2022)

I follow this forum (meaning this section of the forums), so it pops up when a new thread is started.

You can post your Makefile attempt, then someone may improve on that.

They may get something fast on porting in IRC, the part is testing. There's a pastebin for FreeBSD they use too.


----------



## rafael_grether (Jun 30, 2022)

reddy

I'm a porter too (apprentice). Maintainer and also I'm creating a new one about 1 month, and probably it takes more 2 months to finish.
It's a thorough work, and requires your time (a lot) and patience.

Keep in mind that you assumes the comprimisse to maintain this packages up-to-date in ports tree.

The porters handbook is a fundamental and a complete book, and will help you a lot.
FreeBSD community in Libera.Chat (#freebsd-ports) are very helpful.

Check FreeBSD Phabricator too, publish your diff and discuss revisions with other members.


----------

