Re: [NEW] net/dnscontrol 2.9

2019-06-05 Thread Stuart Henderson
Thanks, it's committed.

On 2019/06/04 16:41, Klemens Nanni wrote:
> On Tue, Jun 04, 2019 at 12:00:46PM +0100, Stuart Henderson wrote:
> > Ah thanks, that's much tidier.
> Yes, but `do-install' wasn't quite right.  Attached is a version that
> actually works (with wxallowed /tmp/): builds, installs and tests fine.
> 
> > There's no restriction on writing to /tmp during builds, all sorts of
> > things will break if that is blocked.
> > 
> > Seems go does this as standard, so it's probably a good idea to figure
> > out how to tell it to place the go-build directory inside WRKDIR (maybe
> > it's possible to use WRKBUILD) but that said, it shouldn't block an
> > individual port when pretty much all the go ports in-tree already do
> > this.
> Yeah, we can try this in a different diff.
> 
> Also, simply setting SEPARATE_BUILD=no will also break, so leaving this
> untouched as well.
> 
> OK kn

> # $OpenBSD$
> 
> COMMENT = manage DNS configuration across any number of DNS hosts
> 
> GH_ACCOUNT =  StackExchange
> GH_PROJECT =  dnscontrol
> GH_TAGNAME =  v2.9
> 
> CATEGORIES =  net
> 
> HOMEPAGE =https://stackexchange.github.io/dnscontrol/
> 
> # MIT
> PERMIT_PACKAGE =  Yes
> 
> WANTLIB = c pthread
> 
> MODULES = lang/go
> 
> MODGO_FLAGS +=-tags nosystemd
> MODGO_TEST_FLAGS +=   -provider BIND
> 
> do-build:
>   cd ${WRKSRC} && ${MODGO_CMD} generate
>   cd ${WRKSRC} && ${MODGO_CMD} build
>   cd ${WRKSRC}/cmd/convertzone && ${MODGO_CMD} build
> 
> do-install:
>   ${INSTALL_PROGRAM} ${WRKSRC}/dnscontrol ${PREFIX}/bin/
>   ${INSTALL_PROGRAM} ${WRKSRC}/cmd/convertzone/convertzone ${PREFIX}/bin/
> 
> do-test:
>   cd ${WRKSRC}/integrationTest && ${MODGO_TEST_CMD}
> 
> .include 



Re: [NEW] net/dnscontrol 2.9

2019-06-04 Thread Klemens Nanni
On Tue, Jun 04, 2019 at 12:00:46PM +0100, Stuart Henderson wrote:
> Ah thanks, that's much tidier.
Yes, but `do-install' wasn't quite right.  Attached is a version that
actually works (with wxallowed /tmp/): builds, installs and tests fine.

