You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by wo...@apache.org on 2017/04/27 06:51:30 UTC

[5/5] couchdb-ci git commit: add debian/ubuntu packaging tooling

add debian/ubuntu packaging tooling


Project: http://git-wip-us.apache.org/repos/asf/couchdb-ci/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-ci/commit/67d84506
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-ci/tree/67d84506
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-ci/diff/67d84506

Branch: refs/heads/master
Commit: 67d84506e236b456ac81b1c1bb4e9ec2284bab8c
Parents: ae186b0
Author: Joan Touzet <wo...@apache.org>
Authored: Wed Apr 26 23:51:15 2017 -0700
Committer: Joan Touzet <wo...@apache.org>
Committed: Wed Apr 26 23:51:15 2017 -0700

----------------------------------------------------------------------
 ansible/debian-8-base.yml                       |  1 +
 .../roles/dependencies-debian/tasks/main.yml    | 38 ++++++++++++++++----
 .../roles/erlang-esl-debian-pkgs/vars/main.yml  |  3 +-
 ansible/roles/lintian-debian/files/main.profile |  3 ++
 ansible/roles/lintian-debian/meta/main.yml      |  3 ++
 ansible/roles/lintian-debian/tasks/main.yml     | 28 +++++++++++++++
 6 files changed, 68 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/67d84506/ansible/debian-8-base.yml
----------------------------------------------------------------------
diff --git a/ansible/debian-8-base.yml b/ansible/debian-8-base.yml
index 02c624a..d99f45e 100644
--- a/ansible/debian-8-base.yml
+++ b/ansible/debian-8-base.yml
@@ -21,4 +21,5 @@
   - debian-8
   - { role: nodesource.node, nodejs_version: '6.x' }
   - dependencies-debian
+  - lintian-debian
   - common

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/67d84506/ansible/roles/dependencies-debian/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/dependencies-debian/tasks/main.yml b/ansible/roles/dependencies-debian/tasks/main.yml
index ad75ffc..aef6cbd 100644
--- a/ansible/roles/dependencies-debian/tasks/main.yml
+++ b/ansible/roles/dependencies-debian/tasks/main.yml
@@ -39,19 +39,43 @@
   - libcurl4-openssl-dev
   - libicu-dev
   - libmozjs185-dev
-
-# required for make check and make dialyze
-- name: install packages required to build CouchDB
-  apt: name={{item}} state=present install_recommends=no
-  with_items:
   - shunit2
 
 # required for make docs
-- name: install packages required to build CouchDB
+- name: install packages required to build CouchDB docs
   apt: name={{item}} state=present install_recommends=no
   with_items:
   - help2man
+  - python-sphinx
 
-# also required for make docs
+# Fix broken sphinx on ubuntu 12.04 only
+# Hack, but prevents needing a unique debian/ dir for this dist
 - name: install up to date version of sphinx via pip
   shell: pip install sphinx==1.5.3
+  when: ansible_distribution == "Ubuntu" and ansible_distribution_version == "12.04"
+
+# dependencies for Debian/Ubuntu package building
+- name: install packages required to build Debian pkgs
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - curl
+  - debhelper
+  - dh-exec
+  - devscripts
+  - dialog
+  - lintian
+  - libwww-perl
+  - devscripts
+  - quilt
+
+# Hooray deMorgan's theorem
+- name: install dh-systemd package, if available
+  apt: name=dh-systemd state=present install_recommends=no
+  when: ansible_distribution != "Ubuntu" or ansible_distribution_version != "12.04"
+
+# convenience packages for interactive work
+- name: install convenience packages 
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - vim-tiny
+  - screen

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/67d84506/ansible/roles/erlang-esl-debian-pkgs/vars/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/erlang-esl-debian-pkgs/vars/main.yml b/ansible/roles/erlang-esl-debian-pkgs/vars/main.yml
index 00ec403..c28a09a 100644
--- a/ansible/roles/erlang-esl-debian-pkgs/vars/main.yml
+++ b/ansible/roles/erlang-esl-debian-pkgs/vars/main.yml
@@ -29,4 +29,5 @@ erlang_solutions_pkg_list:
   - erlang-xmerl
   - erlang-eunit
   - erlang-dialyzer
-
+  - erlang-reltool
+  - erlang-wx

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/67d84506/ansible/roles/lintian-debian/files/main.profile
----------------------------------------------------------------------
diff --git a/ansible/roles/lintian-debian/files/main.profile b/ansible/roles/lintian-debian/files/main.profile
new file mode 100644
index 0000000..e34f4e8
--- /dev/null
+++ b/ansible/roles/lintian-debian/files/main.profile
@@ -0,0 +1,3 @@
+Profile: couchdb/main
+Extends: debian/main
+Disable-Tags: dir-or-file-in-opt, source-is-missing, non-etc-file-marked-as-conffile

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/67d84506/ansible/roles/lintian-debian/meta/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/lintian-debian/meta/main.yml b/ansible/roles/lintian-debian/meta/main.yml
new file mode 100644
index 0000000..6b4fff8
--- /dev/null
+++ b/ansible/roles/lintian-debian/meta/main.yml
@@ -0,0 +1,3 @@
+---
+dependencies:
+  - { role: common }

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/67d84506/ansible/roles/lintian-debian/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/lintian-debian/tasks/main.yml b/ansible/roles/lintian-debian/tasks/main.yml
new file mode 100644
index 0000000..1686a46
--- /dev/null
+++ b/ansible/roles/lintian-debian/tasks/main.yml
@@ -0,0 +1,28 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+- name: make lintian vendor directory
+  file:
+    path: /home/build/.lintian/profiles/couchdb
+    state: directory
+    owner: build
+    group: build
+    mode: 0755
+    recurse: yes
+
+- name: copy lintian vendor profile
+  copy:
+    src: main.profile
+    dest: /home/build/.lintian/profiles/couchdb/main.profile
+    owner: build
+    group: build
+    mode: 0644