diff --git a/debian/changelog b/debian/changelog index 6df02da330..d678defd73 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 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 8800fdcd61..39a68fcf14 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 c1cb68762f..d955c2894b 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 c9b5f539ee..af97cb0b3e 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 26021e31bd..efe33b0ef8 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"