NetBSD Problem Report #52747
From www@NetBSD.org Tue Nov 21 21:51:48 2017
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 87F117A1A0
for <gnats-bugs@gnats.NetBSD.org>; Tue, 21 Nov 2017 21:51:48 +0000 (UTC)
Message-Id: <20171121215147.5A9797A1F0@mollari.NetBSD.org>
Date: Tue, 21 Nov 2017 21:51:47 +0000 (UTC)
From: william@welliver.org
Reply-To: william@welliver.org
To: gnats-bugs@NetBSD.org
Subject: new package submission for influxdb 1.4.2
X-Send-Pr-Version: www-1.0
>Number: 52747
>Category: pkg
>Synopsis: new package submission for influxdb 1.4.2
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Nov 21 21:55:00 +0000 2017
>Closed-Date: Sun Aug 18 06:49:07 +0000 2019
>Last-Modified: Sun Aug 18 06:49:07 +0000 2019
>Originator: William Welliver
>Release: trunk
>Organization:
N/A
>Environment:
NetBSD netbsd-7-1-2017q3-pkgbuild-1711171149 7.1 NetBSD 7.1 (GENERIC.201703111743Z) amd64
>Description:
Attached is a package for databases/influxdb, version 1.4.2. This package has a good pkglint result and has been tested on NetBSD 7.1 and illumos. It includes rc.conf and SMF support. Influxdb is written in go, and uses a build approach similar to www/grafana.
>How-To-Repeat:
>Fix:
begin 644 databases-influxdb.tar.gz
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
M*1:@[MF.9\XC7*U_Q@O3];GLVGY/!8@S'MJONC&P;&K	%M#RS`8MF&;0,G
MJ&*:E+DG6]9$&O6$%+/C"S0:/"J>%JKP#-7SZ:0[7"/."4+LVFZ(66RY%W76
M[%"PC:"F]35H[>%Y8^3!'1T-@HAO@RQ4H0*S2U`FLV`>_R,GXI^@TL1P9BJY
M.K!O!*8=9,/VZ]F->S]1(5"TDF02MXFV/!@QRS,%V7QWW.K@[C8_OO=59ASY
MW(IZ\BBZI2>92#YE.AI_4_[]6+VMKB"7YLFBX/UES$-J<A4(04]A>2N;X&I2
M-BZN^%ED<^"UW.+JI2YB-C=;;@0%E!,\@XY'^G]!4>3-]U^5W?_*4E,I^_\7
M@+3[AX9>_]`5\=^VN_*TK?P[5--O)<>:S5HMR[0;MBG*EFI*0H.(2LMNR0*Q
M966F-AL"09-A7VP*#T@2+=)TB-J<M51S)MNR*(HMN2DJC@UHI2&!X+<R`+5(
M$:6';&K-R%M!MI6&8LY:LJ0(0JLEVX*MSIHMQQ:;+?"IUJPE2(K:,AT+C&P1
MLR'!1!IRR[0)<+9:JB,YS;>J[<BB2IJJZ2@MT99;,T=HOFU8#1CB2):JMIP9
MR%*;CFJI1%$5TYDAW?V#/#13$=Q84O'L*U11?\Z;U?S\0\#J39Y'QV/G7V1_
M_R'"4DF2TA#9WW])JEJ>_Q>`_!NL&V&H6X(E\>M1L`HMPK[[XFC[JRPP`-J]
MA0:;)F''C&)$RT%:+M!/""&)@?_:]'#@W!/`_3F/P%\:\O-_?@:-U//H>.S[
MKRC+F_O_)/]+].__RO/__-"AS13T]C@O!#:?)PN/V15"$95<%A0Q<;0HO-KL
M^?Z5`D,7KQ5H1T);B70<)^YB,NU[*(GX/02PY3[6KL],ZVJUW$=)Z_@]E+3C
MW4M:^?O0:1>[AP2H/?W&UCW.'GIZ+_0`:<^5T3[NS2W2/FI^L80>O=%!'>A3
M:+]*)Y>_%._`RF!?0@DEE%!""2644$())9100@DEE%!""2644$())9100@DE
0E%!""2\%_P7^)]W8`%```%!"
`
end
>Release-Note:
>Audit-Trail:
From: coypu@sdf.org
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/52747: new package submission for influxdb 1.4.2
Date: Tue, 12 Dec 2017 20:12:23 +0000
--y0ulUmNC+osPPQO6
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Hi,
do-build:
cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${PREFIX}/bin/go get github.com/sparrc/gdm
We don't allow fetching of external things except during fetch
(This has a lot of advantages: we have a distfile mirror, and if
upstream changes their sources because a server was compromised, we will
notice it, as they are checked against a checksum at the time of the
commit)
These will have to be their own packages.
I've amended the Makefile a bit while appeasing 'pkglint -Wall -Call'
which is more noisy. It is attached.
--y0ulUmNC+osPPQO6
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=Makefile
# $NetBSD: Makefile,v 1.3 2017/07/23 07:20:42 wiz Exp $
DISTNAME= influxdb-1.4.2
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_GITHUB:=influxdata/}
MAINTAINER= william@welliver.org
HOMEPAGE= https://www.influxdata.com/
COMMENT= Time-series Database
LICENSE= mit
GITHUB_PROJECT= influxdb
GITHUB_TAG= v${PKGVERSION_NOREV}
# pkglint thinks this is redundant, but if we don't have it, file extraction fails
EXTRACT_SUFX= .tar.gz
IFDB_DISTNAME= ${DISTNAME}${EXTRACT_SUFX}
DISTFILES= ${IFDB_DISTNAME}
EXTRACT_ONLY= ${IFDB_DISTNAME}
EXTRACT_DIR.${IFDB_DISTNAME}= ${WRKDIR}/src/github.com/influxdata
WRKSRC= ${WRKDIR}/src/github.com/influxdata/influxdb
USE_TOOLS+= gmake
BUILD_DEPENDS+= go-1\.[8-9]*:../../lang/go
BUILD_DEPENDS+= asciidoc-[0-9]*:../../textproc/asciidoc
BUILD_DEPENDS+= xmlto-[0-9]*:../../textproc/xmlto
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}
.include "../../mk/bsd.prefs.mk"
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/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/influxdb/config.sample.toml ${PKG_SYSCONFDIR}/config.toml
post-extract:
${MV} ${WRKDIR}/src/github.com/influxdata/${DISTNAME} \
${WRKDIR}/src/github.com/influxdata/influxdb
# ${CP} files/mmap_solaris.go ${WRKSRC}/pkg/mmap
do-build:
cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${PREFIX}/bin/go get github.com/sparrc/gdm
cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${PREFIX}/bin/go install github.com/sparrc/gdm
cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${WRKDIR}/bin/gdm restore
cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${PREFIX}/bin/go get -ldflags "-X main.version=${PKGVERSION_NOREV} -X main.commit=${GITHUB_TAG} -X main.buildstamp=pkgsrc" ./...
cd ${WRKSRC} && ${SETENV} ${PKGSRC_MAKE_ENV} ${PREFIX}/bin/go 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_PROGRAM} ${WRKDIR}/bin/${x} \
${DESTDIR}${PREFIX}/bin/${x}
.endfor
.for x in ${DOC_FILES}
${INSTALL_MAN} ${WRKSRC}/${x} \
${DESTDIR}${PREFIX}/share/doc/influxdb/${x}
.endfor
${INSTALL_DATA} ${WRKSRC}/etc/config.sample.toml ${DESTDIR}${PREFIX}/share/influxdb/
.include "../../mk/bsd.pkg.mk"
--y0ulUmNC+osPPQO6--
From: "H. William Welliver III" <william@welliver.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/52747: new package submission for influxdb 1.4.2
Date: Sat, 6 Jan 2018 13:55:53 -0500
Hi,
Thanks for the feedback. The restriction on fetching outside of the =
fetch action makes complete sense. I=E2=80=99m not opposed to creating =
a package for the gdm dependency manager=E2=80=A6 it seems reasonable to =
make the tool available as a package.=20
However, after doing more research, I think that go software building =
seems determined to operate in opposition to that concept: influxdb, for =
example, has 20 or more dependencies, some of which are only available =
as git checkouts (which is what the gdm tool is being used to fetch and =
manage). Since each of those dependencies are based on a particular =
commit id, I=E2=80=99m not sure that it would be feasible to create =
packages for each dependency.=20
Would an acceptable alternative be to create a distribution file that =
contained the particular go files required by a particular version of =
influxdb and make that available on, say, GitHub? That way, a canonical =
set of source would be available for download by pkgsrc and the build =
could proceed without any additional network access?=
From: Benny Siegert <bsiegert@gmail.com>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
william@welliver.org
Subject: Re: pkg/52747: new package submission for influxdb 1.4.2
Date: Tue, 9 Jan 2018 21:49:26 +0100
> However, after doing more research, I think that go software building =
> seems determined to operate in opposition to that concept: influxdb, for =
> example, has 20 or more dependencies, some of which are only available =
> as git checkouts (which is what the gdm tool is being used to fetch and =
> manage). Since each of those dependencies are based on a particular =
> commit id, I=E2=80=99m not sure that it would be feasible to create =
> packages for each dependency.=20
This has been done before, even though it is arguably quite tedious.
Look at the go-hugo package for inspiration.
I am working on https://github.com/bsiegert/gourl2pkg, which is not
quite finished but will at least tell you what the dependencies are.
> Would an acceptable alternative be to create a distribution file that =
> contained the particular go files required by a particular version of =
> influxdb and make that available on, say, GitHub? That way, a canonical =
> set of source would be available for download by pkgsrc and the build =
> could proceed without any additional network access?=
This would be somewhat questionable if not done by a developer.
You might try to get your upstream to vendor all dependencies, i.e.
put them in a vendor subdirectory. This is what Caddy has done, and it
has made packaging it trivial :)
--
Benny
State-Changed-From-To: open->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Sun, 18 Aug 2019 06:49:07 +0000
State-Changed-Why:
Someone did eventually work out the go dependencies issue: there's now an influxdb in pkgsrc with a go-deps.mk file fetching the files.
Thanks for the patch!
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.