You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Jan Lehnardt <ja...@apache.org> on 2015/02/10 21:10:43 UTC

Building a 2.0 tarball

Hey all,

I’m looking at how we want to produce a tarball for the upcoming 2.0 release.

Since we ditched most of our Autotools infrastructure, we are at step #1 for building a release tarball.

I have a bit of a Makefile target that copies everything from a git checkout into a sub-directory:

# creates a source tarball
release:
       # make release dir
       rm -rf release
       mkdir release

       # copy sources over
       cp -r src release/

       # copy utility files over
       cp -r rel/overlay/etc rel/overlay/bin support release/
       cp rebar.config.script config.erl install.mk release/


To test if it works, I want to start CouchDB, but I can’t for the life of me find the right incarnation to get this started. Both looking at dev/run and bin/couchdb for clues didn’t quite help (and note, I wrote the original `bin/couchdb`).

Does anyone have any pointers? Am I missing any resources in that `release` directory to make it work?

The idea is to have a tarball that is similar for what we have in 1.x, something that has its own Makefile to build and install a CouchDB installation from source. This is without thinking about convenience binary builds that we could also offer (like the Mac OS X one today).

Thanks for your help!
Jan
--


Re: Building a 2.0 tarball

Posted by Jan Lehnardt <ma...@jan.io>.
I got this going with help from Alexander on IRC.

Here is a Pull Request we can discuss: https://github.com/apache/couchdb/pull/302

Thanks!
Jan
--

> On 11 Feb 2015, at 09:02, Jan Lehnardt <ma...@jan.io> wrote:
> 
> Thanks Robert,
> 
> I know about `make dist`. It creates a binary distribution, not a source one, hence my efforts :)
> 
> It's bin/couchdb script is what I'm trying to learn from how to start CouchDB in its 2.x form, but so far no luck.
> 
> Cheers
> Jan
> --
> 
>> On 10.02.2015, at 23:49, Robert Kowalski <ro...@kowalski.gd> wrote:
>> 
>> After running `make dist` you will get a couchdb folder in `/rel/`. It
>> contains an Erlang release, if I ran `make dist` on the project root I
>> can boot couch with:
>> 
>> `./rel/couchdb/bin/couchdb`
>> 
>> I hope that helps,
>> Robert
>> 
>>> On Tue, Feb 10, 2015 at 9:10 PM, Jan Lehnardt <ja...@apache.org> wrote:
>>> Hey all,
>>> 
>>> I’m looking at how we want to produce a tarball for the upcoming 2.0 release.
>>> 
>>> Since we ditched most of our Autotools infrastructure, we are at step #1 for building a release tarball.
>>> 
>>> I have a bit of a Makefile target that copies everything from a git checkout into a sub-directory:
>>> 
>>> # creates a source tarball
>>> release:
>>>      # make release dir
>>>      rm -rf release
>>>      mkdir release
>>> 
>>>      # copy sources over
>>>      cp -r src release/
>>> 
>>>      # copy utility files over
>>>      cp -r rel/overlay/etc rel/overlay/bin support release/
>>>      cp rebar.config.script config.erl install.mk release/
>>> 
>>> 
>>> To test if it works, I want to start CouchDB, but I can’t for the life of me find the right incarnation to get this started. Both looking at dev/run and bin/couchdb for clues didn’t quite help (and note, I wrote the original `bin/couchdb`).
>>> 
>>> Does anyone have any pointers? Am I missing any resources in that `release` directory to make it work?
>>> 
>>> The idea is to have a tarball that is similar for what we have in 1.x, something that has its own Makefile to build and install a CouchDB installation from source. This is without thinking about convenience binary builds that we could also offer (like the Mac OS X one today).
>>> 
>>> Thanks for your help!
>>> Jan
>>> --
>>> 


Re: Building a 2.0 tarball

Posted by Jan Lehnardt <ma...@jan.io>.
Thanks Robert,

I know about `make dist`. It creates a binary distribution, not a source one, hence my efforts :)

It's bin/couchdb script is what I'm trying to learn from how to start CouchDB in its 2.x form, but so far no luck.

Cheers
Jan
--

> On 10.02.2015, at 23:49, Robert Kowalski <ro...@kowalski.gd> wrote:
> 
> After running `make dist` you will get a couchdb folder in `/rel/`. It
> contains an Erlang release, if I ran `make dist` on the project root I
> can boot couch with:
> 
> `./rel/couchdb/bin/couchdb`
> 
> I hope that helps,
> Robert
> 
>> On Tue, Feb 10, 2015 at 9:10 PM, Jan Lehnardt <ja...@apache.org> wrote:
>> Hey all,
>> 
>> I’m looking at how we want to produce a tarball for the upcoming 2.0 release.
>> 
>> Since we ditched most of our Autotools infrastructure, we are at step #1 for building a release tarball.
>> 
>> I have a bit of a Makefile target that copies everything from a git checkout into a sub-directory:
>> 
>> # creates a source tarball
>> release:
>>       # make release dir
>>       rm -rf release
>>       mkdir release
>> 
>>       # copy sources over
>>       cp -r src release/
>> 
>>       # copy utility files over
>>       cp -r rel/overlay/etc rel/overlay/bin support release/
>>       cp rebar.config.script config.erl install.mk release/
>> 
>> 
>> To test if it works, I want to start CouchDB, but I can’t for the life of me find the right incarnation to get this started. Both looking at dev/run and bin/couchdb for clues didn’t quite help (and note, I wrote the original `bin/couchdb`).
>> 
>> Does anyone have any pointers? Am I missing any resources in that `release` directory to make it work?
>> 
>> The idea is to have a tarball that is similar for what we have in 1.x, something that has its own Makefile to build and install a CouchDB installation from source. This is without thinking about convenience binary builds that we could also offer (like the Mac OS X one today).
>> 
>> Thanks for your help!
>> Jan
>> --
>> 

Re: Building a 2.0 tarball

Posted by Robert Kowalski <ro...@kowalski.gd>.
After running `make dist` you will get a couchdb folder in `/rel/`. It
contains an Erlang release, if I ran `make dist` on the project root I
can boot couch with:

`./rel/couchdb/bin/couchdb`

I hope that helps,
Robert

On Tue, Feb 10, 2015 at 9:10 PM, Jan Lehnardt <ja...@apache.org> wrote:
> Hey all,
>
> I’m looking at how we want to produce a tarball for the upcoming 2.0 release.
>
> Since we ditched most of our Autotools infrastructure, we are at step #1 for building a release tarball.
>
> I have a bit of a Makefile target that copies everything from a git checkout into a sub-directory:
>
> # creates a source tarball
> release:
>        # make release dir
>        rm -rf release
>        mkdir release
>
>        # copy sources over
>        cp -r src release/
>
>        # copy utility files over
>        cp -r rel/overlay/etc rel/overlay/bin support release/
>        cp rebar.config.script config.erl install.mk release/
>
>
> To test if it works, I want to start CouchDB, but I can’t for the life of me find the right incarnation to get this started. Both looking at dev/run and bin/couchdb for clues didn’t quite help (and note, I wrote the original `bin/couchdb`).
>
> Does anyone have any pointers? Am I missing any resources in that `release` directory to make it work?
>
> The idea is to have a tarball that is similar for what we have in 1.x, something that has its own Makefile to build and install a CouchDB installation from source. This is without thinking about convenience binary builds that we could also offer (like the Mac OS X one today).
>
> Thanks for your help!
> Jan
> --
>