forked from ungleich-public/cdist
		
	Merge branch 'rvm-types' of https://github.com/evax/cdist
This commit is contained in:
		
				commit
				
					
						6df60b9908
					
				
			
		
					 23 changed files with 715 additions and 0 deletions
				
			
		
							
								
								
									
										26
									
								
								conf/type/__rvm/explorer/state
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								conf/type/__rvm/explorer/state
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,26 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | user="$__object_id" | ||||||
|  | if su - $user -c "[ -d \"\$HOME/.rvm\" ]" ; then | ||||||
|  |    echo "installed" | ||||||
|  | else | ||||||
|  |    echo "removed" | ||||||
|  | fi | ||||||
							
								
								
									
										39
									
								
								conf/type/__rvm/gencode-remote
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								conf/type/__rvm/gencode-remote
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,39 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | user="$__object_id" | ||||||
|  | state_is="$(cat "$__object/explorer/state")" | ||||||
|  | state_should="$(cat "$__object/parameter/state")" | ||||||
|  | if [ "$state_is" != "$state_should" ]; then | ||||||
|  |    case "$state_should" in | ||||||
|  |       installed) | ||||||
|  |          cat << DONE | ||||||
|  | su - $user -c "bash -s stable < <(curl -s \ | ||||||
|  | https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)" | ||||||
|  | DONE | ||||||
|  |       ;; | ||||||
|  |       removed) | ||||||
|  |          cat << DONE | ||||||
|  | su - $user -c "rm -Rf \"\\\$HOME/.rvm\"; | ||||||
|  | sed -i '/rvm\/scripts\/rvm/d' \"\\\$HOME/.bashrc\"" | ||||||
|  | DONE | ||||||
|  |       ;; | ||||||
|  |    esac | ||||||
|  | fi | ||||||
							
								
								
									
										45
									
								
								conf/type/__rvm/man.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								conf/type/__rvm/man.text
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | ||||||
|  | cdist-type__rvm(7) | ||||||
|  | ================== | ||||||
|  | Evax Software <contact@evax.fr> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | NAME | ||||||
|  | ---- | ||||||
|  | cdist-type__rvm - Install rvm for a given user | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | DESCRIPTION | ||||||
|  | ----------- | ||||||
|  | RVM is the Ruby enVironment Manager for the Ruby programming language. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | REQUIRED PARAMETERS | ||||||
|  | ------------------- | ||||||
|  | state:: | ||||||
|  |    Either "installed" or "removed". | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | EXAMPLES | ||||||
|  | -------- | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | # Install rvm for user billie | ||||||
|  | __rvm billie --state installed | ||||||
|  | 
 | ||||||
