Re: [VOTE] Release Apache CouchDB 2.3.0-RC1

2018-12-02 Thread Joan Touzet
Thanks Dave - with your +1, the build passes, though I'll wait another
36-48 hours before calling it. Would like some of our Cloudant friends
to chime in ;)

> We have -RC1 in all the couchdb-related deps (fabric, global_changes
> etc) does this matter? I thought we squashed that in 2.1 or 2.2
> already, and the tarball only needed to be renamed?
> 
> apache-couchdb-2.3.0> l rel/couchdb/lib/
> total 0
> drwxr-xr-x  4 dch  wheel   128B Dec  2 21:53 asn1-5.0.7/
> drwxr-xr-x  4 dch  wheel   128B Dec  2 21:53 b64url-1.0.1/
> drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 bear-0.8.1-9-g008f48a/
> drwxr-xr-x  5 dch  wheel   192B Dec  2 21:53 chttpd-2.3.0-RC1/
> drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 compiler-7.2.6/
> drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 config-2.1.4/
> drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 couch_epi-2.3.0-RC1/
> drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 couch_event-2.3.0-RC1/
> ...
> 
> IMO it's not worth re-rolling the release for this.

Yeah, I thought we fixed this in 2.1.2/2.2.0 as well. I'm surprised
that it built like this. If you can look into it, and it's an easy
fix, I'm happy to push an -RC2 with the fix...or we can leave it like
this for 2.3.0 and push a fix for 2.3.1/2.4.0. I also don't think it's
worth re-rolling the release just for this minor thing.

-Joan


Re: [VOTE] Release Apache CouchDB 2.3.0-RC1

2018-12-02 Thread Joan Touzet
Hi Naomi. Welcome back!

Happy to answer these questions as best as I can, though others will have
to provide additional info...

> I would have expected `./configure` to alert me to the missing Erlang
> dependency. certainly, in the world of Autoconf, checking for the
> presence
> of useable dependencies is one of the primary functions of the
> `./configure` script

Right, none of this is in the current setup. Pull requests welcome, but
I really don't want to see a return to autoconf. The build process is
MUCH simpler now without it.

> fatal error: 'jsapi.h' file not found
> #include 
>  ^
> 1 error generated.
> ERROR: compile failed while processing
> /private/tmp/couchdb/dist/apache-couchdb-2.3.0/src/couch: rebar_abort
> make: *** [couch] Error 1
> 
> so it seems like there's another dependency I don't have. but I can't
> tell
> just from looking at this error message what is missing

Right, that'd be SpiderMonkey 1.8.5 (libmozjs185-1.0). This is getting
increasingly difficult to build; Cloudant (Paul Davis) is working on
substituting a new JS runtime from Microsoft (chakra-code) but it's a
big undertaking.
 
> 1. what do I need to do to get this working?

Dependencies required are in the official docs:

  http://docs.couchdb.org/en/stable/install/unix.html#dependencies

We also have scripts over in apache/couchdb-ci that should install all
of the dependencies you need on Linux (bin/install-dependencies.sh), but
no one has stepped up to enhance these scripts for dependencies on
macOS / FreeBSD yet. (Windows is supported by the apache/couchdb-glazier
repository.)

> 2. I don't have any opinions re the removal of GNU Autoconf. I'm sure
> there
> was a reason, etc, etc. but it seems to me that the install
> experience is
> somewhat worse than the last time I looked at it. without the
> dependency
> checking in `./configure`, these messages are not a great first run
> experience. is this a known issue?

Yup, known issue - tragedy of the commons, I'm afraid.

2.x brought with it the bigcouch/Cloudant build chain, which is almost
entirely rebar based. It's very nice - especially with how the release
process works to build the self-contained Erlang runtime + all
dependencies in a relocatable fashion. There's no need for 99% of what
autoconf does anymore, since everything is handled within the Erlang
build chain. If you look at the Makefile, you'll see it's really not
much more than a shell script in Makefile format.

I've worked very hard to get the 2.x build chain working as well as
possible. Our CI system builds binary installers with every push to
master for 4 flavours of Linux across multiple versions. The Windows
build passes all tests (at least as often as Linux/macOS does) and the
apache/couchdb-glazier repo (thanks Dave!) makes building Windows
binaries a snap, too. Jan has kicked in his macOS build script for
binaries there, though we haven't yet brought that repo into the Apache
org (mostly because I think no one has stepped up to maintain it going
forward yet.) And finally, we build Docker images with every release
and support the downstream official Docker image with a Dockerfile that
is in widespread use.

