[packages/gitlab-ce] different hack to build with rubygems loaded
glen
glen at pld-linux.org
Thu Aug 25 22:43:00 CEST 2016
commit 1924cc2084d28e623733487e9a6e5152b0040525
Author: Elan Ruusamäe <glen at delfi.ee>
Date: Thu Aug 25 23:42:24 2016 +0300
different hack to build with rubygems loaded
https://github.com/ruby-prof/ruby-prof/pull/191
gitlab-ce.spec | 7 +-
revert-5281.patch | 247 ------------------------------------------------------
2 files changed, 4 insertions(+), 250 deletions(-)
---
diff --git a/gitlab-ce.spec b/gitlab-ce.spec
index 21fb7e5..99183c2 100644
--- a/gitlab-ce.spec
+++ b/gitlab-ce.spec
@@ -17,7 +17,7 @@
Summary: A Web interface to create projects and repositories, manage access and do code reviews
Name: gitlab-ce
Version: 8.11.2
-Release: 0.60
+Release: 0.61
License: MIT
Group: Applications/WWW
# md5 deliberately omitted until this package is useful
@@ -37,7 +37,6 @@ Source12: clean-vendor.sh
Source13: nginx.conf
Patch0: 3774.patch
Patch1: pld.patch
-Patch2: revert-5281.patch
URL: https://www.gitlab.com/gitlab-ce/
BuildRequires: cmake
BuildRequires: gmp-devel
@@ -97,7 +96,6 @@ mv config/gitlab.yml.example config/gitlab.yml
mv config/unicorn.rb.example config/unicorn.rb
#%patch0 -p1
%patch1 -p1
-%patch2 -p1
# use mysql for now
mv config/database.yml.mysql config/database.yml
@@ -111,6 +109,9 @@ install -d vendor/bundle
test -d "$cachedir" && cp -aul "$cachedir"/* vendor/bundle
%endif
+# enable-gems to workaround https://github.com/ruby-prof/ruby-prof/pull/191
+# until https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6026 is merged
+RUBYOPT=--enable-gems \
bundle install %{_smp_mflags} \
--verbose \
--deployment \
diff --git a/revert-5281.patch b/revert-5281.patch
deleted file mode 100644
index d2fbcd2..0000000
--- a/revert-5281.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-revert https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5281
-hack due https://github.com/ruby-prof/ruby-prof/pull/191
-
---- b/Gemfile
-+++ a/Gemfile
-@@ -334,8 +334,6 @@
-
- gem 'email_reply_parser', '~> 0.5.8'
-
--gem 'ruby-prof', '~> 0.15.9'
--
- ## CI
- gem 'activerecord-session_store', '~> 1.0.0'
- gem 'nested_form', '~> 0.3.2'
---- b/Gemfile.lock
-+++ a/Gemfile.lock
-@@ -620,7 +620,6 @@
- rubocop (>= 0.40.0)
- ruby-fogbugz (0.2.1)
- crack (~> 0.4)
-- ruby-prof (0.15.9)
- ruby-progressbar (1.8.1)
- ruby-saml (1.3.0)
- nokogiri (>= 1.5.10)
-@@ -949,7 +948,6 @@
- rubocop (~> 0.41.2)
- rubocop-rspec (~> 1.5.0)
- ruby-fogbugz (~> 0.2.1)
-- ruby-prof (~> 0.15.9)
- sanitize (~> 2.0)
- sass-rails (~> 5.0.0)
- scss_lint (~> 0.47.0)
---- b/app/controllers/admin/requests_profiles_controller.rb
-+++ /dev/null
-@@ -1,17 +0,0 @@
--class Admin::RequestsProfilesController < Admin::ApplicationController
-- def index
-- @profile_token = Gitlab::RequestProfiler.profile_token
-- @profiles = Gitlab::RequestProfiler::Profile.all.group_by(&:request_path)
-- end
--
-- def show
-- clean_name = Rack::Utils.clean_path_info(params[:name])
-- profile = Gitlab::RequestProfiler::Profile.find(clean_name)
--
-- if profile
-- render text: profile.content
-- else
-- redirect_to admin_requests_profiles_path, alert: 'Profile not found'
-- end
-- end
--end
---- b/app/views/admin/background_jobs/_head.html.haml
-+++ a/app/views/admin/background_jobs/_head.html.haml
-@@ -16,7 +16,3 @@
- = link_to admin_health_check_path, title: 'Health Check' do
- %span
- Health Check
-- = nav_link(controller: :requests_profiles) do
-- = link_to admin_requests_profiles_path, title: 'Requests Profiles' do
-- %span
-- Requests Profiles
---- b/app/views/admin/requests_profiles/index.html.haml
-+++ /dev/null
-@@ -1,26 +0,0 @@
--- @no_container = true
--- page_title 'Requests Profiles'
--= render 'admin/background_jobs/head'
--
--%div{ class: container_class }
-- %h3.page-title
-- = page_title
--
-- .bs-callout.clearfix
-- Pass the header
-- %code X-Profile-Token: #{@profile_token}
-- to profile the request
--
-- - if @profiles.present?
-- .prepend-top-default
-- - @profiles.each do |path, profiles|
-- .panel.panel-default.panel-small
-- .panel-heading
-- %code= path
-- %ul.content-list
-- - profiles.each do |profile|
-- %li
-- = link_to profile.time.to_s(:long), admin_requests_profile_path(profile), data: {no_turbolink: true}
-- - else
-- %p
-- No profiles found
---- b/app/views/layouts/nav/_admin.html.haml
-+++ a/app/views/layouts/nav/_admin.html.haml
-@@ -9,7 +9,7 @@
- = link_to admin_root_path, title: 'Overview', class: 'shortcuts-tree' do
- %span
- Overview
-+ = nav_link(controller: %w(system_info background_jobs logs health_check)) do
-- = nav_link(controller: %w(system_info background_jobs logs health_check requests_profiles)) do
- = link_to admin_system_info_path, title: 'Monitoring' do
- %span
- Monitoring
---- b/app/workers/requests_profiles_worker.rb
-+++ /dev/null
-@@ -1,9 +0,0 @@
--class RequestsProfilesWorker
-- include Sidekiq::Worker
--
-- sidekiq_options queue: :default
--
-- def perform
-- Gitlab::RequestProfiler.remove_all_profiles
-- end
--end
---- gitlabhq-8.11.0/config/initializers/request_profiler.rb 2016-08-22 15:27:22.000000000 +0300
-+++ /dev/null 2007-02-13 18:29:53.000000000 +0200
-@@ -1,5 +0,0 @@
--require 'gitlab/request_profiler/middleware'
--
--Rails.application.configure do |config|
-- config.middleware.use(Gitlab::RequestProfiler::Middleware)
--end
---- b/lib/gitlab/request_profiler.rb
-+++ /dev/null
-@@ -1,19 +0,0 @@
--require 'fileutils'
--
--module Gitlab
-- module RequestProfiler
-- PROFILES_DIR = "#{Gitlab.config.shared.path}/tmp/requests_profiles"
--
-- def profile_token
-- Rails.cache.fetch('profile-token') do
-- Devise.friendly_token
-- end
-- end
-- module_function :profile_token
--
-- def remove_all_profiles
-- FileUtils.rm_rf(PROFILES_DIR)
-- end
-- module_function :remove_all_profiles
-- end
--end
---- gitlabhq-8.11.0/lib/gitlab/request_profiler/middleware.rb 2016-08-22 15:27:22.000000000 +0300
-+++ /dev/null 2007-02-13 18:29:53.000000000 +0200
-@@ -1,54 +0,0 @@
--require 'ruby-prof'
--require_dependency 'gitlab/request_profiler'
--
--module Gitlab
-- module RequestProfiler
-- class Middleware
-- def initialize(app)
-- @app = app
-- end
--
-- def call(env)
-- if profile?(env)
-- call_with_profiling(env)
-- else
-- @app.call(env)
-- end
-- end
--
-- def profile?(env)
-- header_token = env['HTTP_X_PROFILE_TOKEN']
-- return unless header_token.present?
--
-- profile_token = RequestProfiler.profile_token
-- return unless profile_token.present?
--
-- header_token == profile_token
-- end
--
-- def call_with_profiling(env)
-- ret = nil
-- result = RubyProf::Profile.profile do
-- ret = catch(:warden) do
-- @app.call(env)
-- end
-- end
--
-- printer = RubyProf::CallStackPrinter.new(result)
-- file_name = "#{env['PATH_INFO'].tr('/', '|')}_#{Time.current.to_i}.html"
-- file_path = "#{PROFILES_DIR}/#{file_name}"
--
-- FileUtils.mkdir_p(PROFILES_DIR)
-- File.open(file_path, 'wb') do |file|
-- printer.print(file)
-- end
--
-- if ret.is_a?(Array)
-- ret
-- else
-- throw(:warden, ret)
-- end
-- end
-- end
-- end
--end
---- b/lib/gitlab/request_profiler/profile.rb
-+++ /dev/null
-@@ -1,43 +0,0 @@
--module Gitlab
-- module RequestProfiler
-- class Profile
-- attr_reader :name, :time, :request_path
--
-- alias_method :to_param, :name
--
-- def self.all
-- Dir["#{PROFILES_DIR}/*.html"].map do |path|
-- new(File.basename(path))
-- end
-- end
--
-- def self.find(name)
-- name_dup = name.dup
-- name_dup << '.html' unless name.end_with?('.html')
--
-- file_path = "#{PROFILES_DIR}/#{name_dup}"
-- return unless File.exist?(file_path)
--
-- new(name_dup)
-- end
--
-- def initialize(name)
-- @name = name
--
-- set_attributes
-- end
--
-- def content
-- File.read("#{PROFILES_DIR}/#{name}")
-- end
--
-- private
--
-- def set_attributes
-- _, path, timestamp = name.split(/(.*)_(\d+)\.html$/)
-- @request_path = path.tr('|', '/')
-- @time = Time.at(timestamp.to_i).utc
-- end
-- end
-- end
--end
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/gitlab-ce.git/commitdiff/1924cc2084d28e623733487e9a6e5152b0040525
More information about the pld-cvs-commit
mailing list