|  | # Remove rvm | ||||||
|  | __rvm billie --state removed | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | SEE ALSO | ||||||
|  | -------- | ||||||
|  | - cdist-type(7) | ||||||
|  | - cdist-type__rvm_ruby(7) | ||||||
|  | - cdist-type__rvm_gemset(7) | ||||||
|  | - cdist-type__rvm_gem(7) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | COPYING | ||||||
|  | ------- | ||||||
|  | Copyright \(C) 2012 Evax Software. Free use of this software is granted under | ||||||
|  | the terms of the GNU General Public License version 3 (GPLv3). | ||||||
							
								
								
									
										25
									
								
								conf/type/__rvm/manifest
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								conf/type/__rvm/manifest
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,25 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | # rvm core dependencies | ||||||
|  | __package bash --state installed | ||||||
|  | __package curl --state installed | ||||||
|  | __package git-core --state installed | ||||||
|  | __package patch --state installed | ||||||
							
								
								
									
										1
									
								
								conf/type/__rvm/parameter/required
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf/type/__rvm/parameter/required
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | state | ||||||
							
								
								
									
										39
									
								
								conf/type/__rvm_gem/explorer/state
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								conf/type/__rvm_gem/explorer/state
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,39 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | gem="$__object_id" | ||||||
|  | gemset="$(cat "$__object/parameter/gemset")" | ||||||
|  | ruby="$(echo "$gemset" | cut -d '@' -f 1)" | ||||||
|  | gemsetname="$(echo "$gemset" | cut -d '@' -f2)" | ||||||
|  | user="$(cat "$__object/parameter/user")" | ||||||
|  | if su - $user -c "[ ! -d \"\$HOME/.rvm\" ]" ; then | ||||||
|  |    echo "removed" | ||||||
|  |    exit 0 | ||||||
|  | fi | ||||||
|  | if su - $user -c "source \"\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm list | grep -q $ruby"; then | ||||||
|  |    if su - $user -c "source \"\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm use $ruby > /dev/null; rvm gemset list | grep -q $gemsetname && | ||||||
|  | rvm use $gemset > /dev/null && gem list | grep -q $gem"; then | ||||||
|  |       echo "installed" | ||||||
|  |       exit 0 | ||||||
|  |   fi | ||||||
|  | fi | ||||||
|  | echo "removed" | ||||||
							
								
								
									
										43
									
								
								conf/type/__rvm_gem/gencode-remote
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										43
									
								
								conf/type/__rvm_gem/gencode-remote
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,43 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | gem="$__object_id" | ||||||
|  | gemset="$(cat "$__object/parameter/gemset")" | ||||||
|  | ruby="$(echo "$gemset" | cut -d '@' -f 1)" | ||||||
|  | gemsetname="$(echo "$gemset" | cut -d '@' -f 2)" | ||||||
|  | state_is="$(cat "$__object/explorer/state")" | ||||||
|  | user="$(cat "$__object/parameter/user")" | ||||||
|  | state_should="$(cat "$__object/parameter/state")" | ||||||
|  | if [ "$state_is" != "$state_should" ]; then | ||||||
|  |    case "$state_should" in | ||||||
|  |       installed) | ||||||
|  |          cat << DONE | ||||||
|  | su - $user -c "source \"\\\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm use $gemset; gem install $gem" | ||||||
|  | DONE | ||||||
|  |       ;; | ||||||
|  |       removed) | ||||||
|  |           cat << DONE | ||||||
|  | su - $user -c "source \"\\\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm use $gemset; gem uninstall $gem" | ||||||
|  | DONE | ||||||
|  |       ;; | ||||||
|  |    esac | ||||||
|  | fi | ||||||
							
								
								
									
										57
									
								
								conf/type/__rvm_gem/man.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								conf/type/__rvm_gem/man.text
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,57 @@ | ||||||
|  | cdist-type__rvm_gemset(7) | ||||||
|  | ========================== | ||||||
|  | Evax Software <contact@evax.fr> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | NAME | ||||||
|  | ---- | ||||||
|  | cdist-type__rvm_gem - Manage Ruby gems through rvm | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | DESCRIPTION | ||||||
|  | ----------- | ||||||
|  | RVM is the Ruby enVironment Manager for the Ruby programming language. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | REQUIRED PARAMETERS | ||||||
|  | ------------------- | ||||||
|  | user:: | ||||||
|  |    The remote user account to use | ||||||
|  | gemset:: | ||||||
|  |    The gemset to use | ||||||
|  | state:: | ||||||
|  |    Either "installed" or "removed". | ||||||
|  | 
 | ||||||
|  | OPTIONAL PARAMETERS | ||||||
|  | ------------------- | ||||||
|  | default:: | ||||||
|  |    Make the selected gemset the default | ||||||
|  | 
 | ||||||
|  | EXAMPLES | ||||||
|  | -------- | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | # Install the rails gem in gemset ruby-1.9.3-p0@myset for user bill | ||||||
|  | __rvm_gemset rails --gemset ruby-1.9.3-p0@myset --user bill --state installed | ||||||
|  | 
 | ||||||
|  | # Do the same and also make ruby-1.9.3-p0@myset the default gemset | ||||||
|  | __rvm_gemset rails --gemset ruby-1.9.3-p0@myset --user bill \ | ||||||
|  |                    --state installed --default yes | ||||||
|  | 
 | ||||||
