From 09589cf4714b08250a3ae807dcf9a7afd7bb233d Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Wed, 11 Jul 2012 02:52:19 -0300 Subject: [PATCH 01/14] debian package files --- .gitignore | 1 + debian/changelog | 5 +++++ debian/compat | 1 + debian/control | 15 +++++++++++++++ debian/docs | 1 + debian/rules | 23 +++++++++++++++++++++++ 6 files changed, 46 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/docs create mode 100755 debian/rules diff --git a/.gitignore b/.gitignore index 8c626989bb8..85f06b81093 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +vendor/bundle .bundle .rbx/ db/*.sqlite3 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000000..b1c7d8872de --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +gitlabhq (0.0.1-1) unstable; urgency=low + + * Initial release (Closes: #nnnn) + + -- root Wed, 11 Jul 2012 01:36:16 -0300 diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000000..7f8f011eb73 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000000..ec7abce7643 --- /dev/null +++ b/debian/control @@ -0,0 +1,15 @@ +Source: gitlabhq +Section: ruby +Priority: extra +Maintainer: root +Build-Depends: debhelper, libicu-dev, ruby1.9.1-dev +Standards-Version: 3.8.4 +Homepage: +#Vcs-Git: git://git.debian.org/collab-maint/gitlabhq.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/gitlabhq.git;a=summary + +Package: gitlabhq +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlclient6, libsqlite3 +Description: + diff --git a/debian/docs b/debian/docs new file mode 100644 index 00000000000..b43bf86b50f --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +README.md diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000000..0dcfc61f06e --- /dev/null +++ b/debian/rules @@ -0,0 +1,23 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +inst_dir=debian/gitlabhq/var/www/gitlabhq + +%: + dh $@ + +override_dh_prep: + bundle install --without=test:development --deployment + +override_dh_install: + mkdir -p $(inst_dir) + cp -r `ls | grep -v git | grep -v debian` $(inst_dir)/ + dh_install -- GitLab From 64e358f8479dc599c7ccbd59e79697eeac289276 Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Wed, 11 Jul 2012 17:06:04 -0300 Subject: [PATCH 02/14] added dependencies to debian/control --- debian/control | 4 ++-- debian/rules | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/debian/control b/debian/control index ec7abce7643..feb0e11c975 100644 --- a/debian/control +++ b/debian/control @@ -4,12 +4,12 @@ Priority: extra Maintainer: root Build-Depends: debhelper, libicu-dev, ruby1.9.1-dev Standards-Version: 3.8.4 -Homepage: +Homepage: http://gitlabhq.com #Vcs-Git: git://git.debian.org/collab-maint/gitlabhq.git #Vcs-Browser: http://git.debian.org/?p=collab-maint/gitlabhq.git;a=summary Package: gitlabhq Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlclient6, libsqlite3 +Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlclient16, libsqlite3-0, ruby1.9.1, gitolite, nginx | apache-mpm-worker Description: diff --git a/debian/rules b/debian/rules index 0dcfc61f06e..212035284ac 100755 --- a/debian/rules +++ b/debian/rules @@ -19,5 +19,5 @@ override_dh_prep: override_dh_install: mkdir -p $(inst_dir) - cp -r `ls | grep -v git | grep -v debian` $(inst_dir)/ + cp -r `ls | grep -v git | grep -v debian` .bundle $(inst_dir)/ dh_install -- GitLab From cb194736eacf294a5c3ef0ab3fc1f57d0535a208 Mon Sep 17 00:00:00 2001 From: rodrigo Date: Wed, 11 Jul 2012 22:40:34 -0300 Subject: [PATCH 03/14] debian control more deps --- debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index feb0e11c975..7c3e18a5cc2 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: gitlabhq Section: ruby Priority: extra Maintainer: root -Build-Depends: debhelper, libicu-dev, ruby1.9.1-dev +Build-Depends: debhelper, libicu-dev, ruby1.9.1-dev, libmysqlclient-dev, libsqlite3-dev Standards-Version: 3.8.4 Homepage: http://gitlabhq.com #Vcs-Git: git://git.debian.org/collab-maint/gitlabhq.git @@ -10,6 +10,6 @@ Homepage: http://gitlabhq.com Package: gitlabhq Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlclient16, libsqlite3-0, ruby1.9.1, gitolite, nginx | apache-mpm-worker +Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlclient16, libsqlite3-0, ruby1.9.1, gitolite, nginx | apache-mpm-worker, redis-server Description: -- GitLab From 590cd7c2fb5827207bbdf80a67db1c44de5bd435 Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Sun, 15 Jul 2012 16:10:06 -0700 Subject: [PATCH 04/14] proper packaging, updated unicorn.rb since debhelper removes while cleaning, proper initscript and postinst --- config/gitlab.nginx | 32 ++++++++++++ config/{unicorn.rb.orig => unicorn.rb} | 0 debian/changelog | 2 +- debian/compat | 1 - debian/docs | 1 - debian/init.d | 57 ++++++++++++++++++++ debian/postinst | 72 ++++++++++++++++++++++++++ debian/rules | 2 + 8 files changed, 164 insertions(+), 3 deletions(-) create mode 100644 config/gitlab.nginx rename config/{unicorn.rb.orig => unicorn.rb} (100%) delete mode 100644 debian/compat delete mode 100644 debian/docs create mode 100644 debian/init.d create mode 100644 debian/postinst diff --git a/config/gitlab.nginx b/config/gitlab.nginx new file mode 100644 index 00000000000..92f8b208fe8 --- /dev/null +++ b/config/gitlab.nginx @@ -0,0 +1,32 @@ +upstream gitlab { + server unix:/var/www/gitlabhq/tmp/sockets/gitlab.socket; +} + +server { + listen 80; + server_name gitlab.local.host; + root /var/www/gitlabhq/public; + + # individual nginx logs for this gitlab vhost + access_log /var/log/nginx/gitlab_access.log; + error_log /var/log/nginx/gitlab_error.log; + + location / { + # serve static files from defined root folder;. + # @gitlab is a named location for the upstream fallback, see below + try_files $uri $uri/index.html $uri.html @gitlab; + } + + # if a file, which is not found in the root folder is requested, + # then the proxy pass the request to the upsteam (gitlab unicorn) + location @gitlab { + proxy_redirect off; + # you need to change this to "https", if you set "ssl" directive to "on" + proxy_set_header X-FORWARDED_PROTO http; + proxy_set_header Host gitlab.local.host:80; + proxy_set_header X-Real-IP $remote_addr; + + proxy_pass http://gitlab; + } + +} diff --git a/config/unicorn.rb.orig b/config/unicorn.rb similarity index 100% rename from config/unicorn.rb.orig rename to config/unicorn.rb diff --git a/debian/changelog b/debian/changelog index b1c7d8872de..462499be8ea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,4 +2,4 @@ gitlabhq (0.0.1-1) unstable; urgency=low * Initial release (Closes: #nnnn) - -- root Wed, 11 Jul 2012 01:36:16 -0300 + -- Rodrigo Sampaio Vaz Wed, 11 Jul 2012 01:36:16 -0300 diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 7f8f011eb73..00000000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/debian/docs b/debian/docs deleted file mode 100644 index b43bf86b50f..00000000000 --- a/debian/docs +++ /dev/null @@ -1 +0,0 @@ -README.md diff --git a/debian/init.d b/debian/init.d new file mode 100644 index 00000000000..27a086e65f3 --- /dev/null +++ b/debian/init.d @@ -0,0 +1,57 @@ +#! /bin/bash +### BEGIN INIT INFO +# Provides: gitlab +# Required-Start: $local_fs $remote_fs $network $syslog redis-server +# Required-Stop: $local_fs $remote_fs $network $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: GitLab git repository management +# Description: GitLab git repository management +### END INIT INFO + +DAEMON_OPTS="-c /var/www/gitlabhq/config/unicorn.rb -E production -D" +NAME=unicorn +DESC="Gitlab service" +PID=/var/www/gitlabhq/tmp/pids/unicorn.pid +RESQUE_PID=/var/www/gitlabhq/tmp/pids/resque_worker.pid + +case "$1" in + start) + CD_TO_APP_DIR="cd /var/www/gitlabhq" + START_DAEMON_PROCESS="bundle exec unicorn_rails $DAEMON_OPTS" + START_RESQUE_PROCESS="./resque.sh" + + echo -n "Starting $DESC: " + if [ `whoami` = root ]; then + su - gitlab -c "sh -l -c \"$CD_TO_APP_DIR > /dev/null 2>&1 && $START_DAEMON_PROCESS && $START_RESQUE_PROCESS\"" + else + $CD_TO_APP_DIR > /dev/null 2>&1 && $START_DAEMON_PROCESS && $START_RESQUE_PROCESS + fi + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + kill -QUIT `cat $PID` + kill -QUIT `cat $RESQUE_PID` + echo "$NAME." + ;; + restart) + echo -n "Restarting $DESC: " + kill -USR2 `cat $PID` + kill -USR2 `cat $RESQUE_PID` + echo "$NAME." + ;; + reload) + echo -n "Reloading $DESC configuration: " + kill -HUP `cat $PID` + kill -HUP `cat $RESQUE_PID` + echo "$NAME." + ;; + *) + echo "Usage: $NAME {start|stop|restart|reload}" >&2 + exit 1 + ;; +esac + +exit 0 + diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 00000000000..a1616319422 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,72 @@ +#!/bin/sh +# postinst script for gitlabhq +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + + id git + if [ $? -ne 0 ]; then + adduser \ + --system \ + --shell /bin/sh \ + --gecos 'git version control' \ + --group \ + --disabled-password \ + --home /home/git \ + git + fi + + id gitlab + if [ $? -ne 0 ]; then + adduser --disabled-login --gecos 'gitlab system' gitlab + + usermod -a -G git gitlab + + su - gitlab -c "ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa" + + cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub + chmod 777 /home/git/gitlab.pub + + sed -i 's/0077/0007/g' /etc/gitolite/example.gitolite.rc + su - git -c 'sh -c "gl-setup /home/git/gitlab.pub"' + + sudo chmod -R g+rwX /home/git/repositories/ + sudo chown -R git:git /home/git/repositories/ + + su - gitlab -c "git clone git@localhost:gitolite-admin.git /tmp/gitolite-admin" + rm -rf /tmp/gitolite-admin + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/rules b/debian/rules index 212035284ac..c1be6607cb9 100755 --- a/debian/rules +++ b/debian/rules @@ -19,5 +19,7 @@ override_dh_prep: override_dh_install: mkdir -p $(inst_dir) + mkdir -p debian/gitlabhq/etc/nginx/sites-available cp -r `ls | grep -v git | grep -v debian` .bundle $(inst_dir)/ + mv $(inst_dir)/config/gitlab.nginx debian/gitlabhq/etc/nginx/sites-available/gitlab dh_install -- GitLab From e2483f49aa8e6f946fa3fc1389756d77752f04ce Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Mon, 23 Jul 2012 16:05:03 -0300 Subject: [PATCH 05/14] added ssl vhost to nginx and proper redirect from http to https --- config/gitlab.nginx | 17 ++++++++++-- debian/postinst | 63 +++++++++++++++++++++------------------------ debian/rules | 2 +- 3 files changed, 46 insertions(+), 36 deletions(-) diff --git a/config/gitlab.nginx b/config/gitlab.nginx index 92f8b208fe8..0b313b7c4c6 100644 --- a/config/gitlab.nginx +++ b/config/gitlab.nginx @@ -3,14 +3,27 @@ upstream gitlab { } server { - listen 80; + listen 80; + listen [::]:80; + listen 443 default ssl; + + # change the server_name to your host server_name gitlab.local.host; + root /var/www/gitlabhq/public; + ssl on; + #ssl_certificate /path/to/my/cert; + #ssl_certificate_key /path/to/my/key; + # individual nginx logs for this gitlab vhost access_log /var/log/nginx/gitlab_access.log; error_log /var/log/nginx/gitlab_error.log; + if ($ssl_protocol = "") { + rewrite ^ https://$server_name$request_uri? permanent; + } + location / { # serve static files from defined root folder;. # @gitlab is a named location for the upstream fallback, see below @@ -22,7 +35,7 @@ server { location @gitlab { proxy_redirect off; # you need to change this to "https", if you set "ssl" directive to "on" - proxy_set_header X-FORWARDED_PROTO http; + proxy_set_header X-FORWARDED_PROTO https; proxy_set_header Host gitlab.local.host:80; proxy_set_header X-Real-IP $remote_addr; diff --git a/debian/postinst b/debian/postinst index a1616319422..91e12caa875 100644 --- a/debian/postinst +++ b/debian/postinst @@ -20,39 +20,36 @@ set -e case "$1" in configure) - - id git - if [ $? -ne 0 ]; then - adduser \ - --system \ - --shell /bin/sh \ - --gecos 'git version control' \ - --group \ - --disabled-password \ - --home /home/git \ - git - fi - - id gitlab - if [ $? -ne 0 ]; then - adduser --disabled-login --gecos 'gitlab system' gitlab - - usermod -a -G git gitlab - - su - gitlab -c "ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa" - - cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub - chmod 777 /home/git/gitlab.pub - - sed -i 's/0077/0007/g' /etc/gitolite/example.gitolite.rc - su - git -c 'sh -c "gl-setup /home/git/gitlab.pub"' - - sudo chmod -R g+rwX /home/git/repositories/ - sudo chown -R git:git /home/git/repositories/ - - su - gitlab -c "git clone git@localhost:gitolite-admin.git /tmp/gitolite-admin" - rm -rf /tmp/gitolite-admin - fi + + git_exists=$(grep -w git /etc/passwd | wc -l) + if [ $git_exists -eq 0 ]; then + adduser \ + --system \ + --shell /bin/sh \ + --gecos 'git version control' \ + --group \ + --disabled-password \ + --home /home/git \ + git + fi + + gitlab_exists=$(grep -w gitlab /etc/passwd | wc -l) + if [ $gitlab_exists -eq 0 ]; then + adduser --disabled-login --gecos 'gitlab system' gitlab + + usermod -a -G git gitlab + + su - gitlab -c "ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa" + + cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub + chmod 777 /home/git/gitlab.pub + + sed -i 's/0077/0007/g' /etc/gitolite/example.gitolite.rc + su - git -c 'sh -c "gl-setup /home/git/gitlab.pub"' + + chmod -R g+rwX /home/git/repositories/ + chown -R git:git /home/git/repositories/ + fi ;; abort-upgrade|abort-remove|abort-deconfigure) diff --git a/debian/rules b/debian/rules index c1be6607cb9..6e6e0104063 100755 --- a/debian/rules +++ b/debian/rules @@ -21,5 +21,5 @@ override_dh_install: mkdir -p $(inst_dir) mkdir -p debian/gitlabhq/etc/nginx/sites-available cp -r `ls | grep -v git | grep -v debian` .bundle $(inst_dir)/ - mv $(inst_dir)/config/gitlab.nginx debian/gitlabhq/etc/nginx/sites-available/gitlab + cp config/gitlab.nginx debian/gitlabhq/etc/nginx/sites-available/gitlab dh_install -- GitLab From ec74db10fdf24873f728b33fdd56cdd7c3ce8f06 Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Mon, 30 Jul 2012 20:44:36 -0300 Subject: [PATCH 06/14] added rvmrc.example file for build on bricklayer --- .rvmrc.example | 1 + 1 file changed, 1 insertion(+) create mode 100644 .rvmrc.example diff --git a/.rvmrc.example b/.rvmrc.example new file mode 100644 index 00000000000..15ef749243f --- /dev/null +++ b/.rvmrc.example @@ -0,0 +1 @@ +rvm 1.9.3@gitlabhq -- GitLab From 6cffabc6f1825f6ff30361b3c41432e0f4cc3e5e Mon Sep 17 00:00:00 2001 From: PotHix Date: Mon, 30 Jul 2012 21:38:54 -0300 Subject: [PATCH 07/14] Changing to work with CAS users. --- Gemfile | 2 ++ app/models/user.rb | 11 +++++++---- app/observers/user_observer.rb | 4 +++- config/initializers/devise.rb | 1 + db/migrate/20120728014121_add_cas_authenticatable.rb | 11 +++++++++++ 5 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 db/migrate/20120728014121_add_cas_authenticatable.rb diff --git a/Gemfile b/Gemfile index aa7cfad2934..c6dcd19bf76 100644 --- a/Gemfile +++ b/Gemfile @@ -6,6 +6,8 @@ gem "rails", "3.2.5" gem "sqlite3" gem "mysql2" +gem 'devise_cas_authenticatable' + # Auth gem "devise", "~> 2.1.0" diff --git a/app/models/user.rb b/app/models/user.rb index ff27660a6ee..ab9508eda0a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -2,12 +2,11 @@ class User < ActiveRecord::Base include Account - devise :database_authenticatable, :token_authenticatable, :lockable, - :recoverable, :rememberable, :trackable, :validatable, :omniauthable + devise :cas_authenticatable, :trackable attr_accessible :email, :password, :password_confirmation, :remember_me, :bio, :name, :projects_limit, :skype, :linkedin, :twitter, :dark_scheme, - :theme_id, :force_random_password + :theme_id, :force_random_password, :username attr_accessor :force_random_password @@ -54,7 +53,6 @@ class User < ActiveRecord::Base validates :bio, :length => { :within => 0..255 } - before_save :ensure_authentication_token alias_attribute :private_token, :authentication_token scope :not_in_project, lambda { |project| where("id not in (:ids)", :ids => project.users.map(&:id) ) } @@ -63,6 +61,7 @@ class User < ActiveRecord::Base scope :active, where(:blocked => false) before_validation :generate_password, :on => :create + before_validation :generate_email, :on => :create def generate_password if self.force_random_password @@ -70,6 +69,10 @@ class User < ActiveRecord::Base end end + def generate_email + self.email = "#{self.username}@locaweb.com.br" + end + def self.filter filter_name case filter_name when "admins"; self.admins diff --git a/app/observers/user_observer.rb b/app/observers/user_observer.rb index d12bcc99c83..eb5cc14a283 100644 --- a/app/observers/user_observer.rb +++ b/app/observers/user_observer.rb @@ -1,5 +1,7 @@ class UserObserver < ActiveRecord::Observer def after_create(user) - Notify.new_user_email(user.id, user.password).deliver + # We'll not notify using cas for a while + + # Notify.new_user_email(user.id, user.password).deliver end end diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 54011ba5ea3..90bbef8bf53 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -1,6 +1,7 @@ # Use this hook to configure devise mailer, warden hooks and so forth. The first # four configuration values can also be set straight in your models. Devise.setup do |config| + config.cas_base_url = "https://sso.sysint.locaweb.com.br/cas-web" # ==> Mailer Configuration # Configure the e-mail address which will be shown in Devise::Mailer, # note that it will be overwritten if you use your own mailer class with default "from" parameter. diff --git a/db/migrate/20120728014121_add_cas_authenticatable.rb b/db/migrate/20120728014121_add_cas_authenticatable.rb new file mode 100644 index 00000000000..f2e8436fc8d --- /dev/null +++ b/db/migrate/20120728014121_add_cas_authenticatable.rb @@ -0,0 +1,11 @@ +class AddCasAuthenticatable < ActiveRecord::Migration + def up + add_column :users, :username, :string + add_index :users, :username, :unique => true + end + + def down + remove_column :users, :username + remove_index :users, :username, :unique => true + end +end -- GitLab From 06a9ae3df931cccaa82b69349d35d32940f8c2ad Mon Sep 17 00:00:00 2001 From: PotHix Date: Mon, 30 Jul 2012 21:55:47 -0300 Subject: [PATCH 08/14] Updating Gemfile.lock. --- Gemfile.lock | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Gemfile.lock b/Gemfile.lock index 9c8ecdd456d..d3842634fe9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -153,6 +153,9 @@ GEM orm_adapter (~> 0.1) railties (~> 3.1) warden (~> 1.2.1) + devise_cas_authenticatable (1.1.2) + devise (>= 1.0.6) + rubycas-client (>= 2.2.1) diff-lcs (1.1.3) drapper (0.8.4) email_spec (1.2.1) @@ -295,6 +298,8 @@ GEM activesupport (>= 3.0) railties (>= 3.0) rspec (~> 2.10.0) + rubycas-client (2.3.9) + activesupport rubyntlm (0.1.1) rubypython (0.6.2) blankslate (>= 2.1.2.3) @@ -385,6 +390,7 @@ DEPENDENCIES cucumber-rails database_cleaner devise (~> 2.1.0) + devise_cas_authenticatable drapper email_spec ffaker -- GitLab From 4f0382cb4425e49615faa56aa71bc869815ef69b Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Wed, 8 Aug 2012 17:20:54 -0300 Subject: [PATCH 09/14] using debian/tmp as installdir, issues on debian squeezy --- debian/rules | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/debian/rules b/debian/rules index 6e6e0104063..4140ea279f4 100755 --- a/debian/rules +++ b/debian/rules @@ -9,7 +9,7 @@ # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 -inst_dir=debian/gitlabhq/var/www/gitlabhq +inst_dir=debian/tmp/var/www/gitlabhq %: dh $@ @@ -19,7 +19,7 @@ override_dh_prep: override_dh_install: mkdir -p $(inst_dir) - mkdir -p debian/gitlabhq/etc/nginx/sites-available + mkdir -p debian/tmp/etc/nginx/sites-available cp -r `ls | grep -v git | grep -v debian` .bundle $(inst_dir)/ - cp config/gitlab.nginx debian/gitlabhq/etc/nginx/sites-available/gitlab + cp config/gitlab.nginx debian/tmp/etc/nginx/sites-available/gitlab dh_install -- GitLab From 5eb5b2060424f80fde92e9bd454db52571c517e8 Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Wed, 8 Aug 2012 17:34:14 -0300 Subject: [PATCH 10/14] dh_shlibdeps issue on squeeze --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 7c3e18a5cc2..9cb7bb213a6 100644 --- a/debian/control +++ b/debian/control @@ -10,6 +10,6 @@ Homepage: http://gitlabhq.com Package: gitlabhq Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlclient16, libsqlite3-0, ruby1.9.1, gitolite, nginx | apache-mpm-worker, redis-server +Depends: libmysqlclient16, libsqlite3-0, ruby1.9.1, gitolite, nginx | apache-mpm-worker, redis-server Description: -- GitLab From 96db5d0a827b427abbe953dd75f43332362f1813 Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Wed, 8 Aug 2012 17:40:00 -0300 Subject: [PATCH 11/14] dh_shlibdeps issue on squeeze fix on rules file --- debian/rules | 3 +++ 1 file changed, 3 insertions(+) diff --git a/debian/rules b/debian/rules index 4140ea279f4..caa49e9496b 100755 --- a/debian/rules +++ b/debian/rules @@ -23,3 +23,6 @@ override_dh_install: cp -r `ls | grep -v git | grep -v debian` .bundle $(inst_dir)/ cp config/gitlab.nginx debian/tmp/etc/nginx/sites-available/gitlab dh_install + +override_dh_shlibdeps: + echo "Ignored, moving on" -- GitLab From e1748a69029c5cbf05cd2cedbb4f37013e2be9fa Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Fri, 14 Sep 2012 16:10:08 -0300 Subject: [PATCH 12/14] proper maintainer and description on debian/control --- debian/control | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/debian/control b/debian/control index 9cb7bb213a6..a3f8415175d 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: gitlabhq Section: ruby Priority: extra -Maintainer: root +Maintainer: Rodrigo Sampaio Vaz Build-Depends: debhelper, libicu-dev, ruby1.9.1-dev, libmysqlclient-dev, libsqlite3-dev Standards-Version: 3.8.4 Homepage: http://gitlabhq.com @@ -11,5 +11,6 @@ Homepage: http://gitlabhq.com Package: gitlabhq Architecture: any Depends: libmysqlclient16, libsqlite3-0, ruby1.9.1, gitolite, nginx | apache-mpm-worker, redis-server -Description: - +Recommends: libbundler-ruby +Description: Self Hosted Git Management + Fast, secure and stable solution based on Ruby on Rails & Gitolite. Distributed under the MIT License. -- GitLab From 27c31a8becd8032eb7674820076c4165a48cbde0 Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Fri, 14 Sep 2012 16:14:54 -0300 Subject: [PATCH 13/14] using a more portable way to findout a user exist --- debian/postinst | 56 ++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/debian/postinst b/debian/postinst index 91e12caa875..9adb0201ee2 100644 --- a/debian/postinst +++ b/debian/postinst @@ -21,35 +21,33 @@ set -e case "$1" in configure) - git_exists=$(grep -w git /etc/passwd | wc -l) - if [ $git_exists -eq 0 ]; then - adduser \ - --system \ - --shell /bin/sh \ - --gecos 'git version control' \ - --group \ - --disabled-password \ - --home /home/git \ - git - fi - - gitlab_exists=$(grep -w gitlab /etc/passwd | wc -l) - if [ $gitlab_exists -eq 0 ]; then - adduser --disabled-login --gecos 'gitlab system' gitlab - - usermod -a -G git gitlab - - su - gitlab -c "ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa" - - cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub - chmod 777 /home/git/gitlab.pub - - sed -i 's/0077/0007/g' /etc/gitolite/example.gitolite.rc - su - git -c 'sh -c "gl-setup /home/git/gitlab.pub"' - - chmod -R g+rwX /home/git/repositories/ - chown -R git:git /home/git/repositories/ - fi + makedir /tmp/gitlab root:root 700 + + chgrp git /tmp/gitlab 2>/dev/null || + addgroup --system git + chown git /tmp/gitlab 2>/dev/null || + adduser \ + --system \ + --home /home/git \ + --shell /bin/sh \ + --gecos 'git version control' \ + --ingroup git \ + --disabled-password git + + + chown gitlab /tmp/gitlab 2>/dev/null || + adduser --disabled-login --gecos 'gitlab system' --ingroup git gitlab + + su - gitlab -c "ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa" + + cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub + chmod 777 /home/git/gitlab.pub + + sed -i 's/0077/0007/g' /etc/gitolite/example.gitolite.rc + su - git -c 'sh -c "gl-setup /home/git/gitlab.pub"' + + chmod -R g+rwX /home/git/repositories/ + chown -R git:git /home/git/repositories/ ;; abort-upgrade|abort-remove|abort-deconfigure) -- GitLab From a42d32c50ea418a91e349b5cb16e32fec92ed038 Mon Sep 17 00:00:00 2001 From: Rodrigo Sampaio Vaz Date: Fri, 14 Sep 2012 16:16:33 -0300 Subject: [PATCH 14/14] default changelog no longer refer Closes # --- debian/changelog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 462499be8ea..4b194110c00 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ gitlabhq (0.0.1-1) unstable; urgency=low - * Initial release (Closes: #nnnn) + * Initial release, first version of changelog, not really a real changelog + yet. -- Rodrigo Sampaio Vaz Wed, 11 Jul 2012 01:36:16 -0300 -- GitLab