Commit 7b840e1a1cc843dfd12b9c3ae7848d18f6993cbf

Authored by Alexandre Barbosa
1 parent 59743db3
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

checkpoint

Showing 1 changed file with 92 additions and 22 deletions   Show diff stats
gitlab.spec
... ... @@ -6,9 +6,9 @@ Group: Development/Tools
6 6 License: Expat
7 7 URL: https://beta.softwarepublico.gov.br/gitlab/softwarepublico/gitlab
8 8 Source0: %{name}-%{version}.tar.gz
9   -
10   -BuildRequires: gitlab-deps,postgresql-server, postgresql-devel
11   -Requires: gitlab-deps, postgresql-server, git
  9 +BuildArch: noarch
  10 +BuildRequires: gitlab-deps
  11 +Requires: gitlab-deps, git
12 12  
13 13 %description
14 14 GitLab
... ... @@ -16,37 +16,106 @@ GitLab
16 16 %prep
17 17 %autosetup
18 18  
19   -%pre
20   -adduser git
21   -service postgresql initdb
22   -service postgresql start
23   -sudo -u postgres psql -d template1 << EOF
24   -CREATE USER git CREATEDB;
25   -CREATE DATABASE gitlabhq_production OWNER git;
26   -\q
27   -EOF
28   -
29 19 %build
30   -# make %{?_smp_mflags}
  20 +cat > config/gitlab.yml <<EOF
  21 +production: &base
  22 + gitlab:
  23 + host: localhost
  24 + port: 80 # Set to 443 if using HTTPS
  25 + https: false # Set to true if using HTTPS
  26 + email_from: example@example.com
  27 + default_projects_limit: 10
  28 + default_projects_features:
  29 + issues: true
  30 + merge_requests: true
  31 + wiki: true
  32 + snippets: false
  33 + visibility_level: "private" # can be "private" | "internal" | "public"
  34 + gravatar:
  35 + enabled: true
  36 + plain_url: "http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
  37 + ssl_url: "https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
  38 + omniauth:
  39 + # Allow login via Twitter, Google, etc. using OmniAuth providers
  40 + enabled: false
  41 + allow_single_sign_on: false
  42 + block_auto_created_users: true
  43 + providers:
  44 + # - { name: 'google_oauth2', app_id: 'YOUR APP ID',
  45 + # app_secret: 'YOUR APP SECRET',
  46 + # args: { access_type: 'offline', approval_prompt: '' } }
  47 + satellites:
  48 + path: /var/lib/gitlab/satellites
  49 + timeout: 30
  50 + backup:
  51 + path: /var/lib/gitlab/backups
  52 + gitlab_shell:
  53 + path: /usr/lib/gitlab-shell
  54 + repos_path: /var/lib/gitlab/repositories/
  55 + hooks_path: /usr/lib/gitlab-shell/hooks/
  56 + # Git over HTTP
  57 + upload_pack: true
  58 + receive_pack: true
  59 + git:
  60 + bin_path: /usr/bin/git
  61 + max_size: 20971520 # 20.megabytes
  62 + timeout: 10
  63 + extra:
  64 + ## Piwik analytics.
  65 + # piwik_url: '_your_piwik_url'
  66 + # piwik_site_id: '_your_piwik_site_id'
  67 +
  68 + ## Text under sign-in page (Markdown enabled)
  69 + # sign_in_text: |
  70 + # ![Company Logo](http://www.companydomain.com/logo.png)
  71 + # [Learn more about CompanyName](http://www.companydomain.com/)
  72 +EOF
31 73  
32 74 %install
33   -cp config/gitlab.yml.example config/gitlab.yml
34   -cp config/unicorn.rb.example config/unicorn.rb
35   -cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
36   -cp config/database.yml.postgresql config/database.yml
  75 +mkdir -p %{buildroot}/etc/gitlab
  76 +cp config/gitlab.yml %{buildroot}/etc/gitlab/gitlab.yml
  77 +cp config/unicorn.rb.example %{buildroot}/etc/gitlab/unicorn.rb
  78 +cp config/database.yml.postgresql %{buildroot}/etc/gitlab/database.yml
37 79  
38 80 mkdir -p %{buildroot}/usr/lib/gitlab
39 81 cp -r app bin config config.ru db doc GITLAB_SHELL_VERSION lib Procfile public Rakefile vendor VERSION %{buildroot}/usr/lib/gitlab/
  82 +mv %{buildroot}/usr/lib/gitlab/config/initializers/rack_attack.rb.example %{buildroot}/usr/lib/gitlab/config/initializers/rack_attack.rb
  83 +for configfile in gitlab.yml unicorn.rb database.yml; do
  84 + ln -s /etc/gitlab/$configfile %{buildroot}/usr/lib/gitlab/config
  85 +done
  86 +ln -s /var/log/gitlab %{buildroot}/usr/lib/gitlab/log
  87 +ln -s /var/lib/gitlab/tmp %{buildroot}/usr/lib/gitlab/tmp
  88 +ln -s /var/lib/gitlab/.gitlab_shell_secret %{buildroot}/usr/lib/gitlab/.gitlab_shell_secret
  89 +ln -s /var/lib/gitlab/.secret %{buildroot}/usr/lib/gitlab/.secret
40 90  
41 91 %post
  92 +groupadd git || true
  93 +if ! id git; then
  94 + adduser --system --home-dir /usr/lib/gitlab --no-create-home --gid git git
  95 +fi
  96 +if [ -x /usr/bin/postgres ]; then
  97 + service postgresql initdb || true
  98 + service postgresql start
  99 + service postgresql enable
  100 + sudo -u postgres createuser --createdb git || true
  101 +fi
  102 +mkdir -p /var/log/gitlab
  103 +chown -R git:git /var/log/gitlab
  104 +mkdir -p /var/lib/gitlab/backups
  105 +mkdir -p /var/lib/gitlab/repositories
  106 +mkdir -p /var/lib/gitlab/satellites
  107 +mkdir -p /var/lib/gitlab/tmp
  108 +chown -R git:git /var/lib/gitlab
  109 +if [ /usr/bin/redis-server ]; then
  110 + service redis start
  111 + service redis enable
  112 +fi
42 113  
43 114 cd /usr/lib/gitlab/
44   -cp vendor/Gemfile* .
45   -bundle exec rake gitlab:setup RAILS_ENV=production
  115 +yes yes | sudo -u git bundle exec rake gitlab:setup RAILS_ENV=production
46 116  
47 117 %postun
48   -userdel git
49   -
  118 +#TODO Remove
50 119 sudo -u postgres psql -d template1 << EOF
51 120 DROP DATABASE gitlabhq_production;
52 121 DROP USER git;
... ... @@ -55,4 +124,5 @@ EOF
55 124  
56 125 %files
57 126 /usr/lib/gitlab
  127 +/etc/gitlab
58 128 %doc
... ...