[DRE-commits] [gitlab] 01/01: fix config file handling

Praveen Arimbrathodiyil praveen at moszumanska.debian.org
Thu Jul 14 15:13:57 UTC 2016


This is an automated email from the git hooks/post-receive script.

praveen pushed a commit to branch master
in repository gitlab.

commit a00a4d50934cb7790359ab8553b8d57033b0061a
Author: Praveen Arimbrathodiyil <praveen at debian.org>
Date:   Thu Jul 14 19:54:37 2016 +0530

    fix config file handling
---
 debian/changelog                                   |  8 +++++++
 ...tlab-debian.conf => gitlab-debian.conf.example} |  3 +++
 debian/conf/{gitlab.yml => gitlab.yml.example}     |  0
 debian/control                                     |  2 +-
 debian/install                                     |  4 ++--
 debian/postinst                                    | 26 +++++++++++++++++-----
 6 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 6df02da..d678def 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+gitlab (8.9.0+dfsg-4) unstable; urgency=medium
+
+  * Move config files to /usr/share/doc as examples and
+    copy them to /var/lib for modification (Closes: #821086)
+  * Fix gitlab-shell's config.yml handling (Closes: #827846)
+
+ -- Pirate Praveen <praveen at debian.org>  Thu, 14 Jul 2016 19:53:16 +0530
+
 gitlab (8.9.0+dfsg-3) unstable; urgency=medium
 
   * Relax grape and rouge in Gemfile 
diff --git a/debian/conf/gitlab-debian.conf b/debian/conf/gitlab-debian.conf.example
similarity index 81%
rename from debian/conf/gitlab-debian.conf
rename to debian/conf/gitlab-debian.conf.example
index 8800fdc..39a68fc 100644
--- a/debian/conf/gitlab-debian.conf
+++ b/debian/conf/gitlab-debian.conf.example
@@ -5,10 +5,13 @@ gitlab_app_root=/usr/share/gitlab
 gitlab_data_dir=/var/lib/gitlab
 gitlab_cache_path=/var/cache/gitlab
 gitlab_scripts=/usr/lib/gitlab/scripts
+gitlab_yml_example=/usr/share/doc/gitlab/gitlab.yml.example
 gitlab_yml_private=/var/lib/gitlab/gitlab.yml
 gitlab_yml=/etc/gitlab/gitlab.yml
+gitlab_debian_conf_example=/usr/share/doc/gitlab/gitlab-debian.conf.example
 gitlab_debian_conf_private=/var/lib/gitlab/gitlab-debian.conf
 gitlab_debian_conf=/etc/gitlab/gitlab-debian.conf
+gitlab_shell_config_example=/usr/share/doc/gitlab-shell/config.yml.example
 gitlab_shell_config_private=/var/lib/gitlab/gitlab-shell-config.yml
 gitlab_shell_config=/etc/gitlab-shell/config.yml
 gitlab_nginx_log=/var/log/gitlab
diff --git a/debian/conf/gitlab.yml b/debian/conf/gitlab.yml.example
similarity index 100%
rename from debian/conf/gitlab.yml
rename to debian/conf/gitlab.yml.example
diff --git a/debian/control b/debian/control
index c1cb687..d955c28 100644
--- a/debian/control
+++ b/debian/control
@@ -29,7 +29,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter,
  postfix | exim4 | mail-transport-agent,
  openssh-client,
  ucf,
- gitlab-shell (>= 3.0.0~),
+ gitlab-shell (>= 3.0.0-4~),
  gitlab-workhorse (>= 0.6.2~),
  ruby-rails (>= 2:4.2.6~),
  ruby-rails (<< 2:5),
diff --git a/debian/install b/debian/install
index c9b5f53..af97cb0 100644
--- a/debian/install
+++ b/debian/install
@@ -1,9 +1,9 @@
 debian/conf/gitlab etc/default
 debian/conf/unicorn.rb etc/gitlab
 debian/conf/database.yml etc/gitlab
-debian/conf/gitlab.yml var/lib/gitlab
+debian/conf/gitlab.yml.example usr/share/doc/gitlab
 debian/conf/resque.yml etc/gitlab
-debian/conf/gitlab-debian.conf var/lib/gitlab
+debian/conf/gitlab-debian.conf.example usr/share/doc/gitlab
 debian/conf/*.target lib/systemd/system
 debian/conf/*.service lib/systemd/system
 debian/conf/smtp_settings.rb etc/gitlab/initializers
diff --git a/debian/postinst b/debian/postinst
index 26021e3..efe33b0 100755
--- a/debian/postinst
+++ b/debian/postinst
@@ -33,7 +33,12 @@ case "$1" in
 
     # Read and export debian specific configuration
     # Only exported variables will be passed on to gitlab app
-    gitlab_debian_conf_private=/var/lib/gitlab/gitlab-debian.conf
+    # Bootstrap config file - first try
+    gitlab_debian_conf_example=/usr/share/doc/gitlab/gitlab-debian.conf.example
+    export $(cat ${gitlab_debian_conf_example})
+    # second try
+    test -f ${gitlab_debian_conf_private} || \
+    cp ${gitlab_debian_conf_example} ${gitlab_debian_conf_private}
     export $(cat ${gitlab_debian_conf_private})
 
     # If /etc/gitlab/gitlab-debian.conf is already present, use it
@@ -90,6 +95,13 @@ EOF
       # Check if ssl option is selected
       db_get gitlab/ssl
       gl_proto="http"
+
+      # Copy example configurations
+      test -f ${gitlab_yml_private} || \
+      zcat ${gitlab_yml_example} > ${gitlab_yml_private}
+      test -f ${gitlab_shell_config_private} || \
+      cp ${gitlab_shell_config_example} ${gitlab_shell_config_private}
+
       if [ "${RET}" = "true" ]; then
         echo "Configuring nginx with HTTPS..."
         if ! grep GITLAB_HTTPS ${gitlab_debian_conf_private}; then
@@ -104,12 +116,8 @@ EOF
 	  "s/gitlab_url: http*:\/\/.*/gitlab_url: ${gl_proto}:\/\/${GITLAB_HOST}/"\
 	  ${gitlab_shell_config_private}
 
-          # Manage gitlab-shell's config.yml via ucf
-          mkdir -p /etc/gitlab-shell
-	  echo "Registering ${gitlab_shell_config} via ucf"
-	  ucf --debconf-ok --three-way ${gitlab_shell_config_private} ${gitlab_shell_config}
-	  ucfr gitlab ${gitlab_shell_config}
 	fi
+        
         mkdir -p /etc/gitlab/ssl
         if [ -f "${nginx_ssl_conf_example_gz}" ]; then
           # undo dh_installdocs auto compress
@@ -145,6 +153,12 @@ EOF
 	  fi
         fi
       fi
+        
+      # Manage gitlab-shell's config.yml via ucf
+      mkdir -p /etc/gitlab-shell
+      echo "Registering ${gitlab_shell_config} via ucf"
+      ucf --debconf-ok --three-way ${gitlab_shell_config_private} ${gitlab_shell_config}
+      ucfr gitlab ${gitlab_shell_config}
 
       # Manage gitlab.yml via ucf
       echo "Registering ${gitlab_yml} via ucf"

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/gitlab.git



More information about the Pkg-ruby-extras-commits mailing list