> I'm aware there are installation guides. but a new user might not be.

Our download stats show that, overwhelmingly, people install from the
binaries we build, or use Docker. Those downloads account for more than
99.99% of the installs of CouchDB. The numbers are something like over a
million downloads of Docker + the binaries over the course of a year,
but merely thousands of downloads of the source tarball in the same
time frame.

Since the entire build infrastructure has fallen to me, and since
it's seemingly only developers that seem to need to have a properly
installed build chain, and since my time on CouchDB is solely as a
volunteer, I've put my efforts into maintaining and improving the CI-
focused scripts, while ensuring that they are also useful for devs
who want to use them to set up their own workstations with the
required dependencies. Once we have support for the remaining
platforms, I'm of the mindset that we recommend people use those
scripts to set up their build environment - or to read them should
they not wish to run them themselves.

But I'm open to other ideas - if hands are on deck to help. I am
thoroughly exhausted with keeping the build up to date and could sure
use some help.

> and
> the reason I'm sending this email now instead of looking up help is
> that
> the CouchDB docs are not loading for me. I've been waiting several
> minutes
> and I only have a half-rendered page. though this might be an issue
> with my
> net connection

htts://docs.couchdb.org/ is hosted by ReadTheDocs.org for us. Perhaps
they had an outage earlier today?

> p.s. sorry for returning to this list and immediately bearing bad
> news :P

No problem. If you do get your build env setup and are able to test
the release, I look forward to your vote. :)

-Joan


Re: [VOTE] Release Apache CouchDB 2.3.0-RC1

2018-12-02 Thread Dave Cottlehuber
On Thu, 29 Nov 2018, at 20:22, Joan Touzet wrote:
> Dear community,
> 
> I would like to release Apache CouchDB 2.3.0-RC1.
> 
> Changes since last round:
> 
>  * https://github.com/apache/couchdb/compare/2.2.0...2.3.0-RC1
> 
> Candidate release notes:
> 
>  * http://docs.couchdb.org/en/latest/whatsnew/2.3.html
> 
> We encourage the whole community to download and test these release 
> artefacts so that any critical issues can be resolved before the release 
> is made. Everyone is free to vote on this release, so dig right in!
> 
> The release artefacts we are voting on are available here:
> 
> 
> https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz
> 
> https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.asc
> 
> https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.sha256
> 
> https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.sha512
> 
> Please follow the test procedure here:
> 
> 
> https://cwiki.apache.org/confluence/display/COUCHDB/Testing+a+Source+Release
> 
> Please remember that "RC1" is an annotation. If the vote passes, these 
> artefacts will be released as Apache CouchDB 2.3.0.
> 
> Please cast your votes now.
> 
> Thanks,
> Joan "we promised and delivered 2 releases a year" Touzet
^^^

+1

- sigs+sha OK
- all tests pass (OMG)
- OTP 21.1.1
- FreeBSD 12.0-RC3 amd64 (sweet releases happening everywhere)

niggle:

We have -RC1 in all the couchdb-related deps (fabric, global_changes etc) does 
this matter? I thought we squashed that in 2.1 or 2.2 already, and the tarball 
only needed to be renamed?

apache-couchdb-2.3.0> l rel/couchdb/lib/
total 0
drwxr-xr-x  4 dch  wheel   128B Dec  2 21:53 asn1-5.0.7/
drwxr-xr-x  4 dch  wheel   128B Dec  2 21:53 b64url-1.0.1/
drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 bear-0.8.1-9-g008f48a/
drwxr-xr-x  5 dch  wheel   192B Dec  2 21:53 chttpd-2.3.0-RC1/
drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 compiler-7.2.6/
drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 config-2.1.4/
drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 couch_epi-2.3.0-RC1/
drwxr-xr-x  3 dch  wheel64B Dec  2 21:53 couch_event-2.3.0-RC1/ ...

IMO it's not worth re-rolling the release for this.

A+
Dave



Re: [VOTE] Release Apache CouchDB 2.3.0-RC1

2018-12-02 Thread Dave Cottlehuber
On Sun, 2 Dec 2018, at 19:53, Naomi Slater wrote:
> hey folks,
> 
> it's been a while since I tested a release. but here we go

\o/ 