|  | # Remove it | ||||||
|  | __rvm_ruby rails --gemset ruby-1.9.3-p0@myset --user bill --state removed | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | SEE ALSO | ||||||
|  | -------- | ||||||
|  | - cdist-type(7) | ||||||
|  | - cdist-type__rvm(7) | ||||||
|  | - cdist-type__rvm_ruby(7) | ||||||
|  | - cdist-type__rvm_gemset(7) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | COPYING | ||||||
|  | ------- | ||||||
|  | Copyright \(C) 2012 Evax Software. Free use of this software is granted under | ||||||
|  | the terms of the GNU General Public License version 3 (GPLv3). | ||||||
							
								
								
									
										38
									
								
								conf/type/__rvm_gem/manifest
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										38
									
								
								conf/type/__rvm_gem/manifest
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,38 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | gem="$__object_id" | ||||||
|  | gemset="$(cat "$__object/parameter/gemset")" | ||||||
|  | ruby="$(echo "$gemset" | cut -d '@' -f 1)" | ||||||
|  | gemsetname="$(echo "$gemset" | cut -d '@' -f 2)" | ||||||
|  | user="$(cat "$__object/parameter/user")" | ||||||
|  | state="$(cat "$__object/explorer/state")" | ||||||
|  | if [ -f "$__object/parameter/default" ]; then | ||||||
|  |    default="$(cat "$__object/parameter/default")" | ||||||
|  | else | ||||||
|  |    default="no" | ||||||
|  |    echo $default > "$__object/parameter/default" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | __rvm $user --state installed | ||||||
|  | require="__rvm/$user" \ | ||||||
|  |    __rvm_ruby $ruby --user $user --state installed --default $default | ||||||
|  | require="__rvm_ruby/$ruby" \ | ||||||
|  |    __rvm_gemset $gemset --user $user --state installed --default $default | ||||||
							
								
								
									
										1
									
								
								conf/type/__rvm_gem/parameter/optional
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf/type/__rvm_gem/parameter/optional
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | default | ||||||
							
								
								
									
										3
									
								
								conf/type/__rvm_gem/parameter/required
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								conf/type/__rvm_gem/parameter/required
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | state | ||||||
|  | gemset | ||||||
|  | user | ||||||
							
								
								
									
										37
									
								
								conf/type/__rvm_gemset/explorer/state
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										37
									
								
								conf/type/__rvm_gemset/explorer/state
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,37 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | gemset="$__object_id" | ||||||
|  | ruby="$(echo "$gemset" | cut -d '@' -f 1)" | ||||||
|  | gemsetname="$(echo "$gemset" | cut -d '@' -f2)" | ||||||
|  | user="$(cat "$__object/parameter/user")" | ||||||
|  | if su - $user -c "[ ! -d \"\$HOME/.rvm\" ]" ; then | ||||||
|  |    echo "removed" | ||||||
|  |    exit 0 | ||||||
|  | fi | ||||||
|  | if su - $user -c "source \"\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm list | grep -q $ruby"; then | ||||||
|  |    if su - $user -c "source \"\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm use $ruby > /dev/null; rvm gemset list | grep -q $gemsetname"; then | ||||||
|  |       echo "installed" | ||||||
|  |       exit 0 | ||||||
|  |   fi | ||||||
|  | fi | ||||||
|  | echo "removed" | ||||||
							
								
								
									
										52
									
								
								conf/type/__rvm_gemset/gencode-remote
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										52
									
								
								conf/type/__rvm_gemset/gencode-remote
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,52 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | gemset="$__object_id" | ||||||
|  | ruby="$(echo "$gemset" | cut -d '@' -f 1)" | ||||||
|  | gemsetname="$(echo "$gemset" | cut -d '@' -f 2)" | ||||||
|  | state_is="$(cat "$__object/explorer/state")" | ||||||
|  | user="$(cat "$__object/parameter/user")" | ||||||
|  | state_should="$(cat "$__object/parameter/state")" | ||||||
|  | if [ "$state_is" != "$state_should" ]; then | ||||||
|  |    case "$state_should" in | ||||||
|  |       installed) | ||||||
|  |          cat << DONE | ||||||
|  | su - $user -c "source \"\\\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm $gemset --create" | ||||||
|  | DONE | ||||||
|  |          case "$default" in | ||||||
|  |             no) | ||||||
|  |             ;; | ||||||
|  |             *) | ||||||
|  |                cat << DONE | ||||||
|  | su - $user -c "source \"\\\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm use --default $gemset" | ||||||
|  | DONE | ||||||
|  |             ;; | ||||||
|  |          esac | ||||||
|  |       ;; | ||||||
|  |       removed) | ||||||
|  |           cat << DONE | ||||||
|  | su - $user -c "source \"\\\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm use $ruby; rvm --force gemset delete $gemsetname" | ||||||
|  | DONE | ||||||
|  |       ;; | ||||||
|  |    esac | ||||||
|  | fi | ||||||
							
								
								
									
										54
									
								
								conf/type/__rvm_gemset/man.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								conf/type/__rvm_gemset/man.text
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,54 @@ | ||||||
|  | cdist-type__rvm_gemset(7) | ||||||
|  | ========================== | ||||||
|  | Evax Software <contact@evax.fr> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | NAME | ||||||
|  | ---- | ||||||
|  | cdist-type__rvm_gemset - Manage gemsets through rvm | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | DESCRIPTION | ||||||
|  | ----------- | ||||||
|  | RVM is the Ruby enVironment Manager for the Ruby programming language. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | REQUIRED PARAMETERS | ||||||
|  | ------------------- | ||||||
|  | user:: | ||||||
|  |    The remote user account to use | ||||||
|  | state:: | ||||||
|  |    Either "installed" or "removed". | ||||||
|  | 
 | ||||||
