Permalink
Browse files

add git, runit and build-essential cookbooks

  • Loading branch information...
1 parent 4aa7f18 commit 4d18e010b691685fbf2e1d4336c7d7089c09616f @phlipper phlipper committed Jan 23, 2011
@@ -0,0 +1,23 @@
+DESCRIPTION
+===========
+
+Installs packages required for compiling C software from source.
+
+LICENSE AND AUTHOR
+==================
+
+Author:: Joshua Timberman (<joshua@opscode.com>)
+
+Copyright 2009, Opscode, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
@@ -0,0 +1,45 @@
+{
+ "recommendations": {
+ },
+ "attributes": {
+ },
+ "maintainer": "Opscode, Inc.",
+ "suggestions": {
+ },
+ "dependencies": {
+ },
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
+ "platforms": {
+ "debian": [
+
+ ],
+ "centos": [
+
+ ],
+ "fedora": [
+
+ ],
+ "ubuntu": [
+
+ ],
+ "redhat": [
+
+ ]
+ },
+ "license": "Apache 2.0",
+ "version": "0.7.1",
+ "providing": {
+ },
+ "recipes": {
+ "build-essential": "Installs C compiler and build tools on Linux"
+ },
+ "replacing": {
+ },
+ "name": "build-essential",
+ "description": "Installs C compiler / build tools",
+ "groupings": {
+ },
+ "long_description": ""
+ }
@@ -0,0 +1,10 @@
+maintainer "Opscode, Inc."
+maintainer_email "cookbooks@opscode.com"
+license "Apache 2.0"
+description "Installs C compiler / build tools"
+version "0.7.1"
+recipe "build-essential", "Installs C compiler and build tools on Linux"
+
+%w{ fedora redhat centos ubuntu debian }.each do |os|
+ supports os
+end
@@ -0,0 +1,43 @@
+#
+# Cookbook Name:: build-essential
+# Recipe:: default
+#
+# Copyright 2008-2009, Opscode, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+case node[:platform]
+when "ubuntu","debian"
+ %w{build-essential binutils-doc}.each do |pkg|
+ package pkg do
+ action :install
+ end
+ end
+when "centos"
+ package "gcc" do
+ action :install
+ end
+end
+
+package "autoconf" do
+ action :install
+end
+
+package "flex" do
+ action :install
+end
+
+package "bison" do
+ action :install
+end
@@ -0,0 +1,37 @@
+= DESCRIPTION:
+
+Installs git.
+
+= REQUIREMENTS:
+
+== Cookbooks:
+
+Opscode Cookbooks (http://github.com/opscode/cookbooks/tree/master)
+
+* runit
+
+= USAGE:
+
+This cookbook primarily installs git core packages. It can also be used to serve git repositories.
+
+ include_recipe "git::server"
+
+This creates the directory /srv/git and starts a git daemon, exporting all repositories found. Repositories need to be added manually, but will be available once they are created.
+
+= LICENSE and AUTHOR:
+
+Author:: Joshua Timberman (<joshua@opscode.com>)
+
+Copyright:: 2009, Opscode, Inc
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
@@ -0,0 +1,43 @@
+{
+ "name": "git",
+ "description": "Installs git and/or sets up a Git server daemon",
+ "long_description": "= DESCRIPTION:\n\nInstalls git.\n\n= REQUIREMENTS:\n\n== Cookbooks:\n\nOpscode Cookbooks (http://github.com/opscode/cookbooks/tree/master)\n\n* runit\n\n= USAGE:\n\nThis cookbook primarily installs git core packages. It can also be used to serve git repositories.\n\n include_recipe \"git::server\"\n\nThis creates the directory /srv/git and starts a git daemon, exporting all repositories found. Repositories need to be added manually, but will be available once they are created.\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.",
+ "maintainer": "Opscode, Inc.",
+ "maintainer_email": "cookbooks@opscode.com",
+ "license": "Apache 2.0",
+ "platforms": {
+ "ubuntu": [
+
+ ],
+ "debian": [
+
+ ],
+ "arch": [
+
+ ]
+ },
+ "dependencies": {
+ "runit": [
+
+ ]
+ },
+ "recommendations": {
+ },
+ "suggestions": {
+ },
+ "conflicting": {
+ },
+ "providing": {
+ },
+ "replacing": {
+ },
+ "attributes": {
+ },
+ "groupings": {
+ },
+ "recipes": {
+ "git": "Installs git",
+ "git::server": "Sets up a runit_service for git daemon"
+ },
+ "version": "0.9.0"
+}
@@ -0,0 +1,16 @@
+maintainer "Opscode, Inc."
+maintainer_email "cookbooks@opscode.com"
+license "Apache 2.0"
+description "Installs git and/or sets up a Git server daemon"
+long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
+version "0.9.0"
+recipe "git", "Installs git"
+recipe "git::server", "Sets up a runit_service for git daemon"
+
+%w{ ubuntu debian arch}.each do |os|
+ supports os
+end
+
+%w{ runit }.each do |cb|
+ depends cb
+end
@@ -0,0 +1,24 @@
+#
+# Cookbook Name:: git
+# Recipe:: default
+#
+# Copyright 2008-2009, Opscode, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+case node[:platform]
+when "debian", "ubuntu"
+ package "git-core"
+else
+ package "git"
+end
@@ -0,0 +1,34 @@
+#
+# Cookbook Name:: git
+# Recipe:: server
+#
+# Copyright 2009, Opscode, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+include_recipe "git"
+
+directory "/srv/git" do
+ owner "root"
+ group "root"
+ mode 0755
+end
+
+case node[:platform]
+when "debian", "ubuntu"
+ include_recipe "runit"
+ runit_service "git-daemon"
+else
+ log "Platform requires setting up a git daemon service script."
+ log "Hint: /usr/bin/git daemon --export-all --user=nobody --group=daemon --base-path=/srv/git"
+end
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec svlogd -tt ./main
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec /usr/bin/git daemon --export-all --user=nobody --group=daemon --base-path=/srv/git /srv/git
@@ -0,0 +1,31 @@
+#
+# Cookbook Name:: runit
+# Attribute File:: sv_bin
+#
+# Copyright 2008-2009, Opscode, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+case platform
+when "ubuntu","debian"
+ set[:runit][:sv_bin] = "/usr/bin/sv"
+ set[:runit][:chpst_bin] = "/usr/bin/chpst"
+ set[:runit][:service_dir] = "/etc/service"
+ set[:runit][:sv_dir] = "/etc/sv"
+when "gentoo"
+ set[:runit][:sv_bin] = "/usr/bin/sv"
+ set[:runit][:chpst_bin] = "/usr/bin/chpst"
+ set[:runit][:service_dir] = "/etc/service"
+ set[:runit][:sv_dir] = "/var/service"
+end
Oops, something went wrong.

0 comments on commit 4d18e01

Please sign in to comment.