> /private/tmp/couchdb/dist/apache-couchdb-2.3.0/src/couch/priv/couch_js/
> http.c
> /private/tmp/couchdb/dist/apache-couchdb-2.3.0/src/couch/priv/couch_js/
> http.c:18:10:
> fatal error: 'jsapi.h' file not found
> #include 
>  ^
> 1 error generated.
> ERROR: compile failed while processing
> /private/tmp/couchdb/dist/apache-couchdb-2.3.0/src/couch: rebar_abort
> make: *** [couch] Error 1
> 
> so it seems like there's another dependency I don't have. but I can't tell
> just from looking at this error message what is missing
> 
> so I guess I have two questions:
> 
> 1. what do I need to do to get this working?

install spidermonkey 1.8.5. I guess `brew install spidermonkey icu4cx erlang`
should be enough but I don't have a suitable mac to hand. I guess you're using 
homebrew?

> 2. I don't have any opinions re the removal of GNU Autoconf. I'm sure there
> was a reason, etc, etc. but it seems to me that the install experience is
> somewhat worse than the last time I looked at it. without the dependency
> checking in `./configure`, these messages are not a great first run
> experience. is this a known issue?

No but it should be reasonably easy to add those back. The dependencies are
listed in the usual places though.

A+
Dave


Re: [VOTE] Release Apache CouchDB 2.3.0-RC1

2018-12-02 Thread Naomi Slater
hey folks,

it's been a while since I tested a release. but here we go

I followed the instructions on the test procedure wiki page using a mac
that has never built or installed CouchDB before

I ran into two minor issues, and have accordingly edited the wiki to note
the error message you get if GPG isn't installed, and also included
instructions on how to get the SHA checksum tools installed and set up on
macOS

however, I'm now running into an issue building CouchDB

`./configure` is exceptionally fast and runs without issues, and I note
that it seems we're not using GNU Autoconf any more (yes apparently I am
*quite* behind the times* :)

but `make check` fails with:

env: escript: No such file or directory

I would have expected `./configure` to alert me to the missing Erlang
dependency. certainly, in the world of Autoconf, checking for the presence
of useable dependencies is one of the primary functions of the
`./configure` script

I installed Erlang, and then ran into another issue:

Compiling
/private/tmp/couchdb/dist/apache-couchdb-2.3.0/src/couch/priv/couch_js/http.c
/private/tmp/couchdb/dist/apache-couchdb-2.3.0/src/couch/priv/couch_js/http.c:18:10:
fatal error: 'jsapi.h' file not found
#include 
 ^
1 error generated.
ERROR: compile failed while processing
/private/tmp/couchdb/dist/apache-couchdb-2.3.0/src/couch: rebar_abort
make: *** [couch] Error 1

so it seems like there's another dependency I don't have. but I can't tell
just from looking at this error message what is missing

so I guess I have two questions:

1. what do I need to do to get this working?

2. I don't have any opinions re the removal of GNU Autoconf. I'm sure there
was a reason, etc, etc. but it seems to me that the install experience is
somewhat worse than the last time I looked at it. without the dependency
checking in `./configure`, these messages are not a great first run
experience. is this a known issue?

I'm aware there are installation guides. but a new user might not be. and
the reason I'm sending this email now instead of looking up help is that
the CouchDB docs are not loading for me. I've been waiting several minutes
and I only have a half-rendered page. though this might be an issue with my
net connection

p.s. sorry for returning to this list and immediately bearing bad news :P

On Thu, 29 Nov 2018 at 20:22, Joan Touzet  wrote:

> Dear community,
>
> I would like to release Apache CouchDB 2.3.0-RC1.
>
> Changes since last round:
>
>  * https://github.com/apache/couchdb/compare/2.2.0...2.3.0-RC1
>
> Candidate release notes:
>
>  * http://docs.couchdb.org/en/latest/whatsnew/2.3.html
>
> We encourage the whole community to download and test these release
> artefacts so that any critical issues can be resolved before the release is
> made. Everyone is free to vote on this release, so dig right in!
>
> The release artefacts we are voting on are available here:
>
>
> https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz
>
> https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.asc
>
> https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.sha256
>
> https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.sha512
>
> Please follow the test procedure here:
>
>
> https://cwiki.apache.org/confluence/display/COUCHDB/Testing+a+Source+Release
>
> Please remember that "RC1" is an annotation. If the vote passes, these
> artefacts will be released as Apache CouchDB 2.3.0.
>
> Please cast your votes now.
>
> Thanks,
> Joan "we promised and delivered 2 releases a year" Touzet
>


-- 
LargePrefPlaceholder-XKUz1MEJBwkOM