|  | OPTIONAL PARAMETERS | ||||||
|  | ------------------- | ||||||
|  | default:: | ||||||
|  |    If set to anything but "no" (the default), set the given gemset as default. | ||||||
|  | 
 | ||||||
|  | EXAMPLES | ||||||
|  | -------- | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | # Install the gemset @myset for user charles on based on ruby-1.9.3-0 | ||||||
|  | __rvm_gemset ruby-1.9.3-p0@myset --user charles --state installed | ||||||
|  | 
 | ||||||
|  | # Do the same and make ruby-1.9.3-p0@myset the default gemset | ||||||
|  | __rvm_gemset ruby-1.9.3-p0@myset --user charles --state installed --default yes | ||||||
|  | 
 | ||||||
|  | # Remove the gemset @myset for user john | ||||||
|  | __rvm_ruby ruby-1.9.3-p0@myset --user john --state removed | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | SEE ALSO | ||||||
|  | -------- | ||||||
|  | - cdist-type(7) | ||||||
|  | - cdist-type__rvm(7) | ||||||
|  | - cdist-type__rvm_ruby(7) | ||||||
|  | - cdist-type__rvm_gem(7) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | COPYING | ||||||
|  | ------- | ||||||
|  | Copyright \(C) 2012 Evax Software. Free use of this software is granted under | ||||||
|  | the terms of the GNU General Public License version 3 (GPLv3). | ||||||
							
								
								
									
										35
									
								
								conf/type/__rvm_gemset/manifest
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										35
									
								
								conf/type/__rvm_gemset/manifest
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,35 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | gemset="$__object_id" | ||||||
|  | ruby="$(echo "$gemset" | cut -d '@' -f 1)" | ||||||
|  | gemsetname="$(echo "$gemset" | cut -d '@' -f 2)" | ||||||
|  | user="$(cat "$__object/parameter/user")" | ||||||
|  | state="$(cat "$__object/explorer/state")" | ||||||
|  | if [ -f "$__object/parameter/default" ]; then | ||||||
|  |    default="$(cat "$__object/parameter/default")" | ||||||
|  | else | ||||||
|  |    default="no" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | __rvm $user --state installed | ||||||
|  | require="__rvm/$user" \ | ||||||
|  |    __rvm_ruby $ruby --user $user --state installed --default $default | ||||||
|  | 
 | ||||||
							
								
								
									
										1
									
								
								conf/type/__rvm_gemset/parameter/optional
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf/type/__rvm_gemset/parameter/optional
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | default | ||||||
							
								
								
									
										2
									
								
								conf/type/__rvm_gemset/parameter/required
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								conf/type/__rvm_gemset/parameter/required
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | state | ||||||
|  | user | ||||||
							
								
								
									
										32
									
								
								conf/type/__rvm_ruby/explorer/state
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								conf/type/__rvm_ruby/explorer/state
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,32 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | ruby="$__object_id" | ||||||
|  | user="$(cat "$__object/parameter/user")" | ||||||
|  | if su - $user -c "[ ! -d \"\$HOME/.rvm\" ]" ; then | ||||||
|  |     echo "removed" | ||||||
|  |     exit 0 | ||||||
|  | fi | ||||||
|  | if su - $user -c "source \"\$HOME/.rvm/scripts/rvm\" | ||||||
|  | rvm list | grep -q $ruby"; then | ||||||
|  |    echo "installed" | ||||||
|  | else | ||||||
|  |    echo "removed" | ||||||
|  | fi | ||||||
							
								
								
									
										45
									
								
								conf/type/__rvm_ruby/gencode-remote
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										45
									
								
								conf/type/__rvm_ruby/gencode-remote
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,45 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | ruby="$__object_id" | ||||||
|  | state_is="$(cat "$__object/explorer/state")" | ||||||
|  | user="$(cat "$__object/parameter/user")" | ||||||
|  | default="$(cat "$__object/parameter/default")" | ||||||
|  | state_should="$(cat "$__object/parameter/state")" | ||||||
|  | if [ "$state_is" != "$state_should" ]; then | ||||||
|  |    case "$state_should" in | ||||||
|  |       installed) | ||||||
|  |          echo "su - $user -c \"source \\\$HOME/.rvm/scripts/rvm;"\ | ||||||
|  |               "rvm install $ruby\"" | ||||||
|  |          case "$default" in | ||||||
|  |             no) | ||||||
|  |             ;; | ||||||
|  |             *) | ||||||
|  |                echo "su - $user -c \"source \\\$HOME/.rvm/scripts/rvm;"\ | ||||||
|  |                     "rvm use --default $ruby\"" | ||||||
|  |             ;; | ||||||
|  |           esac | ||||||
|  |       ;; | ||||||
|  |       removed) | ||||||
|  |          echo "su - $user -c \"source \\\$HOME/.rvm/scripts/rvm;"\ | ||||||
|  |               "rvm remove $ruby\"" | ||||||
|  |       ;; | ||||||
|  |    esac | ||||||
|  | fi | ||||||
							
								
								
									
										54
									
								
								conf/type/__rvm_ruby/man.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								conf/type/__rvm_ruby/man.text
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,54 @@ | ||||||
|  | cdist-type__rvm_ruby(7) | ||||||
|  | ======================= | ||||||
|  | Evax Software <contact@evax.fr> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | NAME | ||||||
|  | ---- | ||||||
|  | cdist-type__rvm_ruby - Manage ruby installations through rvm | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | DESCRIPTION | ||||||
|  | ----------- | ||||||
|  | RVM is the Ruby enVironment Manager for the Ruby programming language. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | REQUIRED PARAMETERS | ||||||
|  | ------------------- | ||||||
|  | user:: | ||||||
|  |    The remote user account to use | ||||||
|  | state:: | ||||||
|  |    Either "installed" or "removed". | ||||||
|  | 
 | ||||||
