You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by mhall119 <gi...@git.apache.org> on 2017/03/20 14:45:28 UTC

[GitHub] couchdb pull request #460: Change snap packaging to build from source

GitHub user mhall119 opened a pull request:

    https://github.com/apache/couchdb/pull/460

    Change snap packaging to build from source

    <!-- Thank you for your contribution!
         
         Please file this form by replacing markdown commentary
         tags with the text. If section needs in no action - remove it.
    
         Also remember, that CouchDB uses the Review-Then-Commit (RTC) model 
         of code collaboration. Positive feedback provides by +1 from committers
         while negative by -1. The -1 also means veto and need to be addressed
         to find the consensus. Once there are no objections, PR could be merged.
    
         See: http://couchdb.apache.org/bylaws.html#decisions for more info -->
    
    ## Overview
    
    Rather than creating a snap package from pre-build binaries, this allows building the snap package directly from source. Makes it possible to use external build automation such as build.snapcraft.io 
    
    ## Testing recommendations
    
    On any Ubuntu 16.04 or newer system, apt install "snapcraft" and then run "snapcraft snap" or "make snap". The resulting .snap file can be installed with "snap install --dangerous *.snap"


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/mhall119/couchdb snap-from-source

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/couchdb/pull/460.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #460
    
----

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] couchdb pull request #460: Change snap packaging to build from source

Posted by rnewson <gi...@git.apache.org>.
Github user rnewson closed the pull request at:

    https://github.com/apache/couchdb/pull/460


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] couchdb pull request #460: Change snap packaging to build from source

