sakuric 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. data/CHANGELOG +13 -0
  2. data/Gemfile +22 -0
  3. data/Gemfile.lock +60 -0
  4. data/HISTORY.yml +13 -0
  5. data/INSTALL +5 -0
  6. data/LICENSE +1 -0
  7. data/Makefile +19 -0
  8. data/Manifest +405 -0
  9. data/README.md +72 -0
  10. data/Rakefile +4 -0
  11. data/TODO +3 -0
  12. data/VERSION +1 -0
  13. data/bashrc +30 -0
  14. data/bashrc.d/00-functions.include +7 -0
  15. data/bashrc.d/01-sakura_checks.include +15 -0
  16. data/bashrc.d/02-uname.include +11 -0
  17. data/bashrc.d/80-ruby.include +4 -0
  18. data/bashrc.d/99-dirs.include +11 -0
  19. data/bashrc.d/aliases.include +20 -0
  20. data/bashrc.d/common.include +7 -0
  21. data/bashrc.d/local.d/README +1 -0
  22. data/bashrc.d/local.d/nothing.include +0 -0
  23. data/bashrc.d/uname.d/Darwin +6 -0
  24. data/bashrc.d/uname.d/Linux +0 -0
  25. data/bashrc.local.sample +11 -0
  26. data/bin/10 +7 -0
  27. data/bin/10times +7 -0
  28. data/bin/1every +22 -0
  29. data/bin/1everyN +22 -0
  30. data/bin/1suN +22 -0
  31. data/bin/2 +5 -0
  32. data/bin/act +24 -0
  33. data/bin/amarelo +2 -0
  34. data/bin/arancio +4 -0
  35. data/bin/arcobaleno +10 -0
  36. data/bin/bianco +3 -0
  37. data/bin/black +2 -0
  38. data/bin/brew-install +3 -0
  39. data/bin/cache +50 -0
  40. data/bin/cache3 +50 -0
  41. data/bin/cheorae +4 -0
  42. data/bin/colorastdouterr +37 -0
  43. data/bin/cp2desktop +3 -0
  44. data/bin/create-git-repo.sh +24 -0
  45. data/bin/csoe +37 -0
  46. data/bin/data +3 -0
  47. data/bin/derive +90 -0
  48. data/bin/dimmi +31 -0
  49. data/bin/dimmiora +4 -0
  50. data/bin/doppioni +48 -0
  51. data/bin/du- +9 -0
  52. data/bin/duplicates +48 -0
  53. data/bin/echodo +7 -0
  54. data/bin/ensure_line_present +82 -0
  55. data/bin/epoch2date +5 -0
  56. data/bin/fanout +100 -0
  57. data/bin/find-broken-symlink +26 -0
  58. data/bin/find-duplicates +48 -0
  59. data/bin/find-special-chars-within-filenames +12 -0
  60. data/bin/fix-terminal +5 -0
  61. data/bin/gce-create-centos-instance +5 -0
  62. data/bin/gce-create-custom-image +8 -0
  63. data/bin/gce-curl-get-instances-for-project +7 -0
  64. data/bin/gce-get-token +3 -0
  65. data/bin/gce-getproject-metadata +35 -0
  66. data/bin/gce-public-ip +4 -0
  67. data/bin/gcutil-fetch +36 -0
  68. data/bin/giallo +2 -0
  69. data/bin/git-clone-in-non-empty-dir +21 -0
  70. data/bin/git-ignore +3 -0
  71. data/bin/git-repos +98 -0
  72. data/bin/git-repos.py +99 -0
  73. data/bin/gitinfo +2 -0
  74. data/bin/google-spreadsheet-cat +40 -0
  75. data/bin/google_ips +5 -0
  76. data/bin/gray +3 -0
  77. data/bin/green +2 -0
  78. data/bin/grigio +3 -0
  79. data/bin/gsutil-debug-bucket +12 -0
  80. data/bin/gsutil-get-oauth2-token +4 -0
  81. data/bin/gugol-image +74 -0
  82. data/bin/hamachi-ubuntu-install +17 -0
  83. data/bin/head-1^-1 +5 -0
  84. data/bin/ifdownup +13 -0
  85. data/bin/immature/ok2 +25 -0
  86. data/bin/immature/twice-still-broken +9 -0
  87. data/bin/install-gic-repo +13 -0
  88. data/bin/install-sakura-on-debian-latest +6 -0
  89. data/bin/iphoto_big_files.sh +37 -0
  90. data/bin/itunes +140 -0
  91. data/bin/jason-xpath.rb +54 -0
  92. data/bin/jsawk +1128 -0
  93. data/bin/json-xpath.rb +54 -0
  94. data/bin/keepup +13 -0
  95. data/bin/lsof-top10 +3 -0
  96. data/bin/minicook +218 -0
  97. data/bin/mv2. +2 -0
  98. data/bin/mv2desktop +2 -0
  99. data/bin/mv2dropbox +2 -0
  100. data/bin/mv2here +2 -0
  101. data/bin/mvto +39 -0
  102. data/bin/nero +2 -0
  103. data/bin/never_as_root +18 -0
  104. data/bin/not +16 -0
  105. data/bin/ok +42 -0
  106. data/bin/orange +4 -0
  107. data/bin/pink +2 -0
  108. data/bin/polygen-dell +7 -0
  109. data/bin/polygen-heanet +6 -0
  110. data/bin/polygen-labs +4 -0
  111. data/bin/print_key_val +4 -0
  112. data/bin/rainbow +10 -0
  113. data/bin/recipe +19 -0
  114. data/bin/red +2 -0
  115. data/bin/remember-command +140 -0
  116. data/bin/remember-command.rb +140 -0
  117. data/bin/richelp +99 -0
  118. data/bin/ricorda-comando +140 -0
  119. data/bin/rosa +2 -0
  120. data/bin/rosso +2 -0
  121. data/bin/run-parts.sh +50 -0
  122. data/bin/sakura-check-version +48 -0
  123. data/bin/sakura-init.DRAFT +5 -0
  124. data/bin/sakura-version +2 -0
  125. data/bin/sano +5 -0
  126. data/bin/sbianca +3 -0
  127. data/bin/sblua +2 -0
  128. data/bin/setterm-reset +5 -0
  129. data/bin/sgialla +2 -0
  130. data/bin/sgrigia +2 -0
  131. data/bin/split +37 -0
  132. data/bin/split.rb +37 -0
  133. data/bin/srosa +1 -0
  134. data/bin/srossa +2 -0
  135. data/bin/strip-white-spaces +2 -0
  136. data/bin/stty-sane +5 -0
  137. data/bin/sudo^-1 +18 -0
  138. data/bin/sverda +6 -0
  139. data/bin/swift-saio-install.sh +336 -0
  140. data/bin/synergyc +0 -0
  141. data/bin/synergys +0 -0
  142. data/bin/syracuse.pl +29 -0
  143. data/bin/tail-n+2 +5 -0
  144. data/bin/tellme +31 -0
  145. data/bin/tellme-time +4 -0
  146. data/bin/timeout3 +91 -0
  147. data/bin/top5 +4 -0
  148. data/bin/trim +4 -0
  149. data/bin/trova-broken-symlink +26 -0
  150. data/bin/twice +5 -0
  151. data/bin/twice.rb +5 -0
  152. data/bin/ubuntu-install-hamachi64 +17 -0
  153. data/bin/ultimo +5 -0
  154. data/bin/upload.py +2380 -0
  155. data/bin/usleep +0 -0
  156. data/bin/varia +90 -0
  157. data/bin/verde +2 -0
  158. data/bin/vermelho +2 -0
  159. data/bin/vim-whereveritis +5 -0
  160. data/bin/viola +1 -0
  161. data/bin/virsh-list-all-vms.py +21 -0
  162. data/bin/virtualbox-manage +41 -0
  163. data/bin/weekend +12 -0
  164. data/bin/whattimeisit +4 -0
  165. data/bin/whereis-ip +5 -0
  166. data/bin/white +3 -0
  167. data/bin/whitefy +3 -0
  168. data/bin/yellow +2 -0
  169. data/bin/yellowfy +2 -0
  170. data/bin/zombies +25 -0
  171. data/docz/polygen/dell.grm +100 -0
  172. data/docz/polygen/frati.grm +85 -0
  173. data/docz/polygen/heanet.grm +54 -0
  174. data/docz/richelp/gcompute.yml +52 -0
  175. data/docz/richelp/gcutil.yml +52 -0
  176. data/docz/richelp/gmail.yml +2 -0
  177. data/docz/richelp/ruby.yml +81 -0
  178. data/docz/richelp/sakura.yml +20 -0
  179. data/docz/richelp/sql.yml +12 -0
  180. data/docz/richelp/ubuntu.yml +22 -0
  181. data/docz/richelp/yaml.yml +39 -0
  182. data/docz/richelp/yml.yml +39 -0
  183. data/etc/sakura/devel.yml +36 -0
  184. data/etc/synergy.conf.example +37 -0
  185. data/images/color-sample.png +0 -0
  186. data/images/google.jpg +0 -0
  187. data/images/icons/toilet.png +0 -0
  188. data/images/sakura.jpg +0 -0
  189. data/images/sakura2.jpg +0 -0
  190. data/init.rb +5 -0
  191. data/lib/classes/arrays.rb +246 -0
  192. data/lib/classes/debug_ric.rb +196 -0
  193. data/lib/classes/fake_data.rb +8 -0
  194. data/lib/classes/ric_debug.rb +0 -0
  195. data/lib/classes/ricconf.rb +110 -0
  196. data/lib/classes/richelp.rb +70 -0
  197. data/lib/classes/strings.rb +284 -0
  198. data/lib/facter/google_compute_engine.rb +10 -0
  199. data/lib/recipes/20120411-puppet-rump-palladius.recipe +2 -0
  200. data/lib/recipes/20120726-skype.ubuntu.recipe +16 -0
  201. data/lib/recipes/20130206-puppet3.ubuntu.recipe +32 -0
  202. data/lib/recipes/20130206-redis.linux.recipe +17 -0
  203. data/lib/recipes/20130208-vanilla.linux.recipe +37 -0
  204. data/lib/recipes/Makefile +4 -0
  205. data/lib/recipes/README.md +29 -0
  206. data/lib/recipes/scripts/redis.sh +14 -0
  207. data/lib/ric.rb +156 -0
  208. data/lib/ric_colors.rb +313 -0
  209. data/lib/ric_strings.rb +285 -0
  210. data/lib/sonice-players/itunes_mac.rb +43 -0
  211. data/lib/sonice-players/itunes_win.rb +47 -0
  212. data/lib/sonice-players/mpd.rb +45 -0
  213. data/lib/sonice-players/rhythmbox.rb +38 -0
  214. data/profile +1 -0
  215. data/sakuric.gemspec +40 -0
  216. data/sbin/install-sakura-on-debian +25 -0
  217. data/sbin/make-install.sh +10 -0
  218. data/sbin/mate-createsymlink +4 -0
  219. data/sounds/0.ogg +0 -0
  220. data/sounds/0.wav +0 -0
  221. data/sounds/01.ogg +0 -0
  222. data/sounds/02.ogg +0 -0
  223. data/sounds/03.ogg +0 -0
  224. data/sounds/08.ogg +0 -0
  225. data/sounds/09.ogg +0 -0
  226. data/sounds/1.ogg +0 -0
  227. data/sounds/1.wav +0 -0
  228. data/sounds/10.ogg +0 -0
  229. data/sounds/100.ogg +0 -0
  230. data/sounds/11.ogg +0 -0
  231. data/sounds/12.ogg +0 -0
  232. data/sounds/13.ogg +0 -0
  233. data/sounds/14.ogg +0 -0
  234. data/sounds/15.ogg +0 -0
  235. data/sounds/16.ogg +0 -0
  236. data/sounds/17.ogg +0 -0
  237. data/sounds/18.ogg +0 -0
  238. data/sounds/19.ogg +0 -0
  239. data/sounds/2.ogg +0 -0
  240. data/sounds/2.wav +0 -0
  241. data/sounds/20.ogg +0 -0
  242. data/sounds/21.ogg +0 -0
  243. data/sounds/22.ogg +0 -0
  244. data/sounds/23.ogg +0 -0
  245. data/sounds/24.ogg +0 -0
  246. data/sounds/26.ogg +0 -0
  247. data/sounds/3.ogg +0 -0
  248. data/sounds/3.wav +0 -0
  249. data/sounds/30.ogg +0 -0
  250. data/sounds/34.ogg +0 -0
  251. data/sounds/4.ogg +0 -0
  252. data/sounds/4.wav +0 -0
  253. data/sounds/40.ogg +0 -0
  254. data/sounds/42.ogg +0 -0
  255. data/sounds/45.ogg +0 -0
  256. data/sounds/47.ogg +0 -0
  257. data/sounds/5.ogg +0 -0
  258. data/sounds/5.wav +0 -0
  259. data/sounds/50.ogg +0 -0
  260. data/sounds/6.ogg +0 -0
  261. data/sounds/6.wav +0 -0
  262. data/sounds/60.ogg +0 -0
  263. data/sounds/7.ogg +0 -0
  264. data/sounds/7.wav +0 -0
  265. data/sounds/70.ogg +0 -0
  266. data/sounds/8.ogg +0 -0
  267. data/sounds/8.wav +0 -0
  268. data/sounds/80.ogg +0 -0
  269. data/sounds/9.ogg +0 -0
  270. data/sounds/9.wav +0 -0
  271. data/sounds/90.ogg +0 -0
  272. data/sounds/a.ogg +0 -0
  273. data/sounds/aaahhh.ogg +0 -0
  274. data/sounds/abologna.ogg +0 -0
  275. data/sounds/adargenta.ogg +0 -0
  276. data/sounds/alzatiecammina.ogg +0 -0
  277. data/sounds/apache.ogg +0 -0
  278. data/sounds/attenzione.ogg +0 -0
  279. data/sounds/awesome.m4a +0 -0
  280. data/sounds/bazinga.mp3 +0 -0
  281. data/sounds/bazinga.ogg +0 -0
  282. data/sounds/bela regaz.wav +0 -0
  283. data/sounds/benvenuti.wav +0 -0
  284. data/sounds/benvenuti2.wav +0 -0
  285. data/sounds/bergonz.ogg +0 -0
  286. data/sounds/boh.ogg +0 -0
  287. data/sounds/buahah.ogg +0 -0
  288. data/sounds/buonasera.ogg +0 -0
  289. data/sounds/buongiorno.ogg +0 -0
  290. data/sounds/burp.ogg +0 -0
  291. data/sounds/carlo.ogg +0 -0
  292. data/sounds/cena.ogg +0 -0
  293. data/sounds/che figata.m4a +0 -0
  294. data/sounds/che figlio di puttana.m4a +0 -0
  295. data/sounds/che.ogg +0 -0
  296. data/sounds/ciao.ogg +0 -0
  297. data/sounds/ciao.wav +0 -0
  298. data/sounds/da.ogg +0 -0
  299. data/sounds/davide.ogg +0 -0
  300. data/sounds/demone.ogg +0 -0
  301. data/sounds/dhcp.ogg +0 -0
  302. data/sounds/dinuovo.ogg +0 -0
  303. data/sounds/dns.ogg +0 -0
  304. data/sounds/dopo.ogg +0 -0
  305. data/sounds/e'.ogg +0 -0
  306. data/sounds/eattivo.ogg +0 -0
  307. data/sounds/ee.ogg +0 -0
  308. data/sounds/ehi.ogg +0 -0
  309. data/sounds/eoragiu.ogg +0 -0
  310. data/sounds/eorasu.ogg +0 -0
  311. data/sounds/eripartita.ogg +0 -0
  312. data/sounds/estato.ogg +0 -0
  313. data/sounds/estatoriavviato.ogg +0 -0
  314. data/sounds/fratro.ogg +0 -0
  315. data/sounds/frozenbubble.ogg +0 -0
  316. data/sounds/funziona.ogg +0 -0
  317. data/sounds/go raibh mile maith agaibh.m4a +0 -0
  318. data/sounds/grazie.ogg +0 -0
  319. data/sounds/h1.ogg +0 -0
  320. data/sounds/hainuovaposta.ogg +0 -0
  321. data/sounds/hogiamangiato.ogg +0 -0
  322. data/sounds/host.ogg +0 -0
  323. data/sounds/il.ogg +0 -0
  324. data/sounds/ilcomputer.ogg +0 -0
  325. data/sounds/ilnumerodaleiselezionatoe.ogg +0 -0
  326. data/sounds/ilprocesso.ogg +0 -0
  327. data/sounds/ilprogramma.ogg +0 -0
  328. data/sounds/ilservizio.ogg +0 -0
  329. data/sounds/imap.ogg +0 -0
  330. data/sounds/imieisuperpoterimidiconoche.ogg +0 -0
  331. data/sounds/infunzione.ogg +0 -0
  332. data/sounds/inpunto.ogg +0 -0
  333. data/sounds/ipmon.ogg +0 -0
  334. data/sounds/laconnessioneadinternet.ogg +0 -0
  335. data/sounds/lastampante.ogg +0 -0
  336. data/sounds/lazzaron.ogg +0 -0
  337. data/sounds/ldap.ogg +0 -0
  338. data/sounds/linterfaccia.ogg +0 -0
  339. data/sounds/lucilla.ogg +0 -0
  340. data/sounds/ma vaffanculo.m4a +0 -0
  341. data/sounds/majjal.wav +0 -0
  342. data/sounds/mamma.ogg +0 -0
  343. data/sounds/mauro.ogg +0 -0
  344. data/sounds/max.ogg +0 -0
  345. data/sounds/meerda.wav +0 -0
  346. data/sounds/meno.ogg +0 -0
  347. data/sounds/merda clo.wav +0 -0
  348. data/sounds/mezza.ogg +0 -0
  349. data/sounds/mila.ogg +0 -0
  350. data/sounds/mille.ogg +0 -0
  351. data/sounds/minuti.ogg +0 -0
  352. data/sounds/named.ogg +0 -0
  353. data/sounds/no.ogg +0 -0
  354. data/sounds/nohofame.ogg +0 -0
  355. data/sounds/nonfunziona.ogg +0 -0
  356. data/sounds/nonriescoatrovare.ogg +0 -0
  357. data/sounds/nonsarebbeoradilavorare.ogg +0 -0
  358. data/sounds/nonstalavorando.ogg +0 -0
  359. data/sounds/numero.wav +0 -0
  360. data/sounds/ooohhh.ogg +0 -0
  361. data/sounds/pinger.ogg +0 -0
  362. data/sounds/pocofa.ogg +0 -0
  363. data/sounds/pop3.ogg +0 -0
  364. data/sounds/porca puttana.m4a +0 -0
  365. data/sounds/porcapupazza.ogg +0 -0
  366. data/sounds/ppp.ogg +0 -0
  367. data/sounds/pranzo.ogg +0 -0
  368. data/sounds/prego.ogg +0 -0
  369. data/sounds/prima.ogg +0 -0
  370. data/sounds/qualcosamidice.ogg +0 -0
  371. data/sounds/raggiungibile.ogg +0 -0
  372. data/sounds/riccardo.ogg +0 -0
  373. data/sounds/salsa ridge.wav +0 -0
  374. data/sounds/scusa.ogg +0 -0
  375. data/sounds/seriously man.m4a +0 -0
  376. data/sounds/si.ogg +0 -0
  377. data/sounds/sito porno con sonoro.wav +0 -0
  378. data/sounds/socmel.wav +0 -0
  379. data/sounds/sono.ogg +0 -0
  380. data/sounds/sonoacasa.ogg +0 -0
  381. data/sounds/sonole.ogg +0 -0
  382. data/sounds/sputo.ogg +0 -0
  383. data/sounds/ssh.ogg +0 -0
  384. data/sounds/stagiocando.ogg +0 -0
  385. data/sounds/statospento.ogg +0 -0
  386. data/sounds/stopaiodipalle.ogg +0 -0
  387. data/sounds/thesedicks.wav +0 -0
  388. data/sounds/tornatosu.ogg +0 -0
  389. data/sounds/trapoco.ogg +0 -0
  390. data/sounds/trequarti.ogg +0 -0
  391. data/sounds/tutti.ogg +0 -0
  392. data/sounds/una.ogg +0 -0
  393. data/sounds/unquarto.ogg +0 -0
  394. data/sounds/virgola.ogg +0 -0
  395. data/sources/c/usleep.c +50 -0
  396. data/spec/my_first_spec.rb +6 -0
  397. data/tasks/sakuric-gem.rake +21 -0
  398. data/tasks/testing.rake +15 -0
  399. data/templates/bashrc.inject +10 -0
  400. data/templates/happy_christmas.ascii_art +5 -0
  401. data/test/roodi.sh +10 -0
  402. data/test/test_mini_failing.rb +3 -0
  403. data/test/test_mini_ok.rb +3 -0
  404. data/test/test_ruby_syntax.sh +12 -0
  405. data/third-party/jsawk/README.markdown +437 -0
  406. data/third-party/jsawk/jsawk +1128 -0
  407. metadata +835 -0
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ echo -en "\033[38;5;203m$*\033[0m\n"
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ echo -en "\033[1;31m$*\033[0m\n"
@@ -0,0 +1,50 @@
1
+ #!/bin/sh
2
+ # run-parts: Runs all the scripts found in a directory.
3
+ PATH=$PATH:/usr/bin
4
+
5
+ # keep going when something fails
6
+ set +e
7
+
8
+ if [ $# -lt 1 ]; then
9
+ echo "Usage: run-parts <directory>"
10
+ exit 1
11
+ fi
12
+
13
+ if [ ! -d $1 ]; then
14
+ echo "Not a directory: $1"
15
+ echo "Usage: run-parts <directory>"
16
+ exit 1
17
+ fi
18
+
19
+ # There are several types of files that we would like to
20
+ # ignore automatically, as they are likely to be backups
21
+ # of other scripts:
22
+ IGNORE_SUFFIXES="~ ^ , .bak .new .rpmsave .rpmorig .rpmnew .swp"
23
+
24
+ # Main loop:
25
+ for SCRIPT in $1/* ; do
26
+ # If this is not a regular file, skip it:
27
+ if [ ! -f $SCRIPT ]; then
28
+ continue
29
+ fi
30
+ # Determine if this file should be skipped by suffix:
31
+ SKIP=false
32
+ for SUFFIX in $IGNORE_SUFFIXES ; do
33
+ if [ ! "`basename $SCRIPT $SUFFIX`" = "`basename $SCRIPT`" ]; then
34
+ SKIP=true
35
+ break
36
+ fi
37
+ done
38
+ if [ "$SKIP" = "true" ]; then
39
+ continue
40
+ fi
41
+ # If we've made it this far, then run the script if it's executable:
42
+ if [ -x $SCRIPT ]; then
43
+ echo "$SCRIPT:"
44
+ echo
45
+ $SCRIPT 2>&1
46
+ echo
47
+ fi
48
+ done
49
+
50
+ exit 0
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ ############################################################
6
+ @author: Riccardo Carlesso
7
+ @email: riccardo.carlesso@gmail.com
8
+ @maturity: development
9
+ @language: Ruby
10
+ @synopsis: Checks for Sakura new Version
11
+ @tags: development, rcarlesso, production
12
+ ############################################################
13
+
14
+ =end
15
+
16
+ require 'optparse' # http://ruby.about.com/od/advancedruby/a/optionparser.htm
17
+ require 'open-uri'
18
+
19
+ $myconf = {
20
+ :sakura_version_online => 'https://raw.github.com/palladius/sakura/master/VERSION',
21
+ }
22
+
23
+ $PROG_VER = '0.9.1'
24
+ $DEBUG = false
25
+
26
+ def usage(comment=nil)
27
+ puts "#{$0} v.#{$PROG_VER}"
28
+ puts "Usage: #{File.basename $0} [-dhjv] [-l LOGFILE] <FOO> <BAR>"
29
+ deb $opts
30
+ pred comment if comment
31
+ exit 11
32
+ end
33
+
34
+ def main
35
+ debug_on 'Just created script, presuming u need some debug. TODO REMOVE ME when everything works!' if $DEBUG
36
+ current_version = File.open(ENV['SAKURADIR'] + "VERSION").read.to_s.chomp
37
+ online_version = open($myconf[:sakura_version_online]).read.chomp rescue "1.2.3 err(#{$!})"
38
+ if (online_version == current_version)
39
+ puts "Your Sakura system is up to date: '#{online_version}'"
40
+ exit 0
41
+ else
42
+ # Note I have no concept whatsoever of newer or older, just different :)
43
+ puts "Hey!! Newer version available on the web: '#{online_version}' (You have '#{current_version}'). Go get it:\n\tgit pull origin master"
44
+ exit 1
45
+ end
46
+ end
47
+
48
+ main
@@ -0,0 +1,5 @@
1
+
2
+
3
+ echo Make sure the bashrc is patched. If the bashrc.inject is not, inject it.
4
+ echo if the .local is not existing, offer to copy it and patch it with current DIR and current user... maybe with a .erb template.
5
+
@@ -0,0 +1,2 @@
1
+
2
+ cat $SAKURADIR/VERSION
@@ -0,0 +1,5 @@
1
+
2
+ setterm -reset
3
+ stty sane
4
+ echo "Now the terminal should be ok ;)"
5
+ echo
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+
3
+ while read riga; do echo -en "\033[1;37m$riga\033[0m\n"; done
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ while read riga; do echo -en "\033[0;34m$riga\033[0m\n"; done
@@ -0,0 +1,5 @@
1
+
2
+ setterm -reset
3
+ stty sane
4
+ echo "Now the terminal should be ok ;)"
5
+ echo
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ while read riga; do echo -en "\033[1;33m$riga\033[0m\n"; done
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ while read riga; do echo -en "\033[1;30m$riga\033[0m\n"; done
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ ############################################################
6
+ @author: Riccardo Carlesso
7
+ @email: riccardo.carlesso@gmail.com
8
+ @maturity: production
9
+ @language: Ruby
10
+ @synopsis: [Brief Description here]
11
+ @tags: development, rcarlesso, test
12
+ @description:
13
+ splits STDIN based on ARGV[1].
14
+ if ARGV[2] os provided, then joins with it, otherwise it becomes a "\n"
15
+ ############################################################
16
+
17
+ =end
18
+ require 'optparse' # http://ruby.about.com/od/advancedruby/a/optionparser.htm
19
+
20
+ $PROG_VER = '0.9.1'
21
+ $DEBUG = false
22
+
23
+ def usage(comment=nil)
24
+ puts "#{$0} v.#{$PROG_VER}"
25
+ puts "Usage: #{File.basename $0} <SPLIT_STRING> [<JOIN_STRING=\\n>]"
26
+ puts "Error: #{comment}" if comment
27
+ exit 11
28
+ end
29
+
30
+ def main
31
+ usage "Give me 1 or 2 arguments!" unless ARGV.size > 0
32
+ split_string = ARGV[0].to_s
33
+ join_string = ARGV[1] || "\n"
34
+ puts STDIN.read.split(split_string).join(join_string)
35
+ end
36
+
37
+ main()
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ ############################################################
6
+ @author: Riccardo Carlesso
7
+ @email: riccardo.carlesso@gmail.com
8
+ @maturity: production
9
+ @language: Ruby
10
+ @synopsis: [Brief Description here]
11
+ @tags: development, rcarlesso, test
12
+ @description:
13
+ splits STDIN based on ARGV[1].
14
+ if ARGV[2] os provided, then joins with it, otherwise it becomes a "\n"
15
+ ############################################################
16
+
17
+ =end
18
+ require 'optparse' # http://ruby.about.com/od/advancedruby/a/optionparser.htm
19
+
20
+ $PROG_VER = '0.9.1'
21
+ $DEBUG = false
22
+
23
+ def usage(comment=nil)
24
+ puts "#{$0} v.#{$PROG_VER}"
25
+ puts "Usage: #{File.basename $0} <SPLIT_STRING> [<JOIN_STRING=\\n>]"
26
+ puts "Error: #{comment}" if comment
27
+ exit 11
28
+ end
29
+
30
+ def main
31
+ usage "Give me 1 or 2 arguments!" unless ARGV.size > 0
32
+ split_string = ARGV[0].to_s
33
+ join_string = ARGV[1] || "\n"
34
+ puts STDIN.read.split(split_string).join(join_string)
35
+ end
36
+
37
+ main()
@@ -0,0 +1 @@
1
+ while read riga; do echo -en "\033[38;5;203m$riga\033[0m\n"; done
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ while read riga; do echo -en "\033[0;31m$riga\033[0m\n"; done
@@ -0,0 +1,2 @@
1
+
2
+ sed -e 's/ */ /g'
@@ -0,0 +1,5 @@
1
+
2
+ setterm -reset
3
+ stty sane
4
+ echo "Now the terminal should be ok ;)"
5
+ echo
@@ -0,0 +1,18 @@
1
+ #!/bin/bash
2
+
3
+ usage() {
4
+ echo "Usage: $(basename $0) [command to be executes not as root]"
5
+ exit 1
6
+ }
7
+
8
+ if [ $# = 0 ]; then
9
+ usage
10
+ fi
11
+
12
+ if id |grep -q root ; then
13
+ echo "$(basename $0): Refusing to exec: '$*'"
14
+ exit 2
15
+ fi
16
+
17
+ $@
18
+
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+
3
+ while read riga; do echo -en "\033[0;32m$riga\033[0m\n"; done
4
+ #echo -en "\033[0;32m"
5
+ #cat
6
+ #echo -en "\033[0m"
@@ -0,0 +1,336 @@
1
+ #!/bin/sh
2
+
3
+ # Copied from a PDF from Joshua McKenty
4
+ # "swift installation 4.McKenty.pdf"
5
+ export SWIFT_IP=${1:-$( ifconfig eth0 |grep "inet addr:"|cut -f 2 -d:|cut -f 1 -d' ')}
6
+
7
+ echo This script installs Swift SAIO in your machine. You have to be root to do that.
8
+ echo "I will use the IP taken by eth0: '$SWIFT_IP'"
9
+ echo "If you dont agree, restart the script providing the IP in ARGV[1]"
10
+ echo "Is that ok? If not, pls ctrl-C"
11
+ read DOESNT_MATTER
12
+
13
+ if [ -f /root/swift-saio-already-installed.touch ] ; then
14
+ echo "Warning, swift SAIO seems to be already installed. Quitting"
15
+ exit 66
16
+ fi
17
+ touch /root/swift-saio-already-installed.touch
18
+
19
+ set -x
20
+ # slide 3
21
+ apt-get -y install python-software-properties
22
+ add-apt-repository ppa:swift-core/ppa
23
+ apt-get update
24
+ apt-get -y install curl gcc bzr memcached python-configobj python-coverage python-dev python-nose python-setuptools python-simplejson python-xattr sqlite3 xfsprogs python-webob python-eventlet python-greenlet python-pastedeploy python-netifaces screen vim
25
+
26
+ # slide 4
27
+ adduser swiftdemo
28
+ adduser swiftdemo admin
29
+ mkdir /srv
30
+ dd if=/dev/zero of=/srv/swift-disk bs=1024 count=0 seek=1000000
31
+ mkfs.xfs -i size=1024 /srv/swift-disk
32
+ echo "/srv/swift-disk /mnt/sdb1 xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab
33
+ mkdir /mnt/sdb1
34
+ mount /mnt/sdb1
35
+ mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4
36
+ chown -R swiftdemo:swiftdemo /mnt/sdb1
37
+ for x in {1..4}; do ln -s /mnt/sdb1/$x /srv/$x; done
38
+ mkdir -p /etc/swift/object-server /etc/swift/container-server /etc/swift/account-server
39
+ mkdir -p /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4
40
+ mkdir -p /var/run/swift
41
+ chown -R swiftdemo:swiftdemo /etc/swift /mnt/sdb1 /srv/[1-4]/ /var/run/swift
42
+ sed -e "s/exit 0/mkdir \/var\/run\/swift\nchown swiftdemo:swiftdemo
43
+ \/var\/run\/swift\nexit 0/g" /etc/rc.local -i
44
+
45
+
46
+ # Step 5: rsync
47
+ # Pag 11
48
+
49
+ cat << EOF > /etc/rsyncd.conf
50
+ uid = swiftdemo
51
+ gid = swiftdemo
52
+ log file = /var/log/rsyncd.log
53
+ pid file = /var/run/rsyncd.pid
54
+ address = 127.0.0.1
55
+
56
+ # Pag 12
57
+ [account6012]
58
+ max connections = 25
59
+ path = /srv/1/node/
60
+ read only = false
61
+ lock file = /var/lock/account6012.lock
62
+ [account6022]
63
+ max connections = 25
64
+ path = /srv/2/node/
65
+ read only = false
66
+ lock file = /var/lock/account6022.lock
67
+ [account6032]
68
+ max connections = 25
69
+ path = /srv/3/node/
70
+ read only = false
71
+ lock file = /var/lock/account6032.lock
72
+ [account6042]
73
+ max connections = 25
74
+ path = /srv/4/node/
75
+ read only = false
76
+ lock file = /var/lock/account6042.lock
77
+
78
+ # Pag 13
79
+ [container6011]
80
+ max connections = 25
81
+ path = /srv/1/node/
82
+ read only = false
83
+ lock file = /var/lock/container6011.lock
84
+ [container6021]
85
+ max connections = 25
86
+ path = /srv/2/node/
87
+ read only = false
88
+ lock file = /var/lock/container6021.lock
89
+ [container6031]
90
+ max connections = 25
91
+ path = /srv/3/node/
92
+ read only = false
93
+ lock file = /var/lock/container6031.lock
94
+ [container6041]
95
+ max connections = 25
96
+ path = /srv/4/node/
97
+ read only = false
98
+ lock file = /var/lock/container6041.lock
99
+
100
+ # Pag.14
101
+ cat << EOF >> /etc/rsyncd.conf
102
+ [object6010]
103
+ max connections = 25
104
+ path = /srv/1/node/
105
+ read only = false
106
+ lock file = /var/lock/object6010.lock
107
+ [object6020]
108
+ max connections = 25
109
+ path = /srv/2/node/
110
+ read only = false
111
+ lock file = /var/lock/object6020.lock
112
+ [object6030]
113
+ max connections = 25
114
+ path = /srv/3/node/
115
+ read only = false
116
+ lock file = /var/lock/object6030.lock
117
+ [object6040]
118
+ max connections = 25
119
+ path = /srv/4/node/
120
+ read only = false
121
+ lock file = /var/lock/object6040.lock
122
+ EOF
123
+
124
+ sed -e "s/RSYNC_ENABLE=false/RSYNC_ENABLE=true/g" /etc/default/rsync -i
125
+
126
+ # Pag. 15
127
+ # Executes the following as swift
128
+ su swiftdemo -c "
129
+ mkdir ~/bin
130
+ bzr init-repo swift
131
+ cd ~/swift; bzr branch lp:swift trunk
132
+ cd ~/swift/trunk; sudo python setup.py develop
133
+ cat << EOF >> ~/.bashrc
134
+ export SWIFT_TEST_CONFIG_FILE=/etc/swift/func_test.conf
135
+ export PATH=${PATH}:~/bin
136
+ EOF
137
+ . ~/.bashrc
138
+ "
139
+
140
+ # Pag 16
141
+ cd /etc/swift
142
+ openssl req -new -x509 -nodes -out cert.crt -keyout cert.key
143
+ # USE IP for COMMON NAME
144
+
145
+ # Pag 17
146
+ cat << EOF >> /etc/swift/proxy-server.conf
147
+ [DEFAULT]
148
+ bind_port = 443
149
+ bind_ip = $SWIFT_IP
150
+ cert_file = /etc/swift/cert.crt
151
+ key_file = /etc/swift/cert.key
152
+ user = swiftdemo
153
+ log_facility = LOG_LOCAL1
154
+
155
+ [pipeline:main]
156
+ pipeline = healthcheck cache swauth proxy-server
157
+
158
+ [app:proxy-server]
159
+ use = egg:swift#proxy
160
+ allow_account_management = true
161
+
162
+ [filter:swauth]
163
+ use = egg:swift#swauth
164
+ super_admin_key = swauthkey
165
+ default_swift_cluster = local#https://$SWIFT_IP:443/v1
166
+
167
+ [filter:healthcheck]
168
+ use = egg:swift#healthcheck
169
+
170
+ [filter:cache]
171
+ use = egg:swift#memcache
172
+ EOF
173
+
174
+ # Pag 18
175
+ cat << EOF >> /etc/swift/swift.conf
176
+ [swift-hash]
177
+ # random unique string that can never change
178
+ swift_hash_path_suffix = riccardo-sakura-swift-tutorial
179
+ EOF
180
+
181
+ # Pag 19: Account server
182
+ cd /etc/swift/account-server
183
+ cat << EOF > 1.conf
184
+ [DEFAULT]
185
+ devices = /srv/1/node
186
+ mount_check = false
187
+ bind_port = 6012
188
+ user = swiftdemo
189
+ log_facility = LOG_LOCAL2
190
+ [pipeline:main]
191
+ pipeline = account-server
192
+ [app:account-server]
193
+ use = egg:swift#account
194
+ [account-replicator]
195
+ vm_test_mode = yes
196
+ [account-auditor]
197
+ [account-reaper]
198
+ EOF
199
+ sed -e "s/srv\/1/srv\/2/" -e "s/6012/6022/" -e "s/LOG_LOCAL2/LOG_LOCAL3/" 1.conf > 2.conf
200
+ sed -e "s/srv\/1/srv\/3/" -e "s/6012/6032/" -e "s/LOG_LOCAL2/LOG_LOCAL4/" 1.conf > 3.conf
201
+ sed -e "s/srv\/1/srv\/4/" -e "s/6012/6042/" -e "s/LOG_LOCAL2/LOG_LOCAL5/" 1.conf > 4.conf
202
+
203
+ # Pag 20: Container
204
+ cd /etc/swift/container-server
205
+ cat << EOF > 1.conf
206
+ [DEFAULT]
207
+ devices = /srv/1/node
208
+ mount_check = false
209
+ bind_port = 6011
210
+ user = swiftdemo
211
+ log_facility = LOG_LOCAL2
212
+ [pipeline:main]
213
+ pipeline = container-server
214
+ [app:container-server]
215
+ use = egg:swift#container
216
+ [container-replicator]
217
+ vm_test_mode = yes
218
+ [container-updater]
219
+ [container-auditor]
220
+ EOF
221
+ sed -e "s/srv\/1/srv\/2/" -e "s/601/602/" -e "s/LOG_LOCAL2/LOG_LOCAL3/" 1.conf > 2.conf
222
+ sed -e "s/srv\/1/srv\/3/" -e "s/601/603/" -e "s/LOG_LOCAL2/LOG_LOCAL4/" 1.conf > 3.conf
223
+ sed -e "s/srv\/1/srv\/4/" -e "s/601/604/" -e "s/LOG_LOCAL2/LOG_LOCAL5/" 1.conf > 4.conf
224
+
225
+ # Pag 21: Object Server
226
+ cd /etc/swift/object-server
227
+ cat << EOF > 1.conf
228
+ [DEFAULT]
229
+ devices = /srv/1/node
230
+ mount_check = false
231
+ bind_port = 6010
232
+ user = swiftdemo
233
+ log_facility = LOG_LOCAL2
234
+ [pipeline:main]
235
+ pipeline = object-server
236
+ [app:object-server]
237
+ use = egg:swift#object
238
+ [object-replicator]
239
+ vm_test_mode = yes
240
+ [object-updater]
241
+ [object-auditor]
242
+ EOF
243
+ sed -e "s/srv\/1/srv\/2/" -e "s/601/602/" -e "s/LOG_LOCAL2/LOG_LOCAL3/" 1.conf > 2.conf
244
+ sed -e "s/srv\/1/srv\/3/" -e "s/601/603/" -e "s/LOG_LOCAL2/LOG_LOCAL4/" 1.conf > 3.conf
245
+ sed -e "s/srv\/1/srv\/4/" -e "s/601/604/" -e "s/LOG_LOCAL2/LOG_LOCAL5/" 1.conf > 4.conf
246
+
247
+ # Pag 22: Binaries
248
+ su swiftdemo -c "
249
+ cat << EOF > ~/bin/resetswift
250
+ #!/bin/bash
251
+
252
+ swift-init all stop
253
+ # find /var/log/swift -type f -exec rm -f {} \;
254
+ sudo umount /mnt/sdb1
255
+ sudo mkfs.xfs -f -i size=1024 /srv/swift-disk
256
+ sudo mount /mnt/sdb1
257
+ sudo mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4
258
+ sudo chown swiftdemo:swiftdemo /mnt/sdb1/*
259
+ mkdir -p /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4
260
+ sudo chown swiftdemo:swiftdemo /mnt/sdb1/*
261
+ sudo rm -f /var/log/debug /var/log/messages /var/log/rsyncd.log /var/log/syslog
262
+ sudo service rsyslog restart
263
+ sudo service memcached restart
264
+ EOF
265
+
266
+ # Pag 23: Binaries 2
267
+ cat << EOF > ~/bin/remakerings
268
+ #!/bin/bash
269
+
270
+ cd /etc/swift
271
+
272
+ rm -f *.builder *.ring.gz backups/*.builder backups/*.ring.gz
273
+
274
+ swift-ring-builder object.builder create 18 3 1
275
+ swift-ring-builder object.builder add z1-$SWIFT_IP:6010/sdb1 1
276
+ swift-ring-builder object.builder add z2-$SWIFT_IP:6020/sdb2 1
277
+ swift-ring-builder object.builder add z3-$SWIFT_IP:6030/sdb3 1
278
+ swift-ring-builder object.builder add z4-$SWIFT_IP:6040/sdb4 1
279
+ swift-ring-builder object.builder rebalance
280
+ swift-ring-builder container.builder create 18 3 1
281
+ swift-ring-builder container.builder add z1-$SWIFT_IP:6011/sdb1 1
282
+ swift-ring-builder container.builder add z2-$SWIFT_IP:6021/sdb2 1
283
+ swift-ring-builder container.builder add z3-$SWIFT_IP:6031/sdb3 1
284
+ swift-ring-builder container.builder add z4-$SWIFT_IP:6041/sdb4 1
285
+ swift-ring-builder container.builder rebalance
286
+ swift-ring-builder account.builder create 18 3 1
287
+ swift-ring-builder account.builder add z1-$SWIFT_IP:6012/sdb1 1
288
+ swift-ring-builder account.builder add z2-$SWIFT_IP:6022/sdb2 1
289
+ swift-ring-builder account.builder add z3-$SWIFT_IP:6032/sdb3 1
290
+ swift-ring-builder account.builder add z4-$SWIFT_IP:6042/sdb4 1
291
+ swift-ring-builder account.builder rebalance
292
+ EOF
293
+
294
+ # Pag 24:
295
+ cat << EOF > ~/bin/startmain
296
+ #!/bin/bash
297
+
298
+ swift-init main start
299
+ EOF
300
+
301
+ cat << EOF > ~/bin/recreateaccounts
302
+ #!/bin/bash
303
+
304
+ # Replace swauthkey with whatever your super_admin key is (recorded in
305
+ # /etc/swift/proxy-server.conf).
306
+ swauth-prep -K swauthkey -A https://$SWIFT_IP:443/auth/
307
+ swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ -a test tester testing
308
+ swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ -a test2 tester2 testing2
309
+ swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ test tester3 testing3
310
+ swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ -a -r reseller reseller reseller
311
+ EOF
312
+
313
+ # Pag 25:
314
+ cat << EOF > ~/bin/startrest
315
+ #!/bin/bash
316
+
317
+ swift-init rest start
318
+ EOF
319
+
320
+ chmod +x ~/bin/*
321
+
322
+ # Pag 26
323
+ . ~/.bashrc
324
+ remakerings
325
+ cd ~/swift/trunk; ./.unittests
326
+ sudo bin/startmain
327
+ recreateaccounts
328
+
329
+ "
330
+ #/end user swift demo (!!)
331
+
332
+
333
+
334
+ ################################################################################
335
+ # End of everything
336
+ touch /root/swift-saio-already-installed.touch