|  | OPTIONAL PARAMETERS | ||||||
|  | ------------------- | ||||||
|  | default: | ||||||
|  |    If set to anything but "no" (the default), set the given version as default | ||||||
|  | 
 | ||||||
|  | EXAMPLES | ||||||
|  | -------- | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | # Install ruby 1.9.3 through rvm for user thelonious | ||||||
|  | __rvm_ruby ruby-1.9.3-p0 --user thelonious --state installed | ||||||
|  | 
 | ||||||
|  | # Install ruby 1.9.3 through rvm for user ornette and make it the default | ||||||
|  | __rvm_ruby ruby-1.9.3-p0 --user ornette --state installed --default yes | ||||||
|  | 
 | ||||||
|  | # Remove ruby 1.9.3 for user john | ||||||
|  | __rvm_ruby ruby-1.9.3-p0 --user john --state removed | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | SEE ALSO | ||||||
|  | -------- | ||||||
|  | - cdist-type(7) | ||||||
|  | - cdist-type__rvm(7) | ||||||
|  | - cdist-type__rvm_gemset(7) | ||||||
|  | - cdist-type__rvm_gem(7) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | COPYING | ||||||
|  | ------- | ||||||
|  | Copyright \(C) 2012 Evax Software. Free use of this software is granted under | ||||||
|  | the terms of the GNU General Public License version 3 (GPLv3). | ||||||
							
								
								
									
										83
									
								
								conf/type/__rvm_ruby/manifest
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										83
									
								
								conf/type/__rvm_ruby/manifest
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,83 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | # | ||||||
|  | # 2012 Evax Software <contact@evax.fr> | ||||||
|  | # | ||||||
|  | # This file is part of cdist. | ||||||
|  | # | ||||||
|  | # cdist is free software: you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation, either version 3 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # cdist is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | if [ -f "$__object/parameter/default" ]; then | ||||||
|  |    default="$(cat "$__object/parameter/default")" | ||||||
|  | else | ||||||
|  |    default="no" | ||||||
|  |    echo "$default" > "$__object/parameter/default" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | ruby="$__object_id" | ||||||
|  | user="$(cat "$__object/parameter/user")" | ||||||
|  | state="$(cat "$__object/explorer/state")" | ||||||
|  | 
 | ||||||
