pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
influxdb: an open source time series database
Module Name: pkgsrc-wip
Committed By: Bill Welliver <bill%welliver.org@localhost>
Pushed By: hww3
Date: Tue Jan 22 15:43:24 2019 -0500
Changeset: 2d9281822a39c27dd4c6d999144b35ecbc43b5a5
Added Files:
influxdb/DESCR
influxdb/Makefile
influxdb/PLIST
influxdb/distinfo
influxdb/files/influxdb.sh
influxdb/files/mmap_solaris.go
influxdb/files/smf/manifest.xml
Log Message:
influxdb: an open source time series database
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=2d9281822a39c27dd4c6d999144b35ecbc43b5a5
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
influxdb/DESCR | 2 +
influxdb/Makefile | 121 ++++++++++++++++++++++++++++++++++++++++
influxdb/PLIST | 26 +++++++++
influxdb/distinfo | 10 ++++
influxdb/files/influxdb.sh | 23 ++++++++
influxdb/files/mmap_solaris.go | 41 ++++++++++++++
influxdb/files/smf/manifest.xml | 30 ++++++++++
7 files changed, 253 insertions(+)
diffs:
diff --git a/influxdb/DESCR b/influxdb/DESCR
new file mode 100644
index 0000000000..20d0bd9190
--- /dev/null
+++ b/influxdb/DESCR
@@ -0,0 +1,2 @@
+InfluxDB is an open-source time series database optimixed for fast
+storage and retrieval of time series data.
diff --git a/influxdb/Makefile b/influxdb/Makefile
new file mode 100644
index 0000000000..25f2cb06a6
--- /dev/null
+++ b/influxdb/Makefile
@@ -0,0 +1,121 @@
+# $NetBSD$
+
+GITHUB_PROJECT= influxdb
+PKGVERSION_NOREV= 1.6.5
+DISTNAME= influxdb-1.6.5
+GITHUB_TAG= v${PKGVERSION_NOREV}
+CATEGORIES= databases
+MASTER_SITES= ${MASTER_SITE_GITHUB:=influxdata/}
+MAINTAINER= william%welliver.org@localhost
+HOMEPAGE= https://www.influxdata.com/
+COMMENT= Time-series Database
+LICENSE= mit
+
+# despite being the default value, this explicit declaration is required for things
+# to build properly.
+EXTRACT_SUFX= .tar.gz
+
+IFDB_DISTNAME= ${DISTNAME}${EXTRACT_SUFX}
+IFDB_DEPENDENCIES= influxdb-dependencies-${PKGVERSION_NOREV}.tar.gz
+DISTFILES= ${IFDB_DISTNAME}
+.if !defined(BOOTSTRAP)
+DISTFILES+= ${IFDB_DEPENDENCIES}
+SITES.influxdb-dependencies-${PKGVERSION_NOREV}.tar.gz= https://bitbucket.org/hww3/influxdb/downloads/
+.endif
+
+#EXTRACT_ONLY= ${IFDB_DISTNAME}
+EXTRACT_DIR.${IFDB_DISTNAME}= ${WRKDIR}/src/github.com/influxdata
+EXTRACT_DIR.${IFDB_DEPENDENCIES}= ${WRKDIR}/src/github.com/influxdata
+WRKSRC= ${WRKDIR}/src/github.com/influxdata/influxdb
+USE_TOOLS+= gmake curl
+
+BUILD_DEPENDS+= go19-1.9.*:../../lang/go19
+BUILD_DEPENDS+= asciidoc-[0-9]*:../../textproc/asciidoc
+BUILD_DEPENDS+= xmlto-[0-9]*:../../textproc/xmlto
+
+# go language executables don't have SSP support
+CHECK_SSP_SKIP= bin/*
+
+PKGSRC_MAKE_ENV+= GOPATH=${WRKDIR}
+
+PKG_SYSCONFSUBDIR= influxdb
+
+DATADIR= ${VARBASE}/lib/influxdb
+LOGDIR= ${VARBASE}/log/influxdb
+
+SUBST_CLASSES+= fix-cfg
+SUBST_STAGE.fix-cfg= pre-configure
+SUBST_MESSAGE.fix-cfg= Disabling phone-home in sample config
+SUBST_FILES.fix-cfg= etc/config.sample.toml
+SUBST_SED.fix-cfg= -e 's/^\# reporting-disabled = false/reporting-disabled = true/'
+
+BUILD_DEFS+= INFLUXDB_USER INFLUXDB_GROUP VARBASE
+FILES_SUBST+= INFLUXDB_USER=${INFLUXDB_USER:Q}
+FILES_SUBST+= INFLUXDB_GROUP=${INFLUXDB_GROUP:Q}
+FILES_SUBST+= DATADIR=${DATADIR:Q}
+FILES_SUBST+= LOGDIR=${LOGDIR:Q}
+
+INFLUXDB_USER?= influxdb
+INFLUXDB_GROUP?= influxdb
+OWN_DIRS_PERMS+= ${DATADIR} ${INFLUXDB_USER} ${INFLUXDB_GROUP} 0700
+OWN_DIRS_PERMS+= ${LOGDIR} ${INFLUXDB_USER} ${INFLUXDB_GROUP} 0700
+PKG_USERS_VARS+= INFLUXDB_USER
+PKG_GROUPS_VARS+= INFLUXDB_GROUP
+PKG_GROUPS= ${INFLUXDB_GROUP}
+PKG_USERS= ${INFLUXDB_USER}:${INFLUXDB_GROUP}
+RCD_SCRIPTS= influxdb
+
+INSTALLATION_DIRS+= bin ${PKGMANDIR}/man1 etc/influxdb share/doc/influxdb share/examples/influxdb
+
+DOC_FILES+= LICENSE LICENSE_OF_DEPENDENCIES.md QUERIES.md README.md CHANGELOG.md
+BIN_FILES+= influx influx_inspect influx_stress influx_tsm influxd stress_test_server test_client
+CONF_FILES+= ${PREFIX}/share/examples/${PKGBASE}/config.sample.toml ${PKG_SYSCONFDIR}/config.toml
+
+GO_BIN= ${PREFIX}/go19/bin/go
+
+post-extract:
+ ${MV} ${WRKDIR}/src/github.com/influxdata/${DISTNAME} \
+ ${WRKDIR}/src/github.com/influxdata/influxdb
+# ${CP} files/mmap_solaris.go ${WRKSRC}/pkg/mmap
+
+# TODO: figure out how to properly depend on the extract target
+# fetch the additional dependencies that telegraf requires to compile and prepare a tarball containing them for use later.
+.PHONY: _fetch_dependencies
+_fetch_dependencies: extract
+ cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${GO_BIN} get github.com/sparrc/gdm
+ cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${GO_BIN} install github.com/sparrc/gdm
+ cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${WRKDIR}/bin/gdm restore
+ cd ${WRKDIR} && ${SETENV} ${PKGSRC_MAKE_ENV} rm -rf src/github.com/influxdata/influxdb
+ cd ${WRKDIR} && ${SETENV} ${PKGSRC_MAKE_ENV} find . -type d -name \.git -exec rm -rf {} \;
+ cd ${WRKDIR} && ${SETENV} ${PKGSRC_MAKE_ENV} tar czvf ${IFDB_DEPENDENCIES} src
+ cd ${WRKDIR} && ${SETENV} ${PKGSRC_MAKE_ENV} mv ${IFDB_DEPENDENCIES} ${WRKDIR}
+
+# upload the dependency tarball somewhere that others can access.
+# this should probably be someplace more "official".
+.PHONY: _upload_dependencies
+_upload_dependencies: _fetch_dependencies
+ curl -u $$BITBUCKET_USERNAME:$$BITBUCKET_PASSWORD -s -X POST https://api.bitbucket.org/2.0/repositories/$$BITBUCKET_USERNAME/influxdb/downloads -F files=@${WRKDIR}/${IFDB_DEPENDENCIES}
+
+do-build:
+ cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${GO_BIN} get -ldflags "-X main.version=${PKGVERSION_NOREV} -X main.commit=${GITHUB_TAG} -X main.buildstamp=pkgsrc" ./...
+ cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${GO_BIN} install ./...
+
+do-install:
+ cd ${WRKSRC}/man && ${SETENV} ${PKGSRC_MAKE_ENV} ${MAKE_PROGRAM}
+.for idir in ${INSTALLATION_DIRS}
+ ${MKDIR} ${DESTDIR}${PREFIX}/${idir}
+.endfor
+ for manpage in ${WRKSRC}/man/*.1 ; do \
+ ${INSTALL_MAN} $$manpage ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 ; \
+ done
+.for x in ${BIN_FILES}
+ ${INSTALL} ${WRKDIR}/bin/${x} \
+ ${DESTDIR}${PREFIX}/bin/${x}
+.endfor
+.for x in ${DOC_FILES}
+ ${INSTALL_DATA} ${WRKSRC}/${x} \
+ ${DESTDIR}${PREFIX}/share/doc/influxdb/${x}
+.endfor
+ ${INSTALL_DATA} ${WRKSRC}/etc/config.sample.toml ${DESTDIR}${PREFIX}/share/examples/${PKGBASE}
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/influxdb/PLIST b/influxdb/PLIST
new file mode 100644
index 0000000000..99cb3f456e
--- /dev/null
+++ b/influxdb/PLIST
@@ -0,0 +1,26 @@
+@comment $NetBSD$
+bin/influx
+bin/influx_inspect
+bin/influx_stress
+bin/influx_tsm
+bin/influxd
+bin/stress_test_server
+bin/test_client
+man/man1/influx.1
+man/man1/influx_inspect.1
+man/man1/influx_stress.1
+man/man1/influx_tsm.1
+man/man1/influxd-backup.1
+man/man1/influxd-config.1
+man/man1/influxd-restore.1
+man/man1/influxd-run.1
+man/man1/influxd-version.1
+man/man1/influxd.1
+share/doc/influxdb/CHANGELOG.md
+share/doc/influxdb/LICENSE
+share/doc/influxdb/LICENSE_OF_DEPENDENCIES.md
+share/doc/influxdb/QUERIES.md
+share/doc/influxdb/README.md
+share/examples/influxdb/config.sample.toml
+@pkgdir man1
+@pkgdir etc/influxdb
diff --git a/influxdb/distinfo b/influxdb/distinfo
new file mode 100644
index 0000000000..2dc4715d48
--- /dev/null
+++ b/influxdb/distinfo
@@ -0,0 +1,10 @@
+$NetBSD$
+
+SHA1 (influxdb-1.6.5.tar.gz) = 45250a33285ad4e1e03bf8ad5066c6ac5202b710
+RMD160 (influxdb-1.6.5.tar.gz) = 5762e1ad031f6d688e976ef18fcc4972975d716d
+SHA512 (influxdb-1.6.5.tar.gz) = 4bf8acfdf423d4ef84a34c63fe9fb7aad66b22c95ed55efb9f4c6602f96ee8ee0d45fc1eb5f793f4eac02b67b7eac4a966cb60e6583da4fbd8f6cdea9665cea1
+Size (influxdb-1.6.5.tar.gz) = 1513474 bytes
+SHA1 (influxdb-dependencies-1.6.5.tar.gz) = 0c8e0d0833e11953b0c89c714219bcad4e5c8c3c
+RMD160 (influxdb-dependencies-1.6.5.tar.gz) = 50b110a7d9f150945d8862006f61e80934566809
+SHA512 (influxdb-dependencies-1.6.5.tar.gz) = 7103a11df1cb0f7844ba9840766700585ecd9e0102fe3073d7df71932b158c7883192f3fbfa57e7e3a35765949ccb9970dab9f09f84f7233dab38a6f59bd6c7d
+Size (influxdb-dependencies-1.6.5.tar.gz) = 18642231 bytes
diff --git a/influxdb/files/influxdb.sh b/influxdb/files/influxdb.sh
new file mode 100644
index 0000000000..6ec689cf89
--- /dev/null
+++ b/influxdb/files/influxdb.sh
@@ -0,0 +1,23 @@
+#!@RCD_SCRIPTS_SHELL@
+
+# PROVIDE: influxdb
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+
+if [ -f /etc/rc.subr ]
+then
+ . /etc/rc.subr
+fi
+
+name="influxdb"
+rcvar=$name
+influxdb_user="@INFLUXDB_USER@"
+influxdb_group="@INFLUXDB_GROUP@"
+influxdb_chdir="@VARBASE@/lib/influxdb"
+pidfile="@VARBASE@/lib/influxdb/data/influxdb.pid"
+STDERR="@LOGDIR@/influxdb.log"
+command="@PREFIX@/bin/influxd"
+command_args="-config @PREFIX@/etc/influxdb/config.toml -pidfile ${pidfile} 1>/dev/null 2>> $STDERR &"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/influxdb/files/mmap_solaris.go b/influxdb/files/mmap_solaris.go
new file mode 100644
index 0000000000..674556b0af
--- /dev/null
+++ b/influxdb/files/mmap_solaris.go
@@ -0,0 +1,41 @@
+// +build solaris
+
+package mmap
+
+import (
+ "os"
+ "syscall"
+
+ "golang.org/x/sys/unix"
+)
+
+func Map(path string) ([]byte, error) {
+ f, err := os.Open(path)
+ if err != nil {
+ return nil, err
+ }
+ defer f.Close()
+
+ fi, err := f.Stat()
+ if err != nil {
+ return nil, err
+ } else if fi.Size() == 0 {
+ return nil, nil
+ }
+
+ data, err := unix.Mmap(int(f.Fd()), 0, int(fi.Size()), syscall.PROT_READ, syscall.MAP_SHARED)
+ if err != nil {
+ return nil, err
+ }
+
+ return data, nil
+}
+
+// Unmap closes the memory-map.
+func Unmap(data []byte) error {
+ if data == nil {
+ return nil
+ }
+ return unix.Munmap(data)
+}
+
diff --git a/influxdb/files/smf/manifest.xml b/influxdb/files/smf/manifest.xml
new file mode 100644
index 0000000000..c7e3cff715
--- /dev/null
+++ b/influxdb/files/smf/manifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type='manifest' name='@SMF_NAME@:default'>
+ <service name='@SMF_PREFIX@/@SMF_NAME@' type='service' version='1'>
+ <create_default_instance enabled='false' />
+ <single_instance />
+ <dependency name='network' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/milestone/network:default' />
+ </dependency>
+ <dependency name='fs-local' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/system/filesystem/local:default' />
+ </dependency>
+ <method_context working_directory="@DATADIR@">
+ <method_credential user='@INFLUXDB_USER@' group='@INFLUXDB_GROUP@' />
+ </method_context>
+ <exec_method type='method' name='start'
+ exec='@PREFIX@/bin/influxd -config @PKG_SYSCONFDIR@/config.toml -pidfile @DATADIR@/influxdb.pid 2>> @LOGDIR@/influxdb.log &'
+ timeout_seconds="60" />
+ <exec_method type='method' name='stop' exec=':kill' timeout_seconds="60" />
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>InfluxDB Time Series database</loctext>
+ </common_name>
+ <documentation>
+ <manpage title='influxd' section='1' manpath='/@PREFIX@/man' />
+ <doc_link name='homepage' uri='https://docs.influxdata.com/influxdb/' />
+ </documentation>
+ </template>
+ </service>
+</service_bundle>
Home |
Main Index |
Thread Index |
Old Index