Posted by wohali <gi...@git.apache.org>.
Github user wohali commented on a diff in the pull request:

    https://github.com/apache/couchdb/pull/460#discussion_r106920067
  
    --- Diff: .gitignore ---
    @@ -4,7 +4,6 @@ config.erl
     install.mk
     rel/*.config
     rel/dev*
    -rel/snap*
    --- End diff --
    
    You probably need to add *.snap now, though.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] couchdb pull request #460: Change snap packaging to build from source

Posted by kxepal <gi...@git.apache.org>.
Github user kxepal commented on a diff in the pull request:

    https://github.com/apache/couchdb/pull/460#discussion_r106922187
  
    --- Diff: snapcraft.yaml ---
    @@ -0,0 +1,81 @@
    +name: couchdb
    +version: 2.0
    +summary: Document based database
    +description: CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents and query your indexes with your web browser, via HTTP. Index, combine, and transform your documents with JavaScript. 
    +confinement: strict
    +grade: stable
    +
    +apps:
    +    server:
    +        daemon: simple
    +        command: rel/couchdb/bin/snap_run
    +        plugs: [network-bind, process-control, mount-observe]
    +    couchdb:
    +        command: rel/couchdb/bin/snap_run
    +        plugs: [network-bind]
    +parts:
    +    couchdb: 
    +        plugin: make
    +        source: .
    +        prepare: |
    +          ./configure --disable-docs
    +        build: |
    +          make release
    +          cp -ra ./rel $SNAPCRAFT_PART_INSTALL
    +          cp -ra ./bin $SNAPCRAFT_PART_INSTALL
    +        build-packages:
    +          - binutils
    +          - libc6-dev
    +          - gcc
    +          - g++
    +          - make
    +          - erlang-dev
    +          - erlang-base-hipe
    +          - erlang-reltool
    +          - libcurl4-openssl-dev
    +          - libmozjs185-dev
    +          - libnspr4-dev
    +          - libicu-dev
    +          - icu-devtools
    +          # For erlang/rebar processing
    +          - erlang-nox
    +          - erlang-os-mon
    +          - erlang-syntax-tools
    +          # For fauxton
    +          - nodejs-dev
    +          - nodejs-legacy
    --- End diff --
    
    Thanks!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] couchdb pull request #460: Change snap packaging to build from source

Posted by kxepal <gi...@git.apache.org>.
Github user kxepal commented on a diff in the pull request:

    https://github.com/apache/couchdb/pull/460#discussion_r106920400
  
    --- Diff: snapcraft.yaml ---
    @@ -0,0 +1,81 @@
    +name: couchdb
    +version: 2.0
    +summary: Document based database
    +description: CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents and query your indexes with your web browser, via HTTP. Index, combine, and transform your documents with JavaScript. 
    +confinement: strict
    +grade: stable
    +
    +apps:
    +    server:
    +        daemon: simple
    +        command: rel/couchdb/bin/snap_run
    +        plugs: [network-bind, process-control, mount-observe]
    +    couchdb:
    +        command: rel/couchdb/bin/snap_run
    +        plugs: [network-bind]
    +parts:
    +    couchdb: 
    +        plugin: make
    +        source: .
    +        prepare: |
    +          ./configure --disable-docs
    +        build: |
    +          make release
    +          cp -ra ./rel $SNAPCRAFT_PART_INSTALL
    +          cp -ra ./bin $SNAPCRAFT_PART_INSTALL
    +        build-packages:
    +          - binutils
    +          - libc6-dev
    +          - gcc
    +          - g++
    +          - make
    +          - erlang-dev
    +          - erlang-base-hipe
    +          - erlang-reltool
    +          - libcurl4-openssl-dev
    +          - libmozjs185-dev
    +          - libnspr4-dev
    +          - libicu-dev
    +          - icu-devtools
    +          # For erlang/rebar processing
    +          - erlang-nox
    +          - erlang-os-mon
    +          - erlang-syntax-tools
    +          # For fauxton
    +          - nodejs-dev
    +          - nodejs-legacy
    --- End diff --
    
    Wonder why two nodejs here.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] couchdb pull request #460: Change snap packaging to build from source

Posted by rnewson <gi...@git.apache.org>.
Github user rnewson commented on a diff in the pull request:

    https://github.com/apache/couchdb/pull/460#discussion_r106920376
  
    --- Diff: .gitignore ---
    @@ -4,7 +4,6 @@ config.erl
     install.mk
     rel/*.config
     rel/dev*
    -rel/snap*
    --- End diff --
    
    ooh I was too hasty. @mhall119 can file another PR if that's the case.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] couchdb pull request #460: Change snap packaging to build from source

Posted by wohali <gi...@git.apache.org>.
Github user wohali commented on a diff in the pull request:

    https://github.com/apache/couchdb/pull/460#discussion_r106920431
  
    --- Diff: .gitignore ---
    @@ -4,7 +4,6 @@ config.erl
     install.mk
     rel/*.config
     rel/dev*
    -rel/snap*
    --- End diff --
    
    You also need to add `rel/snapcraft.yaml`.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] couchdb pull request #460: Change snap packaging to build from source

Posted by mhall119 <gi...@git.apache.org>.
Github user mhall119 commented on a diff in the pull request:

    https://github.com/apache/couchdb/pull/460#discussion_r106921127
  
    --- Diff: .gitignore ---
    @@ -4,7 +4,6 @@ config.erl
     install.mk
     rel/*.config
     rel/dev*
    -rel/snap*
    --- End diff --
    
    That hasn't changed from before, but it's easy enough to add if that's desirable


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] couchdb pull request #460: Change snap packaging to build from source

Posted by mhall119 <gi...@git.apache.org>.
Github user mhall119 commented on a diff in the pull request:

    https://github.com/apache/couchdb/pull/460#discussion_r106921386
  
    --- Diff: snapcraft.yaml ---
    @@ -0,0 +1,81 @@
    +name: couchdb
    +version: 2.0
    +summary: Document based database
    +description: CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents and query your indexes with your web browser, via HTTP. Index, combine, and transform your documents with JavaScript. 
    +confinement: strict
    +grade: stable
    +
    +apps:
    +    server:
    +        daemon: simple
    +        command: rel/couchdb/bin/snap_run
    +        plugs: [network-bind, process-control, mount-observe]
    +    couchdb:
    +        command: rel/couchdb/bin/snap_run
    +        plugs: [network-bind]
    +parts:
    +    couchdb: 
    +        plugin: make
    +        source: .
    +        prepare: |
    +          ./configure --disable-docs
    +        build: |
    +          make release
    +          cp -ra ./rel $SNAPCRAFT_PART_INSTALL
    +          cp -ra ./bin $SNAPCRAFT_PART_INSTALL
    +        build-packages:
    +          - binutils
    +          - libc6-dev
    +          - gcc
    +          - g++
    +          - make
    +          - erlang-dev
    +          - erlang-base-hipe
    +          - erlang-reltool
    +          - libcurl4-openssl-dev
    +          - libmozjs185-dev
    +          - libnspr4-dev
    +          - libicu-dev
    +          - icu-devtools
    +          # For erlang/rebar processing
    +          - erlang-nox
    +          - erlang-os-mon
    +          - erlang-syntax-tools
    +          # For fauxton
    +          - nodejs-dev
    +          - nodejs-legacy
    --- End diff --
    
    nodejs-legacy is needed for the 'node' executable, which IIRC is being called from somewhere in the build process


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---