Snapchat / KeyDB

A Multithreaded Fork of Redis
https://keydb.dev
BSD 3-Clause "New" or "Revised" License
11.34k stars 572 forks source link

[NEW] Build against system libs #493

Open jonathanspw opened 2 years ago

jonathanspw commented 2 years ago

The problem/use-case that the feature addresses

I'm a Fedora/EPEL packager and I'd like to build official KeyDB packages for Fedora/EPEL repos. For this we need to be able to build against system libraries and not the "deps" folder.

Description of the feature

Please add make flags to building against system libraries.

Alternatives you've considered

N/A

Additional information

chrthi-work commented 1 year ago

Embedded developer here; I have a related problem trying to build KeyDB with the Yocto project. There is already a recipe for that, but it puts KeyDB with all dependencies in the same package and thus hides their different licenses. This is a compliance issue for us. Unfortunately it doesn't even stop at the 'deps' folder; there's also the "SDSLib 2.0" string library in src/ that is also required by hiredis (separate copy). I haven't yet checked if that is all yet.

As a fix I'd suggest to

But when reworking the build process like that, maybe it's better to switch from the hand-crafted Makefile to something like meson, cmake or autotools. These at least follow certain conventions and make cross-compilation a lot easier.

guillemj commented 6 months ago

For (Debian) packages we use for work I started unvendoring these. And was planning on doing the rest to be able to provide a patch for official Debian packages (https://bugs.debian.org/1067413), I'll try to send a couple of MR either today or next week.