Page MenuHomeFreeBSD

influxdb2 WIP
Needs ReviewPublic

Authored by driesm on Sep 16 2021, 9:06 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 12, 7:44 AM
Unknown Object (File)
Sat, Apr 6, 10:01 AM
Unknown Object (File)
Fri, Mar 22, 5:49 PM
Unknown Object (File)
Feb 12 2024, 10:42 PM
Unknown Object (File)
Jan 19 2024, 11:34 AM
Unknown Object (File)
Jan 13 2024, 12:03 AM
Unknown Object (File)
Dec 31 2023, 11:01 PM
Unknown Object (File)
Dec 2 2023, 9:54 AM

Details

Reviewers
girgen
Summary

This is a WIP.

I still have to do some run time testing, rc script finetuning, etc. And provide instructions how to upgrade from the 1.x branch.

This diff is meant to get some initial feedback on the makefiles / naming of ports and a bit of help because I hit a brick wall.
I can get influxdb2 and influx-flux to build from the cmd line but not in a poudriere jail, the other ports are fine.
However when I go -i, interactive in the poudriere jail and type "make" it just works, very weird.

Test Plan

Poudriere, although doesnt pass yet for databases/influxdb2 and lang/influx-flux

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 41540
Build 38429: arc lint + arc unit

Event Timeline

driesm edited the summary of this revision. (Show Details)
driesm edited the summary of this revision. (Show Details)
driesm edited the summary of this revision. (Show Details)
driesm edited the test plan for this revision. (Show Details)
arrowd added inline comments.
databases/influxdb2-cli/pkg-descr
3

Some value for WWW: maybe?

devel/influx-pkg-config/pkg-descr
2

Typo compilin.

lang/influx-flux/pkg-descr
4

Some value for WWW: maybe?

Add WWW's and do some more finetuning, also add initial pkg-message.

All the seperate github pages have a link to the main site, so I included them as WWW for pkg-descr of the ports.

The lang/influx-flux port doesn't build inside Poudriere jail because it tries to access network to download something. You have to somehow persuade it not to do that, probably by pre-seeding all the required distribution files beforehand.

I suspect its related to the rust bits in the github repo under https://github.com/influxdata/flux/tree/master/libflux, where it tries to acquire the cargo crates.
Tricky, I'll see if its possible to both "uses = go" and "uses = cargo" for a subdir of a wrksrc.

databases/influxdb2/Makefile
3

There is version 2.1.1 out. Tried these patches with it and after updating distinfo it starts building. However, FreeBSD ports has rust 1.57, which fails to compile flux library.

With older rust (I tried 1.53) build completes succesfully.

databases/influxdb2/pkg-plist
4

Makefile seems to use /var/db/influxdb2 instead.

Thanks for testing, I have some spare cycles in the comming period. I have created an upstream issue to help with the best approach.

Looks like the resulting binary built by this port is missing UI parts. There are scripts like fetch-ui-assets.sh & fetch-swagger.sh in GNUMakefile, those should probably be executed.

databases/influxdb2/files/influxd.in
47

It seems that configuration file handling is different in 2.1. A bit odd, but influxd looks up for config files in current working directory or one pointed by $INFLUXD_CONFIG_PATH.

databases/influxdb2-cli/pkg-plist
1

It can be folded into PLIST_FILE in Makefile, but it's not mandatory.

databases/influxdb2/Makefile
3

Does rust 1.58 work? We can work with rust people to fix this.

You can do something like that for lang/influx-flux:

#!/bin/sh
# XXX v0.194.5

rm Makefile.crates
echo "CARGO_CRATES=" > Makefile.crates
make extract

cargo generate-lockfile --verbose --manifest-path work/github.com/influxdata/flux@v0.194.5/libflux/flux-core/Cargo.toml

for f in $(find work/github.com/influxdata/ -type f -name Cargo.lock)
do
        cat ${f} | awk -f /usr/ports/Mk/Scripts/cargo-crates.awk | portedit merge -i Makefile.crates
done

And put these lines in the Makefile:

BUILD_DEPENDS=  influx-pkg-config:devel/influx-pkg-config

USES=           cargo go:modules pkgconfig

CARGO_BUILD=    NO
CARGO_INSTALL=  NO
CARGO_CARGOTOML=${WRKSRC}/libflux/Cargo.toml

databases/influxdb2 builds fine on poudriere (modulo a plist problem)

databases/influxdb2-cli/pkg-descr
4

This should be in the Makefile.

databases/influxdb2/pkg-descr
16

This should be in the Makefile.

devel/influx-pkg-config/pkg-descr
4

This should be in the Makefile

lang/influx-flux/pkg-descr
5

This should be in the Makefile