> There's no restriction on writing to /tmp during builds, all sorts of
> things will break if that is blocked.
> 
> Seems go does this as standard, so it's probably a good idea to figure
> out how to tell it to place the go-build directory inside WRKDIR (maybe
> it's possible to use WRKBUILD) but that said, it shouldn't block an
> individual port when pretty much all the go ports in-tree already do
> this.
Yeah, we can try this in a different diff.

Also, simply setting SEPARATE_BUILD=no will also break, so leaving this
untouched as well.

OK kn
# $OpenBSD$

COMMENT =   manage DNS configuration across any number of DNS hosts

GH_ACCOUNT =StackExchange
GH_PROJECT =dnscontrol
GH_TAGNAME =v2.9

CATEGORIES =net

HOMEPAGE =  https://stackexchange.github.io/dnscontrol/

# MIT
PERMIT_PACKAGE =Yes

WANTLIB =   c pthread

MODULES =   lang/go

MODGO_FLAGS +=  -tags nosystemd
MODGO_TEST_FLAGS += -provider BIND

do-build:
cd ${WRKSRC} && ${MODGO_CMD} generate
cd ${WRKSRC} && ${MODGO_CMD} build
cd ${WRKSRC}/cmd/convertzone && ${MODGO_CMD} build

do-install:
${INSTALL_PROGRAM} ${WRKSRC}/dnscontrol ${PREFIX}/bin/
${INSTALL_PROGRAM} ${WRKSRC}/cmd/convertzone/convertzone ${PREFIX}/bin/

do-test:
cd ${WRKSRC}/integrationTest && ${MODGO_TEST_CMD}

.include 


Re: [NEW] net/dnscontrol 2.9

2019-06-04 Thread Stuart Henderson
On 2019/06/04 12:14, Klemens Nanni wrote:
> On Tue, Jun 04, 2019 at 10:42:44AM +0100, Stuart Henderson wrote:
> > Any OKs to import this?
> The MODGO_* handling is duplicate effort, see attached Makefile for a
> much simpler and cleaner version.

Ah thanks, that's much tidier.

> Regardless of this, there is another issue since the port writes outside
> of ${WRKDIR} as noticed on my machine where /tmp/ is mounted `noexec':

There's no restriction on writing to /tmp during builds, all sorts of
things will break if that is blocked.

Seems go does this as standard, so it's probably a good idea to figure
out how to tell it to place the go-build directory inside WRKDIR (maybe
it's possible to use WRKBUILD) but that said, it shouldn't block an
individual port when pretty much all the go ports in-tree already do
this.

exec is less common but it is something that is likely to be done at times.
I've definitely seen it in tests (I used to mount /tmp noexec but stopped
doing so after wasting too long chasing a bogus failure), and it wouldn't
surprise me at all if other things in tree need that during build.


> ===> dnscontrol-2.9 depends on: go-=1.12.5 -> go-1.12.5
> ===>  Verifying specs:  c pthread
> ===>  found c.95.1 pthread.26.1
> ===>  Checking files for dnscontrol-2.9
> `/tmp/distfiles/dnscontrol-2.9.tar.gz' is up to date.
> >> (SHA256) dnscontrol-2.9.tar.gz: OK
> ===>  Extracting for dnscontrol-2.9
> ===>  Patching for dnscontrol-2.9
> ===>  Compiler link: clang -> /usr/bin/clang
> ===>  Compiler link: clang++ -> /usr/bin/clang++
> ===>  Compiler link: cc -> /usr/bin/cc
> ===>  Compiler link: c++ -> /usr/bin/c++
> ===>  Generating configure for dnscontrol-2.9
> ===>  Configuring for dnscontrol-2.9
> ===>  Building for dnscontrol-2.9
> fork/exec /tmp/go-build041594962/b001/exe/generate: permission denied
> main.go:14: running "go": exit status 1
> *** Error 1 in . (Makefile:24 'do-build': cd 
> /usr/ports/pobj/dnscontrol-2.9/go/src/github.com/StackExchange/dnscontrol && 
> /usr/bin/env -i GO...)
> *** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2811 
> '/usr/ports/pobj/dnscontrol-2.9/build-amd64/.build_done')
> *** Error 1 in /usr/ports/mystuff/net/dnscontrol 
> (/usr/ports/infrastructure/mk/bsd.port.mk:2481 'build')
> 
> 
> Also, SEPARATE_BUILD is set, but WRKBUILD is not used at all.  I think
> you should either disable it or make use of it.

> # $OpenBSD$
> 
> COMMENT = manage DNS configuration across any number of DNS hosts
> 
> GH_ACCOUNT =  StackExchange
> GH_PROJECT =  dnscontrol
> GH_TAGNAME =  v2.9
> 
> CATEGORIES =  net
> 
> HOMEPAGE =https://stackexchange.github.io/dnscontrol/
> 
> # MIT
> PERMIT_PACKAGE_CDROM =Yes
> 
> WANTLIB = c pthread
> 
> MODULES = lang/go
> 
> MODGO_FLAGS +=-tags nosystemd
> MODGO_TEST_FLAGS +=   -provider BIND
> 
> do-build:
>   cd ${WRKSRC} && ${MODGO_CMD} generate
>   cd ${WRKSRC} && ${MODGO_CMD} build
>   cd ${WRKSRC}/cmd/convertzone && ${MODGO_CMD} build
> 
> do-install:
>   ${MODGO_INSTALL_TARGET}
> 
> do-test:
>   cd ${WRKSRC}/integrationTest && ${MODGO_TEST_CMD}
> 
> .include 