|  | apt_ruby="build-essential openssl libreadline6 libreadline6-dev curl git-core | ||||||
|  | zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 | ||||||
|  | libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison | ||||||
|  | subversion" | ||||||
|  | apt_jruby="curl g++ openjdk-6-jre-headless" | ||||||
|  | apt_jruby_head="ant openjdk-6-jdk" | ||||||
|  | apt_ironruby="curl mono-2.0-devel" | ||||||
|  | 
 | ||||||
|  | emerge_ruby="libiconv readline zlib openssl curl git libyaml sqlite libxslt | ||||||
|  | libtool gcc autoconf automake bison m4" | ||||||
|  | emerge_jruby="dev-java/sun-jdk dev-java/sun-jre-bin" | ||||||
|  | emerge_ironruby="dev-lang/mono" | ||||||
|  | 
 | ||||||
|  | pacman_ruby="gcc patch curl zlib readline libxml2 libxslt git autoconf | ||||||
|  | diffutils make libtool bison subversion" | ||||||
|  | pacman_jruby="jdk jre curl" | ||||||
|  | pacman_ironruby="mono" | ||||||
|  | 
 | ||||||
|  | yum_ruby="gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel | ||||||
|  | libffi-devel openssl-devel make bzip2 autoconf automake libtool bison | ||||||
|  | iconv-devel" | ||||||
|  | yum_jruby="java" | ||||||
|  | 
 | ||||||
|  | os="$(cat "$__global/explorer/os")" | ||||||
|  | case "$os" in | ||||||
|  |  archlinux) type="pacman" ;; | ||||||
|  |  debian|ubuntu) type="apt" ;; | ||||||
|  |  gentoo) type="emerge" ;; | ||||||
|  |  fedora|redhat|centos) type="yum" ;; | ||||||
|  |  *);; | ||||||
|  | esac | ||||||
|  | case "$ruby" in | ||||||
|  |  ruby-head*) | ||||||
|  |     deps_list="${type}_ruby_head" | ||||||
|  |  ;; | ||||||
|  |  ruby*) | ||||||
|  |     deps_list="${type}_ruby" | ||||||
|  |  ;; | ||||||
|  |  jruby-head*) | ||||||
|  |     deps_list="${type}_jruby_head" | ||||||
|  |  ;; | ||||||
|  |  jruby*) | ||||||
|  |     deps_list="${type}_jruby" | ||||||
|  |  ;; | ||||||
|  |  ironruby*) | ||||||
|  |     deps_list="${type}_ironruby" | ||||||
|  |  ;; | ||||||
|  | esac | ||||||
|  | deps=$(eval echo \$$deps_list) | ||||||
|  | for p in $deps; do __package_${type} $p --state installed; done | ||||||
|  | 
 | ||||||
|  | __rvm "$user" --state installed | ||||||
							
								
								
									
										1
									
								
								conf/type/__rvm_ruby/parameter/optional
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf/type/__rvm_ruby/parameter/optional
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | default | ||||||
							
								
								
									
										2
									
								
								conf/type/__rvm_ruby/parameter/required
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								conf/type/__rvm_ruby/parameter/required
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | state | ||||||
|  | user | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue