Commit 001a3c05bed0c5d5b5450ab5e7005cd64e10b5d6

Authored by Antonio Terceiro
1 parent b896fe57
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

Structure for multiple OBS projects

Makefile
  1 +packages = $(shell basename --suffix=.spec specs/*/*.spec)
  2 +
1 3 all:
2 4 @echo "Usage:"
3 5 @echo
4   - @echo 'make gitlab # uploads gitlab.spec to obs'
5   - @echo 'make gitlab-shell # uploads gitlab-shell.spec to obs'
6   -
7   -gitlab gitlab-shell:
8   - $(MAKE) upload PACKAGE=$@
  6 + @for pkg in $(packages); do printf 'make %-20s # uploads %s.spec to obs\n' $$pkg $$pkg; done
9 7  
10   -obs_project = isv:spb:gitlab
  8 +$(packages):
  9 + @spec=$$(find specs/ -name $@.spec); \
  10 + project=isb:spb:$$(basename $$(dirname $$spec)); \
  11 + $(MAKE) upload package=$@ spec=$$spec project=$$project
11 12  
12 13 upload:
13   - test -n "$(PACKAGE)"
14 14 mkdir -p obs
15   - if test -d obs/$(obs_project)/$(PACKAGE); then (cd obs/$(obs_project)/$(PACKAGE) && osc update); else (cd obs && osc checkout $(obs_project) $(PACKAGE)); fi
16   - cp $(PACKAGE).spec obs/isv:spb:gitlab/$(PACKAGE)/
17   - cd obs/isv:spb:gitlab/$(PACKAGE) && osc commit -m 'Update $(PACKAGE)'
  15 + if test -d obs/$(project)/$(package); then (cd obs/$(project)/$(package) && osc update); else (cd obs && osc checkout $(project) $(PACKAGE)); fi
  16 + cp $(spec) obs/$(project)/$(package)/
  17 + cd obs/$(project)/$(PACKAGE) && osc commit -m 'Update $(package)'
... ...
gitlab-shell.spec
... ... @@ -1,83 +0,0 @@
1   -Name: gitlab-shell
2   -Version: 2.4.0
3   -Release: 2%{?dist}
4   -Summary: Software Development Platform
5   -
6   -Group: Development/Tools
7   -License: Expat
8   -URL: https://gitlab.com/gitlab-org/gitlab-shell
9   -Source0: %{name}-%{version}.tar.gz
10   -BuildArch: noarch
11   -
12   -# BuildRequires:
13   -Requires: ruby >= 1.9, redis
14   -
15   -%description
16   -Gitlab-shell
17   -
18   -%prep
19   -%setup -q
20   -
21   -%build
22   -cat > config.yml <<EOF
23   -user: git
24   -gitlab_url: "http://localhost:8080/"
25   -
26   -http_settings:
27   -# user: someone
28   -# password: somepass
29   -# ca_file: /etc/ssl/cert.pem
30   -# ca_path: /etc/pki/tls/certs
31   - self_signed_cert: false
32   -
33   -repos_path: "/var/lib/gitlab/repositories/"
34   -auth_file: "/var/lib/gitlab-shell/.ssh/authorized_keys"
35   -
36   -redis:
37   - bin: /usr/bin/redis-cli
38   - host: 127.0.0.1
39   - port: 6379
40   - # pass: redispass # Allows you to specify the password for Redis
41   - #database: 0
42   - #socket: /var/run/redis/redis.sock # Comment out this line if you want to use TCP
43   - #namespace: resque:gitlab
44   -
45   -log_file: "/var/log/gitlab-shell/gitlab-shell.log"
46   -log_level: INFO
47   -audit_usernames: false
48   -EOF
49   -
50   -%install
51   -mkdir -p %{buildroot}/usr/lib/gitlab-shell
52   -mkdir -p %{buildroot}/etc/gitlab-shell
53   -
54   -mv config.yml %{buildroot}/etc/gitlab-shell
55   -ln -s /etc/gitlab-shell/config.yml %{buildroot}/usr/lib/gitlab-shell/
56   -
57   -cp -r . %{buildroot}/usr/lib/gitlab-shell
58   -
59   -%post
60   -groupadd git || true
61   -if ! id git; then
62   - adduser --system --home-dir /usr/lib/gitlab --no-create-home --gid git git
63   -fi
64   -
65   -mkdir -p /var/log/gitlab-shell
66   -mkdir -p /var/lib/gitlab-shell/.ssh
67   -
68   -ln -s /var/lib/gitlab-shell/.ssh /usr/lib/gitlab/.ssh
69   -
70   -chown -R git:git /var/log/gitlab-shell
71   -chown -R git:git /var/lib/gitlab-shell
72   -
73   -ln -s /var/lib/gitlab/.gitlab_shell_secret /usr/lib/gitlab-shell/.gitlab_shell_secret
74   -
75   -sudo -u git -H /usr/lib/gitlab-shell/bin/install
76   -
77   -%files
78   -/usr/lib/gitlab-shell
79   -/etc/gitlab-shell
80   -
81   -
82   -%changelog
83   -
gitlab.spec
... ... @@ -1,143 +0,0 @@
1   -Name: gitlab
2   -Version: 7.6.2
3   -Release: 4%{?dist}
4   -Summary: Software Development Platform
5   -Group: Development/Tools
6   -License: Expat
7   -URL: https://beta.softwarepublico.gov.br/gitlab/softwarepublico/gitlab
8   -Source0: %{name}-%{version}.tar.gz
9   -BuildArch: noarch
10   -BuildRequires: gitlab-deps
11   -Requires: gitlab-deps, gitlab-shell, git
12   -
13   -%description
14   -GitLab
15   -
16   -%prep
17   -%setup -q
18   -#%patch0 -p 1
19   -
20   -%build
21   -cat > config/gitlab.yml <<EOF
22   -production: &base
23   - gitlab:
24   - host: localhost
25   - port: 80 # Set to 443 if using HTTPS
26   - https: false # Set to true if using HTTPS
27   - email_from: example@example.com
28   - default_projects_limit: 10
29   - default_projects_features:
30   - issues: true
31   - merge_requests: true
32   - wiki: true
33   - snippets: false
34   - visibility_level: "private" # can be "private" | "internal" | "public"
35   - gravatar:
36   - enabled: true
37   - plain_url: "http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
38   - ssl_url: "https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
39   - omniauth:
40   - # Allow login via Twitter, Google, etc. using OmniAuth providers
41   - enabled: false
42   - allow_single_sign_on: false
43   - block_auto_created_users: true
44   - providers:
45   - # - { name: 'google_oauth2', app_id: 'YOUR APP ID',
46   - # app_secret: 'YOUR APP SECRET',
47   - # args: { access_type: 'offline', approval_prompt: '' } }
48   - satellites:
49   - path: /var/lib/gitlab/satellites
50   - timeout: 30
51   - backup:
52   - path: /var/lib/gitlab/backups
53   - gitlab_shell:
54   - path: /usr/lib/gitlab-shell
55   - repos_path: /var/lib/gitlab/repositories/
56   - hooks_path: /usr/lib/gitlab-shell/hooks/
57   - # Git over HTTP
58   - upload_pack: true
59   - receive_pack: true
60   - git:
61   - bin_path: /usr/bin/git
62   - max_size: 20971520 # 20.megabytes
63   - timeout: 10
64   - extra:
65   - ## Piwik analytics.
66   - # piwik_url: '_your_piwik_url'
67   - # piwik_site_id: '_your_piwik_site_id'
68   -
69   - ## Text under sign-in page (Markdown enabled)
70   - # sign_in_text: |
71   - # ![Company Logo](http://www.companydomain.com/logo.png)
72   - # [Learn more about CompanyName](http://www.companydomain.com/)
73   -EOF
74   -
75   -%install
76   -mkdir -p %{buildroot}/etc/gitlab
77   -mv config/gitlab.yml %{buildroot}/etc/gitlab/gitlab.yml
78   -cp config/unicorn.rb.example %{buildroot}/etc/gitlab/unicorn.rb
79   -cp config/database.yml.postgresql %{buildroot}/etc/gitlab/database.yml
80   -
81   -sed -i 's/\/home\/\git/\/usr\/lib/' %{buildroot}/etc/gitlab/unicorn.rb
82   -
83   -mkdir -p %{buildroot}/usr/lib/gitlab
84   -cp -r app bin config config.ru db doc GITLAB_SHELL_VERSION lib Procfile public Rakefile vendor VERSION %{buildroot}/usr/lib/gitlab/
85   -mv %{buildroot}/usr/lib/gitlab/config/initializers/rack_attack.rb.example %{buildroot}/usr/lib/gitlab/config/initializers/rack_attack.rb
86   -for configfile in gitlab.yml unicorn.rb database.yml; do
87   - ln -s /etc/gitlab/$configfile %{buildroot}/usr/lib/gitlab/config
88   -done
89   -ln -s /var/log/gitlab %{buildroot}/usr/lib/gitlab/log
90   -ln -s /var/lib/gitlab/tmp %{buildroot}/usr/lib/gitlab/tmp
91   -ln -s /var/lib/gitlab/.gitlab_shell_secret %{buildroot}/usr/lib/gitlab/.gitlab_shell_secret
92   -ln -s /var/lib/gitlab/.secret %{buildroot}/usr/lib/gitlab/.secret
93   -ln -s /var/lib/gitlab-assets %{buildroot}/usr/lib/gitlab/public/assets
94   -
95   -%post
96   -groupadd git || true
97   -if ! id git; then
98   - adduser --system --home-dir /usr/lib/gitlab --no-create-home --gid git git
99   -fi
100   -if [ -x /usr/bin/postgres ]; then
101   - service postgresql initdb || true
102   - service postgresql start
103   - sudo -u postgres createuser --createdb git || true
104   -fi
105   -mkdir -p /var/log/gitlab
106   -chown -R git:git /var/log/gitlab
107   -mkdir -p /var/lib/gitlab/backups
108   -mkdir -p /var/lib/gitlab/repositories
109   -mkdir -p /var/lib/gitlab/satellites
110   -mkdir -p /var/lib/gitlab/tmp
111   -touch /var/lib/gitlab/.gitconfig
112   -ln -s /var/lib/gitlab/.gitconfig /usr/lib/gitlab/.gitconfig
113   -chown -R git:git /var/lib/gitlab
114   -chmod u+rwx,g=rx,o-rwx /var/lib/gitlab/satellites
115   -
116   -if [ /usr/bin/redis-server ]; then
117   - service redis start
118   -fi
119   -
120   -sudo -u git -H "/usr/bin/git" config --global user.name "GitLab"
121   -sudo -u git -H "/usr/bin/git" config --global user.email "example@example.com"
122   -sudo -u git -H "/usr/bin/git" config --global core.autocrlf "input"
123   -
124   -mkdir -p /var/lib/gitlab-assets
125   -
126   -cd /usr/lib/gitlab/
127   -yes yes | sudo -u git bundle exec rake gitlab:setup RAILS_ENV=production
128   -bundle exec rake assets:precompile RAILS_ENV=production
129   -
130   -cp /usr/lib/gitlab/lib/support/init.d/gitlab /etc/init.d/gitlab
131   -cp /usr/lib/gitlab/lib/support/init.d/gitlab.default.example /etc/default/gitlab
132   -cp /usr/lib/gitlab/lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
133   -
134   -sed -i 's/app_root="\/home\/\$app_user\/gitlab"/app_root="\/usr\/lib\/gitlab"/' /etc/default/gitlab
135   -sed -i 's/\/home\/\git/\/usr\/lib/' /etc/logrotate.d/gitlab
136   -
137   -%postun
138   -service gitlab stop
139   -
140   -%files
141   -/usr/lib/gitlab
142   -/etc/gitlab
143   -%doc
specs/gitlab/gitlab-shell.spec 0 → 100644
... ... @@ -0,0 +1,83 @@
  1 +Name: gitlab-shell
  2 +Version: 2.4.0
  3 +Release: 2%{?dist}
  4 +Summary: Software Development Platform
  5 +
  6 +Group: Development/Tools
  7 +License: Expat
  8 +URL: https://gitlab.com/gitlab-org/gitlab-shell
  9 +Source0: %{name}-%{version}.tar.gz
  10 +BuildArch: noarch
  11 +
  12 +# BuildRequires:
  13 +Requires: ruby >= 1.9, redis
  14 +
  15 +%description
  16 +Gitlab-shell
  17 +
  18 +%prep
  19 +%setup -q
  20 +
  21 +%build
  22 +cat > config.yml <<EOF
  23 +user: git
  24 +gitlab_url: "http://localhost:8080/"
  25 +
  26 +http_settings:
  27 +# user: someone
  28 +# password: somepass
  29 +# ca_file: /etc/ssl/cert.pem
  30 +# ca_path: /etc/pki/tls/certs
  31 + self_signed_cert: false
  32 +
  33 +repos_path: "/var/lib/gitlab/repositories/"
  34 +auth_file: "/var/lib/gitlab-shell/.ssh/authorized_keys"
  35 +
  36 +redis:
  37 + bin: /usr/bin/redis-cli
  38 + host: 127.0.0.1
  39 + port: 6379
  40 + # pass: redispass # Allows you to specify the password for Redis
  41 + #database: 0
  42 + #socket: /var/run/redis/redis.sock # Comment out this line if you want to use TCP
  43 + #namespace: resque:gitlab
  44 +
  45 +log_file: "/var/log/gitlab-shell/gitlab-shell.log"
  46 +log_level: INFO
  47 +audit_usernames: false
  48 +EOF
  49 +
  50 +%install
  51 +mkdir -p %{buildroot}/usr/lib/gitlab-shell
  52 +mkdir -p %{buildroot}/etc/gitlab-shell
  53 +
  54 +mv config.yml %{buildroot}/etc/gitlab-shell
  55 +ln -s /etc/gitlab-shell/config.yml %{buildroot}/usr/lib/gitlab-shell/
  56 +
  57 +cp -r . %{buildroot}/usr/lib/gitlab-shell
  58 +
  59 +%post
  60 +groupadd git || true
  61 +if ! id git; then
  62 + adduser --system --home-dir /usr/lib/gitlab --no-create-home --gid git git
  63 +fi
  64 +
  65 +mkdir -p /var/log/gitlab-shell
  66 +mkdir -p /var/lib/gitlab-shell/.ssh
  67 +
  68 +ln -s /var/lib/gitlab-shell/.ssh /usr/lib/gitlab/.ssh
  69 +
  70 +chown -R git:git /var/log/gitlab-shell
  71 +chown -R git:git /var/lib/gitlab-shell
  72 +
  73 +ln -s /var/lib/gitlab/.gitlab_shell_secret /usr/lib/gitlab-shell/.gitlab_shell_secret
  74 +
  75 +sudo -u git -H /usr/lib/gitlab-shell/bin/install
  76 +
  77 +%files
  78 +/usr/lib/gitlab-shell
  79 +/etc/gitlab-shell
  80 +
  81 +
  82 +%changelog
  83 +
... ...
specs/gitlab/gitlab.spec 0 → 100644
... ... @@ -0,0 +1,143 @@
  1 +Name: gitlab
  2 +Version: 7.6.2
  3 +Release: 4%{?dist}
  4 +Summary: Software Development Platform
  5 +Group: Development/Tools
  6 +License: Expat
  7 +URL: https://beta.softwarepublico.gov.br/gitlab/softwarepublico/gitlab
  8 +Source0: %{name}-%{version}.tar.gz
  9 +BuildArch: noarch
  10 +BuildRequires: gitlab-deps
  11 +Requires: gitlab-deps, gitlab-shell, git
  12 +
  13 +%description
  14 +GitLab
  15 +
  16 +%prep
  17 +%setup -q
  18 +#%patch0 -p 1
  19 +
  20 +%build
  21 +cat > config/gitlab.yml <<EOF
  22 +production: &base
  23 + gitlab:
  24 + host: localhost
  25 + port: 80 # Set to 443 if using HTTPS
  26 + https: false # Set to true if using HTTPS
  27 + email_from: example@example.com
  28 + default_projects_limit: 10
  29 + default_projects_features:
  30 + issues: true
  31 + merge_requests: true
  32 + wiki: true
  33 + snippets: false
  34 + visibility_level: "private" # can be "private" | "internal" | "public"
  35 + gravatar:
  36 + enabled: true
  37 + plain_url: "http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
  38 + ssl_url: "https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
  39 + omniauth:
  40 + # Allow login via Twitter, Google, etc. using OmniAuth providers
  41 + enabled: false
  42 + allow_single_sign_on: false
  43 + block_auto_created_users: true
  44 + providers:
  45 + # - { name: 'google_oauth2', app_id: 'YOUR APP ID',
  46 + # app_secret: 'YOUR APP SECRET',
  47 + # args: { access_type: 'offline', approval_prompt: '' } }
  48 + satellites:
  49 + path: /var/lib/gitlab/satellites
  50 + timeout: 30
  51 + backup:
  52 + path: /var/lib/gitlab/backups
  53 + gitlab_shell:
  54 + path: /usr/lib/gitlab-shell
  55 + repos_path: /var/lib/gitlab/repositories/
  56 + hooks_path: /usr/lib/gitlab-shell/hooks/
  57 + # Git over HTTP
  58 + upload_pack: true
  59 + receive_pack: true
  60 + git:
  61 + bin_path: /usr/bin/git
  62 + max_size: 20971520 # 20.megabytes
  63 + timeout: 10
  64 + extra:
  65 + ## Piwik analytics.
  66 + # piwik_url: '_your_piwik_url'
  67 + # piwik_site_id: '_your_piwik_site_id'
  68 +
  69 + ## Text under sign-in page (Markdown enabled)
  70 + # sign_in_text: |
  71 + # ![Company Logo](http://www.companydomain.com/logo.png)
  72 + # [Learn more about CompanyName](http://www.companydomain.com/)
  73 +EOF
  74 +
  75 +%install
  76 +mkdir -p %{buildroot}/etc/gitlab
  77 +mv config/gitlab.yml %{buildroot}/etc/gitlab/gitlab.yml
  78 +cp config/unicorn.rb.example %{buildroot}/etc/gitlab/unicorn.rb
  79 +cp config/database.yml.postgresql %{buildroot}/etc/gitlab/database.yml
  80 +
  81 +sed -i 's/\/home\/\git/\/usr\/lib/' %{buildroot}/etc/gitlab/unicorn.rb
  82 +
  83 +mkdir -p %{buildroot}/usr/lib/gitlab
  84 +cp -r app bin config config.ru db doc GITLAB_SHELL_VERSION lib Procfile public Rakefile vendor VERSION %{buildroot}/usr/lib/gitlab/
  85 +mv %{buildroot}/usr/lib/gitlab/config/initializers/rack_attack.rb.example %{buildroot}/usr/lib/gitlab/config/initializers/rack_attack.rb
  86 +for configfile in gitlab.yml unicorn.rb database.yml; do
  87 + ln -s /etc/gitlab/$configfile %{buildroot}/usr/lib/gitlab/config
  88 +done
  89 +ln -s /var/log/gitlab %{buildroot}/usr/lib/gitlab/log
  90 +ln -s /var/lib/gitlab/tmp %{buildroot}/usr/lib/gitlab/tmp
  91 +ln -s /var/lib/gitlab/.gitlab_shell_secret %{buildroot}/usr/lib/gitlab/.gitlab_shell_secret
  92 +ln -s /var/lib/gitlab/.secret %{buildroot}/usr/lib/gitlab/.secret
  93 +ln -s /var/lib/gitlab-assets %{buildroot}/usr/lib/gitlab/public/assets
  94 +
  95 +%post
  96 +groupadd git || true
  97 +if ! id git; then
  98 + adduser --system --home-dir /usr/lib/gitlab --no-create-home --gid git git
  99 +fi
  100 +if [ -x /usr/bin/postgres ]; then
  101 + service postgresql initdb || true
  102 + service postgresql start
  103 + sudo -u postgres createuser --createdb git || true
  104 +fi
  105 +mkdir -p /var/log/gitlab
  106 +chown -R git:git /var/log/gitlab
  107 +mkdir -p /var/lib/gitlab/backups
  108 +mkdir -p /var/lib/gitlab/repositories
  109 +mkdir -p /var/lib/gitlab/satellites
  110 +mkdir -p /var/lib/gitlab/tmp
  111 +touch /var/lib/gitlab/.gitconfig
  112 +ln -s /var/lib/gitlab/.gitconfig /usr/lib/gitlab/.gitconfig
  113 +chown -R git:git /var/lib/gitlab
  114 +chmod u+rwx,g=rx,o-rwx /var/lib/gitlab/satellites
  115 +
  116 +if [ /usr/bin/redis-server ]; then
  117 + service redis start
  118 +fi
  119 +
  120 +sudo -u git -H "/usr/bin/git" config --global user.name "GitLab"
  121 +sudo -u git -H "/usr/bin/git" config --global user.email "example@example.com"
  122 +sudo -u git -H "/usr/bin/git" config --global core.autocrlf "input"
  123 +
  124 +mkdir -p /var/lib/gitlab-assets
  125 +
  126 +cd /usr/lib/gitlab/
  127 +yes yes | sudo -u git bundle exec rake gitlab:setup RAILS_ENV=production
  128 +bundle exec rake assets:precompile RAILS_ENV=production
  129 +
  130 +cp /usr/lib/gitlab/lib/support/init.d/gitlab /etc/init.d/gitlab
  131 +cp /usr/lib/gitlab/lib/support/init.d/gitlab.default.example /etc/default/gitlab
  132 +cp /usr/lib/gitlab/lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
  133 +
  134 +sed -i 's/app_root="\/home\/\$app_user\/gitlab"/app_root="\/usr\/lib\/gitlab"/' /etc/default/gitlab
  135 +sed -i 's/\/home\/\git/\/usr\/lib/' /etc/logrotate.d/gitlab
  136 +
  137 +%postun
  138 +service gitlab stop
  139 +
  140 +%files
  141 +/usr/lib/gitlab
  142 +/etc/gitlab
  143 +%doc
... ...