Re: [NEW] net/dnscontrol 2.9

2019-06-04 Thread Klemens Nanni
On Tue, Jun 04, 2019 at 10:42:44AM +0100, Stuart Henderson wrote:
> Any OKs to import this?
The MODGO_* handling is duplicate effort, see attached Makefile for a
much simpler and cleaner version.

Regardless of this, there is another issue since the port writes outside
of ${WRKDIR} as noticed on my machine where /tmp/ is mounted `noexec':

$ make -s build
===> dnscontrol-2.9 depends on: go-=1.12.5 -> go-1.12.5
===>  Verifying specs:  c pthread
===>  found c.95.1 pthread.26.1
===>  Checking files for dnscontrol-2.9
`/tmp/distfiles/dnscontrol-2.9.tar.gz' is up to date.
>> (SHA256) dnscontrol-2.9.tar.gz: OK
===>  Extracting for dnscontrol-2.9
===>  Patching for dnscontrol-2.9
===>  Compiler link: clang -> /usr/bin/clang
===>  Compiler link: clang++ -> /usr/bin/clang++
===>  Compiler link: cc -> /usr/bin/cc
===>  Compiler link: c++ -> /usr/bin/c++
===>  Generating configure for dnscontrol-2.9
===>  Configuring for dnscontrol-2.9
===>  Building for dnscontrol-2.9
fork/exec /tmp/go-build041594962/b001/exe/generate: permission denied
main.go:14: running "go": exit status 1
*** Error 1 in . (Makefile:24 'do-build': cd 
/usr/ports/pobj/dnscontrol-2.9/go/src/github.com/StackExchange/dnscontrol && 
/usr/bin/env -i GO...)
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2811 
'/usr/ports/pobj/dnscontrol-2.9/build-amd64/.build_done')
*** Error 1 in /usr/ports/mystuff/net/dnscontrol 
(/usr/ports/infrastructure/mk/bsd.port.mk:2481 'build')


Also, SEPARATE_BUILD is set, but WRKBUILD is not used at all.  I think
you should either disable it or make use of it.
# $OpenBSD$

COMMENT =   manage DNS configuration across any number of DNS hosts

GH_ACCOUNT =StackExchange
GH_PROJECT =dnscontrol
GH_TAGNAME =v2.9

CATEGORIES =net

HOMEPAGE =  https://stackexchange.github.io/dnscontrol/

# MIT
PERMIT_PACKAGE_CDROM =  Yes

WANTLIB =   c pthread

MODULES =   lang/go

MODGO_FLAGS +=  -tags nosystemd
MODGO_TEST_FLAGS += -provider BIND

do-build:
cd ${WRKSRC} && ${MODGO_CMD} generate
cd ${WRKSRC} && ${MODGO_CMD} build
cd ${WRKSRC}/cmd/convertzone && ${MODGO_CMD} build

do-install:
${MODGO_INSTALL_TARGET}

do-test:
cd ${WRKSRC}/integrationTest && ${MODGO_TEST_CMD}

.include 


Re: [NEW] net/dnscontrol 2.9

2019-06-04 Thread Stuart Henderson
On 2019/06/03 16:59, karlis.mikels...@lf.lv wrote:
> Thank you, Stuart, for the prompt reply.
> 
> > Diff below tidies the Makefile a bit. Build fails though:
> Can you please try with attached Makefile? I've added GOCACHE and GOPATH
> environment variables to the Makefile.

