Commit 9d9cb8bf1e095528efab376461b941dc8d0f409e

Authored by Jacob Vosmaer
2 parents 4847f64c 170bd8a0

Merge branch 'update/runit_and_omnibus_ctl' into 'master'

Update Runit and omnibus-ctl
Showing 2 changed files with 1 additions and 117 deletions   Show diff stats
1 GIT 1 GIT
2 remote: git://github.com/opscode/omnibus-software.git 2 remote: git://github.com/opscode/omnibus-software.git
3 - revision: b8df088da757fa839a82d0e8e9a3d2300e13cc63 3 + revision: ff864b6b046107972f57c3b4855915ae5c99f6fd
4 branch: master 4 branch: master
5 specs: 5 specs:
6 omnibus-software (0.0.1) 6 omnibus-software (0.0.1)
config/software/runit.rb
@@ -1,116 +0,0 @@ @@ -1,116 +0,0 @@
1 -#  
2 -# Copyright:: Copyright (c) 2012-2014 Chef Software, Inc.  
3 -# Copyright:: Copyright (c) 2014 GitLab.com  
4 -# License:: Apache License, Version 2.0  
5 -#  
6 -# Licensed under the Apache License, Version 2.0 (the "License");  
7 -# you may not use this file except in compliance with the License.  
8 -# You may obtain a copy of the License at  
9 -#  
10 -# http://www.apache.org/licenses/LICENSE-2.0  
11 -#  
12 -# Unless required by applicable law or agreed to in writing, software  
13 -# distributed under the License is distributed on an "AS IS" BASIS,  
14 -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
15 -# See the License for the specific language governing permissions and  
16 -# limitations under the License.  
17 -#  
18 -  
19 -name "runit"  
20 -default_version "2.1.1"  
21 -  
22 -source :url => "http://smarden.org/runit/runit-2.1.1.tar.gz",  
23 - :md5 => "8fa53ea8f71d88da9503f62793336bc3"  
24 -  
25 -relative_path "admin"  
26 -  
27 -working_dir = "#{project_dir}/runit-2.1.1"  
28 -  
29 -build do  
30 - # put runit where we want it, not where they tell us to  
31 - command 'sed -i -e "s/^char\ \*varservice\ \=\"\/service\/\";$/char\ \*varservice\ \=\"' + project.install_path.gsub("/", "\\/") + '\/service\/\";/" src/sv.c', :cwd => working_dir  
32 - # TODO: the following is not idempotent  
33 - command "sed -i -e s:-static:: src/Makefile", :cwd => working_dir  
34 -  
35 - # build it  
36 - command "make", :cwd => "#{working_dir}/src"  
37 - command "make check", :cwd => "#{working_dir}/src"  
38 -  
39 - # move it  
40 - command "mkdir -p #{install_dir}/embedded/bin"  
41 - ["src/chpst",  
42 - "src/runit",  
43 - "src/runit-init",  
44 - "src/runsv",  
45 - "src/runsvchdir",  
46 - "src/runsvdir",  
47 - "src/sv",  
48 - "src/svlogd",  
49 - "src/utmpset"].each do |bin|  
50 - command "cp #{bin} #{install_dir}/embedded/bin", :cwd => working_dir  
51 - end  
52 -  
53 - block do  
54 - install_path = self.project.install_path  
55 - open("#{install_dir}/embedded/bin/runsvdir-start", "w") do |file|  
56 - file.print <<-EOH  
57 -#!/bin/bash  
58 -#  
59 -# Copyright:: Copyright (c) 2012-2014 Chef Software, Inc.  
60 -# License:: Apache License, Version 2.0  
61 -#  
62 -# Licensed under the Apache License, Version 2.0 (the "License");  
63 -# you may not use this file except in compliance with the License.  
64 -# You may obtain a copy of the License at  
65 -#  
66 -# http://www.apache.org/licenses/LICENSE-2.0  
67 -#  
68 -# Unless required by applicable law or agreed to in writing, software  
69 -# distributed under the License is distributed on an "AS IS" BASIS,  
70 -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
71 -# See the License for the specific language governing permissions and  
72 -# limitations under the License.  
73 -#  
74 -  
75 -PATH=#{install_path}/bin:#{install_path}/embedded/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin  
76 -  
77 -# enforce our own ulimits  
78 -  
79 -ulimit -c 0  
80 -ulimit -d unlimited  
81 -ulimit -e 0  
82 -ulimit -f unlimited  
83 -ulimit -i 62793  
84 -ulimit -l 64  
85 -ulimit -m unlimited  
86 -# WARNING: increasing the global file descriptor limit increases RAM consumption on startup dramatically  
87 -ulimit -n 50000  
88 -ulimit -q 819200  
89 -ulimit -r 0  
90 -ulimit -s 10240  
91 -ulimit -t unlimited  
92 -ulimit -u unlimited  
93 -ulimit -v unlimited  
94 -ulimit -x unlimited  
95 -echo "1000000" > /proc/sys/fs/file-max  
96 -  
97 -# and our ulimit  
98 -  
99 -umask 022  
100 -  
101 -exec env - PATH=$PATH \  
102 -runsvdir -P #{install_path}/service 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................'  
103 - EOH  
104 - end  
105 - end  
106 -  
107 - command "chmod 755 #{install_dir}/embedded/bin/runsvdir-start"  
108 -  
109 - # set up service directories  
110 - ["#{install_dir}/service",  
111 - "#{install_dir}/sv",  
112 - "#{install_dir}/init"].each do |dir|  
113 - command "mkdir -p #{dir}"  
114 - command "touch #{dir}/.gitkeep"  
115 - end  
116 -end