Thanks, that builds now. There is a better HOMEPAGE than the github
project page (https://stackexchange.github.io/dnscontrol/), updated tgz
attached.

I would normally ask if you could install some of the docs but I see the
raw markdown files aren't very readable, so I think it's probably best
to just rely on the online docs in this case.

Any OKs to import this?




dnscontrol,2.tgz
Description: application/tar-gz


Re: [NEW] net/dnscontrol 2.9

2019-06-03 Thread karlis . mikelsons

Thank you, Stuart, for the prompt reply.


Diff below tidies the Makefile a bit. Build fails though:

Can you please try with attached Makefile? I've added GOCACHE and GOPATH
environment variables to the Makefile.


Kind regards,
Karlis
# $OpenBSD$

COMMENT =   manage DNS configuration across any number of DNS hosts

GH_ACCOUNT =StackExchange
GH_PROJECT =dnscontrol
GH_TAGNAME =v2.9

CATEGORIES =net

HOMEPAGE =  https://github.com/StackExchange/dnscontrol

# MIT
PERMIT_PACKAGE_CDROM =  Yes

WANTLIB =   c pthread

MODULES =   lang/go

do-build:
cd ${WRKSRC} && GOMAXPROCS=${MAKE_JOBS} GOCACHE=${MODGO_GOCACHE} \
GOPATH=${MODGO_WORKSPACE} \
go generate -tags nosystemd
cd ${WRKSRC} && GOMAXPROCS=${MAKE_JOBS} GOCACHE=${MODGO_GOCACHE} \
GOPATH=${MODGO_WORKSPACE} \
go build -tags nosystemd
cd ${WRKSRC}/cmd/convertzone && GOMAXPROCS=${MAKE_JOBS} 
GOCACHE=${MODGO_GOCACHE} \
GOPATH=${MODGO_WORKSPACE} \
go build -tags nosystemd

do-install:
${INSTALL_PROGRAM} ${WRKSRC}/dnscontrol ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/cmd/convertzone/convertzone ${PREFIX}/bin

do-test:
cd ${WRKSRC}/integrationTest && GOCACHE=${MODGO_GOCACHE} \
 GOPATH=${MODGO_WORKSPACE} \
 go test -v -verbose -provider BIND

.include 


Re: [NEW] net/dnscontrol 2.9

2019-06-03 Thread Stuart Henderson
On 2019/06/03 12:10, karlis.mikels...@lf.lv wrote:
> Hello,
> 
> Please find attached port for DNSControl latest stable version:
> "DNSControl is a system for maintaining DNS zones. It has two parts: a
> domain specific language (DSL) for describing DNS zones plus software
> that processes the DSL and pushes the resulting zones to DNS providers
> such as Route53, Cloudflare, and Gandi. It can talk to Microsoft Active
> Directory and it generates the most beautiful BIND zone files ever."
> 
> 
> Kind regards,
> Karlis

Diff below tidies the Makefile a bit. Build fails though:

$ make
===> dnscontrol-2.9 depends on: go-=1.12.5 -> go-1.12.5
===> dnscontrol-2.9 depends on: ccache-* -> ccache-3.7.1
===>  Verifying specs:  c pthread
===>  found c.95.1 pthread.26.1
===>  Checking files for dnscontrol-2.9
`/y/Download/ftp/pub/OpenBSD/distfiles/dnscontrol-2.9.tar.gz' is up to date.
>> (SHA256) dnscontrol-2.9.tar.gz: OK
===>  Extracting for dnscontrol-2.9
===>  Patching for dnscontrol-2.9
===>  Compiler link: clang -> ccache /usr/bin/clang
===>  Compiler link: clang++ -> ccache /usr/bin/clang++
===>  Compiler link: cc -> ccache /usr/bin/cc
===>  Compiler link: c++ -> ccache /usr/bin/c++
===>  Generating configure for dnscontrol-2.9
===>  Configuring for dnscontrol-2.9
===>  Building for dnscontrol-2.9
cd /usr/obj/ports/dnscontrol-2.9/go/src/github.com/StackExchange/dnscontrol &&  
go generate -tags nosystemd
build/generate/featureMatrix.go:9:2: cannot find package 
"github.com/StackExchange/dnscontrol/providers" in any of:
  /usr/local/go/src/github.com/StackExchange/dnscontrol/providers (from $GOROOT)
  /home/sthen/go/src/github.com/StackExchange/dnscontrol/providers (from 
$GOPATH)
build/generate/featureMatrix.go:10:2: cannot find package 
"github.com/StackExchange/dnscontrol/providers/_all" in any 
of:
  /usr/local/go/src/github.com/StackExchange/dnscontrol/providers/_all (from 
$GOROOT)
  /home/sthen/go/src/github.com/StackExchange/dnscontrol/providers/_all (from 
$GOPATH)
build/generate/generate.go:6:2: cannot find package 
"github.com/mjibson/esc/embed" in any of:
  /usr/local/go/src/github.com/mjibson/esc/embed (from $GOROOT)
  /home/sthen/go/src/github.com/mjibson/esc/embed (from $GOPATH)
main.go:14: running "go": exit status 1
*** Error 1 in . (Makefile:23 'do-build')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2811 
'/usr/obj/ports/dnscontrol-2.9/build-amd64/.build_done
')
*** Error 1 in /usr/ports/mystuff/net/dnscontrol 
(/usr/ports/infrastructure/mk/bsd.port.mk:2481 'all')






diff --git a/Makefile b/Makefile
index 7843c5b..2845ffb 100644
--- a/Makefile
+++ b/Makefile
@@ -2,22 +2,20 @@
 
 COMMENT =  manage DNS configuration across any number of DNS hosts
 
-VERSION =  2.9
-DISTNAME = dnscontrol-${VERSION}
 GH_ACCOUNT =   StackExchange
 GH_PROJECT =   dnscontrol
-GH_TAGNAME =   v${VERSION}
+GH_TAGNAME =   v2.9
 
 CATEGORIES =   net
 
 HOMEPAGE = https://github.com/StackExchange/dnscontrol
 
-# The MIT License
+# MIT
 PERMIT_PACKAGE_CDROM = Yes
 
 WANTLIB =  c pthread
 
-MODULES=   lang/go
+MODULES =  lang/go
 
 do-build:
cd ${WRKSRC} && ${MODGO_ENV} go generate -tags nosystemd
@@ -25,10 +23,11 @@ do-build:
cd ${WRKSRC}/cmd/convertzone && ${MODGO_ENV} go build -tags nosystemd
 
 do-install:
-   ${INSTALL_PROGRAM} ${WRKSRC}/${GH_PROJECT} ${PREFIX}/bin
+   ${INSTALL_PROGRAM} ${WRKSRC}/dnscontrol ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/cmd/convertzone/convertzone ${PREFIX}/bin
 
 do-test:
-   cd ${WRKSRC}/integrationTest && GOPATH=${MODGO_WORKSPACE} go test -v 
-verbose -provider BIND
+   cd ${WRKSRC}/integrationTest && \
+   GOPATH=${MODGO_WORKSPACE} go test -v -verbose -provider BIND
 
 .include 



[NEW] net/dnscontrol 2.9

2019-06-03 Thread karlis . mikelsons

Hello,

Please find attached port for DNSControl latest stable version:
"DNSControl is a system for maintaining DNS zones. It has two parts: a
domain specific language (DSL) for describing DNS zones plus software
that processes the DSL and pushes the resulting zones to DNS providers
such as Route53, Cloudflare, and Gandi. It can talk to Microsoft Active
Directory and it generates the most beautiful BIND zone files ever."


Kind regards,
Karlis


dnscontrol.tar.gz
Description: GNU Zip compressed data